4 ms·
Although it's the source code for the Atari 800 version of PCS, it seems to have been built on an Apple II. From MAKE1 [1] for example: CALL -151 3F2:
by tmoertel 14y ago
Although it's the source code for the Atari 800 version of PCS, it seems to have been built on an Apple II. From MAKE1 [1] for example:
CALL -151
3F2:69 FF 5A
BLOAD GPAK.OBJ,A$1300
BLOAD CDRAW.O,A$2480
BLOAD PCSA800.PIC,A$2B00
BLOAD DLIST.O,A$4910
BLOAD SWAP.O,D2,A$4A00
BLOAD TST.O,D1,A$4B00
BLOAD GOATARI.O,D2,A$4B45
BLOAD BOOT.O,D2,A$8E00
BLOAD BOOT2.O,A$8E80
BLOAD ZAP1.O,A$8F00
BLOAD DOWNLOAD.O,D1,A$300
The first line invokes the Apple II "System Monitor", the second writes 3 bytes to memory at address $3F2 (the effect of which is to tell the computer to enter the Monitor whenever someone resets the computer from the keyboard), and the rest load binary files into different memory areas. I'm guessing it's all to build an image to be written to disk. (See [2] for more on the System Monitor.)
[1] https://github.com/billbudge/PCS_Atari800/blob/master/Disk1/MAKE1 https://github.com/billbudge/PCS_Atari800/blob/master/Disk1/...
[2] http://apple2.info/wiki/index.php?title=System_Monitor#General_Intro_to_this_reference_and_System_Monitor http://apple2.info/wiki/index.php?title=System_Monitor#Gener...
EDIT: added additional details
- thought_alarm 14y agoIt looks like he used an Apple II as the development environment, which is straight forward since both machines use the same CPU. The .S files are assembled to 6502 object files. The "makefile" loads each object file to a specific area in RAM, then Download.o transfers the contents of RAM to a waiting Atari 800 via serial connection.
- js2 14y agoAnd a development session would have looked somewhat like this: http://www.youtube.com/watch?v=CDPlfqpgW8c http://www.youtube.com/watch?v=CDPlfqpgW8c (I may miss the Merlin assembler, but I don't miss disk ][ drives at all.)
- Macsenour 14y agoAt Broderbund we used Apple II's to develop for both the Atari 800 and the C64. I worked on a cable and software for both ends so we wouldn't have to change systems. It is MUCH faster to develop on one machine, and test on another.