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.
