This is the SOS1.3 source code modified to ca65 assembler format.

I used a windows machine and have included the windows binaries for ca65 and ld65, you can use the source code with the appropriate ca65 binaries for your machine type. you may need to grab the commands from the make.bat file

Run 'make.bat' to asssemble all the modules and then link them together to produce the 1.3 SOS.KERNEL file.

Some comments:
- The files use absolute mode as the SOS source is all defined at specific addresses. The linker will resolve the symbol references between the modules. The linker is just resolving the symbols and then linking the resultant output appending together in the order specified in the link command.

- I had some issues with ZP & Absolute address warnings, so there is some changes to specific symbol sizes.

- some changes were required due to the DSECT/DEND EDASM function. I removed the .RES and just used symbol references instead. This is due to the linking nethod used.

- I believe the original SOS kernel was assembled in parts and then bloaded into memeory and then bsaved as one file back to disk. As a result, there are areas that the code has defined as reserved bytes that seems to contain random data in the SOS kernel files in the A3 disks I have checked. To be able to compare my assembled output with the original I had to manually set the random data to zero looking at the source code and comparing to my newly assembled code. I ahve inclued the following kernel files:


SOS.KERNEL#0c0000.orig1.3  -- original 1.3 file from the 1.3 sysutils disk
SOS.KERNEL_1.3_original_kernel_modified_with_zeros   -- this is the one modified by me. it boots ok.
SOS.KERNEL  this is created from the source code. and also boots ok :-)

Note: ciderpress needs the 'sparse' mode turned off when adding the SOS.KERNEL file to a disk otherwise it won't boot.



Enjoy
Robert Justice
22/10/2014

