Skip to content
Stefan edited this page Jan 1, 2023 · 8 revisions

File Deconversion

Using cc65 together with an emulator gives, in general, excellent turnaround times. But, when it comes to GEOS development, the manual deconversion of the CONVERT file generated by cc65 into a GEOS file quickly becomes very cumbersome. Therefore, it is desirable to replace the explicit deconversion done using CONVERT 2.5 (for GEOS 64/128) or CONVERT.SYSTEM (for Apple GEOS) with an implicit deconversion done by the tool used to write the CONVERT file to the disk image.

GEOS 64/128

The VICE c1541 tool has a geoswrite command that is supposed to do the trick; but, at least for me, the one from WinVICE-2.2-x86.zip just crashes when I try that command. In contrast, The Star Commander works fine for me, but is a little complicated to use as a command-line tool. In order to write, e.g., the file test.cvt to the disk image geos.d64, you need a text file sc.txt containing:

set ConfConvFileName False
set AutoOver All
copy test.cvt Disk:geos.d64\test
Then, you can use this command:
sc.exe /cmd @sc.txt

Apple GEOS

AppleCommander supports CONVERT file deconversion. In order to write, e.g., the file test.cvt to the disk image geos.dsk, you can use this command:

java -jar ac.jar -geos geos.dsk < test.cvt

Internals

GEOS requires a 6502-compatible CPU (e.g., 6510 or 8510). For binary compatibility, the jump table will need RAM at $c100-$c2ff.

GEOS 64/128, GEOS Plus/4, GEOS Atari

APP_RAM $04xx-$5xxx
PRINTBASE $60xx
OS_VARS $8xxx
DISK_BASE $9xxx
SCREEN_BASE $axxx-$bxxx
OS_JUMPTAB $c1xx-$c2xx
disk block size $100
Info by Maciej Witkowiak.

Apple GEOS

APP_RAM $4xxx-$78ff
PRINTBASE $79xx
OS_JUMPTAB $fexx-$ffxx, $03xx
disk block size $200
Info by Stefan Haubenthal.
Clone this wiki locally