Sie sind auf Seite 1von 40
ATARI XL ADDENDUM ATARI HOME COMPUTER SYSTEM OPERATING SYSTEM MANUAL Supplement to ATARI 400/800™ Technical Reference Notes ‘TABLE OF CONTENTS 10 20 30 40 50 460 INTRODUCTION APPLICABLE DOCUMENTS HOW THE 20OXL COMPARES TO THE A400/800 31 The Help Key 32 What the Function Keys Do ‘Cursor Lett Cursor Right Cursor Up Cursor Down Home Cursor ‘Cursor fo Lower Left Comer Cursor to Beginning of Physical Line Cursor to End of Physical Line Keyboard Enable/Disable Screen DMA Enable/Disable Key-Click Enabble/Disable Domestic/Intemational Char. Set Select 33. Key Redetinition Contents of the Key Redefinition Table Reassignment of the function keys only Non-teassignable Keys and combinations 34. UserAlterable Keyboard AutoRepeat Rate 35. Caps/Lowr Key Toggle Action 36 LED Initialization 37. Power-On SeltTest 38 Option Jumpers 39. Additional Hardware Screen Modes UO ‘Text Screen Fine Scrolling 311 Disk Communications Enhancements 4312 Power-On Display Enhancement 313 Deleted Featines MEMORY MAP OF THE I200XL ENHANCEMENTS TO THE A4O0/800 REV. B OPERATING SYSTEM INCORPORATED IN THE 2COXL Peripheral Handler Additions General improvements (OTHER CHANGES/GENERAL INFORMATION Improved Handling of OS Database Variables NTSC/PAL Timing Provisions 1ZOOXL 08 ROM identification and Checksum. APPENDDE A — An Example of Xoyboard Reassign. ment APPENDIX B — Suggestions for the Construction of New Character Set for the New Graphics Modes 12:13, and details of memory use and data interpretation for modes 215. APPENDIX C — OS DataBase Changes trom REV.B to 1200 Lo INTRODUCTION ‘This manual is designed to serve as a supplement to the ATAR! 40™ and ATARI €O0™ OPERATING SYSTEM MANUAL, ‘The ROOXL as shown in sections 3.5, s a technical upgrade of the AB00. The ‘operating system for the IZ00XL has been written to maintain, as much as poss ble, compatibility with application programs which have already been developed for the A400 /800. Since the basic hardware which controls the user interface and the display is, {for the most part. compatible with the earlier the operating system. ex: cept for the enhancements or changes described here, has remained largely the same. Therefore the data contained in the OS manual for the A400/800 is. still vali. ‘This manual has been written to provide the user with data regarding usage ot the aided features of the 20OXL operating system, with some details about the characteristics of the peripheral devices with which it will operate, Program: mers or peripheral developers who require a greater level of detail regarding the handling of peripheral devices should refer to the documents referenced in item 2 of section 2 below. 2.0 APPLICABLE DOCUMENTS 1 ATARI Home Computer Operating Systems Manual, Describes the OS for the A400 and AgOO, which is the basis for the enhance ments described in this manual, 2, ATARI Home Computer Hardware Manual and I200XL Supplement ‘The Hardware Manual covers the hardware registers which control the ‘various functions of the A400 and ASCO, The supplement to the hardware: manuel covers the cded features for control of the 1200XL Home Compu: ter, Details that are appropriate to the OS handling of such hardware Fegisters are contained in this O3 menue The user who has need for other Rgfdwarovolated data should refer to the hardware mantal for more ‘omation, 3. DERE,ATARE / This document provides the user with an introduction to the effective use of the ATARI Home Computer hardware. Although writin to cover the A400/8C0, the data contained therein is valid for the IZOOXL as wel. 3,0 HOW THE 1200X1, COMPARES TO THE A400/800 ‘The fol is ist of the fectures and functions which will be discussed in this chapter. Each will be explained in a separate section. {in this chapter, you will learn about, L SPX POR wD u 2 re 4 ‘The HELP Key ‘The Function Keys How key codes are redetined and which ones cannet be redetined How to alter the key repeat rate The action of the Caps/Lowr Key How the OS initializes the LED's on the keyboard ‘What happens when a cartridge is installed or removed ‘What happens during power-on selt-est What the option jumper assignments mean . What new screen modes the 20OXL can use How to enable tine scrolling of the text screen How the disk handler has been changed for improved operation, ‘What kind of display is now produced at power-up ‘What features have been deleted as compared to the Ad or ABOO Each of the items enumerated above corresponds to the paragraph number in, this section which follows. For example, item | above is covered in paragraph 34 item 2 in paragraph 32 and ¢o forth, 31 The HELP Key oper watching presing Gling HELP key 'as a roquest to set c flag in th OS database. This flag can be fead by whichever application program is in contol at the time and react ‘The OS treats the help flag in the same way as the EREAK key in thatno ATASCI Code is produced but a database variable is set, Therefore t your programs ex ecting the HELP key to be pressed, you must not only read the keyboard FIFO Frox seation 02°C) for incoming ATASCII codes other than Help, but also occa Genaily check ("poll") the contents of the HELPFG (help flag) database varable {o see ft Help was requested. ‘Aiter reading the database location, and deciding what to do, you must “clear” {Northo nex ime the key will be pressed. The OS does not clear itor you. The fialp Flag is cleared by sioring 4 zero in ils database variable. ‘The location of this variable {s $O2DC. The conditions to which it responds are ed below, along with the codes which will be stored in HELPFG: Hex value Condition represented co ‘The Help flag Is cleared. This flag is cleared at int- al power-up resat and subsequently itset. must be cleared by the application program. u HELP key alone was pressed. al SHIFT-HELP key combination was pressed. a (CTRL-HELP key combination was pressed, ‘The HELP key can be used during the power-on display and during the self test feature, See those sections for more information. 32 What The FUNCTION Keys Do NOTE This section only appiles to XL computers with function keys The 00XL is provided with a set of four function keys. You may redefine the ATASCI values which these keys produce if you desire, As a matter of fact the entire keyboard ATASCI output may be redetined as will be seen later. This sec- tion shows the normal detiniion of he F-F4 keys, thels functions and the ATASCII ‘codes which they produce (if any) as c result of he power-on reset assignment, All values in the table below are given in hexadecimal, FUNCTION KEY ASSIGNMENT SUMMARY If pressed alone Produces the Cursor-up function, retums ATASCILIC Produces the Cursor-down function, returns ATASCI! ID Produces the Cursor left function, refurns ATASCI IE Produces the Cursortight function, returns ATASCIF aa y It pressed with SHIFT See HOME CURSOR below. See CURSOR TO LOWER LEFT CORNER below See CURSOR TO BEGINNING OF PHYSICAL LINE below See CURSOR TO FAR RIGHT OF PHYSICAL LINE below Bags # Key It pressed with CTRL FL See KEYBOARD ENABLE/DISABLE below 2 See SCREEN DMA ENABLE /DISABLE below 3. See KEY-CLICK ENABLE /DISABLE below F4 See DOMESTIC/INTERNATIONAL CHARACTER SET below Key If pressed with CTRL and SHIFT FL Ignored F2 Ignored BB Ignored F4 Ignored HOME CURSOR FUNCTION SHIFT] couses the cursor to move to the home position of the screen as well as (producing the default ATASCI code IC. The default function is reassigneble. (CURSOR.TO LOWER LEFT CORNER SHIFT-F2 causes the cursor to move to the lower left comer of the screen cs well ‘as producing the deiault ATASCII code ID. The default function is teassignable. (CURSOR TO BEGINNING OF PHYSICAL LINE SHIFT-F3 causes the cursor to move to the far ett of the physical line on which itis Weegted (hole, not ihe logical line which, in the screen editor. could be as many (4 Physical lines) This tunction is perfotmed by the screen editor as well as Gendraling the delaull ATASCI code IE The default function is reassignabe. (CURSOR TO FAR RIGHT WITHIN PHYSICAL LINE SHIFEF4 causes the cursor to move to the ‘ar right side of the physical line on qHlah its located. This function is performed by the screen editor as well as Yonerating the default ATASCI code IF, The default function is recssignable KEYBOARD ENABLE/DISABLE CIRLF. controls the keyboard enable/disable function. It produces no ATASCIL eae. This key combination atfects the operating system handling ot the key: Board and is not reassignable. CIRLA disables and re-enables all keyboard tunctions except for the followings RESET {s the 6502 RESET key, and cannot be disabled ‘OPTION START SELECT _keys axe not controlled by the operating system Each time you press CTRLA. the operating system changes the encbled/dis- Ebied status to the opposite ot what it was when you pressed this combination, {Rother words if the OS had disailed the keyboard, LED | would be on It at that time you press CTRLL the OS would re-enable the keyboard and turn LED! oft ‘The second pres of this combination would reverse the process, disabling the keyboard again, ‘You may monitor or control the keyboard enable or disable function under soft wOtte conuol by teading of wilting the OS database variable called KEYDIS Gor ineatien G24D) A value of © in this location means the keyboard is Ghabled and a value of hex FF here means the keyboard is disabled. SCREEN DMA ENABLE/DISABLE CTRL-F2 controls the Screen Enable /Disable Direct Memory Access (DMA) Itpre- duces no ATASCI code, This key combination atfects the operating system handling of the display function. This key combination is not reassignable, The 2OOXL on power-up, always enables the screen DMA, What this means 's that the system will clways initialize itselt to display anything which has been defined for the screen display during power up. This same screen DMA jgnable wil also oceur it you touch any keyboard key other than the CTRL?2 Various types of programs which you write may be heavily involved in arith metic computations To speed up the processing in the A400 or ABCO, you may disable the screen DMA. When itis disabled. the ANTIC processor does not stecl memory cycles trom the 6502 to get its data‘tor the screen. Therefore during ais. able mode, the screen remains blank. When itis enabled, the full display which, you have detined Is visible, however, the processor is slowed down by any- ‘where from 10 to 40 percent as explained in the section on ANTIC DMA in the ‘Atari Hardware Manual. (On the OOK. to start the higher sheed/ no display function press the CTRLF2 Key combination The display wil go blank. To tesiore the display again at any time, you can press any other key. During your arithmetic calculations, you may be in continuous process of up- dating the memory area where the display data is contained. You can then get @ status of the operation in process af any time simply by pressing any xey other than CTRL #2 then again press CTRL-F2 o re-enter the higher speed mode Your program, then. on completion of the calculation, could exercise direct pro. gram control over the ANTIC DMA variable to restore the display when the ‘arithmetic intensive part is over. The DMA control database variable SMDCTL contains status bits for display lst memory access as weil as player missile dai access. When the combination CTRL-F2 is pressed, the OS will save this value, (It lt is not already zero) in dat Base Varianle location DMASAVSU2UD} Then the vamiable SMDCTL will be set to ze10, When the combination is pressed again. the original value Is restored to SMDCTL trom DMASAV, thereby restoring the display. Your program could per form the same process. EEY-CLICK ENABLE /DISABLE CTRL-FS controls the Key-Click enable/disable function. It pressed once, it dis bles the audible feedback on keystrokes Pressed again reenables it This func: tion only atfects an OS detabase variable and produces no ATASCI code. It = not reassignable. ‘You may control the key click enable/disable trom your program. All that needs to be done is to change the same flag which the operating systema uses to indicate whether a key click is required. This flag is called NOCLIK Its one of the OS database varlables, contained at location $O2DB (On power up and reset. the operating system initializes this variable to ¢ value of OO, meaning that key click is enabled. This location. when it contains the value SF, indicates that no key click is destted. The key combination CTRL-F3 toggles it between the values OO and FF. DOMESTIC /INTERNATIONAL CHARACTER SELECTION CTRL-F4 controls the domestic/intemational character selection Default is domestic. It attects cn OS database variable only and produces no ATASCI code. It is not reassignable. It toggles the display of character sets, changing between the two each time the key combination is pressed. When ihe intema- tional character set is selected, LED number 2 will be lit ‘The intemational version of the character set is located in the ROM beginning at location $C000 You can cause the intemational character set to be selectad by storing the constant §CC to location $O2F4 This is the location CHBAS. Tha nor. mal character set is located in the ROM starting at SEOOO. It program stores SEO to CHBAS. it selects the display of the normal characters. It you have detined your own character set, however, pressing CTRL-F4 will display the intemational character set This is because the operating system will test CHBAS and find hat the value $CC is not there. Therefore SCC must be the next value which is to be used (selects intl set). When it tests CHBAS and finds SCC stored there, it knows that SEO is the nex! value to use during the toggle between characier sets, ‘Two variables are used to control the character set selection. CHBAS (02F4) and (CHSALT (0268). The Screen Editor E}) and the Display Handler (S) initialize vari bles CHBAS and CHSAIT at every OPEN command which you issue to either one. CHBASisiniiized oa value ofhex £0 and CHSALITsinitcized toc value ot hex When youpress CTRL-F4 the operating system swaps the values of CHBAS and CESALT using the OS variable TEMP as the temporary holding point. Once it completes the swap, It CHBAS is equal to CC, it will light LED 2, indicating that the international character set is selected. 3.3. KEY REDEFINITION ‘You may redetine most of the 200XL console keys if desired. The redetinition, [process Consists of setting up a pa of tables which can be referenced by the Operating system when it tansiates your keystoke into an ATASCI value. ‘The two tables are the KEY Detinition Table and the Function Key Detinition Table, The operating system has a pair of data tables from which the normal definitions are made. You may define your own set of tables however, then simply tell the operating systen where they ate located in memory. (One such use of key sedetinition might be to experiment with other, possibly more efficient keyboard layouls such as pethaps the Dvorak keyboard. An ex ample is given in Appendix A of @ keyboard redetinition to allow you to do such an experiment. (Over the years, the QWERTY key layout has been the ac: cepted standard, though many people have found DVORAK to be mote ett lent This would allow you to try'it for yourselt) CONTENTS OF THE KEY DEFINITION TABLE ‘This table allows most of the keys of the I200XL. to generate any desired ATASCIL code or special inlemel function. The exceptions to this are listed at the end ot this section. To redefine the keys itis necessary ts to detine an crea in memory where a 192 byte table may be stored Into this table, you will store the detinitions of the keys which you desire, Later ‘you will fell the operating system where this table is located so that future Helerences may be made fo it instead ot the standard detinition table, ‘The organization of this table is as follows. Tower case conver KEVIABLE _ START (Slats at user detned Group of 64 bytes Gaeiess) Table of ower ease convenions cant BSF Table of uppercase conversions CTRL plus key oma Table of contol key conversions KEYTABLE _ START + 191 ‘The reason that each of the subdivisions of the table has 64 bytes in ts that the hardware can generate ¢ total of 64 hardware keycodes, These codes nur. ered 00-63 decimal (OO 3F hexadecimal) are used to index directly inio one tthe three keycode tables Which table is referenced depends on whether the CTRL or SHIFT keys is pressed. Note that there is no table for the combination of both CTRL and SHIFT, This com bination is invalld and is ignored by the operating system. Each of the three 64 byte subsections of the table has the form, Goccds | Byle O contains conversion for key code OO for key alone, Sey with CTRL or key plus SHIFT. Depends on ‘which table is Gecessed per which keys pressed ‘Gleode | Byte! contains conversion for key code Ol ‘SEcode | Byte 3F contains conversion tor key code 3F ‘The codes which you place in your table will either generate an ATASCI code (lor direct character temsiction) or they will tell the system. to perform a specitic junction Specifically any code in the range of 80 to 91 hexadecimal will be freaied Gs Special by the system. This is illustrated in the table below. (CODES AND THEIR EFFECT ON THE SYSTEM AFTER TRANSLATION cope EFFECT (if any) 00 thru 7F Used as the ATASCI code only, Sethu FF Used as the ATASCI code only. Ignore, invalid key combination. Invert the video output lo the screen. Alpha lock/Lower case toggle. ‘Alpha lock ‘Control Lock. End of tle ATASCI code ‘ATASCI code ‘ATASCI code Key click on/ott Function 1" Function 2* Punetion 3 * Function 4* SRSSSeSeRLeweg, “NOTE. When it sees these keycode translations, itis told to DO the function ‘which is described in the Function Key descriptions The ATASCI coded gene- ration for the normal and shifted function keys is handled in ditterent table, whose description follows that for the keycode hardware translate table. 8 Cursor to home aE Cursor to bottom. 90 Cursor fo the left margin 9 Cursor to the right margin ‘The table below shows the key cap conesponding to each key code. The physical position of each key switch within the table determines the hardware Code which it will generate. To determine what code it is take the row address of the cap, and add it to the column address The result is the hexadecimal value retumed to the operating system Grange OO-3F) for use in the table lookup for that key. 10 KEYCODE DEFINITIONS TABLE o 1 2 3 4 5 6 7 (ome eres feed aerial eee ee) os_[o p |u| mr [i [=| = fot ecvia| Seiee (arcet|satraes | eeraee (ieee exe |e w_| 4 fae (ara |e eee arom (ee ee |e 20_|_, _|SPACE N mM] 7 [ot a_|R ze |v [ms [ir f[wte so_| 9 o [7 [packs] 8 38. F a | D caps | @ s A ‘Asan example the key cap "C" isin the table in row 10, column 2 This means thatine hardware generates @ hardware code 0 + 2orlz hexadecimal “here- fore, in the tonslation fables shown above, the function code ot ATASCII code (eMthis character willbe stored in the key definition table position si2for each of the three types of °C" which are valid (c alone, Shifted C, or Control C) You may Cause each of these to periom a separate function 6r generate & 'RIASCI code by revising the tables When you have decided on how you want your keys to be redetined , you tell the operating system where it may find the definitions by storing the address of {hese Gotinilions in locations 79 and 7A hexadecimal. The low byte ot the hex- Eilecimal address where you have stored the keys should be placed ir loca: A859 the high byie is location 7A. This is defined as one of the system vactors, tolled KEYDEF ft will point to the default or original key detinition table at power-on reset ime. n REASSIGNMENT OF THE FUNCTION KEYS ONLY There may be times when you only want to redefine the function keys and not Tedotine the rest of the keyboard. The COX. operating system allows you ‘o redetine only the function keys by setting up an &-byte table in place ot the 192 byte table which would have otherwise been requited The format of this tabie ‘sas follows ‘Lowest memory location of the table 21313 \o SHETAL ‘SHIFTE2 SHIFTS SHIEFTF4 | Highest memory location of the table When you have decided what functions each combination must perform and have built the table, change the system vector FKDEF fo point to the lowest a¢- dress of your table. This vector is located at memory locations 60 and él hexa. decimal. Location 40 gets the low byie of the hex adaress, location él gels the high byte. ‘The same codes described in the section titled “CODES AND THEIR EFFECT ON ‘THE SYSTEM AFTER TRANSLATION” are used in this table, However, DO NOT assign codes 8A through éD io the same function as the key tiselt In other words, do not specify that the key Fl should perform function Fl etc. since this would result in an infinite loop. (Fl sensed by the OS sends it to the function key table, ‘which tells tt to look up and pertomn the F function, which sends it fo the table, and so on. with no possible exit) 12 NON-REASSIGNABLE KEYS AND KEY COMBINATIONS, ‘the following keys or key combinations are either specitically wired for special! functions of cre subjected to special handling by the operating system. Even though there might be a hardware-generated key code shown in the fable above, and a corresponding space in the translate tables there is noway: to reessign these functions. This is because the operating system traps the hard ware code directly to perform the specitied function Gnd it never gets to the transiate mode, These Keys or combinations are as follows. BREAK —_—_ This function Is tixed as a special case in the operating system. It is sensed by the hardware, SHIFT — This Key is an integral part of the hardware encoding ot ‘any key function TRL — This key in an integral part of the hardware encoding of ny key function ornen ESN 7 pote er anor woo an ae snc hy te START GMA circuitry. RESET = Disectly wited to the 6502 reset line. HELP — Function is fixed by the operating system. The help func: tion handling is described elsewhere in this mantic. cma Controls the screen output start/stop function. cTRLAL See KEYBOARD ENABLE/DISABLE above. As noted there, this function is not reassignable. cmir2 See SCREEN DMA CONTROL above. As noted there, this function is not reassignabie. CTRLFS ‘see KEY-CLICK ENABLE/DISABLE above. As noted there, this function is not reassignabie. CTRL See DOMESTIC /INTERNATIONAL CHARACTER SET above. 13 3.4 USER-ALTERABLE KEY AUTO-REPEAT RATE ‘The 200XL operating system allows you to control the rate at which akey, con tinuously heid down, will repeat iis entry to the system. This change can be done by modiiving the OS database variable KEYEEP, located at hex address Tals varlaile determines the repetition rate by counting the number of VBLANK (weitleal blanking) intervals which occur For the NTSC (60 Ha) systema, the Initial Value of tis variable is 4, for PAL systems, the value is & This assures a uniiom: repeat rate of 1O characters per second for either system. The key repeat rate equals the VBLANK rate (60 or 50 per second) divided by the KEYREP value Under control of this varlable, the maximum “controllable” key repeat rate ‘would be £0 characters per second on the PAL. and 60 characters per second. on the NISC Gcreen reffesh rate) This would occur with a value of I in this, varlable. You may control the rate ct which occurs betore the key repeat starts The OS database variable which controls this is called KRPDEL lis hex address is O2D9. Itcontrols the number of VBLANKs which must occur between the sensing of the key pressed until the tizst repeat occurs. From that time on. the 1epeat rates con- trolled as described above. Tho initial values used by the OS provide a Of sec: ond initial delay for either NTSC (count = 48) or PAL (count = 40) systems. 3.8. CAPS/LOWR KEY TOGGLE ACTION ‘The CAPS/LOWR key on the I200X1. functions as shown in the chat below: KEY COMBINATION (CURRENT STATE NEW STATE CAPS Control Lock Lower Case CAPS Alpha Lock Lower Case CAPS Lower Case Alpha Lock SHIFECAPS any = Alpha Lock ‘CTRL-CAPS any ‘Contiol Lock (CTRL-SHIFECAPS any — no change — The meaning ot the terms is as follows, Lower Case — Ail key caps respond in lower case mode Alpha Lock ~= All alphabetic keys (A-2) respond in upper case mode, all others lower case Control Lock = — All alphabetic keys (AZ) respond as though the control key is being held down as well as the selected key 4 3.6 LED INITIALIZATION ‘The 2OOKL has two LED's on the front panel, callled LED Land LED 2.LED Lwhen. Fee eetes thal the Keyboard is disabled LED 2, when, lit indicates that the te ce inal character set s selected. The operating system encbles the Key: nlemettnd elects the domestic character set on power up cn reset Therelore these LED's will both be off 3.7 POWER-ON SELF-TEST uring the initial power-on. the 12COXL operating eyster will petform the fol Ping, quick check of the integnty of the system RAM and ROM: x Ibit possible to wrlte SFF (all ones) to ail RAM locations? 1b, Is tt possible to watte $00 (ail zeros) to ail RAM locations? ¢. Does at checksum of the fwe ROM's compare to that stored within each ROM? rany of these tess tal the operating system will ranster control 19 the Ste Hany of fost rouline, Hare ca more thorough test of both RAM and ROM can jake place. 3.8 OPTION JUMPERS ‘te !200XL is provided with ase of four hardware jumpers whieh cre designe? Pee peraling system how the system is conigured. As of the date of is te a ane cy one ol the four Jurnpers has been assigned, speciically 7. Ts MISE, dina table below. During the power-on sequence, the LOOK sper peeghtom reads the sate of these jumpers Gnd stores this state in the OS data bake variable JMPERS, location 0308, ‘The bit assignments or each of the four jumpers is as specitied below. The Bis So The bit signmigeaning thet if line reads a digital zero, the jurnper is installed. BIT FUNCTION HARDWARE NAME ° Self test enable (wil run self test iflow) (pot 4) 13 Reserved for future use 47> Unused 18 3.9 ADDITIONAL HARDWARE SCREEN MODES ‘the 200KL adds direct accesso the rematning spectol purpose 0 ree POOiicing inedes The lable below show the cuxent mapping Which Ses beek provided forthe A400 cn ABCO, The able which follows tneroatior shows the added modes and the numbers which the software can use to access the extra modes. 7 ‘Mode mapping commen to A4OO/ABOO: Software Mode ANTIC MODE GTIA MODE © 00) 2 gon ° r Gov 6 GO Q 2 GOH 7 Gon ° 3 GOs) a OB) ° 4 Goa 9 G09) ° 5 (809) 10 OA) ° 8 6% Ww GOB) ° 7 Gon 13 (OD) ° 8 GOB) 15 (SOR) ° 9 G9) 1% GOH 1 10 (GOA) 1s GOH 2 Ww 0B) 1 GOR 3 ‘Mode mapping tor ZOOXL (additional). Sottwaze Mode ANTIC MODE GMA MoDE 2 «gocy 4 gon note 1) 13 GOD) 5 09) O (note 1} 4 GOR 2 OC) ° 18 GOR) GOB) 3 Note 1: The existing character sets will not provide recognizable characters tor these new modes Therefore you will have to provide the character sett you use these modes. This is done by detining the full character et, then Ioditying the OS database variable CHBAS to point to the most signi. cant byte of the address at which the character sat starts CHRAS is located at Sora Appendix 8 ofthis manuel contains some suggestions on the method for ‘designing a new character set to support those added modes. 16 330 TEXT SCREEN FINE SCROLLING ‘The screen editor (E) supports ine scrolling of the text screen data as an option. This fine sezalling option will be enabled if the database variable FINE hex Ieeation O26e) is set nonzero prior to issuing the OPEN command to the screen. Sailor Likewise, the feature will be disabled if this location is set to OO before {suing the OPEN. ‘There are only two allowed values for FINE = O and hex FF. Other values may produce undesirable results During an OPEN commang to the Screen Editor (B:) it FINE (0268) is hex FE then aiine scrolling display list is created. This display ist will be one byte largerthan coense scrolling display list In addition the OS places the address of a display fi interrupt routine into the display Ist vector VDSLST (0200) replacing an ‘other vector which you might have already stored there, When tine scrolling is enabled, the Screen Editor's display lis intemupt service Youline moziities the content of color register COLPF (DOW) for the very last vist ble line of the screen. When @ CLOSE commang is issued for the Screen Editor it FINE is hex FF then the Gddress of an RT's placed into the display list vector VDSLST (0200). Far OS ver SGnsil end beyond, FINE fs set lo zero again, and the screen is reopened with ‘coarse scrolling display list ‘The recommended manner for enabling and disabling tine scroling is shown, below: Set FINE to hex FF b, OPEN E using an [OCB number . Uso E, as usual, tine scrolling is enabled 4. CLOSE E, ©. the 10GB is now open. then you ure Unished. otherwise contintio ‘with the hext step Set FINE to zer0 7g OPENE, fea 31 DISK COMMUNICATIONS ENHANCEMENTS, ‘The 200K adds the capability for he resident disk handler to read and write disk sectors having variable length trom | to 65696 bytes The default length, ass Used on the AdCO and AECO currently, is 28 bytes Hoth at power-on and RESET (warm start) the 128 byte sector length is established. Your program can alter this Iength by edifying the Os database variable DSCTLN. The Iecation ot thistwo- byte variable is O2DS and 0204 (lo byte in 0206. ht in 0206). In addition to the’ capability to read and write variable length sectors, the TCOXL also adds the capabllity to write a sector to the disk without a read- venly operation always following it This is the command which was specitic: ily excluded in the previous releases of the operating system. With this capability added, you have a choice of elther using the vettty for sys- tem integuity (always read atter write) Or you can take a chance of wating a bad sector on rate occasions but increasing your average speed of disk usage by some value related to the verity time. You may want to experiment with some of your programs with and without very to see the resulis 312 POWER-ON DISPLAY ENHANCEMENT In place of the eriginal power-on memo pad display used by the A400 and ‘ABO Gn the absence of a cartridge or disk the 1200XL displays a dynamic ‘ATARI rainbow. If you press the FELP key while the rainbow is displayed. the }20OXL will enter the selt-test mode, 18 4.0 MEMORY MAP OF THE 1200XL ‘The following table shows how the 6502 processor perceives the various Gd- Gress spaces which it can access The maximum, allowable address range, with fhe 16 bit address of the 6502 is hexadecimal OQOO-FFFF. This address range is spit by the hardware memory management circuitry, as follows. (Note: The 0OXL uses 64K RAM's as the main system writeable memory Ad: Qessos within those RAMs which would normally have tilled the entire fnemory access space ot QO0O-FFFF of the processor, are prevented trom cc- ise by he memory manager. This allows ROM’s, cartridge memory. and peri- herals to occupy a part of the memory space os is noted below.) Y20OXL MEMORY MAP HEX ADDRESS (WHAT IS ACCESSED THERE NOTES FFFED&OO (OS-ROM or RAM If ROM disabled 1 DIFFDOCO ‘The special purpose chips respond to the adress ranges shown inthe Ising low DOOO-DOFF = GTIA DIOO-DaF —POKEY DICO-DIF PIA DsOO-D4FF ANTIC DSOO.DSFF Any tea or wrlte to.an address in this range enables the cartridge com trol line CCNTL on the cartridge inter face (same as ‘BACO/ABOO. DIOO-DIFFD600-DéFF, and D700-D7FF cue reserved for future use. (O5-ROM physically present, but cannot bbe accessed here. 2 CFFF.coCO_ (O5-ROM or RAM it ROM is disabled i BFFF.AQOO_ RAM. of cartridge interface : SFFF-8000 RAM, of catttidge interface z ‘TEFF-S800) RAM \STFF-5O0O RAM, unless in selttest mode 2 4FFF.000O RAM 19 NOTES. 1 Access o the OS ROM may be dscibled by wirting @ zar0 fo port Bo! the BA Bll O. Access ts nomaly enabled win a tprosont his Bi Giinen changing this nit in the vogister ther mie should not be 2 the selties ROM code is physically present in the O$ ROM at actual ‘address DOCO-D7FF. However, this aiea is used for the access fo the memory mapped I/O devices When the selttest tecture is Invoked, the RAM located trom S000 S7FF is disabled. The memory manager te- mops the memory access such that he OS ROM physical addresses BOOO-DIFF are accessed at SOCO-S7FE The memory manager uses ‘Port 8 of the PIA. bit io determine whether to cccess RAM of ROM in the Feglon S007 I b7is high RAMs accessed l'bt7 Slow the CS {S accessed instead. (When cl 3e Tegistar. othe: Bis should net Se changes) oS (Port B was used in the A4Q0/800 to service the game ports 3 and 4 ‘The Use of the remaining bits of ths port are specified in Section 6 at this manuel) 3. ROM will be selected in these regions if control lines RD4 or RDS are pulled up fo +5V by the cartridge. RD4 controls ROM select in the Tegion 8000.9FFF. RDS controls ROM select in the tegion AOOO-BFFE 20 5.0 ENHANCEMENTS TO THE A400/800 REV. B OPERATING SYSTEM INCORPORATED IN THE 200XL ‘This section describes a set of enhancemen's which include new methods of handling peripheral product's and. in a separate section. improvements in Basle operations of the system The latter might be retered fo as “bug fixes PERIPHERAL HANDLER ADDITIONS ‘To accommodate & new class of peripheral devices, the operating system now iheludes a relocating loader, used fo upload peripheral handlers through the serial (/0 intertace) In the AdOO/800, device handlers for the peripherals were uploaded as ticed location (absolute) object code, These handlers were loaded using a set oi de- vice inquires or polls known as types O, land 2. Information on types O, Vand 2 Poll Commands s available trom Atari Customer Service. ‘The COXL adds two other types of polls to its operating system One poll, Known as type 3,5 issued at poweron or reset time. The other. type 4. can be ‘Ssued as a fesulf of an OPEN command by an application program, ‘Type 3 Poll Command ‘The type 3 poll command itself is used as an “Are You There?” type of com: mand. Associated with the type 3 poll are two other types, specitically the @) Poll Reset nd b) Null Poll Poll Reset consiss of the following SIO command byte sequence (refer to the SIO Gocument for further explanation of the byte types) Byte Position Value (hex) Device Address ar Command Byie 40 Aux F ‘AUK2 aE ‘Command Checksum Normal (checked by peripheral) ‘The 4F ify AUX and AUX2 detine this sequence to all peripherails as a poll eset. Xger responaing to a type 3 poll by sending a handler to the system, « peti heidi is hot supposed 10 respond again to a type 3 poll The Poll Reset com fnand, ct powerup. resets ail type 3 peripherals, feeing them to respond to the oll aquest However, no seri] bus device sends back any data as a resull of poll reset command an ‘Type 3 Poll (Are you there?) ‘There may be several types of peripherals which can respond to a type 3 poll In types O. | and 2. the device address sent on the serial line specifies whict. ‘exact device is being called. in the type 3 poll processing, however, ihe address remains fixed (4F) and the devices each respond atter a-specitic number ot pol Sretiies In other words, during poll 3 operations. the computer doesn't know which peripherals ate ‘actually attached, but will keep asking “is anybody there” until It has reached its last retry and no periphercil has responded. Each peripheral which does respond to the type 3 poll must be designed to Count the number of retries of type 3 polls, then to respond as described below Gnils own specified retry slot Each time It'sees a command other than a type J oll these peripherals rust reset thelr retry counters. This allows the computer to [oad the handler for each peripheral which responds then restart is poll 3 se. quence (original retry number restored) to look for another poll 3 response from the next peripheral (it any) Since each peripheral responds only once (atter a poll reset). « second request fi a specitic retry slot causes no peripheral response and allows the next retry slot to be polled. ‘This poll "ate you there?") is sent as follows Byte Position value (hex) Device address ae Command Byte 40 AUX. foro} ‘AUX <0. ‘Command checksum ‘Normal (checked by peripheral) ‘When atter checking the retry count it ls @ peripheral's tum to respond it send: back ne following data to the computer on the serial intertace, @) An ACK response byte, and b) L Low byte of handler size in bytes (must be EVEN) 2. High byte of handler size 3. Device Serial I/O Address to be used for loading 4 Peripheral Revision Number ‘These four byes itsent by the peripheral, willbe stored in 0S variables DVSTAT (G2E3 hex) through DVSTAT+3, I there is q successful return to the OS (not a Stneout or other problem) t indicates that there is @ handler to be loaded. The loading is performed. then the type 3 poll is repeated until al retries are ex: hausted and no peripheral responds Once the device address data Is received trom the peripheral during this type 3 oll it can theteatier be referenced directly on the serial bus by its address in lace of the original poll address 4F, Specific detcils of the actions taken by the OS atter receiving an answer trom « Peripheral may be found in Appendix C, 2, Null Poll Command This command {s used as a serial bus no-operation If any enor should occur during loading of a peripheral handler or by the relocator, the system should be fee to “back out” of the linking of the taulty loader and tell the peripheras that its ready for the next one to be loaded. Since this null poll is @ non-type-3 poll ll peripherals will have reset their retry. counters and should be ready for Gnother sequence of retries looking tor their own response rely slot This main- tains synchronization between the computer and the peripherals ‘The structure of the Null Poll is as follows Byte Position Value (nex) Device Address aE ‘Command Byie 40 Aud aE ‘AUX2 Pd ‘Command Checksum Normal (peripherals check it) ‘Type 4 Polling This type of polls sent out on the serial bus as c result of an application iniiated request During an OPEN command, a device which responds to a type 4 poll may conditionally or unconditionally be poled fo determine i its online and may or may not have its handler uploaded and linked to the system under con- fol of the OS. Detailed information regarding the handling of the device under ‘various operating conditions may be found in Appendix C. ‘The Type 4 Poll is « serial port command structured as follows * Device address of 4F hex (peripherals looking for Type 4 Poll may ignore the device address and look only for the poll command ‘@’; however, the device address will always be 4F hex and the peripheral may check this) + Command is ‘@' (40 hex) (peripherals looking for this poll will always look for the '@' command), + AUM contains the device name, which is an ATASCI upper-case latter (ange 4thea ihrough SA hex) (the peripheral must be casigned that device name in order to legally answer the poll), + AUXZ contains the device number, which is an ATASCI digit (range ATASCINL through 9, I hex through 39 hex) (the peripheral may optionally use this infor- __ Tnation in deciding whethe or not to answer the poll) + Standaité command checksum (peripheral checks this) ‘This poll differs ftom the Type 3 Poll in that the device name and number is in- clucied in the poll Therefore the peripheral need not count retries of the type 4 poll and should answer the poll as soon as the poll command is recognized. ‘There is no limitation on the type 4 poll, the peripheral should answer tts ype 4 poll each time itis issued ‘The peripheral response to a type 4 polis the same as for the type 3 poll. The four response bytes are placed, by the computer, into DVSTAT through DVSTAT+3 (QZEA through O22D hex). 23 GENERAL ENHANCEMENTS TO THE REV. B OS FUNCTIONS The following functions which are supported by the A4O0/60O Rev. B Operating System have been further enhanced by the addition of the following features Printer CLOSE with data inthe butfer— ‘The printer handler will insert an EOL(end-of line) character in the printer butter if one is not there, betore sending the butter to the printer on a CLOSE. This ‘assures that the last line will be printed immediately rather than having the ptinter forced otfline to output the final line. Printer Unit Number Handling — ‘The printer handler has been changed so that it will process the unit number in the OCB, allowing separate addressing for printers Pl through P8. CIO Handling of Truncated Records on Read — The ClO now places an EOL in the user's input butter on the occurence oteither record longer than the bulter being read or an EOF being encountered during the read attempt This assures that ail records are accessible, evan itthe user has not provided a sufficient butter size, he will at least get as much of the record as he Ras provided tor. ClO Entor Handling With Zero Length Butter — ‘The ClO will retum c butfer length of zero (In the 6502 A register) when there isa handler eror while effecting zero length butter transter. See ClO section in the (08 manual) Display Handler Cursor Handling — ‘The dispiay handler now accepts « screen clear code no matter what value is in the cursor X and ¥ coordinates. Display Handler/Screen Editor Memory Clearing — ‘The Display handler and Screen editor wil not clear memory beyond the end of memory as indicated by RAMTOP Now itis possible for the user to specify the top of memory to be used by the eystem and to store device handlers of per sonal machine code in the memory area above the display. Changing display gaphics modes, then, will not erase any data which has been placed in the RAM area hove that assigned for use by the display or screen editer. Rework of thi Floating Point Package — ‘The 1200X1 operating system corrects « bug in the Rev.8 OS.Itnow produces an eter status when an attempt Is made to caiculate the LOG of LOGIO of 26%0. New ROM Vectors — ‘The following fixed entry point vectors have been added to the ZOOKL ROM set, E480 IMP PUPDIS entry to power-on display E483. JMP SLFIST entry to the seltiest pam. E486 JMP PRENTR entry to uploaded handier enter, E489 JMP PHULNK eniry to uploaded handler unlink. E4SC IMP PHINIS entry to uploaded handler int En 6.0 OTHER CHANGES/GENERAL INFORMATION This section deals with items which involve operating system changes, but which do not easily it into any other category. IMPROVED HANDLING OF OS DATABASE VARIABLES During normal power-on sequence (cold start) the OS database variables rom ‘SOSED-SOSFF are set o 2870, During a RESET (warm start) they are NOT changed by the OS This means that an enhanced version ot the operating system in the future will be able to make use of these locations without reloading them after ny RESET operation ‘These bytes are all reserved for use in future OS revisions. NTSC/PAL VERSION TIMING PROVISIONS ‘There aze various timing differences between the NTSC (60 hz) and the PAL (SO hz) versions To eliminate the necessity for providing a special operating system ROM set for each one, the speeitic timing adjustment values are handled within the single ROM set ‘To determine which type of system the ROM is operating on. the operatirg sys tem checks a ag within the GTIA chip and adjusts all timings accordingly. This ‘was possible because the GTIA must be different to handle the modified dsplay format for the 80 He version By making certain timings a function ot the state of this fag, it was possible to make extemal timings independent of the NISC or PAL system itselt The timing valttes relate to the handling of the lS Volt cassette player (Atari 410) nd the console cuto-Tepeat rate as shown in the table below: (CASSETTE TIMINGS NOW INDEPENDENT TIMING Write Inter-record gap (long) 30 sec Read IRG delay (long) 20 sec ‘Wate IRG Ghort) 025 see Read IRG delay (short) 016 sec. Write File leader 192 sec. Read Leader delay 96 sec Beep cue duration. 05 soe Beep cue separation 6 sec. AUTO-REPEAT FUNCTIONS NOW INDEPENDENT TIMING Initial delay for.auto-repeat 08 sec Repeat rate 100 char/sec 1200XL 68 ROM IDENTIFICATION AND CHECKSUM DATA Each ot the two ROM's in which the I200X1 operating system is contained has a capacity of 64K bits organized as 6K by 8. Within each ot the ROMS is a block of data organized as shown in the diagram below, to identity the ROM and to give iis checksum. The checksum is tested by the operating system as part of the power up sequence. 28 ‘The format of the block for the COOO-DFFF ROM is as follows, ‘The format of the identitication bloc! ROM Cksum (lo) COCO Checksum which is he sum of all Bytes in ROM except checksum | ROM Cksum ch_| or dee po coor | Ma coos | — Revision date having the form. ye oot | DOMMYY where D = day diatt “4 | M= month digit ¥ = year digit Each a 4 bILBCD digit Reserved. ption bute e008 contains 500 for the 2OOXL. Al 6006 2 coor m_ [m2 coos |-— Part number having the form AANNNNNN, where A's represent no | cooe | ASCH characters, Nare ECD digs ns_|_N6 COOA [EF Revision No. ‘COOB sk for the EOOO-FFFF ROM is as follows: tor NM RES and IR6| ica ena FREE m_ | Me FEF | Revision date having the form DOMMYY where D = day digi pro | | M= month year digit = J Each a4 bit BED digit te FFL Hardware product identiier, will | —Qniion bvie Se used by Alar fo identity Home AL BR ‘Computer products for 2OOxL = SOL a2 Fa NE N2 ra |— Part number having the tomn AANNNNNN, where A's represent Not | ona FS ‘ASC charactors N are BCD digits. Ns [= NO FFF Revision Now FFF? ROM Cksum (lo) FEF2 —— Checksum which is the sum of all bytes in ROM except for checksum | BOM Cksum ch _| FEFO byles themselves, ‘vector table for PATER This area reserved for poweron reset vectors, NMI and IRQ vectors. 26 PORT B CHANGES Port B of the PIA is « read/write port which no longer is connected to game 1/0 pporis Instead. its bits control various tunctions which include control of LED L LED 2-tead enable of the the. OS ROMs and other functions. To change only one Single bit at ¢ time within that port the following technique should be used. Clear A Bit (bit b) LDA PORTE AND *SFF-b STA PORTB clears only bit b in the port Set A Bit (bit b) LDA FORTS RA *b STA PORTB sets only bit b in the port ‘XL PORTS ($D30}) BIT ASSIGNMENTS Bit _| VAiuE [Use ° ‘© _| OSROM DISABLED, RAM ENABLED 7 | OS ROM ENABLED ‘The memory region mapped to the OS ROM Is trom SCOOO to SFFFF except for the region trom $DOOO to SD7FF which 's clways mapped to the hardware I/O chips (GTA. POXEY, PIA ANTIO. BASIC ENABLED BASIC DISABLED, RAM ENABLED ‘The memory region mapped to BASIC is trom SBFFF. LED #1 ON. LED #1 OFF LED #2 ON, LED #2 OFF [RESERVED FOR FUTURE USE [RESERVED FOR FUTURE USE [RESERVED FOR FUTURE USE SELF TEST ROM ENABLED SELF TEST ROM DISABLED, RAM ENABLED ‘The memory region mapped to the self test ROM is trom 35000 to SS7FF. -o -0-0 -o NOTE, The OS VBLANK process copies the port A joystick and paddle values tnlg ine For B shadows, Thus sick O attects Doin O and 2 stek | clectsboth at REV-LEVEL DETERMINATION To allow program products to determine which Atarl Home Computer and Operating System Revision level it is operating with. the following tesis are recommended: Ifocation SFCD8 = $A2 then product is cn A4€O/AECO wherein, I location $FFF8 = SDD and SFFF9 = $87 then OS is NTSC rev A location SFFF8 = SDé and SFFF = $57 then OS is PAL rev A. if location $FFF8 = SF3 and SFFF9 = SE6 then OS is NISC rev B If location $FFFB = $22 and SFFF9 = $63 ‘then OS is PAL rev B. Otherwise, it is some future A4OO/ABOO OS, It location SECD8 net $A2, then product is c IZOOXL or other future home com: puter product wherein. Il location $FFFI = $Ol then OS fs I200XL, ‘and location SFFF/ will be the Infemal rev number for the ZOOXL Os. Otherwise, location SFFFI = product code for future Atont Home Computer product nd location SFFF7 contains OS rev level for this product. 28 APPENDIX A — AN EXAMPLE OF KEYBOARD REASSIGNMENT As suggested eaulfer in this document, the keyboard functions may be reas- Signed. The table below gives the corresponding keys for the Dvorak (also known as the American Simplified) Keyboard, When the typewaiter was tst invented in 1867, Christopher L. Sholes chose c layout for the keys which would slow down the geod typists of his day and thereby prevent his machine from jamming, This keyboard has endured to this day. In 1962, August Dvorak invented this key layout which places the most often used characters, including the vowels on ihe “home” key line and also redistributes the keystrokes rom ¢ 60-70% left-hand activity to an almost 0/50 activity Cer- fein manulacturers currently offer this key layout as an option, Now you can try it for yourself you wish. Only the lst of key correspondence is given here. Its lef! to the reader fo compose the key function table using the data contained eotlier in this manual TOPROW OF KEYBOARD CENTERROW BOTTOM ROW Cument Dvorak © Cument Dvorak © Current. «Dvorak a 2 A A z ; a ; z i w : s ° x a E : D E c J e R P F u v « T y 6 t 3 x ¥ F # D> N 3 u 6 i a M M 1 ¢ K T : w ° R L N v ’ P L s 2 z : 7 z 4 : _tundentine) APPENDIX B — SUGGESTIONS FOR THE CONSTRUCTION OF A NEW (CHARACTER SET FOR THE NEW GRAPHICS MODES ‘This appendix covers the new graphics modes 12.13.14 and IS now provided on, the OOXL Modes ld and Is are pure graphics modes with resolutions of 60 by 20 and l66 by 40 respectively Since these are not character modes, the discus sion below will be limited only to modes 12 and IS Graphics 12 and 13 do not produce recognizable characters for the most part using the standard character set One wil understand why this is tue by exer: Ining the following comparison between Graphics moda O to 2. and 13 Mode O is « 40 character mode. Zach character is formed from an 8 wide by 8 high pixel matrix Each pixel is one bit wide in memory and is 4 of a color clock wide on the screen ‘Modes 2 and I3 are algo 40 character modes, However, each character Js formed trom a 4 wide by 8 high pixel matrix with each pixel 2 bits ‘wide in memory and one color clock wide on the screen. This forces the character fo be the same width as that used in Graphics mode O, but cannot convey the same information within 4 pixels as with 8 as for as character recognition is concemed. (tis dtticult to torm a recognizable character in a four by eight dot matrix). Lets examine how the 4-pixel character is formed, again compating the way the @-pixel character is formed in made O. Mode © has « choice ot two colors for each pixel (the hardware man- tal says | ¥ colors, but its actually either the hue and luminance ot playtield 2 it there is i zero bit in the selected pixel position. or the hue fom playfield 2 with the luminance of playtield | if there is 1 bit in the selected pixel position Therefore, each single bit in the character defini tion byte for ¢ given line occupies a single ¥4-colorclock-wide pixel position The character set buill info the OS detines the characters inan by 8 matrix Mode 12 also uses 8 scan lines per character However, it uses the character bytes in a different manner. Each of the character bytes Fettleved by the ANTIC is teated asc set of four two-bit quantiles, where each bit pa describes ihe color which is to be applied fo one af the 4 single color clock wide pixels which are part of he character. Mode [3 is thesame In ils treatment of the data bytes, but each of the characters is double-fieight (14 scan lines instead ot &) and each data byte is used twice which effectively doubles the height of the character. Let's look at « typical character, for example a W. The bits which form a Win the detcult character set are similar to the following, display, 0--00000 000-0000 0000~~00 0000~~00 000-0000 0+~00000 (NOTE. This is not the exact representation, but is usad as an example of sorect Interpretation in mode O and incorrect interpretation in modes 2 and 3) you view the sample set of bytes each at consecutive addresses within the detined character set It actually looks like c W when you tace the outline formed by the Is in the byte set, ds shown in the display exampie to the right ot the byte representation. In this mode O display, each of the Is would be one color, and each of the zeros ‘would be another color, assuring a readable display, For the modes 12 and 13, the four (not 8) pixels are controlled as follows, If two-bit value is ‘Then the pixel color is, 00 the background color ol the playtield O color 0 the playtield I color au the playtield 2 color (tbit7 of char = O) a the playtield 3 color bit of char = 1) For the example shown. then, the 4th line trom the bottom would display 1010 (OLOL or 4 pixels of playtield colors | OQ in crow. tthe standard character set Ibused. And ihe botiom-most ine would display playtield colors, BAK BAK O in row. As may be imagined. itis difficult fo recognize such a character. (This Character is ¢ minor Image left fo right — nonsymmetric characters weuld be ‘even mote difficult to recognize.) ar To build « character set for these modes 2 and 13, then. itis suggested thet you bulld each character cs double wide, to allow a total of 6 pixels (by 8 lines) 10 desne the character. This would clso mean assigning two character set loca tions for each character and eating each character printed in these modes as two characters to be printed. For the example of the W_ the character set might ook like this c Byte sot L Byte sot 2. lo 90 00 00 29 00 00 10 10 00 0 OO 98 G6 00 10 10 60 00 10 10 oO 0010 19 60 90 10 10 00 0010 10 00 10 OO co 1 G10 10 10 0 OO 9 00 10 10 19 10 00 OO 9 00 10 10 10 6 60 OO 00 00 Go 10 Byte set | may represen! ATASCII value hex $7 within the new character set table, and set 2 may be at ATASCI value hex D? (hex $7 plus hex 80) # desired. ‘You may feel free, of course, to assign your character sels in any manner you desire, ‘Therefore, it you would print these two characters side by side on the screen it would become effectively « 20 character per line mode, with the resultant {O-combination treated as the L-bit in the mode O example and the OO-combi- nation as the O-bit in the mode O example, forming « recognizable W in the process, Note also that you may want to design these new character sets in a7 by 7 moatiix starting the upper left hand comer of the bit-pair set to allow at least one blank row and column between each of the new characters. (This was not done in the example) Thus many combinations of colorful characters may be formed using this tech: nique, allowing the user of the IZ00XL additional program flexibility. Ey MEMORY REQUIREMENTS FOR NEW SCREEN MODES The following table summarizes the memory utilization for the new modes 12 through IS. Mode Horlz Vert Vert. Colors. Data Color © Memory No. Post w/o with Value Reg. Required spit split range used scteen screen pit dull screen) scieen) 2 40 2% 2 8 Com + 54 ase Bb 4 2B 10 Cor eo 4 WO wm wo 2 O BAK 47096 | ro) 1b WO mm wo 4 Oo BAK am ate 1 PFO 2 PE 30 oR ‘Note: See character detinition format for modes 12 and 13 33 (CHARACTER DEFINITION FORMAT FOR MODES 12 AND 13, ‘The following chast shows the layout for a single character of the character set ‘which would be used for forming characters in modes i2 and I8. As expiained. hove, the value of each of the bit pairs specities what color will appear on a. full-width color clock when this character mode is selected, z © Bit positions within this line Relative byte O Relative byte 7 Each 2}it color specitication in the character detinition maps to the color regis- {ers as follows, Ifthe bits have ‘Then the color register used to select the the value, color of the pixel is ° BAK 1 FO 2 BR 3 Ei BIL7 (the color moditier) equals « O, or PFS if BIL7 (the color moditier) equals « | ‘The meaning of the color modifier is shown in the following tables, which show the formats for the data bytes which are used to produce the display itrelt Asa reminder, the data which Is {o be displayed on the screen is located some where in memory The data is located by the address provided in the display Ist The data: bytes themselves in these locations will be interpreted according to the following table. TABLE of DATA FORMATS used for GET CHARACTER/PUT CHARACTER for MODES 12 through 15. Modes 12,13 M= color modiller bl 7 2 bw D 2 D = truncated ATASCI Model "< D=color 2 ° (zero D Mode 15, D = color 2 ° (“ter6 D 4 APPENDIX C — DATA BASE CHANGES FROM REV. B TO 1200 ‘This appendix lists the dilference in memory usage between the Rev. B operat: ing system of the 400/800 and the operating system for the ZOOXL LOCATION oC oacE.o2cc a6D.-C2ck ‘2CF-O2D0 Swim (2205-0206 (Oab7-6208 CDA oaDB) D5 O2DF REV. B USE 1200XL USE reserved LNFLG _ — {or inhouse debugger reserved, NGFLAG — tor powerup self test PTIMOT moved (0314) ABUEPT. — reser PEPNT moved (G2DE) ABUFPT — reserved PBUPSZ moved (O2DF) ABUFPT. reserved PIEMP (deleted) ‘ABUFPT CRETRY moved (0290) LTEMP DRETRY moved (28D) TEMP CKEY moved (OSE), ZCHAIN CASSBT moved (O%E9)_ ZCHAIN NEWROW moved (0265) FKDEF NEWCOL moved (62F6) FKDEF reserved loader temp. loader temp. handler loader temp. ‘handler loader temp, func, key det ptr func key det pt. NEWGOL moved (O25) PALNIS — PAL/NTSC flag. ROWING moved (O28) KEYDEF — key det pointer COLINC moved (02°? KEYDEF — key det pointer reserved LCOUNT = loader temp, reserved RELADR — loader reserved RECLEN — loader LINBUF (deleted) reserved LINBUF (deleted) reserved LINBUF (deleted) CHSALT. © — character set ptr. LINBUF (deleted) VSFLAG © — tine scroll temp. LINBUF (deleted) KEYDIS) — keyboard disable LINBUF (deleted) FINE —_ fine scrolling ag CSTAT (deleted) HEBYIE — loader reserved NEWADR — leader ‘TMPX (deleted) RETRY «= from 0036 HOLDS (deleted) DRETRY = tomO037 reserved, RUNADR — loader reserved HIUSED — loader reserved THE — loader reserved GeyIEA = loader reserved LOADAD — leader reserved ZOADA — loader reserved disk sector se reserved, reserved reserved guto key delay reserved, gute key rate reserved key click disable reserved HELP key flag reserved DMA sate save reserved tom OOD reserved ftom COE 38 neg reserved HNDLOD — handler loader flag oF reserved NEWROW — trom 0060 0266.02F7 reserved NEWCOL — trom OO6t O28 reserved ROWING — trom OO79 core reserved COUINC == trom OG7A 308 ADDOOR (deleted) = JMPERS_- — option jumpers a4 TEMP2 moved (03s) PTIMOT = — fom OOIC 0330. reserved, PUPBT. © — powerup/reset O3sE reserved PUPBT2 «© powerup/teset OF reserved, PUPBT3 © — powerup/tesel O38 reserved SUPERF © — screen editor O3E9 reserved, CRY = = trom OO4A OSEA. reserved CAssst = trom O48 feta} reserved CARTCK — cat checksum OSED-OSF8 reserved ACMVAR — reserved sr) reserved MINK” — reserved OSFA reserved GINTLK © — cam interlock OSFBOSFC reserved CHUNK == handler chain

Das könnte Ihnen auch gefallen