Ad: Click Here

Mapping the Atari cover

INDEX BY SUBJECT

This is an index by subject. The references are to decimal memory locations, not to page numbers. For an index to the location and routine labels, see the previous index. Subject Location ANTIC direct memory access (DMA) 559, 54272 interrupts 512, 513 mode numbers 87 P/M graphics 559, 54272 ROM 54272 - 54783 Attract mode 77 - 79 BASIC array table 140, 141 blackboard mode 58481 cartridge 40960 - 49151 error code, line 186, 187, 195 Floating Point routines 48549 - 49145 GOTO, GOSUB 142, 143 graphics modes 87 jump to DOS 10, 11 line numbers 136, 137 memory pointers 128, 129, 144, 145, 740 - 744 OPERATOR list 42509 page zero 128 - 209 program 14, 15, 136 - 139 program end 14, 15, 144, 145 runtime stack 142, 143 stack 256 - 511 statement pointer, table 136 - 139 stopped line 186, 187 string table 140, 141 TOKEN list 42159 variable name, value tables 130 - 135 Blackboard mode entry point 58481 start vector 10, 11 BOOT cassette 9, 12, 75 disk boot initialization 12, 13 disk boot routine 4, 5, 62159, 62189 DOS vector 9 success flag 9 system lockup 9 BREAK key disable 16, 53774 enable 16, 53774 flag 17, 53774 forced 53775 interrupt 16, 53774 restored 16, 53774 shadow register 16, 53774 status 17, 48 vector 566, 567 Buffers cassette 1021 - 1151 command frame 570 - 573 data 50 - 53, 56 device (SIO data) 772, 773 line 30, 583 - 622 printer 29, 960 - 999 ZIOCB 36, 37, 40, 41 Cartridges A (left) cartridge 40960 49151 B (right) cartridge 32768 - 40959 BASIC; see A cartridge test for presence 6, 7, 61845 Cassette baud rate 750, 751 beep count 64, 65 boot 2, 3, 9, 74, 75 buffer 61, 1021 - 1151 buffer size 650 buzzer 61530 end of file 63 handler routines 61249 - 61666 handler vector 58432 initialization vector 2, 3 inter-record gap 62 load 2, 3 mode 649, 783 motor control 54018 OPEN for input 58493 read block entry 58490 record size 1021 run address 10, 11, 12, 13 status register 648 voice track 53775 Characters ATASCII 763, 57344 auto repeat 764 bit mapping 57344 blinking text 548, 549, 755 character sets 756, 57344 - 58367 character set address 756, 54281 colors 756 control codes 766 control key 702, 764 control register 755 cursor inhibit 752 hardware code 764 internal code 762, 764 inverse 694 invisible inverse 755 last character read, written 763 logic processing 124 mode 755, 54273 move set to RAM 756 printer output 31 prior character code 754 ROM routines 63038 - 63196, 63202 screen location 87 shadow 756 shift key 702 tests 65470 translation of code 57344 under cursor 93 upside down 512, 513, 755, 54273 Checksum 49, 59, 60 CIO command 23 IOCBs 832 - 959 utility initialization 58478 variables 43 vector 58454 Clock attract mode 77 - 79 realtime 18, 19, 20 serial clock lines 53775 sound use 53768 Coldstart cassette boot 9, 74 disk boot 9 entry point 58487 flag 580 powerup 61733 Color attract mode 77 - 79 default values 712 GTIA registers 53266 - 53274 player/missile shadows 704 - 707 playfield shadows 708 - 712 rotate 77, 703 screen mode 87 Command frame buffer (CFB) 570 - 573 Console keys cassette boot 74 Controller jacks 54016, 54017 CTIA see GTIA Cursor advance 85 character under 93, 125 column 85, 86 current position 84 - 86, 94, 95 end of line 125 graphics 90 - 92 inhibit (disable) 752 LOCATE 85, 86 logical line 99 opaque, transparent 755, 54273 out of range error 87 previous position 90 - 92 row 84 tab width 201 text window 85, 86, 123 Device buffer 772, 773 byte transfer 776, 777 command 770 Device Control Block (DCB) 768 - 779 drivers (adding) 806 error status 746 handler address table 794 - 831 handler routines 58534 - handler vectors 768 - 831 retries 55 status registers 746 - 749 771 timeout value 747 vector tables 58368 - 58447 ZIOCB number 33 Direct Memory Access (DMA) graphics control 53277 ROM 54272 shadow 559 Disk (see also DOS) beep during I/O 65 boot 9 - 13, 74, 75 boot address 578, 579 boot continuation 4, 5 boot routine 62159, 62189 buffer 21, 22, 1802 flags 576, 577 FMS page zero 67 - 73 FMS pointer 24, 25 handler commands 778 handler routines 60906 - 61047 handler vector 58448, 58451 initialization address 12, 13, 738, 739 records open 1801 retries 54 run address 736 - 739 start vector 10, 11 timeout 582 utilities 26, 27 vector 10, 11 verify routine 1913 Display handler (see also Characters, Screen) logical line map 690 - 693 memory 14, 15 pixel mask 672 RAM 656 - 703 registers 76, 80, 81, 99 - 105, 107 - 127 routines 62454 Text window 656 - 667 vector 58384 Display List address 560, 561 54274, 54275 enable 559 entries 81 instructions 559 - 561 interrupts 512, 513, 560, 561, 54286, 54287 location 560, 561, 54274 lowest address 14, 15 reserving memory 106 ROM tables 65093 screen mode 87 scrolling 54276, 54277 size 88, 89 vertical line count 54283 DOS (see also Disk) boot address 578, 579 boot record 1792 buffers 6780 - 7547, 5121 - 5440, 7588 - 7923 burst I/O 2952 - 2773 drives in system 1802 DUP.SYS RAM 5440 - 13062 filename change 3818, 3822 files reserved 1801 FMS RAM 1792 - 5377 initialization 12, 13, 738, 739 run address 736 - 737 start vector 9 - 11 wildcard character 3783 DRAW command color of line 763 cursor 90 - 92 endpoint of line 84 - 86, 96 - 98 flag 695 GR.0 87 ROM routines 64764 screen mode 87 DUP.SYS load 10,11 Errors BASIC 186, 187, 195 device 746 disk I/O 73 SIO 575 ESC (Escape) key control codes without 766 flag 674 FILL command (see also DRAW) color of fill area 765 color of line 763 endpoint of line 84 - 86, 96 - 98 flag 695 Floating Point BASIC ROM 48549 - 49145 degree or radians flag 251 page zero 210 - 255 pointers 252 - 255 RAM page five 1406 - 1535 registers 212 - 217, 224 - 229 ROM (OS) 55296 - 57343 trig functions 251 FMS page zero buffer 67 - 73 pointer 24, 25 RAM 1792 - 5377 Graphics (see also player/missiles) display mode 87 DRAW, DRAWTO, FILL 85, 86, 96 - 98 IOCB 928 - 943 line plotting 112 - 122 memory use 88, 89, 106 player, missile shapes 53261 - 53265 row and column plotting 112 - 122 screen memory 14, 15, 123, 126, 127 scroll 54276, 54277 tab width 201 XIO commands 96 - 98 GTIA collisions 53252 examples 623 mode selection 87, 623 ROM 53248 - 53503 stick triggers 53264 - 53267 test 623 text window 87, 623 Handlers interrupt handlers 59093 - 59715 RESET 794 ROM routines 58534 - 59092 Interrupts BREAK key disabled 16 BREAK key vector 566, 567 Display List 512, 513 enabled 16, 53774 handler routines 59093 - 59715 IRQ 16, 514- 535, 53774, 59123, 59126 NMI 512, 513, 54286, 59316 PIA (peripheral) 54018, 54019 POKEY 16, 53774 RAM 512 - 535, 566, 567 serial 16 status request 53774 timer 16 VBLANK 546 - 549, 54286, 58460 - 58468, 59345 - 59715 Inverse characters flag 694 IOCB graphics screen 928 - 943 LIST, LOAD, LPRINT 944 - 959 move 58577 page zero 32 - 47 RAM 832 - 959 screen editor 832 - 847 IRQ Break key vector 566, 567 service routines 59123 - 59315 vectors 514 - 535 Jiffies, jiffy 18 - 20 Joystick see Stick Keyboard code 764, 53769 console keys 53279 control key flag 702, 53769 controller 54016 delay flag 753 display flag 766 enable debounce, scanning 562, 53775 escape key flag 674 handler routines 63197 - 65535 handler vector 58400 interrupts 16, 53774 inverse toggle 694 option, select, start keys 53279 shift key flag 702, 53769 start, stop flag 767 status 76 synchronization 54282 timer delay 555 Light pen horizontal value 564, 54284 vertical value 565, 54285 Line bit map 690 - 693 buffer 583 - 622 cursor 99 logical line 83 margins 83 plotting 112 - 122, 126 screen editor 107 tabs 201, 675 - 689 Luminance attract mode 77 - 79 Machine language page six 1536 - 1791 techniques 88 Margins editing 83 initialization 82, 83 left 82 right 83 scrolling 83 Memory see RAM Monitor handler routines 61667 - 62435 Non-Maskable Inter- rupts (NMI) DLI 560, 561, 54286 reset register 54287 service routines 59316 - 59715 status 54287 VBLANK 546 - 549, 54286 vectors 512, 513 Operating system character set 57344 - 58367 Floating Point 55296 - 57343 handlers 58534 - 65535 ROM 55296 - 65535 vectors 58368 - 58533 Paddles see Pots Page zero BASIC use 128 - 209 buffer 21, 22 Floating Point use 210 - 255 FMS registers 67 - 73 IOCB 32 - 47 RAM 0 - 255 Peripherals controllers 54018, 54019 interrupts 53744 ports 54016, 54017 PIA ROM 54016 - 54271 stick 54016, 54017 paddle (pot) triggers 54016, 54017 ports 54016 - 54019 Player/Missile Graphics (PMG) character base 54279 collision clear 53278 collision detection 53248 - 53263 color registers 703 - 707 disable, enable 559, 53277 DMA 54272 fifth player 623, 53275 graphic shape 53261 - 53265 horizontal movement 53248 horizontal position 53248 - 53255 location 54279 memory reservation 54279 movement 53248 multicolor 623, 53275 overlap 623, 53275 priority 623, 53275 resolution (line) 559, 54272 screen boundaries 53248 size, width 53256 - 53260, 54279 vertical delay 53276 vertical motion 53248 Playfield enable 559 priority 623, 53275 size 559 PLOT screen mode 87 POKEY interrupts 16, 514 - 535 pots 53760 - 53767 ROM 53760 - 54015 Polynomials random numbers 53770 sound dividers 53761, 53768 Pots (paddles) fast scan enable 562, 53775 POKEY registers 53760 - 53767 port state read 53768 shadows 624 - 631 start read sequence 53771 trigger latch 53277 triggers 636 - 643, 54016 values 624 Powerup RAM size 6, 740 warmstart 8 PRINT screen mode 87 Printer buffer 29, 30, 960 - 999 character output 31 handler routines 61048 - 61248 handler vector 58416 IOCB use 944 sideways printing 30 status 28, 30 timeout 28 Priority ROM 53275 shadow 623 RAM clear memory 88, 89, 106 free memory, bottom 743, 744, 1792 free memory, top 741 742 monitor 0, 1 pointers 4, 5, 15, 128, 129 protected area (page six) 1536 - 1791 reserving 106, 743, 744 RAM top 106, 740 - 742 screen 88, 89 scrolling 699 size 106, 740 test 4 - 7 vector table 58496 Random numbers poly counters 53768 register 53770 RESET coldstart 580 DOS 10, 11 handler routine 61723 handler tables 794 interrupt 54286 lockup 9 margins 83 warmstart 8, 58484 Retry command frame 54 device 55 Screen (See also Cursor) bit mapping 110 boundaries 53248 buffer 107 clear memory 88, 89 clear screen 88 color clocks 672 control codes 766 GRAPHICS modes 87 - 89, 106 handler vector 58368 IOCB use 832, 928 line buffer 583 - 622 logical line map 690 - 693 lowest address 14, 15, 88, 89 memory restrictions 741, 742 memory use 88 mode 87 page zero RAM 80 - 120 PAL compatible 53268 pixel justification 111 pixel mask 672 rows 703 save routines 88, 89 screen modes 560, 561 scrolling 84, 89, 106, 699, 767, 54276, 54277, 64428 size 76, 88, 89, 672 split screen 123 TAB map 675 - 689 text rows 703 vectors 800, 803, 58368, 58384 vertical line counter 54283 wait synchronization 54282 Serial port control 562, 53775 data port 790 input/output 16, 53773 interrupts 16, 53774 reset status 53770 shadow 562 status 53775 SIO checksum 49 command frame buffer 570 - 573 data buffer 50 - 53, 56 Device Ccntrol Block (DCB) 768 - 779 disk flags 576, 577 error flag 575 flags 56 - 60 interrupt handler 58475 interrupts 514 - 527 routines 59716 - 60905 send enable 58472 stack pointer 792 status 48 timeouts 28 transmission flags 55 - 60 utility initialization 58469 vector 58457 Software timers 536 - 545 Sound audio control 53761 - 53768 audio frequency 53760 - 53768 beeps 64, 65 buzz 61530 cassette buzzer 61530 clock frequency 53768 console register 53279 CTRL-2 buzzer 66 distortion 53761 filters 53768 I/O beeps 65 keyboard speaker 53279 margins 83 octave range 53768 poly counters 53761 Stack page one 256 - 511 runtime 142, 143 Status device 747 display 76 printer timeout 28 SIO 48 ZIOCB 35 Stick (joystick) attract mode 77 PIA registers 54016, 54017 read routines 632 shadows 632 - 635 trigger latch 53277 triggers 644 - 647 values 632 Tabs comma spaces 201 stop map 675 - 689 Text window address 660, 661 cursor 123, 656 - 658 GTIA 87 margins 82, 83 plot 87 rows available 703 screen mode 87, 659 scrolling 699 tab width 201 Timeouts baud rate correction 791 device 748 disk 582 printer 28 storage 48 value 28 Timers attract mode 77 baud rate 780 - 782, 784 - 787 critical code 66 interrupt enable 16, 53774 jump vectors 550 - 553 POKEY (hardware) 16, 528 - 533, 53768 realtime clock 18 - 20 repeat 555 start hardware 53769 suspended 66 system (software) 536 - 558 VBLANK 66 vectors 550 - 558 Transmission flags 56 - 60 Triggers (see Pots, Sticks) C/GTIA registers 53264 - 53267 latches 53277 paddle (pot) 636 - 643 PIA registers 54016, 54017 stick (joystick) 644 - 647 Variables assign values 134 list 132 name table 130 - 133 statement table 136, 137 string and array table 140, 141 value table 134, 135 attract mode 77 - 79 clock 18 - 20 critical section 66 entry point 58463 exit 58466 interrupts 546 - 549, 54286 key delay 753 set timers 18, 58460 timer value 0, 1 Vectors cassette handler 58432 CIO 58454 command 23 device handlers 794 - 831, 58368 - 58477 disk 10, 11 disk handler 58448, 58451 display handler 58384 Display List interrupt 512, 513 keyboard handler 58400 printer handler 58416 screen editor 58368 warm start 8, 54287 Warmstart entry point 58484 flag 8 NMI check 8, 54287 vector 8, 58484

Return to Table of Contents | Previous Chapter | Next Chapter