10 .OPT NO LIST,NO MLIST¢20 .OPT NO CLIST,NO EJECT¢30 ; SAVE #D1:ATARIROM.M65¢40 ;¢50 ; Comments follow in this file¢60 ;¢70 .TITLE "Atari ROM Disassembly"¢80 .IF .NOT .DEF DUNIT¢90 @LF .= 0¢100 .INCLUDE #D1:SYSEQU.M65¢110 .INCLUDE #D1:MACROS.M65¢120 .INCLUDE #D1:HARDCODE.M65¢130 .ENDIF¢140 LIST 0¢150 .INCLUDE #D1:INTERUPT.M65¢160 LIST 0¢170 .INCLUDE #D1:INIT.M65¢180 LIST 0¢190 .INCLUDE #D1:DISKOPS.M65¢200 LIST 0¢210 .INCLUDE #D1:PARALLEL.M65¢220 LIST 0¢230 .INCLUDE #D1:SELFTEST.M65¢240 LIST 0¢250 .INCLUDE #D1:CHARSET2.M65¢260 LIST 0¢270 .INCLUDE #D1:ST1.M65¢280 .INCLUDE #D1:ST2.M65¢290 LIST 0¢300 .INCLUDE #D1:FLOAT1.M65¢310 .INCLUDE #D1:FLOAT2.M65¢320 LIST 0¢330 .INCLUDE #D1:CHARSET1.M65¢340 LIST 0¢350 .INCLUDE #D1:VECTABLE.M65¢360 LIST 0¢370 .INCLUDE #D1:CIO.M65¢380 LIST 0¢390 .INCLUDE #D1:PERHNDLR.M65¢400 LIST 0¢410 .INCLUDE #D1:SIO.M65¢420 LIST 0¢430 .INCLUDE #D1:STABLE1.M65¢440 LIST 0¢450 .INCLUDE #D1:PHENTRY.M65¢460 LIST 0¢470 .INCLUDE #D1:SCREEN1.M65¢480 .INCLUDE #D1:SCREEN2.M65¢490 .INCLUDE #D1:SCREEN3.M65¢500 .INCLUDE #D1:SCREEN4.M65¢510 LIST 0¢520 .INCLUDE #D1:STABLE2.M65¢530 LIST 0¢540 .INCLUDE #D1:KEYTABLE.M65¢550 LIST 0¢560 .INCLUDE #D1:KEYBDIRQ.M65¢570 LIST 0¢580 .INCLUDE #D1:CASSETTE.M65¢590 LIST 0¢600 .INCLUDE #D1:PRINTER.M65¢610 LIST 0¢620 .INCLUDE #D1:ROMTEST.M65¢630 CHECK 0¢640 LIST 0¢650 .END¢660 ;¢670 ; The XL/XE Operating System¢680 ; Copyright Atari Inc.¢690 ;¢700 ; Disassembly by John Picken¢710 ; last rev. 14 Mar 96¢720 ;¢730 ; These files assemble an¢740 ; exact copy of the XL/XE OS¢750 ; under MAC/65 (disk or cart)¢760 ;¢770 ; Most non-local labels are¢780 ; from Mapping the Atari.¢790 ; Labels in many areas such¢800 ; as SIO are those found in¢810 ; the 800 source and those in¢820 ; floating point are from the¢830 ; Atari BASIC Source Book.¢840 ; Some were simply assigned,¢850 ; as disassembly was carried¢860 ; without access to other¢870 ; references.¢880 ;¢890 ; Line numbers reflect actual¢900 ; decimal addresses, eg.¢910 ;¢920 ; 49152 L49152 *= $C000¢930 ; .. .. ..¢940 ; .. .. ..¢950 ; 58829 ?58839 LDA #$FF¢960 ; 58831 L59831 JSR L60321¢970 ;¢980 ; This system makes re-assembly¢990 ; and de-bugging considerably¢1000 ; simpler.¢1010 ;¢1020 ; Macros are used to force¢1030 ; MAC/65 to use absolute¢1040 ; addressing mode on page zero¢1050 ; to match original code. I¢1060 ; suspect these occurrences¢1070 ; were the result of use of¢1080 ; a cross-assembler that wasn't¢1090 ; smart enough to use zero page¢1100 ; mode where applicable.¢1110 ;¢1120 ; Other macros are used solely¢1130 ; to check assembly addresses¢1140 ; and for assembly listing¢1150 ; control. See MACROS.LST for¢1160 ; explanation.¢