From: Gabor Lenart (lgb_at_lgb.hu)
Date: 2005-03-30 16:43:44
On Wed, Mar 30, 2005 at 10:10:04AM +0200, fachat wrote: > I would like to make a small survey about who is using the o65 file format > for what purpose. Before I am going to make some incompatible changes, I > should know what features are actually used and must thus be considered > "compatible". First of all, I strongly beleive that .o65 format should remain as simple as possible! I mean, let's say create new format specification with advanced features, like multiple segment support, and much more ... Now I think you SHOULD introduce something called 'profiles', which is an implementation subset of the WHOLE feature set. I mean, we should create a 'minimal profile' which can be implemented as simple as the current format or even more simplier (if possible!). Of course we have got 'multisegment profile' for example. Or even stripped down profiles more stupid that the v1.2 format for simplier tasks. Since a given software like an OS for Commodore will use its own profiled format, it's not a problem. For development almost everyone uses bigger systems now, like ca65 running on some UNIX system or such. So there is _NO_ problem to implement a more complex .o65 handling scheme in development tools (many different profiles), because most development tools running on much decent hw than the target system :) The program itself running eg on a Commodore will use its own profile only (I guess) so that program needs to implement only those features in the loader, so there is no more complexity here. I think it would be the best possible solution since we have a format which is not too complex for a GIVEN task, however it's complex enough when we speaking about DEVELOPMENT and not actually the USAGE of an existing object. Sorry my English is quite poor I don't know you got the idea I've tried to describe with my English knowledge :) > If you are using o65, could you please answer these short questions? Sure. > 1) What are you using o65 for? > E.g.: main executable format for system xyz, object file format for linking, ... Executable format for my own experiments, object format for the kernel loader which links needed kernel objects for a given system together and then using it as minimalistic OS kernel. > 2) For what CPUs are you using the format? 6502: cross-platform software developments for systems use 6502 or compatible CPU: the software itself is loaded by the arch.dependent loader which loads .o65 format executables, and also provides a stupid HAL (hardware abstraction layer) to allow to use architecture independent programs. Z80: developments for Enterpirse-128: it's a very nice computer with 4MByte address space: Z80 64K address space is divided into 4 pages you can map any of the 256 segments of 4Mbyte Enterprise address space to any of the 4 Z80 pages. Optimized for low paging changing freq. since it has got price (doing the IO to the Dave "MMU" register). Multiple segment support would be nice in the future because we can create programs even in 1MByte size when using multiple segments. 80286: prototype OS for Intel 286 16 bit protected mode. since in the point view of addressable space withing eg code or data is limited to maxmimum of 64K, .o65 can be natural soluition even for this system. However multiple segment support would be nice because you can do this with chaning CS register > 3) What special features are you using? > E.g.: late binding, exported globals, simple file format, No special features at the moment :( However I've got plans I've describes before, which requires additional features. > 4) What special features are you not using? Read the last point :) - Gábor Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.