ebook img

The Complete and Essential Map for the XL / XE - Part I PDF

200 Pages·1994·16 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview The Complete and Essential Map for the XL / XE - Part I

THE COMPLETE AND ESSENTIAL MAP FOR THE XL / XE Jil. Jil. ATARI ATARI - .... .___.............-.- -- JWt'Cl\111 - _.- • Written by ANDREW C. THOMPSON ~1994 Published and Distributed by TWAUG PUBLISHING"' ~1994 PART I welcome to a new book. It is based upon Mapping the Atari-Revised by Ian Chadwick. This book has been written to cover the XL/XE Machines only, in Mapping the Atari there is only a small part that had been revised to cover the XL/XE Machines. I have corrected in this book all incorrect information and errors and I've inclUded a fair bit more information that is not covered in Mapping the Atari. In addition to the MAP section, you will find an XL/XE Operating System source listing with descriptive remarks alongside and there are several appendices that I hope will expand your knowledge and be readily available for future reference. Most of the information in the MAP section that references other sources in Mapping the Atari, you will find amongst the appendices. I hope this book will help the beginners and intermediate programmers, by explaining the SUbjects with small straight forward Basic programs. The book should also be a indispensable reference manual for the more advanced programmer. WARNING - The author and pUblishers have made every effort to ensure the accuracy of the programs and information in this book. However, we do not accept any responsibility nor liability for any damage caused or allegedly caused directly or indirectly by the programs or information in this book. The author - ANDREW C. THOMPSON Publishers - TWAUG PUBLISHING CON TEN T S PART Subject: APPENDIX LIST PROGRAH LISTINGS IN HAP INTRODUCTION 1-1.5 HAP 2-166 ANTIC 139-147 Attract mode 11 Basic 106-109 Basic disable/enable 87 Basic errors 26 Cartridges 106 Character sets 66-69 Colour 55-59 Console keys 122 Device Control Block 72-75 Display List (DL) 39-41 DHA 38 DOS 87-104 DUP 104-106 Floating Point package 28-30 Graphics priority 46 GTIA 112-123 Handler address tables 77-79 Hardware memory 112-147 Help key 60 10CB's 79-86 IRQ's 32-35, 42 Joysticks 48-49 Keyboard disable/enable 45 Key definition table 19 Light pen 146 Hargins 12 NHI's 31, 36 OS ROH 110-111. 14B-165 OS variables, vectors 30 Paddles 47, 49 Page-O (Loc's 0-255) 2-30 Page-6 (Loc's 1536-1791) 89 PIA 133-139 PHG's 113-121 POKEY 123-132 Realtime clock 5 Scrolling 141-144 Self test 106 Sound 124-128, 132 Stack 30 Top of free memory 17 Variable name table 21 VTOC sector 98 INDEX BY LABEL IDC INDEX BY SUBJECT IBC PART II APPENDICES 167 onward A P P E N 0 x LIS T Here's the appendices which make up the reverse half of the book. Appendix E06 is quite a big one as you can imagine, since it is the Operating System source listing for the XL and XE machines. Af.Q AOI Basic Keywords DOl Vertical-Blank Processes A02 Basic Tokenization 002 Critical Timings A03 Basic Alterations D03 Cycle Stealing A04 Program I_provement D04 !'lachine-Language A05 Turbo Basic D05 Vertical-Blank Interrupts A06 Handy Tricks 006 Register/Location Loading BOI Sound and !'Iusic EOI Enhancements and Bugs B02 Volume-Only Sound E02 Changing a RA!'I OS B03 Pokey in Stereo E03 130XE !'Iemory !'Ianagement E04 DOS 2.5 !'Iemory COl Character Codes E05 Free Bytes C02 Number Systems E06 XL/XE OS Source Listing C03 LSBs and !'ISBs C04 Boundaries FOI Hardware Chips C05 Boolean Expressions F02 1050 Specifications C06 Logic F03 Pinouts COl Error Codes F04 Port Input C08 Trigonometric Formulas C09 Display !'lodes GOI Other Software CIO Player/!'Iissile Graphics G02 Atari Support Cll Display List Interrupts G03 Glossary Cl2 Boot Process G04 Useful Listings Cl3 Graphics 12 and 13 Cl4 Display Lists PRO G RAM LIS TIN G S Here are all the listings from the map section of the book only. I've given the page number, location and a small explanation of the listing found there. LOC DESCRIPTION PAGE 1Q.!;. DESCRIPTION 5 20 Timing 13 87 GTIA T/Window 13 88 Display Memory 14 88 Bulk memory clearer 14 Picture loading 17 106 Protecting memory 19 121 Unkown editors 21 131 Variable displayer 22 134 Variable valuer 22 131 String clearing 23 136 Line addr. finder 24 138 Program protection 24 140 Strings vs Arrays 26 186 Error detection 31 512 DLI action 34 Hardware timers 36 546 Immediate VBI 46 623 GTIA interraction 47 623 GTIA modes 53 675 TAB setting 57 710 Artifacting 58 710 Artifacting extra 58 712 Rainbow border 61 736 Binary file control 63 743 Hiding low memory 65 755 Inverse flashing 66 755 Flashing cursor 67 756 Character decoding 68 756 Characterset copy 68 756 Character redefining 68 756 Font file creator 69 756 Font file loader 70 764 Key detection 71 764 RAW key converter 74 779 Sector loading 75 779 Formatting 77 794 Null handler 80 832 LIST output toggler 80 832 Return key mode 85 OPENing graphics 86 M/Code drawing 96 3889 DOS 3 corrector 97 File un-deleter 107 Statement token list 113 53248 PMG horizontals 116 53261 PMG without DM! 117 53261 PMG non DMA 2 122 53279 Console speaker 126 53768 8+ Octave sound 127 53768 Fi1tering 132 Delault checks 135 RAM OS 138 RAM Basic/S-Test 140 54272 Screen bending 141 54276 Coarse Hscrol 141 54276 Fine Hscrol 142 54276 Hscrol timing 142 54277 Mode 0 Vscrol 143 54277 Fine Vscrol 144 54277 Split-font mode 146 Diagonal scroller 145 Horizontal sync 146 Vertical sync 152 Mode 8 text 152 360' printing I N T ROD U C T ION Greetings fellow Atarian dudes and Welcome to the biggest brain killing book released in ages. This book as some of you will already know by now is heavily based upon the Revised version of Mapping the Atari, but fear not my indulgent beings for you have not wasted your cool investment, in fact you have made a most excellent step in your life as you know it (or at least as you will know it)1 If you own an Atari XL or XE system and you're into programming in a big way then you WILL need this book. It is essential to all levels of programmers. IN THE BEGINNING: 11 minutes after midnight on Tuesday the 20th of April 1993 saw the beginning of this book, and being a nocturnal kind of guy there couldn't be anytime betterl What the next 9 months had in store for me I never would have known although I could guess what I was letting myself in for. The initial phase of writing this book was the MAP itself since this was the main aim of the book, to create a REAL XL/XE MAP reference book. Of course. for this I had to rely heavily on the Revised version of Mapping the Atari. but, at the same time I had to check and compare every location within the MAP section of that book with its appendices 11 and 12; "Addenda and errata to the first edition" and "The XL/XE memory map", but as you might realize, this was only the beginning. To cut a long story short there involved much inclusion of missing material as well as a whole hogwash of extracted information from many books and magazines. Some of these sources include Technical Reference Notes, many of Compute! 's books, De Re Atari, Inside Atari DOS. Your Atari Computer. the DOS 2.5 manual. the XL handbook and a whole host of other magazines and sources including Atari User. Page-6's New Atari User. Megamagazine, TWAUG newsletter and last but not least, a few of my penfriends even supplied me with little titbits here and there. My thanks to you all. THE APPENDICES: In addition to the MAP section. you will find perhaps one of the most comprehensive appendices selections ever produced. and whilst there may be 43 appendices, they have been broken down into 7 groups as follows: Group A: Basic The first group relates directly to Basic. Here you'll find a complete list of standard and Turbo Basic commands with a short description; some techniques to improving your Basic programs. the tokenizing process, some handy tricks that you can use in your programs and in addition I've included some information as to altering the Basic language itself. Page 1.1 The second group is entirely to do with sound. Here you'll find some very useful information which will take you from simple sound affects. through fairly complex music and into the way digitized speech is achieved. You'll also find a fairly straightforward machine-code program to play 2 samples simultaneously. Upgrading your system to stereo is also possible and here you'll find an appendix to do just this. Group Cj Cogmon Reference Group C is the biggest of all. summing 14 appendices. Here you'll find the explanation of commonly used subjects such as decimal to hex. conversions. DL and PKG boundaries. logic structures etc.. In addition you'll find you may be referencing this group time and time again. since there is a complete list of error codes for Basic and DOS. a chart of trigonometric formulas. a complete list of character codes, display modes and display lists memory usage and assignment etc.. Group D: Kachine-Code This one is probably the most technical. describing everything relating to machine-code and critical timings within the working system. The Vertical Blank process is explained along with information to creating a Vertical Blank Interrupt yourself. There is also some explicitly detailed reference information relating to cycle loss per frame depending on which graphics mode you are using. Also in this group is the most detailed machine-code reference charts you will ever see. Group E: Kemory &OS Relates to a few selected subjects including information about the Operating System. any bugs it's now overcomed and 130XE memory management. There are 2 appendices giving an in-depth list of correct DOS 2.5 addresses and free bytes in your machine depending upon the programming environment. Last. but not least you'll find a complete XL/XE Operating System source listing with descriptive remarks alongside. Group F: Hardware Involves information at the hardware level. including descriptions of the hardware inside the computer and the specifications of the 1050 disk drive. You'll also find some information relating to the use of the joystick ports (for I/O) and the pinouts of the various ports connected to the Atari. Page 1.2 Group G: Miscellaneous The final group explains multiple uses for various items of software, it gives a list of presently supporting companies still alive and kicking and a glossary of any terms used in this book that you might not be familiar with. The very last appendix of this group and indeed the book contains some program listings that you might have some use for. Well, this is my first ever book and to be honest with you I almost took on too much. You see, as I was creating the MAP section I was writing down any relevant appendices that I would like to include in the book. Of course, I went about this by including comments throughout the MAP such as "...see the so-and-so appendix" whilst jotting a small note down on paper about what appendix I now had to write! I kept this up throughout the MAP and got just a bit carried away... I had an A4 sheet of paper full of appendices names and comments and stuff I had to put in each one, it's just as well I never lost that sheet eh!? Anyway, looking at the work I had to do a few months ago wasn't very funny. but now I am very pleased with myself it is finally finished. Little did I realise when I had all those appendices to write that I still had to totally re-write 2 decent index's and fully error-check the book because Mappings index's were for the old map (one serious letdown). Even a lot of its programs wouldn't work as shown. But you shouldn't find that with any of the listings in this book. since they have all been typed and RUN, and knowing that they work fine they were then LISTed to disk and merged directly into the books files. thus avoiding any typing or editing errors. A little torment: Still on the subject of problems, some of the appendices proved to be a right pain in the neck to write. One such appendix is to do with CYCLE STEALING. I used Technical Reference Notes and De Re Atari as reference. but they were just not accurate enough to obtain a proper explanation. Another one is the MACHINE-CODE reference appendix. For me to assemble the illegal OP-CODES into a table alike the standard ones I had to know how many cycles each illegal instruction took to process. The sad thing is that this information did not exist (until now). I had to work these out myself and the way I went about this was quite unique I think. I wrote a small assembly program as such: Page 1.3 10 *-$600 15 LDA #$00 20 STA 710 25 L LDA $D40B 30 CI1P #$30 35 BNE L 40 LDA #$FF 45 LDX #$00 50 STA $D40A 55 JSR W ;KILL TII1E TO 60 JSR W ;SHOW FLYSCAN 65 STA $DOI8 70 NOP ;TII1ED INSTR. 75 LDX #$00 80 STX $DOI8 85 STX $D40A 90 JI1P L 95 W RTS What it does is to bring the flyscan to a clear and visible area on the screen. It then places a small coloured line of a particular length. This small length of colour can be considered as 2 machine-cycles, now to time all the illegal instructions you must firstly make chalk marks on your TV screen at the point where the colour ends. Repeat this process for not just one NOP instruction, but for 2, 3 and even 4 of them. This way the chalk marks on your screen will represent timed lengths of 2 cycles, 4 cycles and so on. You can now replace the NOP instruction/s with any single illegal instruction to time it. You should note that the chalk marks are NOT at regular distances from each other, you needn't concern yourself too much with this phenomena but if you really want to know, then consult the CYCLE STEALING appendix. To type illegal instructions replace the NOP's with aline like: .BYTE $BF,$FF,$FF. Anyhow, I'm sure you understand the method. And now, I've aired my mind and I've nothing much else to say. Hmmm, A thought just occured to me about how I used to think games were made (a long time ago). Good grief....Get a load of this: create manl; red shirt, blue trousers position manl at screen-centre make manl wave and then walk to left edge of screen I doubt you'd believe me in a million years, but this is seriously how I thought you'd program a computer. It's not exact, since I can't remember over 10 years ago, although, it does carry certain principles how I thought; such as: create a man, wave and move him left etc.. If only it was... I'd have made a thousand games by now!! Page 1.4

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.