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.›