10
PROCRAHENVIRONMENTANO INI TTALI ZATION
This EeEtion d isctrsEeg possible elteanative sof tuar'e envi?on0rent9 using OS Configurstions. Environnent$ othei thEn those diFcusEed here ere a16o poEsible. A tho.ouqh !nde?itanding ot the pouer-up € n d s g s t e n r e E e t p r . o c e E s e s( E e e s i e c t i o n 7 l u i ! l be neresEerg to evaluate €11 €lternative environoentg.
CARTRI DGE Hogt 9ame9 (end some lenguag6 processorg) a.e EUpported via the cartridge environflent. The E€r'tridge r.eEident Foftuare i5 in c o n t r ' o l o f t h s s g E t e o , s o m e t i n e s ! s i n g t h e O S a n d E o m e t i r n e sn o t . A cartridge can Epecifg uhether the distette i6 to be booted at Pouet'-up tioe, urhethei the ca"t"idg€ i5 to provide the controlling softuare, or uhether the cartridge 1s s sp€cial diagnoEtic .artiidge. These optionE are Epecified bU bits in the certt idge headei, as sho|,n belou:
+----------------+ ! car.ti id ge i -+ +i 5t€rt address I
r
o
0
BFFA (9FFA for
cert?idg€
B)
BFFF (9FFF fdr
cgr.tiidqe
g)
!
.i'-----__---.-i---+
i option bute i +----------------+ c a r t r i d9 e I I -+ +i init addiesE I +----------------+ Figure
1O-1
Certridqe
He€d€i Fornat
The b'Jte used to tsllou, the OS to determine lrn€n a cartridge i6 inser.ted; loEation6 BFFCand 9FFC {ri11 not read re!.o u h e n t h e r € i s n e i t h e r R A l ' td t t h o s e l o c a t i o n 6 n o r a c a r t ? i d g e inEeited. RAMis differentiated from a cartridge b9 its abilitU to be a I tered. U P E R A T I N GS Y S T E I IC O 1 6 9 5 9 - -
Section
1O
Th€ option bgte has the +ollouing
option
bite:
bit
O = O, then do not boot the diskette. 1, than boot the di6*ette.
Ait
2 = O, then init 1, then init
bit
7 = O, then c€rtridge is not a diegnostiE EEitridge. 1, then cartridge i5 e diagnostic cartridqe €nd cont?ol before anq of the 6s be qiven to th€ taitridge uill (JI'IP(BFFE)). is initialized
but do not Etart the cartridge. end 6tar"t the cartridqe.
The cattridge init sddtess Epecifies the location to uthich the DS oill AE a t$inim!m, JSR during eI1 pouer-up and sqstem reset opaiEtions. thig vectol. should point to an RTS in6tiuetion. The €artridge Et€r.t addregg specifies the location to trhich tha OS |lriIt Jl'tPdrring aIl pouer-up and sgstem reset opetatidnE, if bit 1o+ the option bgte iE = 1 The epplication Eho!ld exe ine T OOSI if srtsten .eset action is to be t h e v a r i . a b l e I ^ T A R M SI O different t h a n p o u r e r - u p ( t l A R t ' l s Tu r i l l b e z e r o o n p o u , e t ' - u p e n d n o nz e r o t h e r e a f t e r ) .
Caitridge
Slithout Boot€d Support P:ckage
A cai'tr'idge thet does not specifg the di5&ette-boot option end doeE not guppoat the cEBsette_boot pos5ibilitq c a n u 6 e 1 o { r r e rm e r n o r g ( t r o m O 4 8 O t o t h e e d d r e 6 s i n M E M T O Pt o z E s l ) i n e n g u a u i t s e e g fit.
Cartridge
tlith
Booted Support Package
option or does A cat'tridge th€t does specif! the distette-boot | n u s t u s e 5 o f l r e€ € r e i n i t E Euppoit the EEs6ette-boot possibilitU uEe of louer lnenorq, The follouing regions are de+ined: O4AO-O6FF is Eluaqs svEllable to the certridge. MEMLO/l'lEt'{TO r ePg i o n i s a l u r a U s a v a i l a b l e to the carttidge.
DISKETTE-BOATED SOFTI^JARE Softueie can be booted {rorn the di5* drive at regponiie to one of the follot!ing conditions: O P E R A T I N GS Y S T E HC O 1 6 9 9 5 - 154
pouei_!rp tifie
Section
1O
in
Neither
C6rtr idge A nor B is
inser'ted.
C a i t t ' i dg e A i 6 IBFFDI = 1.
in6erted 3nd haE bit
O of
its
option bqte
Certr id ge B is t9FFDl = 1.
inEerted and hes bit
O of
its
option bqte
If an{ o{ these €onditions are met, the Og uil l ettenpt to r ead t h e b o o t r . e c o r d + r o m s e c t o r . * 1 o + d i 6 t d r i v € 1 and then trans+er Eontrol to the Eoftlraie that u65 ie€d in. Tha exaEt sequenc€ of operations uill b e e r p l € i n e d l a t 6 t i n t h i s s e at 1 0 n .
Di stette-Boot
File
Form€t
The leg region of a diEkette-boot file are formatted aE shourn beloor:
+-*--------------+ i flags +----------------+ i L of Eectors
I
i to 6tait
i
! ! I
1o€d
bgte5, uhich
bgte
!
init
i
address boot cont inu€ti on .ode
Dislette-8oot
+irst
5ir
i
i nemorg addfeBs
! +I
Fi..ur.e 1O-2
i
is the first
Fil€
sixth brrte
I I I Forftat
T h e f i r B t b q t e i s s t o i € d i n D F L A G St O e 4 O l , b { t unu€€d. It should eqlel rero.
i5 otheiurise
The Eecond bltc contains the nufibe? of 128-bqte diskette 9ecto'l'5 to be read aE pa.t of the boot process (including the reco?d containing thit inform6tiont. ThiE nunber Een r'5ngt ftom 1to 259, {rith O meaning 256.
O P E R A T I N GS Y S T E I IC O 1 6 5 5 5 - -
SeEtion
1O
1s9
The third and forr.th b!te6 contain the eddresF (1o,hi) stert Ioading th€ first b{t€ of the +ile.
at uhiEh to
T h e f i + t h a n d s i r t h b q t e E € o n t a i n t h e a d d r e s s ( l o , h i ) t o u r h i E ht h e booter uill trans*et contr.ol after. the boot procesE i6 complete a n d u h e n e v e r t h e t S Y S T E MR . ESETI teg is pressed_ T h e D i E l e t t e F i l e I ' l a n a g e m e nS t r J s t e m( F M S ' h a 6 e x t i E b g t e i a g F i g n e d t o its boot record, but this i9 a sperial €aEe of the gener'Elized disftette-boot €nd is dis{os9ed in Section 5. D i Ek e t t e - B o o t
Pr oce5s
If no cartridge iB inst€11ed, then the di5kette uritl follou ste96 to boot !n: 1. Read the fir.st 2. EttrEct
diek€tt€
inforfiation
theEe
record to the caEEette buf+er tO4OO:.
+rom the +irst
Eir
b{teE:
S a v e t h e f l a g s b g t e t o D F L A G S( 0 2 4 0 , 1 1 . S 6 v e t h e * o $ s e c t o r s t o b o o t t o D B S E C Tt O 2 4 1 , 1 1 . S e v e t h e l o a d e d d r e s E t o E O O T A D foe42,2l. Save the iniiielization address in DOSINI IOOOC,Al. 3- Move the record Just read to the load Eddreg6 sp€cifled. 4. ReBd the remaining records dire.tlg
to the 1o€d erea.
5 . J S R t o t h e l o a d a d d r . e s s + 6u r h e r e a o u l t i E t € 9 € b o o t p r o c e s B € e i l continue. Tfte csi.r{ bit indicsteB the success of thrE opereti.on {car.rg s€t = el.for, rarrg resEt = EUcceEri). NOTE: During 6tep 5, dfter the initiel boot proE€Es rg conplete, the booter uill trans+er contr.ol to the seventh bUte of the firgt record. The soft{,r6re should continue the boot ptoEers at thi6 point, if it is e oulti6tage boot. The vElue o f l ' { E l , l L Ot O A E T l s h o u l d p o i n t t o t h € f i r . s t f r e e R A M I o c a t i o n begond the Eo+tuere JUEt booted. It Ehou!d be estebliEhed bU the bootsd softuare aB shou,n belour: LDA STA STA LDA sTA STA
*END+I MEI'ILO AFPiIHI *END+1,/256 t'lEi,|LO+1 APPI,IHI+ 1
, SET UP LgB. i SET UP tlSB.
If the booted softuare i5 to tele control of the sqsten at the end of the boot operation, the vetto. D O S V E CI O O O A I m u 5 t b e E e t u p b g t h e e p p l i c e t i o n a t t h i s t i o e , D O S V E gp o i n t i t o t h e O p E R A T I N eS Y S T E MC O 1 5 5 5 5 - 160
Section
LO
rertart €ntr{ for the booted application. If the booted goftuare iE not to take control, then D O S V E C5 h o u l d r . e n a i . n u n . h € n o e d . LDA STA LDA STA
*RESTRT DOSVEC *RESTRT,/256 DOSVEC+1
; RESTART LSB.
6. JSR indirectlq through DOSINI for appliration, the appli€Btion uill
initialj.letion of the initislite and return.
NOTE:The OS enters the initielizetion point on €verg 595tefi re6et end 9o{rer-up. lnteinal initiatiz€tion can tat€ p l a E e d u r ' i n 9 s V B t e | nr e 6 € t a n d p o u e r - u p a E d e l l . Initiatization can alEo be def€rf€d until Step 7 for. €ontrol1in9 applications. 7. JtlP indirectlg epFlication.
through
MITE: PieEsing the is +ull.g booted uill
D O S V E Ct o
transfei
rontrol
to the
C S Y S T E MR.E S E T ! f t e q a f t e r t h e a p p t i c a t i o n cauge rtep6 d and 7 Eo be i.epeated.
SaftpIe Dis kettF-Bootab t e Progr"emLiEting Thi6 s&eletal p.ogram can be booted fr.om the di6ftette. contt'ol rrh€n it is entered.
It
r.eteins
, THIS IS THE START T]F THE PROGRAI'{ FILE.
PST= ,r=
+O7OO PST
, I
; THIS IS THE distette-boot
(OR SO}IE OTHER LOCATION). (. oRG).
C B N T R O LI N F O R T ' i A T I O N .
.BYTE O i .BYTE PND-PST+I27 / 12e i NUI'IBEROF RECARDS. . IIORD PST , MEMORYADDRESSTO START LOAD. . [ ^ , O R DP I N I T ; P R O o R A hI N I T .
O p E R A T I N eS Y S T E I ' C I O16555 --
Section
1O L61
; THIS IS THE START OF THE BOOT CONTINUATION. LDA STA STA LDA STA STA
#PND T,IET,ILO APPI,IHI *PND/256 l"lEMLO+1 AFPiH I+ 1
; ESTABLISH LOW MEHORYLIMITS.
LDA STA LDA STA
#RESTRT OOSVEC *RESTRT/256 DOSVEC+1
; ESTABLISH RESTART VECTOR.
cLc RTS
; SET FLAG FOR SUCCESSFUL BOOT.
; A P P L I C A T I O N I N I T I A L I Z A T I O N E N T R YP O I N T . PINIT
RTS
; NOTHINC TO DO HERE FOR . . . , ... CONTROLLING APPLICATION.
; THE i'1AIN BODY OF THE PROeRAHFOLLOWS. RESTRT=* i THE I'IAIN BODY OF THS PROORAMENDS HERE. PND=
IT . END
J
Fiqure
1O-3
Diskette-Boot€ble
'PND' = NEXT FREE LOCATION. Prog.afi LiEting
Example
Progrem to Creete DiEkette-Boot FiIeE This gection provideE € pl.ogr€fl that can be used to tnakeboot€ble files on diEftetteE. Ihe piografi given is not the onlq one possi.bler end no €1Eifts ere made a6 to its eleqance.
r62
OPERATINOSYSTEI'ICO16553 --
gection
10
Shoun belou i6 € listing .
; i i ,
of the progralll to rreat€
diskctte-boot
fiIeE.
THIS PROCftAI{T.IR I TES A SINCLE "FILE" TO THE DISKETTE AND IS USED IN CON.JUNCTIONI.IITH A PROCEDURETO I.IAKE DISKETTESOOTABLE FILES. THE FOLLO{'ING TI.'O SYMBOLS I.IUST BE EOUATED USINC THE I.IEI{ORYLti,IlTS OF THE PROERAfiTO BE COPIED:
, r
/PST. = PROoRAHSTART ADDRESS (SEE AAfipLE PROCRAH). 'PND. = PROeRAT'| END ADDRESS (SEE SAMPLE PROGRAH ).
s E C S1 Z = 1 2 8 PST= $O7OO PND= 913e4
i DIs(ETTE SECTORSI ZE.
FLEN=
PND-PST+SECSIZ- 1,/SECSIZ ,
+=
gDOOO
BOOTA BRK
* OF SECTORStN FILE.
'
T H I S P R O O R A f I ' SO RI G I N .
i
**+
LOAD APPLICATION +**
; SET UF DEVICE CONTROLBLOCK FOR DISKETTE HANDLERCALL LDA STA
*FLEN COUNT
, {* 0F SECTORSTO t'RtTE.
LDA $TA
{+1 DUNIT
; DISK DRIVE *1.
LDA STA
*'I"' DCOf''ND
, SET UP FAR {RITE I.IITH CHECK.
LDA STA LDA STA
*PsT DBUFLO {+PST,/256 DBUFHI
; POINT TO START OF APPLIC. PROE.
LDA STA LDA STA
*O1 DAUX1 *OO OAUXz
; SET UP STARTINGSECIOR* = Ooo1.
OPERATINGSYSTEI.ICO16559 --
Section
10 163
, NT]WI.'RITE THE FILE ONE SECTBR AT A TIME. aDTolo JSR BHI
DSKINV DERR
, TJRITE ONE SECTOR. ; ERROR.
LDA
DBUFL0
;
INCREHENT I'IEMORYADDRESS.
AOC STA LIA ADC STA
*SECSI Z DBUFLO DBUFHI #O DSUFHI
INC 8NE INC
DAUX1 BOTOAO DAUXz
,
INCREHENTSECTOR*.
COUNT BO'O10
; HURE SECTORSTo IIRITE? ; YEs.
8OTO2O DEC BNE ARK
; STOP {.|HEN DONE.
DERR
BRK
; STOP ON ERROR,
COUNI
*=*+1
; SECTORCOUNT.
, THIS IS THE CARTRIDCE HEADER *=
*BFF9
INIT
RTS
;
"Atr CARTRIDGE.
. r"roRD 900T0 . BYTE O,4 . I . J O R DI N I T . END
CASSETTE-BOOTED SOFT}IARE You can boot so+tuere fr.om the cassette as {rell aE fr'om the di€lEtte, at por{€r-(Jp. The +ollorrring requiredents must be et to boot froo the caisette:
in
o
You mrst be pressing the epplied to the srJEten.
ISTARTI keg as pouer iE
o
A cassette tale uith e propei boot fordat *iIe muEt be in6tal1ed in the caEsette d.ive, €nd the PLAY button muEt be oae9seclO P E R A T I N GS Y S T E MC 0 1 6 5 5 5 - -
164
gection
10
o.der
tlhen gou aae given th€ audio prompt bg the caEsette h a n d l € r . r J o r ,f l r u s t p r e s s t h e t R E T U R N I l e V . I+ alt of frotn the uar reed Iater in
reed th€ boot fil€ these conditionE Ere ftet, the OS uill ca6eette snd then transfe. control to the Eo+ttrr6ie that i n . l h e e x a c t r i e q u e n c eo f o p e r a t i o n 6 | , i 1 l b e e x p l e i n e d th is rection.
Caesette-Boot
File
For|rlet
The *eg region of a ce5gette-boot file are fornBtted:E s h o u , nb e l o t r :
is the +irst
cix
bqtes, that
+----------------+ i * o{ RecordE i +-*--------------+ i l,lemorq Addr.ess , --+ +-i To st€it Load +----------------+ I Init !
The firEt
addres€
bgte iE not uEed bg the cass€tta-boot
ptoceEs.
The sEcond bqte conteins the nuftber of 128-bqte cE!tsette teco.ds to be regd as par't of the boot process (inclrding the recoiel Thi6 number Een renge f?om 1to 295, containing thig inforflation). uith O meening 256. to thich the The third end fouith bgtes cont€in the addret! (Io,hi) bootef uill trans+er contl.ol a+ter the boot pioces5 iE cot$Plete end u h e n e v e r t h € I S Y S T E i | .R E S E T I k e v i E p r . e s 6 e d . Cessette-Boot PFocess The ca5sette-boot process iE deEcribed step_bg-5teP for a configur:tion in th€t no tar.tridge 15 inBtellEd and no disLett€E ar'e att€ched. For the general c€se Eee Section 7. 1. Read the firEt 2. Ertract
caEsette !.ecord to the a355ette bu+fet'.
infdroetion
from the firEt
Eir
0 F E R A T I N e g Y S T E HC O 1 6 5 5 9 - -
bgteE:
gection
1o L65
Sdve the * of r-e.or.ds to boot. Save the load address. the initialiration €ddreeE in CASINI COOOZI
Save
Mov€ the record JoEt .€6d to the load EddreE6 6pecified. 4. R6ad the remaining recordr
directlq
to th€ load €rea.
JSR to tt6 load addrese+6 uhere a fiultiEtege boot pnocess Ean continuei the c€rr.g bit rrrill indic€te the succe6s o+ this opeiation (carrg set=error, carrq resst=6uccess). JSR indi.reEtlg through CASINI for' initieliration of tne application; the epplicetion uill initialite and r€tut"n. 7. Jl{P indir€ctlV application.
through
D B S V E Ct o t r E n s f e i
control
PtaE6ing the ISYSiTEH R.E S E T I l e g e f t e r t h e € p p 1 i € E t i o n qrill c€use Eteps 6 and 7 to be repeEted.
to the
i6 fullg
booted
NOTE: After the initi€l boot proceea is codrpleta, the boot€r uitt tiensfea control to the seventh bgte of the Sirit re:ot'd; at thie point the 6oftuar6 ihould continue the boot protesE (if it iE a nulti.stage boot, €nd then gtop the csgEette drive, trhich due to e s{etem bug {rill 6till be running, uEing the fotlouing inst!.uction S A q U 6 n Ee :
LDA f$3c STA PACTL TDSOA] The :pplication s h o u l d t h e n E e t a v : 1 u e i n M E l , t L Ot } 2 g 7 ) t h e t p o i n t E t o t h e + i r . E t f r e e R A l , ll o a a t i o n b e g o n d t h e s o f t u e r e Just booted, as shoun belou: LDA STA LDA 5TA STA
{+Et,lD+1 t'tEHLO APPT'IHI {iEND+1/256 I'iEHLO.i 1 APPT'IH I +1
If the booted softureie is to tafte contiol o+ the 6Vsten at the end o f t h e b o o t o p e r a t i o n , t h e v e c t o i D O S V E CI O O O A I m u ; t b e 5 e t u p b g t h e 6 p p l i c a t i . o n a t t h i 6 t i f n e , D O S V E Cp o i n t s t o t h e r e E t € r t e n t r . q for the boot6d appli.ation. If the booted Eoftl,aie iE not to tale controL t h e n D O S V E CE h o u l d r . e l t l a i n ! n c h € n g e d . LOA 9TA LDA STA
*RESTRT DOSVEC I+RESTRI,/256 DOSVEC+1
NOTE: The init and Pouer'-upi
, RESTART LSB
ialization point i5 enter€d on ever.q EqEtemreEet internel initiali?ation cen take plate he!.e. O P E R A T I N GS Y S T E I ' C { 016555 --
166
Se.tion
1O
For aontrolling unti I step 7.
applications initiali!ation
can alEo be deferred
Sa|np 1E Ca6sctte-EootabI€ Program Lirting S h o tn b e l . o U i s a s l e l e t a l ca99ette and that retains
program thet csn be boot€d fr.on the Eontrol uhen it is entered.
; THIS IS THE START OF THE PROeRAMFILE. PST= *=
$O7OO PST
; ;
, TH:S IS THE c€EEette-boot .BYTE .8YTE . trORO . [|ORD
(OR SOME DTHER LOCATION). (. ORG).
C O N T R O LI N F O R M A T I A N .
0 PND-PST+!27/128 PST PTNIT
; ( D O E S N . TH A T T E R ). t NUMSEROF RECORDS. ; IIEMORY ADDRESS TO START LOAD. i P R O o R A MI N I T .
; THIS IS THE START OF THE B[]OT CONTINUATION. LDA STA
{f$3C PACTL
i
LDA STA STA LDA STA 5IA
{+PND I'IEMLO APPIIHI *PND,/2'6 MEMLO+I APPI.IHI+1
, ESTABLISH LOt, t'lEt'luRY LII'IIIS.
LDA 5TA LDA STA
{+RESTRT DOSVEC *RESTRT,/E96 DUSVEC.|I
; ESTABLISH RESTART VECTOR.
CLC RTS
STOP THE CASSETTE.
, SET FLAO FOR SUCCEESFUL EOOT.
; APPLICATIONINITIALIZATION ENIRY POINT, PINIT
RTS
, NOTHINO TO OA HERE FOR . . . , ... CBNTROLLING APPLICATTON.
; THE MAIN BODY OF THE PROERAMFOLLO!.'S. RESTRT=L ,
THE I'IA'N BODY OF THE PROCRAI'IENDS HEREOPERATINCgYSTEi'l CO16355 --
Section
10 lb7
PND=
* . END
Figuie
1O-4
i
,PND' = NEXI FREE LOCAIION,
saftpIe C:sEette-8oot€ble
Piogram
Progia|n to Create Ca6Eette-Boot Files This s6ction provides a progrsm Iieting that €an be !sed to fiate bootable files on caBsette tepe6. Ths prograft given is not the onl! one posEible, €nd no cleilns are made €s to its e16gance. gihoun belou fi.le: I , ' ;
is e Iisting
of the prograrn to .r.egte ts {tsEsette-boot
THIS PROCRAIII4RITES A SINGLE FILE TO THE CASSETTEAND 1S USED IN CONJUNCTION[.'ITH A PROCEDURETO I'IAKE CASSETTE. BOOTABLE FILEs. THE FOLLOI.'INO TWO SYMAOLS MUST BE EOUATED USING THE I'{EI.{ORY LTHIT9 OF THE PROGRAI.I TO BE COPIED:
, ,
'PS|T' = PROCRAI,I START ADDRESS (SEE SAMPLE PRACRAT'I ). 'FND' = PROGRAI,I END ADDRESS (9EE SAI'IPLEPROGRAM).
PSTPND= FLEN=
*O7Oo i1324 PND-PST+1?7/ l?A*12A
, ROUNDUP TO IIULTIPLE OF leA.
*=
iEOOO
/S 6RIGIN. I THIS PR0GRAM
IOOTB
LDX
*91O
, USE IOCB *1.
; FIRST APEN THE CASSETTEFILE FOR 9IRITING. LDA sTA
*OPEN ICCOf,t,X
; SET UP FUR DEVICE "APEN. "
LDA STA LDA sTA
*OPNOT ICAXl, X **BO I CAXa, X
, DIRECTION IS 'OUTPUT. "
LDA 5TA LDA STA
*CFILE ICBAL, X *CF ILE/296 ICSAH, X
, SET UP POINTER TU DEvIcE NAt'tE.
JSR Bll I
CIOV CERR
; ATTET{PTTO OPEN FILE. ; ERROR.
; SELECT SHORT IRG.
r NOW WRITE THE ENTIRE FILE AS ONE OPERATION.
O P E R A T I N eS Y S T E F C I O16595 -164
Section
10
LDA
I+PUTCHR
, sET UP FOR "PUT CIIARACTERS."
LDA STA LDA STA
{*PsT IC8AL, X *PST,/436 IC8AH, X
, P81NT TO START OF APPLIC. PRAC.
LDA STA LDA 5TA
*FLEN ICBLL, X *FLEN/256 ICBLH, X
, gET UP * AF BYTES TO $'RTTE.
JSR BI'II
C IOV CERR
; t.IRITE ENTIRE FILE. i ERROR.
sTA
rccor.r, x
, NOW CLOSE THE FILE
AFTER SUCCESSFUL I4,RITE.
LDA
{+CLOSE
STA
ICCT]M,X
',SR BH'
C IOV CERR
r SET UP FOR "CLOSE." J CLOSE THE FILE, , ERROR. J STOP WHEN DONE.
'\-,
CERR
8RK
CFILE
. BYTE
i
, STOP ON ERROR. "C: ", CR
; FILE NAt'18.
THIS Ig THE CARTRIDEE HEADER
*=
3BFF9
INIT
RT9 .I.IORD BOATD , BYTE O,4 ,I.'ORD IN IT . END
O P E R A T I N CS Y S T E I IC O 1 6 5 5 5 - -
Section
10
t6s
11
ADVANCEDTECHNICUE$AND APPLICATTON NOTES
This s€ction piegents infoift€tion to use the capabilitirs of the OS end sooe of the hErdl,€re catabiliteB that aren't diiectlq avaitable through the OS,€nd in fact, can be in direct conflirt orith !artE o+ the O5.
SOUND CENERATION T h e B S u E e E t h e P U K E Yc o u n d g e n e r a t i o n c a F a b i l i t i e E o n l g i n t h € L / u 5ub996t€o, +or cEss€tt€ FSK tone generation? €nd +or the ,,noisg bu6" option in SIU.
Capabilitier T h e h a r d l r e r e p r o v i d e s f o u r i n d € p e n d e n t l V p r o g r e m m a b l es u d i o channel6 that are fiixed and ient to the te1€vi6ion set as part of t h e . o m p o E i t e v i d e o E i g n a l . T h E p O K E yr e g i s t e i s s h o u n b E l o u a . e a l l concerned {rith sound rontaol (a6 desEribed in the ATARI Hoo€ C o f l p u t e r H a r d u a r e I ' l E n u a l) _
AUDCTLIDzOA] AUDC1 lD2oll AUDC2 tD2O3l AUDC3 tD2O9i AUDC4 tD2O7l
and end and End
AUDF1 CD2OO! AUDFAtDpo2l AUDF3 tD2O4l AUDF4 tD2O6l
A u t ti o c o n t r o 1 . Channel l r ontro l. C h a n n e l ? c o nt F o l . C h a n n eI 3 r o n t r . o l . C h a n n eI 4 Eo n t r o 1 .
Con+lictE lJith OS There are t{ro potential gene16tion:
con+lictE
0 r i t h the OS invo 1vj.ng sound
The OS can generatE it! oun gound5 and th e n t u r n o f f a l l e5 pE?t of I/O operetion6 to the .as€ette end the Eerial PertpheaalB.
gounds bus
T h e O S d o e g n o t t u r . n o f f s o u n d s u h e n g o u press !SYSTEfYI. RESETI or tBREAKI. If the eoundE€re to be turned off undet'tho9€ c o n d i t i o n s , t h e c o n t r o l I i n 9 p r o g r e n r u E t p r o v i de t h E t c a p e b i I i t g .
r70
O P E R A T I N OS Y g T E t ' lC O 1 6 5 5 3 - -
Section
11
SCREENCRAPHICS H a r d u r a r eC a p a b i l i t i e g Th€ harduare cEpebilitieE for screen preEentations are quite versatile, the OS uses a v€rq EnaIl emount of the [apabilitg provided. The neanE of ettengion, houever, ar.e non-trivial, and neling chahg€s to e screen forftEt irhil€ still utiliring tho resident DiEple{ Handler {rill bs dif+icult. See the ATARI Hone Conputea Hard{rare Manoal for infornation regar.dinq screen PrEsentationE.
O S C e p € bi l i t i e E Tha re6ident DispleU Handler arbit.arilg supportF I of the 11 p o i s i b l e f u l l s c r e e n m o d e s ( 1 1 o f l 4 l r l o d e si f t h e e T I A c h i p i E u i e d in pl€se of the CTIA,. The reiident DiEplaq H€nd1€r ellou6 for en optional "€plit-srre€ni t e t t u i n d o u o f f i r e d 9 i ! e . T h € h a r . d ta r e allorls for oanv nore optiong thgn the Displag Hsndler EUpportE, €s r r r i l l b e E e e n b g r e E d i n g t h e A T A R I H o l n eC o l | l p ! t e r H e r d { r € r e M a n u e1 .
Cu?Eot'Control You can contiol the Displaq HandIer.tert and graphicE cursorg diidctl.{ (see Se€tion 5 €nd Appendir L, B1-4}.
C o1 o r C o n t r o l You cen e1t€r. th€ coloa l'egi6ter asEignftents that the Displag H € n d l e r ' n e l e 6 u p o n € I l O P E Nc o m m a n d 5 ( 6 e e A p p e n d i x L B 7 - e a n d elselrheret. Note that sve.9 Eqstern ies€t or Dirplaq Handl€r. OPEN uilI r e s e t t h e v a l u e 9 b € c l t o t h e 9 { r s t e r nd e + a u l t .
OPERATINOSYSTEM CO16555 --
Section
11 L71
AIterh€te
C h € r a c t € r S et B
Tto ahBracter. sets at.e avsil€b1e in screen tert modes t end A. The v a l u e s t o r e d i n t h e d e t B b 6 E e v a r i a b l e C H B A SI O Z F 4 ] i e l e c t s t h e chaiacter set of inte.eEt to !ou. The default vslue ;f $EO provideE capital (!ppe.ca6e, letters, nunbers and the punctuation ch€recters.corr.esponding to displag codes gAO thFough gSF in Appendix Et. The alternate value o+ SEA provides lo;e?caEe Iett€rs and the special charerter giaphiEs set (;orresponding to diEp169 code€ S60 th.ough $7F end gOOthrough $1F in A;pendi; E). UBer-de+ined €haracter setE cen aleo be obtained +or tert node,6 0, 1, -and a btt providing th€ chat,a.t€r ,natrix definitiorlE in RAtland s a t t i n g C H B A St o p o l n t t o t h o s e d e f i n i t i o n s . C H B A Sa I l r a g B c o n t a i n s t h e . f n o s tE i g n i f i c a n t bits of th€ nemorg €ddfess of the gtart of the ch€ract€r definitionE, a6 shoun belo{rl:
CHBAS
7 0 +-.t-+-+-t-+-+-+-+ I MSB !r r! +-+-+-+-+-+-+-+-+
+-+-+-+-+-+-.i-+-+ i MSB lxl +-+-+-+-+-+-+_+_+ Figure
11-1
T€rt node O
Tert dodes l and 2
U s e r ' - D e + i n e dC h a r a c t e r S E t B i t
M € r n o r qA d d r E s s e s
(X indicates an ignored addr.€ss bit egsuoed to be O. '
172
O P E R A T I N GS Y S T E I ' C I 016595 --
Section
11
EEch charaster iE defined b9 an E x E bit c h E r a c t e r ' e ' i s d e f i n e d a s t h o u n bel ou:
7 0 Bgte +-+-+-+-+-+-+-+-+ l0totototolotoiol +-+-+-+-+-+-+-+-+ rototM!r.!liorot +-+-.i-+-+-+-+-+-+ ! o ! 1 t1 ! o t1 r 1 i o ! o l +-+-+-+-+-+-+-+-+ i o i 1 i 1 i o i 1 rl l o ! o l +-+*+-+-+-+-+-+-+ i o t 1 t l l o i 1 r1 ! o t o i +-+-+-+-+-+-+-+-+ t o t1 i l t o i o r 0 r o t o l +-+-+-+-+-+-+-+-+ toto!1t1!t.ioiol +-+-+-+-.'-+-+-+-+
rnatiiI,
the
o
3 4
6
rorotorotoioiotot +-+-+-+-+-+_+-+-+ Figure
11-?
UEer Defined I
r I
Ch€r'€cter |latrix
Bit
Table
The stor.age for the character E € t i n v o l v € 5 e i g h t ! onslE t t ive bgtes for eech chaiactei uith chaiacters otdeted .ongerut ive l g bg t h e i r i n t e r n e l E o d e v a l u e ( 5 e e t h e d i E c L r s g i o n i n A p p e n di x L re lat in9 to 9591. Ch e r e c t e r
base
+---------------+ ! ChEracter for I cod€ tOO +-------_-------r lCha.act€r +or .ode *O1 i +__-------------+
i I I i |
bgtet
increeEing addreEseE
+-----___------*+ lchar"ecter +or. i I
code S7E
i
+--re-----------+
for i Chara€ter i code $7F .t---------------+
F i 9u r e 1 1 - 3
Chd.ac ter
: i
Base Diaqrai|l
PLAYER/HISSILE ORAPHICS The OS nakes no u5e of the plaqer/missile generation capabilitq o f t h e h a r d t , a r e . I t c € n b e L r s e di n d e p e n d e n t l g o f t h e O S u r i t h n o €ontl ict. O P E R A I I N CS Y S T E HC O 1 6 5 9 5 - -
Section
11
H a r d u r a r e C a p a bi I i t i e s T h e h a a d u a r - ee l l o u s a n u m b s r o f i n d e p e n d e n t l g m o v e a bl e s r r e e n o b J e c t E o f l i ! r i t e d { r i d t h t o b e p o s i t i o n e d a n d | n 0 v e de b o u t t h e sEreen {rrithorrtaf+ecting the ',plagf ietd,, (bit-dl€pped qraphics or Eh€racter) data. Prioritg contiol BllouE the verious obJects to heve a displag p.eced€nce in c€se of con+1ict (overlapr.
Conf I ir ts
l'rith OS
You |nust assore that the Fla{erlnisEile data is a d d i e E s - € 1 i 9 n e d a E r e q u i r e d b 9 P I V I B A S tED 4 O 7 l . y o u E l s o m u 5 t find a 5!itable free srea th€t the OS guErentees to be free under alI environ ents-
READINE CAME CONTROLLERS (shoun belou) €E D€rt of the The OS reeds the gane controlleis s t a q e e V B L A N Kp r o c e s € ( s e e A p p e n d i x L J 1 - 9 ) : J o ! s t i c * s . / t r . i 9g F r 6 1 - 4 . P a d dl e c o n t r o L l € t s / t r . i g g e r . s 1 - 9 . Driving contiollerE./trigger6 1-4. Light pen/tr iggei In addition to theEe iontrollers, other in+ormstidh can be sensed or Eent using the P!A €hip to thet th€ con6ole connecEorE€re i.nterfeced.
K e r r bo d r d C o n t r o l I e r S e n s i n g Data can be read +ro|n en ATARI legboerd cont?ol1€r connected to the po.t. ThiE program alters l.egisterg on e chip celled a pIA. first To 5et these bact to the defautt velues to do futther I/O, hit t S Y S T E MR . ESETI ol' PUKE PACTL,60. If this pr.og"an is to be loaded from dislette, u s e L O A D , n o t R U Na n d o r a i t f o r t h e b o s v t i g h t o n t h e d i s k dtive to go out. Do not €recute the Frograo be+ore thiE light goes out, other.{riEe the dislette continues to soin. 1 O R A P H I C SO " 5 PRIf{T :PRINT " KEYSOARDCONTROLLERDE|'IO 1 0 D I I t R O ! r (3 l , I $ ( 1 3 l . E U T T O N $1( ) 30 GOSUB 6000 40 FUR CNT=I Ta 4 6 0 P O S I T I A N 2 , C N T * 2 + 5 :P R I N T " C O N T R O L L E R * " ; C N T ," , " ,
t74
O F E R A T l N OS Y S T E I ' C I O16555 --
Section
11
70 NEXT CNT EO FOR CNT=1 TO 4:EOSUB TOOO:POSITION 19, CNT+CNT+s:PRINT BUTTON$, : NEXT CNI
120 eoTo ao
6000 REH ** SET UP FoR C0NTR0LLERS+* 601O PORTA=54O16:PORTE=54017:FACTL=S4O1E:pgCTL=94O19 6oe0 POKE PACTL,4A: POKE PORTA,2S5:pOKE pACTL, SA: POKE PORTA,??1 pOKE pBCTL, Sg: FOKE PORTB,Aal 6025 POKE PBCTL,48: POKEPORTB,2SS: ( O' =239 : ROW( 1 ) =2a1 : ROH( e ) =1A7: ROt,( 3 l = 1 1? 6030 ROt^l 6040 I$=" 1234567S9*Ott,' 6090 RETURN TOOOREH *r+ RETURNBUTTONg t,tTH CHARACTERFOR FUTION ITHICH HAS BEEN PRESSEDON CDNTROLLERCNT (1-4!. ** 7OO1 REt'l ta NOTE: A I WILL 8E RETURNEDIF NO CoNTROLLERIS CONNECTED.** 7OO2 RET.{*I1 A SPACE I,IILL BE RETURNED IF THE CONTROLLER IS CONNECTEDBUT NO KEY HAS BEEN PRESSED. ** 7OO3 PORT*PBRTA:IF CNT>z THSN PART=PORTB 7OO5 P=l TOOS PAO=CNT+CNT-2 7O1O FOR J:O TU 3 7O2O POKE PORT,ROW(J) 7O3O FOR I=1 TO lo:NEXT I 7O9O IF PADDLE(PAO+I)}1O THEN P=J+J+J+2: COTO 7O?O 7060 IF PADDLE(PAO)>1OTHEN P=J+J+J+3: GOTO 7O9O 7O7O IF STRIG(CNT-I)=O THEN P=J+,J+J+A:COTO 7O9O TOAO NSXI J 7O9O BUTTAN$=I$( P, P ) 7O?5 RETURN Figure
11-4 Reeding D€t€ From en ATARI Kegboar.d Cont.oller
OPERATINo SYSTEM CO16$9t --
Soctioo
11 175
ThE t€ble beloo, shous the vafiable/regiEter v€lu€! used for reading k e u bo a i d c o n t r o l I e r . + r o m € a c h o f t h e + o u i c o n t r o l l e l ' D o r t E .
Port 1 Port 2 Po"t 3 Port 4 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ PORT A t l direction FO bitg +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ I PORTB idiiection FO lbits +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ i Po"t A i fgrr, 6€1 i e ct +_+-+-+-+-+-+-+-+_+-+-+-+-+-+_+_+-+-+-+-+-+
I PortB
I
rou, gelect
i I
i i
EF, DF, I
-
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ i Coluon IlPADDL1 IPADDLS iPADDLS iPADDLT I I I ! S€n6e | | i +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-.t I Coluon 2IPADDLO IPADDL2 IPADDL4 IPADDL6 i I I Sense i i i i +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ i Colurnn SiSTRIGo !STRIOl ISTRIeA iSTRIeg I I I I i I Sense i +-+-+-+-+-+-+-+'+-+-+-+-+-+-+-+-+-+_+_+-+-+
Figure 11-s
A T A RI K € g b o a r d C o n t r o l l e r T€bIe
varisb I e/RegiEter
Val ue
Front PaneI Connectors €E I/O Port9 T h e t h i ' e e p e g e 5 t h e t f o l l o u s h o u h o t E o l n eo f t h e P i n q i n t h e f a o n t panel (geme rontrollerl connectors csn be used as generel I/O pin5. Harduat e In+oidlat ion PIA
( 6520 / 6A201 Out: TTL level6, In : TTL leveI6,
I I
Ioad load
For more infor{rr€t ion refer t o 6 9 2 0 . h i p m 6 n u al .
OPERATINCSYSTEMC t 1 1 6 9 5 5- 176
gection
11
Port A Circuit
(t!pical):
1d\.-r-lraEk 6
v
9
l " l €I e c o n n e E t d r , F R o N T v i e u , Pin B = Gt'ound Pin 7 = Vcc 8+5v +) Port B CiFcuit (B)
(tgpical): +5 4. 7K
N o t e : S c m A m ax i f t u m totel external drain o n p o u J a r 9 u pp 1 g a l l o u e d
6520 Port
"Trigger" Poit C i r e u i t ( t g p i c a l ) :
220
Softuafe
In+ormEtion
(Thie slEo pertainr to elI 69g0 PIA: Po.t A contr.ol (address D3Oe) 7
6
5
4
3
of the folloning:
**)
o
2
t,hite thiE into Poit
A Dete/D€ta
this
regist€r
direction
addl.es
ing rontrol O = Data oirection iE at D3OO 1 = d€ta iE at D3OO P o r t A d a t a d i r 6 E t i o n ( a d d r e s 6 D s O O) 7
6
9
4
3
2
1
0 Wt'ite thiE intD thiE regiEtet. Data directiEn
control
1 = O u t O = In I N O. S Y S T E I ' C UPERAT I D16555 --
Se{tron
11
177
P o r t A d a t e ( a d d r e s s D 3 o o'
3
2
1
0 Reed or
4
3
2
L
4
3
2
I
(add.eEs D303)
Port B Contiol 1
I
Poi t
o
X
1
B C o n t r o l ( a dd r e i s D 3 O 3 ' 7 6 3 4 3 2 1 0
o
o
I
x o
1
o
ul'i.te
t-port
5
4
x x
3
thiE
into
2
x
x
lrfit
e thi.s
into
r 'e g r 6 t e r
th i5
contr.o1 for
1 = o u t O = ln d€ta (addreE6 D3o1)
4
6
5
4
3
2
1
0
3
2
1
4
3
2
r
Jack 4 J ack 3 Pin Nu|nbers "Trigger"
Folr 7
6
9
4
ports: 3
2
D O1 0 , D O 1 1 , D O 1 2 , D O 1 3 1
0 Read th ir
port
Trigger Value Dolo = Port 1 Pin 6 D013 = Port 4 pin 6
L7E
register
B Date/Data dir€,cEron addre6Eing€ontrol D301 conts i.ns data direction $DsO1 €onte ins
date dire€tion
Port
thiE
( addres 6 D3O1 1
dat€ direction 6
regiEter
7
Jac k 2 Jeck Pi.n Nunbers
6520 PrA:
Write this
O P E R A T t N eS Y S T E | i C O 1 6 5 5 5 - -
Sertion
11
Port
B
Other l,liscel lsneous Softuste
Infor$Etion
11. The OS 6et6 up all pIA por.ts as inputE during initi€Iiration. 21. lhe O$ usuallg reeds the €bove once per televiston (during vertical-blank) iDto RAHas tollous: Dtsta Base Name STICKO
AddpesE O27A
fr€ne
Date 7
o
6
5
4
3
2
|
Jac I 1, p ins 4, 3, 2, if 10053,7
O
o o x x x x
S TI C K1
072q
Jac ft 2, Pins 4 , 2 , 2 ,L
sTrcrl2
o27A
Jac k 3, Pin6 4 , 3 , a , 1
ST ICK3
o27E
.Jact 4, Pine 4 t 3 , 2 , 1
STRIGO
ozE4
Jecl
S T RI C 1
o2a5
5
6
4
o o o o t o o o
sTRlc2
1, Pin 6
o .Jec I .J€cl
SIR IC3
o?47
PADDLl
o27A
,Jac I
4,
Jact
1, Pin 5
6
o
4
x x x t x
6
X
x x x
PADDL3
o27e
Jac & 2, r l n
PADDLS
o274
Jact
3,
Jact
4, Pi n 5 1,
PADDLT PADDLO
t\)'t 7
Ject
PADDL2
o273
J€r k 2,
PADDL4
o275
Jec I 3,
PADDL 6
o277
J€r I 4,
Figur.e 11-6
Using Front Panel Connertor€ F l n c t i o n T € bl e E
;
Pi n 9
I/O Poits:
Pin
P i n E 5 e n d 9 a r e r e a d t h r o u g h t h e p a d d l a c o nt r o l l e r c i r c u i t r q a nominal v€1ue o+ 7 indicates that the oifl ic high (or +Ioating) and E nooinal value of 228 indicates that th e pin i3 puIled lou. 0PERATTNe SYSTEH CO16559 --
Se c t i o n 1 1 L79
A --
Appendir
The +ollouing
CIA COHI4ANDBYTE VALUES h e t v a l u e E a r e k n o u r nt o b e l e g i t i { r l a t e
CIO comrnends.
M o E t h e n d1 e r 6 :
o3 -o 5 --
OPEN OET RECORD -- CET CHARACTERS og _- PUT RECORD OB -- PUT CHARACTERS
oc
OD --
CET STATUS
D i E pl a g H a n dI e r o n l q : 12 --
DRAI'
D i s ke t t e F i l r 20 2I 22 23 24 25 26
lEO
---. -----
tl€nagef ohtg:
RENAI'IE DELETE FARHAT LOCK UNLOCK POINT NOTE
APERATINC SYSTEI4co16t35 --
A p p e n di x A
Appendix E --
C I O S T A T U SB Y T E V A L U E S
S h o u n b s l o { r , € r e t h e t n o u n C I O S T A T U SB Y T E v E t u e s . 01 (OO1' --
-
AO 81 A2 A3 A4 A5 A6 87 AA 89 AA AB AC AD gE AF 90
(1EA) (129) (13OI (131) (132) (133) (134) (135' (136} (137) (138} (189} (14O} (141! (142) (143) (144}
----------_ -.--.. -. --
91 (145) -146) -147) --
._.
.
A0 A1 A2 A3 A4 A5 A6 A7 AE A9 AA AB
( 1&O) (161 ) (162) ('.63} (164) (165) (166} (L67' ( 16S} (1A9' (17O} (171}
--. -. -__ -__ --_ ----
OPERATIONCOMPLETE(NO ERRORS) EBREAK] KEY ABORI I O C E A L R E A D YI N U S E ( O P E N } NON-EXISTENT DEVICE OPENEDFOR WRITE ANLY INVALID COMI'IAND DEVIC€ OR FILE NOT OPEN I N V A L I D I O C B N U M B E R( Y r . e g o n l { } APENED FAR READ I]NLY END OF FILE TRUNCATEDREC']RD DEVIC€ TIMEOUT (DT]ESN'T RESPSND} DEVICE NAK SERIAL 8US INPUT FRAI'IINOERROR C U R S O Ro u t - o * - r a n g e SERIAL BUS DATA FRAME OVERRUNERRAR SERIAL BUS DATA FRAME CHECKSUI"I ERROR DEVICE DONE ERROR
SAD SCREENr'rODE FUNCTION NOT SUPPORT€D8Y HANDLER INSUFFICIENT I,IEI1ORY FOR SCREENI'IODE DISK DRM * ERROR TOO MANY OPEN DIS( FILES DISK FULL FATAL DISK I/O ERROR INTERNAL FILE f I.IISMATCH FILE NAI'IEERROR POINT DATA LENOIH ERRT]R FILE LOCXED COI'II{ANDINVALID FT]R DISK D I R E C T f I R YF U L L ( 6 4 F I L E S } FILE NOT FOUND PAINT INVALID
O P E R A T I N oS Y S T E } {c 0 l 6 5 5 9 - -
Appendix B
Appendir
C --
StO STATUS BYTE VALUES
Shoun belou af.e the 01 (OO1' .AA BB AC AE EF 90
(138' (139} (14O' (144} (143) (144'
ra2
-------
& h o u n S I O S T A T U SB Y T E h e x e d e c i m e l v a l u e s .
OPERATION COHPLETE (NO ERRORS} DEVICE TII'IEOUT (DOEsN'T RESPOND) DEVTCE NAK SERIAL 8Ug INPUT FRAMING ERROR SERIAL BUS DAIA FRAI'IE OVERRUNERRSR SERIAL SUS DAIA FRAME CHECKSUI,I ERRAR DEVICE SONE ERROR
O P E R A T I N CS Y S T E I , C I U16555 --
Aprendix
C
Appendix D --
sp g1 g2 p3 g4 g5
v6 g'7 gB
ve gA 9B
gc gD gE 0iF
Lg 11
r2 14
L7 'tR
19 IA
1D 1F
AIA$CII CODES
gx
4X
o D a
A
a
B
b
# $
c
c
D
d
z
E
e
&
F
f
G
g
(
H
h
)
T
t-
J
j
K
k
L
I m
0 0 il 0
s
E] E
tr
I g FI l| 0 E E EI 0
tr
E II E et II g
o g g
o
+
M
BX
AX
cx
EX
N
o g 1 2 3
o
4
T
R
t
U 7
W
x
v
E I
l
CT,EAR TAB
Plfra lYfis Ftg
BELL
BHln lHin
TAB
O P E R A T I N CS Y S I E H C 0 1 6 $ 5 5 - -
Appendix D
143
Appendir
E --
DISPLAY CEDES (ATASCII)
qX
gs gtg2 g3 g4
gs g6 g7
g8 q9 gA gB
gc gD gE gF Lg 11
T2
t3 15
16 t'7 18 19
fC
1D
2X
4X
o
E g FI EI il E D
tr EI tr
EI II EI et CI g E
o tl o o
AX
A
a
B
b
c
c
$
D
d
g
E
e
&
F
f
G
g
(
H
h
)
I
l-
J
j
K
k
L M
t n
N
n
o
o
c( DES
g
P
p
ol
L 2
0
q
R
r
3 4
s
5
U
tr
a s a E a
BX
CX
EX
G
D
EI CI il
6X
+
6 '7
T
8p-FF SHOWAS E IN\IERSE VIDE
caDEs 99-1F
t u
W
8
X
x
9
Y
v
z
z
t
trI
l
EI
tr
D
O P E R A T I N GS Y S T E I ' C I 816555 --
Aprendix
E
KEYBOARDCODES (AIASC I I }
A p p e n di x F --
o
o
,
?
0 1 A 3 02 B 0 3 c O 4 D O S E 0 6 F O 7 G O B H
1 3 A 3 3 3
0
o
9
t
F
O
o
o
E
A
N
o
10 P 11 0 t 2 R
o
2
c
1 1 1 17 18 I 1A 19 1C 1D lE 1F
4 5 6
23 t+ 2 4 t 2 6 & 2 A ( 2 S ' 2 A *
D
O
c L D F
15 2 A A A D 9 01
OA J O B K
o o
o
T U V
S
2
o
30 07 o6 20
3
a
3 0 0 31 1
,16
3 3 3 3
D 8 0 2E t,l 16 X q Y E B L7 Z 1C <eec) ^{!p} CE ^4dot n> OF ^{Ie+t} 06 ^O7
2 0 1
3 4 5 6
3 4 5 6
3 A B 3 9 9 3 A : 3 C < 3 D = 3 E )
go-9A /l\ oo-14 9E <.etut'n> and ^3 34 9C s{:del> 9D s<:insel.t>37 2C 9E ^.{tab}
1F 1E 1A 1A 1D 1B
E{ oi
O C ,1 A
1F 1E 1A 1E
60 ^. 6 L a 6 2 b 6 3 c 6 4 d 6 5 e
e 3 5
40
9
OA 2F A
LO!IER
SHIFT
SHIFT & LOI"IER 20
CTRL
B 43 44 45 4h
13
D 3 4
6 6 6 6 6 6 A 6 6
G 3 D 4e H 3 9 49 I O D 4A J O l 48 t{ o5 4C L O O 4D M 2 5 N 2 3 4F o o B
9 h i J k l m n o
7 o p
P O A G 2 F
3a
7 A 9 A 8 C D E F
71 q 7 e t 7 3 t 74 t
s 3 E T 2 D
33
57
30
59 5A
o2
5D 5F
10
x
16
Y 7 [ \
OD OF
v
2 1 2 0
FE FF
7 g 7 9 7 A 7 9 7 C 7D 7E 7F
S 7 0 6
^ 0 7
- o E
OA 2F
16
x q z
t7 i
l 4c lear> 4back> <Eeh>
34
2C 20-7C
9F 5{teb} AO-FC /l\
FD
o1 o5 oo 2e
OB 10
U O B in
39 OD
^E
1E
^{de1} 34 ^< i nser t)37
^4
" < r ' e t u r n > : : = < r e t u a n > o r E 4 i € t u^.4ne> s c o} r <esc> ::= <esc) or E{esc> or "46pef,e} {spEce} ::= <sPsce> or 9<sPace>or Whe"e: s tss a prefix indicate5 tSHIFTI' ^ as a P!'efix indic€teE tCTRLI' / i\ aE a ptefi x ind icates ATARI ft€q invet'9e active'
0PERATtNG SYSTET'IC016559 --
Appendir
F
145
A p pe n di x e - -
PRINTER CODES (ATASCI I )
Cha|.€Etar set
+or " n o ' . n a 1 " $ o d e p i i n t i n g :
20 < E P a c € > 4 0 e 2L 41 A
60 61
4 2 8
b
*
4 4 D 4 9 8
?e
64 63 6h
*
2A
( ) * +
4 4 4 4 4 4
69 6A 6E
J K L M N O
91 5 2 5 3 5 4
0 R S 7
7L
V t' X Y Z
76 77 7A
9 '.
5 6 57 5 A 5 ? 5 A
4
5 C \
I dr (t
30 1
e 33 4
f
4 7 C 4 A H 4 8 C D E F
-
o
P l.
t
J
37 3A
3D
6 7
5lJ
_l
7A 7B 7C 7D
)
5 E ^ {space} Note: The +ollouing codes pr int t h e A T A S C II d e f i n i t i o n .
diffeisntlv
than
defined
00 t h f . o u gh t F p r i n t
b1ank. g?intg \ inEtead o+ "di€hond". printc { instead o+ "spEde". 7D p i i n t s ) i n s t e € d o f " a l e a r " . prints - instead of "haclspace". piints blank inEteed of "tab".
OPERATINOSYSTEH 186
AppendixC
bg
Character set
31 34 35 36
o 4 6 7
a 3? 3A
I i
+ o r . , , E i d e d a g E . ,m o d e p r i n t i n g :
4 4 4 4 4 4
0 1A e 3 4 9
e
6
B C D E
6 6 6 6
4 4 49 4 4 4 4 4 4 5 sl 5 5 5
7 E
e H
6 6
I A 9 C D E F 0 0 2 3 4
J K L H N A P
6 6 6 6 6 6 7
R S T
7 7 7
7 e A H 6S r A J 8 K C L D H E N F O 0 P 71 0 2 R 3 S 4 1
5 5 5 5 5 5 5
6 7 A 9 A 8 C
V W X Y Z E \
7 7 7 7 7 7 7
6 V 7 W A X 9 Y A Z B t C \
b
s D l 5E {up> 5F <1eft>
3D
0 L
@ A
2 3 4 5
9 C D E
7 D t 7E 7F
Note: thc follouin! codes pr.int dif+erentlg t h e A I A S C II d e f i n i t i o n .
than defined bU
oo
through aF pr int blan&. "up aaaou," instead of p"ints 5F p r i n t E " l e f t a r r o t " i n s t e a d o f _ . 60 t h r o u g h 7 F r e p e e t 6 4 0 t h r o u g h 5 F i n E t e a d o f p r o p e r s e t .
O P E R A T I NS C Y S T E HC 0 1 6 9 5 5 - -
Appendir e 187
Appendir H --
S C R E E NM O D ECHARACTER ISTICA
Mode Hori z. Veit. * Po6it. tllo Sp
o
4
0
e
Veit. t'l Sp
4
C o1 o r 5 2
Data Velue
Co lor Reg.
b E E t g d . BAK OO-FF PF 1" baclgd,
oo-3F 40-7F AO-BF CO-FF
20
BAK P F O P F 1
l'leno.r, Reqd. (split) (ful1t q92 992
&74
67e
PF3 EAK PFO P F 1
424
8AK P F O P F I
434
432
sAK PFO
694
696
BAK PFO
L174
117h
I
2 3
PF2
o
BAX
2174
2LA4
BAK PFO P F 1
4190
4200
PF 2 PF l+
S112
E13E
ba.tgd.
oo-3F 4Q-7F
420
CO-FF
40
20
4 1
e BO
o
40
I
ao
6
160
o
40
4B
BO
96
I
7
160
o
96
1 3
s
320
192
160
2
o 1
9
BO
152
I
Not€ 2
10
ao
1s2
9
o 1 2 4
OPERATINCSYSTEH CO16555 .1S6
a 138 Pi'l 0 Pf,{ 1 PH2 PH3 PFO A pp e n d i x H
g138
P F 1 SAK BAK BAK BAK PFO P F 1
B
11
ao
192
L6
Note 3
813A
Notas: Uses color UseB color UEeF .olor
of PF 2, l!ft o+ PF 1. o+ gAK, llm of date value (*O-Fl. of data value (tO-F), Iun of BAK.
: * Plagfield color reqist€r r. P Hr : : = Plag6i/l'lisEile oraphica coLor regi5ter r. (also knol,n aE PF 4t. BAK :: = Eaalgfound rolor iegist€r The default
valueg for
8AK PFO PFI PFz PF3
= = = = *
the color
reoistaas
are shoun belour:
EOO 529 gCA $e4 $46
OPERATING SYSTEI'ICO16559 --
Appendix
H 149
The +oi& of a color
regi6ter' bgte is
shoun belou:
7 6 3 4 3 ? I O +-+-+-+-+-+-+-+-+ i color l1!m !O! +-+-+-+-+-+-+_+_+ Where: Eolor
(her values )
O=gr€g 1= light orange 2 = or€ngE 3 = red orenge 4=pin* 5 = purple 6 a purple-blue 7=blue I = blue 9 = light blue A = tuiquois€ B = green-b lse c - gr een D = gs1lou-green E = grang 6-9 reen F = light orange
Iuo O = hinimuo lrroinance 1= | 2= (inrFeasing 3= 4= lunln€nce, 5 = 6s I 7 = nerimuo luninance
OPERATINGSYSTEH C016559 -190
Appendir
H
APFENdiT I --
SERIAL 8US ID AND COMI.IAND SUMHARY
Se. ia 1 b!s device ID6 Floppg distettes Pr inter RS-232-C Eierial bus control
D1-D4 P1 R1-R4
E31-94 $4O $50-93
codeE
ACK NAK
- $41 - S4E
ERR
- $45
,N,
cot'TPLETE - +43
Ser i€ I bus coofiand cod€€ READ I.'RI TE STATUS PUT(no chect, FOR'4AT READ ADDRESS READSPIN MOTORON VERIFY SECTAR
- $5e - t57 - s$3
- $5O
- *21 -
$S4 6'1 $s5 156
,R') , V l ,, 'S' ' ,P'' 't'> , T ,, 'O') ,u,, ,v',
OiEt printef/Dist Pr.inte./Disl DisT Dis|( Diil Disr Dist
OPSRATINCSYSTEI.ICO1695$ --
App€ndir
I 191
Appendix J --
AAM VECTURS
T h e f i r e d a d d r e E s OS ROM JMP v e c t o r s a r e s h o u n b e l o u r , a t E d d r e s s i s e J l , l P i n E t r u c t i o n t o t h e i n d i € € t e d Fo u t i n e . Name
Addr
Refer.ence F u n c t i . o n
DISKIV DSKINV
E450 8453
3.4.2
SETVEV
E459 E45C
c lov stov
sYsvav XITVBV SIOINV SENDEV INT I NV c la INv BLKBDV SIARMSV
coLDsv
RBLOKV
csoPIv
9.3 6.3
E46A 3. 1.1 7. 7.
E474 E47A E47D
* Th€se v€ctors
a.e for
each
D i s ke t t € H e n d l e r i n i t i a l i z a t i o n D i s k e t t e H e n d1 e r e n t r g . CIO utilitg entr.g. 5IO utilit! e nt r g . S€t S{ste Timers rout ine. S t a g e 1 V B L A N Ke n t r g . E x i t V B L A N Ke n t r g . SIO utilit'J initial i zEtionS e n d e n a bI e r o u t l n e . I n t e r r u p t H € n d1 e r . i n i t i e l i 2 € t i o n . CIO utilitrJ initializ€tion. 8 1 € c k bo a r d m o d e e n t r g . W 6 r n s t a r t ( I S Y B T E MR . E S E T I) e n t r u . C o 1 ds t € r t ( p o l r e r - u p ) e n t r g . Cassette-read block etltrU. CasEette-8PEN input entrg.
OS internal
u6e onlg.
T h e f i x e d a d d r e s E F l o t s t i n g P o i n t p a c t e g e R O Mr o u t i n e e n t r g p o i n t E d d r e s s e 6 a . e s h o u r nb e l o o i q o m p l e t e d € s c r i p t i o n s o f t h e € o r r e E p o n di n 9 r o u t i n e s a r e p r o v i d e d i n S e c t i o n L AFP FASC FADD FI,IUL FDtV LOC
Locto EXP E X P1 O PLYEVL ZFRO ZFL FLDOR FLDOP FLDl R FLDlP FSTOR FSTOP Fi'IOVE
DAOO DeE6 D?AA D9D2 DA66 DA6O DADB DB28 DECD DEDl DDCO DDCC DD4O DA44 DA46 DDA9 DOAD DDg€ DD9C DDAT DDAB DDB6
ASCII to FP conve?t FP to ASCII .on\r.r"i. Integer to FP convert. FP to integer convert. FP ad d. FP iubtract. FP ftultip1q FP divide. FP b€se e logErithn. FP ba6e 1O logarithro. FP base e erponentiation. FP bese 10 exponentiation. F P po l q n o o i a I e v e l u e t i o n . Clear FRO. Clsai FP number.. Load FP n!|tlb er. Load FP nuftb e?. Load FP nsnb er. Load FP nunb€r.. S t o r e F P n u m be r . S t o r e F P n u n be r . lvlovE FF number.
0 P E R A T I N GS Y S T E | {C O 1 6 5 5 5 - 192
Appendix J
The bes€ addresses of the Handler, veatois h a n dl e i s a r e s h o u n b e l o u r : S c r € e n E di t o r ( E ) DisplEg Handler (S, K e g b o € r ' d H a n dt e r . ( K ' P r i n t e r H a n dl e r ( P ) C a e 6 e t t e H E n d! e r ( C ) S€e Saction
5 for
The 690A Cotrlputer F u n ct i o n NII I
for
the .esi.d€nt
8400 E410 E4aO E430 E440
the foafiat
of the entr.g +or each Handl€r'.
i n t e r r u p t veEtor vatlug3 are ghoun belou: Addiess FFFA FFAC
Valu€ E7B4 E477
IRO
OPERAIINC SYSTEMCO16955 --
Appendir
,J 193
Appsndix K --
DEVICE CHARACTERISTICS
Thi€ appendix desEribeE the phgEiral cheiErteristirs of the deviceE thgt inteifece to the ATARI 4OO end ATARI 8OO Hofte ComFUters. lJh€re epplicEble, data t€pecitg, date trenrSer ratr, stoaEge +oimat, gIO inteit:ce, end cebling uiIl be d6tailed. KEYBf]ARD The tegboa.d input rate iE linited bg th. OS terrboard reading proredure to be 60 chE'racterg p€T' serond. Th€ cod€. foi. each teg and is i€ sho&,n in Teble 5-4. The &egboard h€rd{rar6 hag no buffering r.te-liftited bg the debounce €lgorithn used. DIEPLAY The television screen diiplaq generator has manl Eepabilities that are not us€d bg the Displag Handler (as described in Section 5 efld shoun in AFpendix H). There are additional displatJ |nodeE, €nd mang other obJect gEneratol.s, hardnare displaq scrolling, featureE that Er'a degcribed in the ATARI Home Conguter H€rduare l'tanual. SinEe all displag data is stor€d in RAtl, the di6plag data upd.te tate is liftited piinarilg bg the softuare routi.neB that genertste and f0.ltl6t tha data and acEess the RAt'|. The g€neiation of the d i s p l a q f r o m t h e R A f ' li e a c . o { n p l i s h e d b g t h e A N T I C a n d C T I A o i O T I A c h i p 6 u r i n t D i r e E t M e i n o r gA c c e e s ( D f 1 A l to accesE the RAMdata. The internal storage *ormats for diEplBg dsta for the varioug in the ATARI Hofle ConDuter Hard{,are oodeE Er.e d6tailed l'lanuaL
ATARI 41O PRBCRAMRECORDER The ATARI 41O Program Recorder has the +o11o{ringth5tacte.i5ti.c6: DATA CAPACITY: 1 O Oc h € f a . t e F s
pei C-60 tape (unloilnEtted).
DATA TRANSFERRATES: + 600 Eeud (60 characters *Note: Th€ OS has the abilitq (447 - 995 Eaud).
oer 5€cond, to adJust to diffeient
O P E R A T I N CS Y S T E I ' C O 1 6 5 9 5 - 194
Appendir
tape 5peeits
K
STORAGEFORMAT: '
T€peE Ere recor.ded i.n 1,/4 track 6te.€o +orftat et L 7lB incheE per EeEond. Ihe t€pe can be reEorded in both directions, uhere tr€Eks l and a afe side A left €nd right, and tra€ks 3 and 4 a!.e side B r i g h t e n d l e + t ( i n d u E t r g E t a n d a r . d) . O n e a c h s i d e , t h e l a f t .hannel (1 or 4) is used for €udio and the right channel (A snd 3) is u6ed for digit3l in+ormation. The audio channel is reror'ded the norrnal ueg. The digitel rhannel i E r e c o r d e d u s i n g t h e P O K E Yt r r o - t o n e m o d e p r o d u c i n q F S K d a t a a t u p t o 6 0 0 b a u d . T h e I ' I A R Kf r e q u e n c g i s 9 3 2 7 H r a n d t h e S P A C E frequencrJ is 3995 Hz. The tr€nsnission of d:ta i6 agunchronous b V t e B e r i a I € s s e e n + r o n t h e c o n p u t e r r P O K E Ya e a d s o r u r i t e s a bit serial FSK sequence for eech bgte, in the follouing order:
l6tart bit (SPACE) datE 6it O -+ data bit 1 | + - o = S P A C E ,1 = . data bit 6 | data bit 7 -+ l. stop bit (tlARK)
\!,.
MARX.
The onlg control the coroput€r has ov€r. tape fiotlon iE notor etert/stop, €nd this onlg if th€ PLAY button is presEed bg th€ user. In order for recording to tske pI€E€, the urer muit press both the RECend PLAY buttons on the cassette. The coDo!ter has no uragto Eense th! position of the6e buttonE, nor even if an ATARI 410 Progr.ao Recorder is cabled to th€ romguter, so the u6er must be cEre+uI uhen using thiE device. gII]
I NTERFACE
The cessette device utili:e6 portions of the Eer'ial bus harduare, but does not fol1ou 6nV o+ the protocol as defined in Section 9.
ATARI A2OTTI.I]
O.COLUI'{N II'IPACT PRINTER
The ATARI 82O Frinter. has the follouing
shEr6Eteristic6:
DATA CAPAC! TY: 40 Ehara.te?s per line aq rher€rters per line
(nortrlal printingl (5id€uags printing'
DATA TRANSFER RATES: O P E R A T I N GS Y S T E i IC 0 1 6 5 5 5 - -
Aependix K 195
BuE ?ate: xx chafacteis per gaEond. Print time (bur6t): xx ciararters per eeEond. Pr^int tine (€ve?age): xr characteis p€r second. STORAGE FARfiAT: 3 7/8 inch qrid€ paper.. 5X7 dot m5tFix, i&pact pr.inting. -Noroal foroat 40 tharac terE per 1ine. 6 l ineE per inch (verticet'. 12 f,har€rterE per inch (horizontal). 9idat,aUg +o.nat -29 charac terr per- li.ne. 6 I ines per inch (veitical). 9 ch€iact€r.s per. inch (horizontal ).
SIO IN'ERFACE The cont!.otler
6eriaI
bus tD is
$4O.
quppor't6 the +gllouring SIO (omflands (9ee $eation Th€ controll6r fot ilo?s infor.oation rega?dirg thc Handler End Seation 9 +or a g€nefaI diseosgion of bus connands): CET STATUS The conpute.
E e n d s e q o m m a n df r e m e o f
th€ for&at
Bhoun belou:
Device ID = t4O. Cotnn€nd bgt€ = $S3. EUxiIiarg 1= doesn?t matter. autilia.g 2 = doesn't matter. = cheEkslm of bgtes above. Checlsum The printer controller re5ponds lrith a data fra{re of the format E h o u r ne a r l i e r . i n t h i s a p p e n d i r a s p a r t o f t h e C E T S T A T U S d i E c u g si o n . PRINT LINE The cooputer
sends € command+rame of
the
forfiat
Ehoun belou:
D€vice ID = 34O. Coomand bgte = $57. O P E R A T I N CS Y S T E I {C O 1 6 5 5 5 - 19b
Appendix K
5
euxilierq 1= doesn't natter. e|rxiliarg 2 = 9 4 E f o r n o t ' t t t e 1p r i n t o . $ S 3 t o r = c h e c k g u mo f b u t e s a b o v E . Check6urn The conrouter sends e data frafle
of th€ foroat
Bideuagg.
ihoun
belo{r:
Leftmost rh€iacter. of line (coluon 1). Next Ehara.ter o+ line (colurnn 2). ilgfrtmost character. of C he c * r u n b q t e .
line
(cotumn 40 or a9).
Not€ thEt the da*a freme Bire iE variable. either 41 or 30 bgte6 in 1en9th, depending upon the pt'int mode specified in the roomand +iafie.
A T A R I A 1 O D I S K O RI V E The ATARI glotTMl DiEk Drive has the follot!ing
characteristicE:
DATA CAPACI TY: 72O Ee€tore of 128 bgte6 each (Disk H€ndler fo.mat). 7O9 6ector6 o+ 125 data brrtes each (Diet File lvlanaqer formet) DATA TRANEF€R RATES: gus rate: 1920 ch€rarters pei' 5€aond. Seek tim€: 5-25 oeec. pei tracl + 10 to a1O ns€E Rotetionel latencq: 104 oEec tnarimu|n(2eg rpln). STORAGEFORMAT: 51/4 inch disftetts, soft sectored bU the control l€r. 40 trec kr per dis*ette. 1 B s e Et o r ' E p e r t r a c t . 1 2 € } b { ,t e s p e r 6 e c t o ? . Controllsd bg Netional INS1771-1 foroatter'/control ler chip. €ectot Eequencepe. treEk is: 18, 1, 3' A' 7' 9. I 1, 13, 15, t7, 2, 4, 6, A, 10, 72, 14, L6 SIO INTERFACE The controller (for 'D4' ).
geritsl buE IDs i'ange fiom *31 (for
I u16555 -O P E R A T I N GS Y S T E I 'C
'D1',
to 934
Appendix K Lq7
Th€ controlter s u p p o I . t s t h e + o l l o u r i f i g S t O c o m m a n d s( 6 e e e a r l i e r in this Appendir foi information ebout the DiEket*e Handter end S e c t i o n 9 f o . a g e n e r a l d i E c u s s i o n o f b u E c o m m € n d)5: GET STATUS The conFUtsr
s e n d s a E o r n r o a n d+ r a $ e o f
the +oimet shoun belou:
DeviEe ID = i31-34. C o m t o a n db g t e = $ 9 3 . a u x i l i a r U 1 = d o e s n/ t m € t t e r . auxiliarg 2 = doeEn.t metter. = checftsuoof bqte6 ebove. Checksuft The diskette shoun earlier di9crJEEion.
€ontroller r.esponds(l,ith a data freoe of the +drilat i n t h i s A p p a n d i x a s p a r t o f t h e 9 T A T U SR E O U E S T
PUT SECTOR ( I,'ITH VERIFY} The computer 6endE a commandfrarne of
the
forftat
sho{rn belou:
Device ID = $31-34 Cofimend br/te = E57. aurili.arg I = loo bgte of ssctor number. auxiliarg ? = h i S h b g t e o f s e c t o r n u m b e r .( 1 - 7 2 0 ' . = €h€cksumof bqte6 above. CheclBrrfll T h e E o m p u t e r i e n d E a d € t e f i a m e o f t h e + o r m E t s h o u r nb e l o u : 128 data bgtes. C he c l s u m b g t € . The dis&ette controller uritss the fa€fte ddt6 to the Epe€ified EeEtor, then read6 the sector end compares the content {rith the frame data. T h e C O | I F L E I Eb q t e v a l u e i n d t c a t e s t h e s t e t u E o f t h e ooetetion. P U T S E C T O R( N O V E R I F Y } The .omputer
6ends a comoend frame of
t h e + o r . n a t 5 h o l | J nb e 1 o u , :
Device ID = t31*34 C o r D n a n db g t e = $ 5 O . EUxiIiarg 1= lou bqts of sector number. aurili.arq 2 = hiSh bVte o+ sectoi number (1.-72O1. = c h e c f t E U mo f b g t e s a b o v e . Chec*sum The comp!ter Eend6 e date fraft€ o+ the fo.mat shoun belon:
O P E R A T I N eS Y S T E I ' C I O16555 -194
Appendix K
128 date b!tee. C h e c&s u n b q t e . The di9*atte contioller urites the +r.aoed€ta to the speEi+ied 9 e c t o r , t h e n s e n d E t s C O M P L E T Eb r l t e v a l ! e t h e t i . n di c t s t e s t h e statos o+ the operetion.
EET SECTOR The conputer. sends € connand +rErns of the fornat
Ehoun belou:
Device ID = *31-34 Comnand bqte = $92. a u x i l i a a g 1 = ! o { , b g t e o . Fs e c t o r n s n b e } . auxilia?g 2 = high bqte of sector number (1-7aO). = che€ksun of bgtes above. Chectsum The dis&ette
controller
sends € d€te frane oS the tor
at 9ho{rnbelou:
1 2 8 d a t € bg t e s . Che.tsl|n bgte. FORMATDISKETTE The coop!t€r
s € n d s a c o m m a n df . a m e o f t h e f o r o a t
6hournbelou:
Device !D = 931-34 Conoand bUte = $21. autiliarg 1 = doesn't mattei. euriliarg 2 = doesn't netter. Chec lsufi
= c h e c k E U r | ro f
b{tes
ebove,
The di6&ette Eontroller conpletelV foi €ts the digkette (g€nei€t€E 40 trackr of 18 soft seEtors per tiack oith the data oortion of earh Eector €qu€1 to a1l zeros) and then reads each secior to verifg its int€gr.itg. A det€ frEme of 128 bgtes ptut checL6!n i5 i e t u r . n e d i n t h a t t h e s e c t o r a u r n b e r so + a l l b a d s e c t o f s ( u p t o a |nExin{r& o{ 63 Eectors} are rontained, +ollo{red bq t{ro consecutive btJt€5 o+ *FF. t$ there Ere no bad sectoig on the dist€tte the fii6t ? bltes o+ the data
O P E R A T I N eS Y S T E MC U 1 6 9 5 5 - -
Appendir R 199
Appendi x L --
O S DATA BASE VARTABLE FUNCTIONAL DESCRIPTIONS
CENTRAL DATA BASE DESCRIPT I AN
This €pp€ndir pl.ovides detail€d infor.mation for those variables in the OS data ba5e that c€n be altered bu the user. Rernainino variableE are provided ntsrrEtive descriotions. Information on the variables iE praiented in € multipls acceEs Echeoe: Loor(up t e b l e s e r e r e * e r € n c e d t o a € o m m o n6 € t o f n € r r € t i v e 6 , t h a t i s itEeIf or.dered b! function. VEriebIe de€criptions :re referenced bg € l€bel catted a variable (VID) .lsftbe.. The labeI conprise6 € single letter id€nti+iei foLlolred bq a nulnber. A differ.ent tetter is aisigned foi. etsrh m a J o r f u n c t i o n a l a r e a b e i n g d e s a r i b € d , a n d t h e n u d r b e r , sa r e a6signed sequentiat lg uithin daah tuDEtional area. Th06e va!.iables that tsre not Eongidered to be of interest to ang user (*) a+ter their naoes. The data bese are flagged uith an a€terist lootup tab l€e tiovided ar.e: 1. Functional grouping -- index to the function narr,ative and deBcriptions of vsriebles, giving VID and vari€b1€ nE|ne. 2. Alphab€tic
liet
of names --
3. Address o.dered list
--
9ivin9
giving
VID of description.
VID of de5cr.iption.
I t e n 1 , t h e f u n c t i o n a l g r . D U p i n gi n d € x , s t a r . t E o n t h e n e x t p e g e ; the other tuo lookup tabIeE are at the end of Appendir L.
2o0
O P E R A T I N eS Y S T E I IC O 1 6 5 5 5 - -
Aeeendix K
FUNCTIANAL INDEX TO DATA EASE VARIAELE DESCRIPTIONS
llemorg aonf igur'etion
A1 r'rEr'tLo
A2 A3 44 A5
I'IEMTOP APPI'IHI RAI'ITOP RAHSIZ
Tert/graphics
scteen
Cur.gor cont?ol 8 1 C R SI N H s2 ROWCRS. COLCRS 93 OLDROI.I,OLDCOL 84 TXTROI.',TXTCOL S c r e e n m a r gi n g D5 LI'IARCN 86 RI'IAREN C o l o r ao n t i o l E7 PCALRO _ PCOLR3
9e cctLoRo- ca|-oR4
Tert Ecroll ing 99 SCRFLG* Attract node B10 ATRACT 811 COLRSH* 812 DRKMSK* T a bb i n g 813 TAEMAP Logical tert line5 814 LOOHAP* 815 LSGCUL* Split
screen
OPERATINE SYSTEII C B 1 6 S 5 5 - -
A p p e d di r L
eo1
816 gBTgCR* F I L L , / D R A $ ,f u n . t i o n 817 FILDAT B1g FILFLOI' 819 NEt, SROtr*,NEWCOLT1 B2O HOLD4I'
821 BE2 BE3 824 845
RO{INC*, COLINC* D€LTAR*, DELTAC* COUNTR* ROHAC*,COLAC} ENDPT*
D i s p 1 a 9i n g c o n t r o l . h € r € c t e r . s E E E a p e( d i G p l a g + o l l o u i n g c o n t r o l c h a t ' ) 826 ESCFLE* D i E Fl E g c o n t r o t F27 DSPFLC
chsracter.s fiooe
Bit ndppedgr.aphirs S2A DHASK* 829 SHFAT{T*
?o2
O P E R A T I N CS Y S T E MC O 1 6 5 5 5 - -
AppEndix L
IDtafnE I lror k ing variableE B3O HOLDI* s31 HOLD2* 932 HALD3* 833 TTIPCHR* 834 DSTAT* 935 DINDEX 836 SAVMSC 937 OLDCHR* B3A OLDADR* 839 ADRESS+ 840 MLTTI'IP/OPNTI.IPlTOADR* 841 SAVADR/FRMADR+ 842 BUFCNT* 843 BUFSTR* 844 SHPFLG* 945 INSDAT* 946 Tr.tPROt,tn. T|4PCOLi 947 TI.,IPLBT* 844 SUBIF|P* 84? TINDEX+ 85O E ITMSK+ s91 LT BUF+ 852 TXTIISC 853 TXTOLD*
oPgRATINc SYSTET{ c0l6555 --
Appendir L 203
Interna I character cooe Eonver!ilon 854 ATACHR 955 CHARr
C. DiBl Handl€r CT BUFADR* CZ DSKTIHi
D. C a e g e t t e ( p a r t i e S I O p a r t i n H a n d l e r ' ) 8e0d Dl DP D3 D4 D5 D6 D7
rate deter0ina t i on CBAUDL*,CBAUDH* TII'IFL6* TIfiER 1*, TII'IER2* ADDCAR* TEIIPI* TET{P3* SAVIO*
Caee.tte ood€ DA CASFLC* Ca3sette bu$fer D9 CASBUF* DlO BLII',I* 011 BPTR* lnternal uorking variab 1eE D12 FEOF* D13 FTYPE* D14 WHADE.I D15 FREO* K e gb o e i d Keg read ing end debounEing El CHl* E2 KEYDEL* E3 CH
OPERATING SVSTET{ C O 1 6 5 5 5 - -
204
A p p e n di r L
S p e Ei a I f u n c t i o n s gtart/stop E4 SSFLAO IBREAK] E5 ERKKEY t S H I F T I / [ C O N T R O L ] 1 o ck E6 SHFLIIK E7 HOLDCH* Autorep eat E8 SRTI!IR* tnveiEe vid eo E9 INVFLO Console stitches
(tsELEcTl, ISTART].and tOPTIONI]
P. inter printer-buffer' Fl PRNEUF* F2 PSUFSZ* F3 PBPNT+ Int€rnal uor king vsr'iables F4 PTEI'IP* F5 PTI I'IOT* Central
l/B
routine
(CIO)
U€er Eal I paralreters e1 IOCE G2 ICHID C3 ICDNO e4 I CCOM E5 ICSTA G6 ICEAL, ICBAH G7 ICPTL, ICPIH EA I CBLL, ICBLH 0 9 I C A X1 , I C A X 2
c10 IcsPR Devic€ I ta t{.,6 G11 DVSTAT devi ce teble 612 HATAES 0 P E R A T I N OS Y S T E MC O 1 6 5 5 5 - -
ApPendix L
205
C I O , / H a n d1 e r i n t e r f a c e
ParameEers
e13 ZIOCS ( IOCSAS) o14 tcHIDZ cl5 ICDNOZ c16 ICCOT'IZ cl7 ICSTAZ G 1 B I C B A L Z ,I C A A L H Cl9 ICPTLZ,ICPTHZ CAO ICBLLZ, ICBLHZ Gel ICAXlZ, ICAX2Z GA2 ICSPRZ ( IC IDNO,C IOCHR) Inte|.nal {rorkinq verieble6 623 ICCOHT+ G?4 IC IDNO* o25 C IOCHR*
H. Seiial
L/B routine
Uiea call
(SIO)
pat'em€te.9
H1 DCB Eontrol bloEl HA DDEVIC H3 DUNI T H4 DCOI.IND H9 DSTATS H6 DEUFLO,DEUFHI H7 DT I I'ILO HA DBYTLO,DEYTHI H9 DAUX1, DAUX2 Bus Eound contr'ol H1O SOUNDR Serial
buE control
Retrq logic Hl1 CRETRY* H12 DRETRY* C he c &s u m H13 CHKSUT'!+ Hl4 CHKSNT* Hl5 NOCKST'I*
OPERATINO SYSTEMC O 1 6 5 5 5- -
ADeendix L
Data bu+fering Oenerel buf+er cont.ot H16 SUFRLOI+, BUFRHI+ H17 BFENLO*,8FENHI+ C o s l m a n df r a r n e o u t p ! t b u + f e r . H1e CDEVTC* H19 CCOMND* HeO CAUXt*, CAUXaT+ Receive,/transfl it H21 BUFRFL* HEz RECVDN* HE3 TEMP* H24 XI'ITDON+
data buf f eiing
5IO t irneout H?g T I I'IFLG* He6 CDTt'tVl* H27 CDTt'tA1* Intern€ I uor t ing variablei HzA STACKP* H29 TSTAT$ H3O ERRFLG* H31 STATUS* H32 SSKCTL* ATARI ront.ol
leiE
Jogsticks Jl STICKO - STICK3 J2 STRIOO - STF IG3 P a d dI e s J3 FADDLO - PADDLT J4 PTRIGO - PTRIG7 Paddle cont|.ol lerE JE STICKO * STICK3 J9 STRICO - STRIGs K. Di.El file ftensgei K1 FTISZPG* KE ZBUFP* K3 ZDRVA* K4 ZSBAT, K5 ERRNOI'
OPERATING SYSTEI'I Ct116555 --
Append i r L
?o7
L- Disk rrtititiee Ll DSKUTL*
(DOSI
l.t. Floating point Hl FRO I'I2 FRE* M3 FR1 l,l4 FR2* M5 FRXi M6 EEXP*
peclag€
t't7 NsIeN* HA SSIONS M9 FCHRFLC* MlO DIGRT* Ml1 CIX M12 INEUFF I'113 ZTEt'tP1* ti14 ZTEI{F4* f.115 ZTEMPS* I.|16 FLFTR H17 FPTRz* l'l1B LSPR1* l'119 L8PRA* tI'O LBUFF H21 PLYARC+ H2E FPECR./FSCR* H23 FPACR 1/FSCR1+ HE4 DEGFLC./RADFLC*
N. Pourer-Up €nd Sg9tefl ReseE RAll sizing N1 RAmLO*, TRAT.|SZ* N2 TSTDAT*
Disl€tte/.aEEette-boot N3 DOSINI N4 CKEYT N5 CASSBT* N6 CASINI N7 BOOT?,. NA DFLAeS* N9 DSSECT* NlO BOOTADI. Environn€ntdl Eontfol Nll COLDST N12 DOSVEC
204
OPERATINO SYSTSI'|CO1655t --
Arrendir
L
IS RESETI N13 t'ARt{St
P. InterruptE P 1 C RI T I C P2 POKMSK Sgsteln T i mer€ Real-ti|ne cloc|l P3 RTCLOK Sgst€fi Tiln€r 1 P4 CDTfM P5 CDTIIA1 Svsten Timer ? P6 CDTTVa P7 CDTI'IA2 $irJ6t€dr Tifters 3-5 P8 CDTllV3, CDTMV4,CDTt'tVs F9 CDTMF3,CDTHF , CDTI.IF' RAI'I-inteFrirpt v€Etoir NMI-interrupt vec tor s P1O VDSLST P 1 1 WSLKI F 12 WgLKt)
IFQ-interrup t vec to.6 P13 VII,IIRG P14 VPRCED P15 VINTER P16 VBREAK P17 VKEYED PlA VSERIN P19 VSEROR P20 VSEROC P 2 1 V T I M R1 , V T I t . 1 R 2V, T I M R 4 HErduere reg ister updateE P22 SDMCTL P23 SDLSTL,gDLSTH P24 EPRIOR P25 CHACT P26 CHBAS P27 PCOLRx,COLARx OPERAftNc SYgtEl{ CO165S5 --
AeDendir
L 209
I n t e r n e I l , o r ' &i n g v e r i e b l e PzA INIEIIP+ R. UEer 6r.eaE R1 ( unlabcled ) R2 USAREA
This €ppandix contains deBcriptions oS dlango+ the deta base variebleg, degcriptions are included for a1!. of the usere c c e 5 s i b l e v a r i E b l e 6 € n d f o r E o n r eo f t h e ' , i n t e r n a 1 , , v a r i a b l e s a s uell. ThoE€ veriables that er'e not con6idered to be noroallq of interest to ang u9€r E.e +1a9geduith en asteriE& (*) after their nafie6i the other veri€bles can be of int€rest to on€ or more o+ the +ollorring rlaE5es of u6eis: o o o o
End user. eetle d€veIoper. A pp I i c a t i o n 6 p r o g i a m t n e i . 5{stem stilitg uriter. Language proEe6Eor developer. D e v i c a H E n dl e r { ^ l ri t e ? .
E a c h v € r i a b l . € i i s p e c i f i e d b q i t s 6 gs t e m e q u e t e f i l e n a m e fol l oued bg itE addresg (in hex ' end the number of bgtes regerved i n t h e d at a b a s e ( i n d e c i n e l ' , i n t h e f o l l o o r i n g f o r n : < n a d e > t 4 a d d . e 5 s ) , < Ei r e > l For eraop1e: MEt'lLO f OaE7, 2J N o t e t h a t n o E t u o r d ( 2 b g t s ) v a r i € b l e s ate siqnificant bgte at the loorer €ddress.
OPERATINE SYSTEf,Ic o 1 6 5 5 5 - 210
ttrdsred {rith
A p pe n d i x L
the
leaEt
A. I.I€HARYCONFICURATIAN $ee Sectioo 4 for d genei€! digcuEsion of me or{ 6€ction 7 for detallE of Egstem initialiration.
A1
M E l " l L OI O A E T , a l - -
dqnaoicF dnd
U6er-f!.ee meno|.{ lou eddress
f'lEl'{LO contEing th€ Eddre6s of the +irst lo€ation in the frae oe.rol.g regi.on. The value is e6tablished bg the Og dut,ing pou,€r-up and sgstefn reEet initializEtion and is never €ltered bq the OS th ere€ f ter. A?
i'lEl,ltoP !OAE5,2l
--
User-free
rne|nol.g high
add?eEs
M E I I T O Pc o n t a i n s t h € e d d r . e i E o f t h e f i r 5 t non-us€.ble ftenrorg loaetidn ebove the free menorg .egion. Th€ velue i6 !stabti€t€d bg the BS during pouer-up aod sgBteo reset initializdtioni and f,hen is Fe-estebliEhed uhen€ve" th€ displag is opefled, baF6d uFon the requir.eoents of the selacted g"€phics node. 43
A P P I ' { H II O O O E , 2 l - -
U 6 € r - + r e 6 m E r n o r gs E r e e n l o u e r
tioit
APP HI is e oser-controlled v€iiEbI€ that contains the address qrithin the +reE menoiq region belot|, rrhiEh the DiEpleg Handler cannot g o i n s e t t i n g o p s d i E p 1 t s 9s c i e e n . T h i E v 6 r i a b l e i s initialized to zero bg the OS et pourer.-up. A4
R A H T O P *! 0 0 6 A , 1 t - -
DiEplaq H€nd1ei tog of RAH addre6e (l,tSB)
R A I ' I T O PC e ! . m 3 n e n t l g r e t a i n s t h e R A H t o t d d d i e E E t h a t q , a e c o n t e i n e d i n T R A H S Z( a s d e s c r i b e d i n N 1 ) f o r t h e D i s p l s g H a n d l e t . , 6 u 5 e . T h e velue iE set up aE pert of Handler initializEtion. Ag
RA|ISIZ [OAE4, 1] --
Too o + R A M d d d t e s s
(HSB onlgl
RAt'lSIZ perfll€nsnt 1g retainB the RAtl top addreEs that uas.ont€ined i n T R A M S Z( a 6 d e s c i l b € d i n N t ) .
OPERATINO SYSTEM C O 1 6 5 5 5 - -
A p p e n di r L 211
S. TEXT./ORAPHICSSCREEN See Section 5 for e di6cu6Eion of the tert and their Handlerr.
and graph i€ E 6creens
C u r s o r C o nt r o I For the text screen aod split-sci,€en tex t {rindou there is a visible cur.Eor on the Erreen uhich sho{r5 the position of the nert input or output gperation. The cur.sor is iePresented bg inve.sinq the video of th€ chEra.ter upon uhich it re:iid€E, but the cuagor can be made invisibls, at the use.,s oot ion, The gr.aphirs screen dlu,a99 h€6 an inviFiblE €ur.sor. The cu.rot' and cEn be uhen using code6 that Bl
p03ition is sensed bg eremining d€t€ base v€riabI€9 moved bg alter.ing those s€oe vtriebtes; in €ddition, tha 6creen Editor., there are curEor rnoveoent contiol aan be Eent as d€ts (es expleined in SsEtion S'.
C R S I N HI O A F O ,1 l - -
Cursor di6ptag inhibit
flet
l ' r he n C R S I N H i s l . r o , atI outputE to the tert screen uill be folloured bg € visible curEoi (inverssd charecteir; end uhen CRSINH i9 non!eror no visibl€ EU!.sor lrrill be gener.€ted. CRSINH_is Eet to r.ro b! pou,ei-up, the tSySfEH. RESETI or tgREAKl kegs or an OPENcondand to the Displag Handler o? Screen Editof. Not€ that iltering C R S I N Hd o e E n o t E e u s e t h e v i s i b l e c u r E o r E o thanqe €tates until the next output to the €creen; i+ €n iilmediata changa to the curFor state is desired, uithout €ltering the scr€fen data, follo!, the CRSINH Ehenge uith the output o+ CURSORUP, CURSORDOl.lN, or sone other innocuous Eequ€nce. BA ROITCRS t O O 5 4 , 1 l a n d C O L C R St O O 9 5 , 2 l - position
Current
tursor
ROIJCRS (.ou and coI! n, a n d C O L C R Sd e f i n € t h e c u r € o i t o c a t i o n respaEtivelg) +or the nart data elenent to be r€€d *ron or kritten to th€ oain gcreen Eegment. tlhen in split-scaeen oodet the vaiiables T X T R O We n d T X T C O Ld e + i n e t h e c u r s o r f o r t h e t e r t uindou at the bottod of the sc.€en ae erDl€ined in B4 belou. The ro|, and colualn nulnbering 6tart uith the valu€ rero, and i n c r e a s 6 i n i n c r e m e n t E o f o n e t o t h e n u l t l b e r .o f r o u s o r € o l u m n s m i n u E 1i uith the upp€r Ie+t cornef of the screen being the or.igin (O,Ol. R O W C R iSE a E i n g l e - b q t E v a r i a b l e l r i t h a m a r i m u . [ € ! t o u , a b t e v a l l e o f 1 9 1 ( s c i e e n o o d e s 8 - 1 1 1 , C O L C R Si s a a - b g t € v 6 r i e b l e u i t h a naxifium allouable value o+ 319 (Ecreen mode 8). O P E R A T I N oS Y S T E HC O l 6 S s F - -
Appendix L
B3
O L D R O I I[ O A 5 A , 1 I a n d O L D C O L! O O 5 B , 2 1 - -
PFioF .ur5or
tosltion
OLDROIIand OLDCOL ar"e updated frolrl ROITCRS; and COLCRS}befot€ ever.g operation. The variablei u s e d f o r the DRATE are onlg J nd FILL oPe!'etions. 8 4 T X T R O W[ O a g O , 1 ] € n d T X T C 0 L t O 2 9 1 , e l position
--
S p1 i t - s E r e e n
tet t cut'so!'
T X T R O I Ia n d T X T C O Ld e f i n e t h e c u t s o r l o c E t i o n ( r o u , a n d c o l u m n , r e s p e c t i v e l g ) f o r t h e n e r t d e t a e l e m e n t t o b e t.ead fron or tritten to th€ 6D1it-screen tert uindou. The iou and column nLrdb€rin9 €tart {rith the value zero, end incraese in inETement6of one to 3 and 3?, r'espectivelq, uith the uppet Ie{t corner of the sp!it-Ecreen t€xt uindo!, being the origir!
(o,o).
S c i e e n M a ? gi n g The text screen and 6D1it-Ecreen text 0rindoo have uEer_€1t€rabl€ Ie+t €nd right nar'9inE that define the normal doo:in of the tert cufsof_ BS
L I ' I A R G Nt O O 5 2 , 1 l - -
Tert
coluon
left
maFgin
L M A R G Nc o n t a i n s t h e c o l u m n n s m b e r ( O - 3 9 ) o f t h e t e r t s c ? e e n l e f t rehain oD or to the right of the marlin, the text csrgor. uill le+t oargin aE a r'esult of sll opet'ationsr un1655 the cutsoa €o1unn variable ic direEtltj updeted b'J the user (5ee 92 and 84 is 2 and i: eEtebli6hed uPon ebove). The de+Eult v€lue for LI'IARON p o u , e r - u p o f 5 q 5 t e m r e 5 et . B6
R i ' 1 A R GtNO O 5 3 , 1 l - -
Tert
colunn iight
{laigi.n
Ri'{ARGN c o n t a i n E t h e E o l L , | n nn u r n b e r ( O _ 3 9 ) o t t h e t € r t 5 E r e e f l r i g h t mtsrgin, the text crrrsor l,i11 remein on or to the left of thE right margin eE E ierult o+ ell oper€tione, unlEEs the t!t3or coluon variable i.6 directlg updated bV the ueer' (see 82 €nd 84 is 39 and is e5tabliEhed abov€). Th€ de+ault value +or RHARGN p o u e r u p 5 v 5 t e n r e 5 e t . upon of
O P E R A T I N CS Y S T E Mc o f 6 5 5 5 - -
Appendix L
Color Control A s p a r t o f t h e s t a g . 2 V B L A N Kp r o c e E E ( s e e S e c t i o n 6 ' , t h € v a l u € E o + n i n e d a t a b a s e v a r . i a b l e 6 6 r e s t o r e d i n c o r r e s p o n di n g h a r d u a r e colo. contr'o1 t egiEter6. The color r€giEters are divided into ttro groUp9: the plager/missile colors end the plEqfield co1or6. The pl€qfield €olor rag iEterE are utilized b q t h e d i f + e r e n t s E r e e n m o de s as shoun in Appendix H. The pItsqei,hissi 1e coloF r.egigters are not used bg the etandard OS. 87
P C O L R O- P C O L R St O e C O , 4 l - -
plagsr/missite
graphiEs colors
Each color vaiiabl€ is gtored in the €orresponding harduare t . e gi s t e a a 3 ! h o u n b e l o u :
PCOLROIOzCO] P C O L R 1t o 2 c 1 l PCOLRzto2czl PCOLR3tO2C3:
coLPr,ro IDot2]
coLPi.l1 [ DO13] coLPMzCDO14I coLPtt3 tDo15l
E a c h c o l o r v a r i a b l e ha6 the forftat
Fhournbelou:
7 6 5 4 3 ? 1 0 +-+_+_+*+_+_+_+-+ i color ! lu'r| lr! +-+-+-+-+-+-+-+-+ See Appendir H for field vel u€8.
infor.mation fegar.ding the color
sE coLoRo - coLaR4 [oec5,9] -Each color vari.ble i6 stored r€g i Eter a9 shoun b€lorr:
coLoRor o a c 4 l coLoRt r 02c91 coLoR2tozc67 coLoR3rcacTJ coL0R4t o 2 c B l Each color
vdiiebl€
Pl€gfield
and Iudrinance
colorE
in the correspondinghdiduare
COLPFO t D o l 6 l COLPFI, tDo171 COLPF2 f D o l e l COLPF3 c D o 1 9 l COLSK T D O l A J h€6 the
format
Ehoun belolr:
7 6 5 4 3 2 1 A +_+*+_+_+_+_+_+_+ I color I lun iri +-+-+_+-+_+_+_.t_+ S e e A p p e n d i r H + o r i n + o i r n a t l s n l . e g a r di n g t h e c o l o r ' a n d l l l n i n a n c e field vel ueE.
214
O P E R A T I N GS Y S T E I ' IC O l 6 5 3 5 * -
Aependir
L
T€rt gcrol t ing The taxt uienever
sEr€ln or split-screen tert uindou,,,sct'olls,r ugorerd o n e o f t h e t r r o c o n d i t i o n s s h o u , nb e l o u o E C U r s :
o
A text line at the bottoo rou ot the Erreen ettends past the r . i g h t m € r 9i n .
6
A text EN
lihe at the bottoo rou of the screen is
teroinat€d
E.UL.
bq
Sc.,olling haE the offect of Ferloving the €ntire logicat tine that starts at the top of the scr€en and then moving ali EUbsrquent lines upuerd to fill in the void. The EUrroi ,ill al"o|r|o\r. uplrard i4 the Iogic6I line deleted ixreedl one phg3iEet tin€.
89
SCRFLC*tO2gB,1I --
Scrolt
+lag
S C R F L ei 5 a u o r l i n g v a r i a b l e t i a t E o u n t s t h e n u | r l b e r o f p h t r s i c a l l i n e s m i o u s 1 t h d t u e r e d e t € t e d f r o | n t h e t o p o f t h e Ec r € e n , s i n c e e I o g i E a l l i n e r E n g e s i n s i ! € + r o m I to 3, SCRFLC ranger fron O t6 2
Attr.€c t f'tod6 Attiaat noda is a oerhani6a[ th€t proteatE th€ television scra6n fro|n h€ving patterns ,'buined into,r the phoEFhorsdue to. fired displaq being 1e+t on the screen foa ertended geiiods of ti|ne. lfhen the .omput€r is left unettended for lnor6 Lhan g otnutes, the c o l o r i n t e n s i t i e E € r € l i t n i t e d t o g O p e r c e n t o f t n e r i m u ne n d t h a hu€E ar€ continuatlq v€ried everg 9.3 Fecondg. pies5ing .ng ftegboard date keq uill be suffiEient to reftove the ettraat fiode +or I nore fti nutes. AE p€r.t of the Etag€ 2 V8LANKprdcesE, the coloi registers fr.o.l the d.ta bEEe are 9€nt to the coFresponding hardruari color ie9isterEi befor€ thatJ €ie Eent, theg und.rgo the folloiring tiEns$oroation: h€tduaFa regiEter
;
database veiiabte
X O R C O L R S HA N D D R K l l S l {
Normall{ COLRSH= tOO End DRKHSK= *FE, thu5 oeting thr above calcul€tion e nul l opeiation; hoorever, once attraci ftoda bacolneg ertive, C B L R S H= t h e c o n t € n t o f R T C L O K + I a n d D R K M S K= f F 6 , t h a t ha€ the rtfect of fiodif{ing E}1 of the GolorE and |(eeping th€ir lutninance aluagE belo{l, the 50 perc€nt lev€1. SinEe RTCLOK+I lE incr.€ ented everg 256/60 of a qeEond end 6 i n E e t h e l e r r t E i g n i + i c a n t b i t o f C O L R S Hi 6 o f n o c o n r e q u e n c e , a OPERAIING SYFTEI! Col6igg
--
Appendir
L 2L5
.olof/1un 81O
€hange uill
ATRACTrOO4D,tl
be efferted --
Attr€.t
everq 8.3 6e.ondE (5lA/60:,
mode ti{ner, €nd fleg
ATRACTis th€ tim.r. (end +Idg) that Eontr.oli the initiation and tarmination of attr.aEt fiode. hlhenever s teqboard kerJ iE pressed, the legboer'd IRO s.rvice routin. sets ATRAaT to ..ro, tnu, teidineting €ttract nodei the IBREAK! keq logic behaves accordinglq. A s p e r . t o + t h e s t a g e l V D L A N K9 i o . . . s , ATRACTiE inErefiented everq 4 s€cond9; i+ the velue erceeds 127 (a+te, 9 oinut6s uithost tegboard aEtivit{}, t h e v € 1 u e o + A T R A C Tu r i l l be set to *FE and uill rstain that vatue until attr€Et fiod€ is teroinated. Since the att.6ct |node is pr.evented End based orlll upofl kegboard activitq, 6ooe A T R A C Tb a E a d u p g n A t € r i - c o n t a o l l e r €vent sser-controlled 6e!.ial I/O bus activitg Iife. 811
C O L R S H * ( O O 4 F ,1 l - -
Color
ihift
terfiinated bq the OS ssers cen {tant to r,eEet detection, or ang other Eigns of
n€sk
C O L R S Hh a i t h e v a l u e i O O { r h s n s t t r a c t node is ioactive, off!cting no Ehange to th€ scae€n colois, uhen attrEct a c t i v e , C O L R S H€ o n t e i n E t h e c u r r e n t v a l u e o f t h e t i n e i (RTCLOK+I'. m i d dl € d i q i t 812
D R N I ' I S K *C O O 4 E1, l - -
Dark (luoinance)
thu6 mode ig veriable
nas*
D R K I { S Kh e s t h . v r l u e O F E o r h e n E t t F a r t | n o d e i s i o d c t i v e , uhich does not rlter tha lufiinenE€i and hEE the value $F6 uhen 6tt.act mode is active, uhi.h lorces the most Eigni+irant bit of the lufiinan.e field to rero, thuE guaranteaing thet the lunin€nce !riIl neve'|. erceed 50 per cent.
T e bb i n 9 ge€ Section 5 for a di5cu5sidn of the use of t€bs in conJunction ui th the Screen Editor. 813
T A B I I A Pl O t A 3 , 1 5 1 - -
Tab Etop setting
nap
The tab settings ar.e retained in a 15-b9te (1?O bit) f|lap, urhere bit value o+ 1 indicatee a tab ietting; the diagrad belou sho{rs the mapping of the individuel bitr to tab Dositione.
OPERATINGSYSTEI{ C416555 -2L6
Appendix
L
7 6 5 4 e e 1 0 +-*-+---+---+---+---+---+---+---+ t o i l. i 3 t 4 t 5 t 6 t 7 t TABHAP+O +---+---+---+---+---+---+---+---+ +1 I I i 9 | 10r 1M2i 13! 141 151 +---+---+---+---+---+---+---+---+ I t +---+---+---+---+---+*--+---+---+ | 1 1 2 t1 1 3 !1 1 4 i 1 1 5 ! 1 1 6 | 1 1 7 ! 1 11A1t9 i +---+---+---+---+---+---+---+---+
+14
f,lhenevet the Displag Handlef or screen Editor is opened, thiF nap is initialiled to contain the value of $O1 in ev€.{ b{te, thu6 providing the default tab 6tops at 7, t3' 23' ett.
L o gi t a I T e r t L i n e s the tert sc?Fen iB invisibtg eaEh coftpr.iEing fiom one to Ecr€en iE initietiz€d to 24 e€ch; but d€ta €ntr.g and/or of e logical lins to tuo ot. 814
--
LOe AP* to28e,4l
divlded into logiE€1 line€ of tert, The three phrrsiEEl. 11nes of tert. loEical lines of on€ phgsi.al lin€ data insartion can inctease tha size thiee phqFicel 1!.ne6.
Lotical
line
starting
rou nep
The beginning phgsi.sl line n{mber for each logical lina on the scieen is ietained in B four bqte (32 bit! map, uhere e bit velue of one indic€ter th€ Etart o+ a logicel line; the diagraft belou shoos the napping o+ th€ individual bitE to phgEical line (rourl n u t n b€ r 3 .
7
b
3
4
3
2
1
0
+--+--+--+--+--+_-+--+--+
I cr 1l 2i 31 41 9l 61 7! +--+--+--+--+--+--+--+--+ I al 911oi11112113i141191 +--+--+--+--+--+--+--+--+ i 16i 17| lql t9 t20't2L i22i23i +--+--+--+--+--+_-+--+--+
LOoHAP+O +1 +2
+--+--+--+--+--+'-+--+--+ The map bitE aie tsl1 Eet to 1 {rhenever the tert screen i5 opened or €1€ared. F?om that Coint, the oap i5 upttEted as logical 1i.ne5ere entered, edited and deleted ft.om the 9c?een. i O16555 -O P E R A T I N eS Y S T E I ' C
Aependir , ,r,
L O C C O L +t O O 6 3 , 1 I - -
815
CurEor/1ogical
line
column nu|noe.
L B e C O Lc o n t a i n s t h e l o E i E E l - l i n s aolumn numb€r +or the coar€nt aurEor poEition, note that a logicel IinE can cooprise up ro three phgsicel lin€s. ThiE v€riabl€ is for. the internal use of the Di sp1aq Hendter.
goIi,t
Screen
The Displaq Handler and SEr€en Editor. together support the operation of a split-s.r€en oode (ges Sartion F) in uhich the nain portion of the screen is in one o+ the gr.EPhic5hodes and ig cont.olled b9 the Di6pla! Handler, €nd ther€ are 4 phgiical lines in the tert uindou, et the bottom of the sci€en uhirh is .ontrolled bu th€ S c F e e n E di t o r . 816
B O T S C R *t O a A F , 1 I - -
T€xt 5ci€€n
B O T S C Rc o n t a i n s t h € n u m b e r screen: 24 for node o oi 4 €lso uE€s this var.ia61e a6 Etatus, tests eF6 nad€ for
of +or an the
IineE
count
lines of tert +or the Eurreni a Eplit-screen ||lode. Th6 Handter indication of the sqlit-Tcr.sen 6pecific valueE 4 and 24.
DRAUI,/FILL F{rnction The DRAI,funEtion line dr5tring algorithn is shoun b€Io(l, tranelatld to the PASCALlang!age +|.on aseemblg tangrage.
Ngt{Rot.l = ROI{CRS; NEIICBL : = CBLCRS, DELTAR ROWINC
ABS ( NEWROW-OLDROW }, SIGN (NEWRO{J-OLDRBIJ ); { +1 or -1
DELTAC CI]LINC
ABS ( NEI.'COL-OLDCOL}; SIGN (NEIICOL-OLDCOL T, t +1 or -1
}
R O W A C: = O i C O L A C : = O ; ROI.JCRS := OLDRO{, CULCRS := OLDCOLT COUNTR := MAX (DELTAC,DELTAR); ENDPT := COUNTRi IF CI]UNTR = DELTAC THEN ROIIAC : = ENDPT DIV 2 ELSE COLAC : * ENDPT DM, I.IHILECOUNTR>ODO BECIN OPERATINE SYSTEI'IC O 1 6 5 5 5 - ?14
A p p e n di r L
ROttAC i= ROl.lAC+ DELTAR, IF ROt^lAC)= ENDPT THEN EE6IN ROt^lAC:= ROWAC- ENDPTT ROHCRS:= RO|ICRS+ ROWINC ENB; COLAC :* COLAC + OELTAC, IF CALAC )= ENDPT THEN BEEIN COLAC := COLAC - ENDPTT COLCRS := COLCRS+ CALINC END, P L O T _ P O I N T ,t F o i n t
de+in€d bg ROWCRa Sn d C O L C R S)
IF FILFLG <> O THEN FILL_LINE' CoUNTR := CAUNTn -
1
ENO; The FILL funrtion SeEt i,on 5.
817
€lgorithm
F I L D A T I O A F D ,1 1 - -
Fill
(FILL_LINE above' iF described briaflq
data
FILLDAT containE th€ fill reqion data v€lue aE peit sequEnce foi a FILL rofl{nand as d€sciibed in Section
BlB .-
FILFLo* tO287, 1l --
Fill
in
of th. 9.
calling
flag
FILFLC indi€ate€ to the shEred code uithin thc Diiplig Handl€r' !,hether the rurrent op€ration is FILL (FILFLG <> O' or DRAII (FlLFLc = O). 819
NEIIROII* [0060, 1l and NEWCOLi+tOO61,2J --
D€stin€tlon
point
N E l . l R O t€Jn d N E I I C O La r e i n i t i e l i r . d t o t h e v a l u e E i n R O I { C R Sr n d €ndpoint of the DRAW/FILL C O L C R S ,' r h i c h i s p r e s e n t t h e d e s t i n a t i o n c o m m a n d . T h l e i 5 d o n e $ o t h a t R O I I C R Sa n d C O L C R Sc a n b e e l t e r e d during the p€rforoanEe of the coomand. B2O HOLD4* fO28C,1l --
Temporarq sto.aqe
o P E R A T I N GS Y S T E MC O l 6 5 5 5 - -
Appendir L
2L9
HOLD4 is used to save and restofe t h e v e l u F i n A T A C H Rd u r i n g t h e F I L L p l " o r e E E i A T A C H Ri s t e m t o r a r i l r J s e t t o t h e v € l v e i n F I L D A T t o a..otopli6h th€ fillittg portion of th€ comnand. 8 2 1 R O W I N C * [ O O 7 9 , 1 ] a n d C O L I N C T .I O O Z A , t I - incIeanent/dec"e ent
Ro{r,/cotumn
R O W I N Cd n d C O L T N Cd r e t h € r o u s n d c o l u n n i n c r € n e n t v a l u e 6 ; t h e g ere eech Eet to +1 or -1 to control the bdEic direction of line dralring. ROI',INC End CULINC repr.eEent the sign6 of NEI.IROHROI'rCRSand NEI|COL - COLCRS, r.eEpertivelg. BAe DELTAR* tOO76, 1f and DELTAC* EOO77,A7 -col umn
Delta
rou
and delta
DELTAR and DELTAC contEin the absolute values of NEITROH- ROtrCRs - C O L C R S ,f e E p e c t i v e t g , and NEI'rCOL t o g e t h e r u , i t h R O W I N Ca n d CtILINC, thet, define the Etope of the lin€ to be draun. 823
C O U N T R *[ O O 7 E , 2 l - -
Drau iteration
count
C O U N T Ri n i t i € l l q c o n t a i n s t h e l a r . g e r o f D E L T A Ra n d D E L T A C , t h a t i9 the number of iterations Fequir.ed to gen6r€te the desi?€d l i n e . C O U N T Ri s t h € n d e c r e m e n t e d a f t e r e t e i { p o i n t o n t h e t i n e i s plotted, until it reache6 € value of zero. 824 ROI.,AC* [OO7O,2l
end COLAC* tOO7a, ?1 --
Accunutators
RO9TAe Cn d C O L A C € r e u o r k i n g a c c o m u l a t o r . E t h e t . o n t r o l the !.our-and cotuftn-point plotti|rg and increfient (oi decpelllrntl +unction.
B?3
ENDPT* tOO74,2t --
Line l e n g t h
E N D P Tc o n t a i n s t h e l a r g e r o + DELTAR and DELTAC. and is used in c o n J u n ct i o n u i t h R O I , A C / C O L AeC n d D E L T A R / D E L T A Ct o c o n t r o l t h € pl o t t i n g o f l i n e p o i n t s .
Displag inq Control
Cha.acterE
O f t e n i t i s u s e f u l t o h a v e A T A S C II c o n t r o l E o d e s ( 3 s . h a s C L E A R , C U R S O RU P , e t c l . di5pla'Jed in th€ir graDhi. foi$s initead o+ iaving thenl perforo their. contr.ol tunction. Thi€ di.3plag cepabilitg is provided in tqro +oros {rhen outputting to the Scieen Editor: 1, a data Eontent +or(n in ohich a ipe.ial character (ESC' precedeF eaah cont,iol charaEter to be di6plaqed and Z) a oode contio 1 form.
220
O P E R A T I N OS Y S T E HC O 1 6 5 5 5 - -
Appandix L
Escape (Diiplarj Follguin!
Controt Cha.acter'
l,rhenever an ESC .heraetei ir detected bg the Srre€n Editor, the n.rt cha.a.ter follolring thiE Eode iE diEpl!ged as d€t€, even if it lrould noFrnallg b€ treatrd aF t Eonti'ol code, the EOL rode iE the 9ola ercaption. It is aIuaVs treated €B e contr.ol code. The geEuenae ESC ESC uill caugo the setond ESC EhareEter to be dieplaUdd. 926
ESCFLO* tO2A2, lt
--
Escepe +Iag
ESCFLCiE uEed bg the gcreen Edito" to control the eEc€pe tequenEe funEtion; the +laq is set (to tao) bg the deteEtion o+ (td O) 3n ESC ch€ract!r. (llE) in the dat3 etreafi end is r.set follo{ring th€ output of the nert charrctei.
-
DiEp!a{
Control
Chtsracter.Elvlode
trhen it i5 deiired to displag ATASCII contfot €odes oth€r' thar EOL in thair gFaphiEe forfi, but not have an ESC thar€ct€r agEociat€d irith eeEh control code, r dlsplaq tlode can be estEbliihed bg Eetting a flag in the deta bE3e. This capabilitg i s u s e d b g l € n g u a g e p r . o c e s E 0 1 6q r h e n d i s p l E g i n g h i g h - l e v e I language Ftatalaents, that cEn tontein cotttrol Eodes at data e I enent 5. 827
DSFFLe [O2FE,1] --
DiEplag contiol
characterr
flag
t r h e n D S P F L Ci E n o n z € f o , A T A S C I I c o n * r o l c o d e 3 o t h e r t h e n E B L 5 r e treated as data and diEplaged on the scr€€n uhen ostput to the S i c r e e n E d i t o r . . t l h € n D S P F L Oi E z e r o , A T A S C I I . o n t . o I codes are n o r : l t g . ProEe:sed
RESET]. DSPFLCis set to zero b{ Po{rer-up and [SVSTgt'{.
Bi t-Hepped eraph i.s A nuanber of t€lrlporerg variableE ere us€d bg the DiEpleg Handler g o i n g t o o r + r ' o mt h e E c r e e n i uhen h€ndling data elenentc (pirrlE' of inter.e5t her€ ate those veriahleE that €i€ used to control the pEc|(ing and unpacking of grephics deta, tth€ie a mElnorgbgte tgpicallrJ Eontains mor€ than gne date eleoent (tor exanple, 6creen node I contsins I pixel5 per |tl€fior{bgte). 828
O H A S X * [ O 2 A O ,1 : - -
Pixel
location
m€st
OPERATINOSYSTEH cO16355 --
AteEndix
L
221
D I ' I A S Ki s a m E s l t h a t € o n t 8 i n s z e r o 6 f o r a l 1 b i t 6 t h e t d o n o t cotaeEpond to th€ speEi.fic pixel to be opereted l,pon? eno 1 ' 6 f o t a l 1 b i t E t h a t d o c o r r . e s p o n d . D I I A S Kc a n c o n t a i n th€ vslu€5 6houn belo0, in bin3rq notetion: 11111111 --
Fcra.n mode6 l snd A, one pixel
1 1 1 1 O O O O- 00001111
6cieen ftodes 9-11,
l 1 O O O O O O- oo1 10000
Ecreen oodes 3,
1 O O O O O O O- o1000000
scr-sen ood.s
turo pir€lE
5 and 7,
paF bqte.
p6r bqEe.
+our pirels
per bgte.
ooooltoo oooooo11
4, 6 and &
eight
pixelB
pe? bgte.
ooooool0 oooooool 829
S H F A I I T * [ O O 6 F ,1 l - -
Pirel
JUsti+iEation
S H F A M Ti n d i c a t i s the anount to shift the right-Justified pirel data on output, or ths amount to shi+t the ingut dat€ to riqht it on input. The value is alrrregs the saoe aE for DMASK Ju6tif! prior to the JUstific6tion p.ocess.
I n t e . n a I l ' r o r . ki n E V e r . i a b I e E 83O
HOLDI* tOO51,1l --
Tedpoi€rq
831
HOLDa* tO29F,17 --
Tempo.€rq storage
832
HOLD3* lO29D, 1l
833
Ti'IPCHR* !OO9O, tl
834
D S T A T * [ O O 4 C ,1 l - -
Disptag
statuE
835
DINDEX tOOi7, 1l --
Disptag
tnode
DINDEX aontaini order +our bits 836
---
Teftpoierg Teoportsrg
Etorege
Etorage stor.eg€
the curI.ent screen ftode obtained +r'oo the o f t h e o o E t i e c e f l t O P E NA U X 1 b u t e .
SAVI,|SC[OOS9, al
--
1ou
Sareen I'leoor g A t l d r e 6 s
SAVI'1SCc onta inE th€ I o u e s t a d d r . e s s o f t h e s c r e e n d a t a . a g i o n ; t h e data at that addreEE i5 displaged at the upper Ieft corner of the sct'een. I I P E R A T I N GS Y S T E HC O 1 6 5 5 5 - -
Appendir
L
837 -
O L D C H R *I O O S D ,1 1 - -
Cursor'
Eav€/r€stors
O L D C H Rr . e t € i n s t h e v a l u e o f t h e c h a r e c t e r u n d e , t h e v i s i b l € t e r t cnrt6ori thi6 variable iE uged to re6tore the oaiginEl character velue uhen the cuasor is moved83€ OLDADR* IOOSE,2l --
Cursor
|tlemorg addresg
S L D A D Rr e t r i n s the memorg address o+ the Gurrent vi6ibte tcrt cursor location, thiE v€r.i€bl. i6 used in conJunction !rith OLDCHR (837) to Fe6tore the origlnat chafaater valua uhen the curror rs
--
839
ADRESS* tOO64,?f
B4O
HLTTTiP/OPNTHP/TOADR* 10066,2l
841
SAVADR /FRI'{ADR* [OO6E,2l
842
g U F C N T * t O O 6 8 ,1 l - -
gcreen Editor
843
SUFSTR*[OO6C,2t --
Tanporarq Etor€g€
844
S I I P F L C * C O O 7 B1, l - -
SgIit-i.reeo
Tefiporerg
--
Etorag. --
Teopor.rig
t€hporair,
Etorage
storage
cu.r.€nt
cursor
logical
!ine
size
rontrol
In split-screen node, the graphirs lurror. data and ths t6rt {rindou cu?ioa dat6 aae +requentlq suapped a9 shoun b€lou in oidea to get th. variables as:ociated trith the region being ac.essed i n t o t h e F O I I C R S - O L D A DvRa . i a b l e E . ROI{CRS 82 ------caLcRs 82 ------DINDEX 835 ------
sAvHsc 836 -----oLDROlt S3 ------oLDCOL 83 ------oLDCHRS37 -----OLDADRB3A ------
TXTROI| 84 TXTCOL E4 TINDEX 949
TXTMSC85e TXTOLD853
SWPFLG is uced to Leep ti.e.t of q,hat data 5et i5 currentlg in the R O I T C R S - O L D Ar .DeR g i o n ; S W P F L Ci s e q u a l t o $ F F 0 r h E nE p l i t - t c . e e n t e r t u r i n d o u c u r . s o r !d € t E i s i n t h e m a i n r e g i o n , o t h c r r r i s a S W P F L O iE eq(]dl to O. 849
INSDAT* IOO7D, 1l --
Tenpoierg
3to.ate
OPSRATINO SYSlgll C016559 --
Appendir L 223
846
Tt'tPRO[{r.tO2B6, 1] and THpcoL* CO289,2J --
447
TMPLBT* [OAA1,1l --
Tenporaig
B4g
SUBTiIP* fO29E, 1l --
Tenpor.erq storege
849
TINDEX* tO293, 1l --
Split
Tempor€rs
srorase
Etorage
scr€e'| tett
uindo{r, screen |node
TINDEX ir the Eplit-screen tert trindou equivalent of DINDEX and is e l u e g r . q u e l t o r e r . o u h e n S W F F L Gi s e q u a t t o r e r . o ( s e e 8 4 4 ' . B9O
g I TI.ISK* [OO6E, 1] --
851
LINEUF* toe47,4Ol
Teftporaig
--
phrJsical
stor.ate line
bu+fe.
LINBUF iE us€d to teftpore!'i1{ buf+er one phgEical line uh€n the Scrlan Editor iE moving gEreen data. 452
T X T I ' I S C8 0 2 9 4 , 2 7 - -
T X T I { S Ci e
the split-sqreen
See 844 foi 853
tert
tert
Ecieen memorq addr.ess uindo{, veriion
o f S A V M S C( 8 3 6 } .
|tlorc informatibn.
TXTOLD* toe96,6l
SEs 844 foa oore
Ioternal
SpIit
of
--
Solit
sEreen cursor
det€
infoifietion.
Chararter
C o d e C o n v e a si E n
Tuo variableB tie q6ed to iet€in the rurrent chEra.ter being P r o E e t E a d ( f s r b o t h F e e d i n g a n d L r r . i t i n g ) , A T A C H R. o n t E i n s t h € valqe 9a3ted to or +rom CIO, end CHARcontEins the inteinal code tot.ieiPonding to the value in ATACHR.SecEuEe the h5rduare doeg not inteip.ct ATASCII character.s directlg, the transformations ihoun balou EFc rppliad to a1l tert date reed End uritten:
ATASCI I CODE oo-lF 20-3F 40-5F 60-7F 80-9F
INTERNAL CODE 40*5F OO-IF 20-3F 60-7F CO-DF OPERATINe SYSTET'ICOl6593 --
224
Appendix
L
AO-AF CO-DF gea P26 for
EO-9F AO_EF EO-FF
arore i n f o r f i . t
S 5 4 A T A C H RI O A F S , 1 l - -
i on.
Lest ATASCI char,€Eter o.i ptot
point
A T A C H Rc o n t e i n s t h e A T A S C I v a l u € f o r t h e n o s t r . c € h t E h e r a c t e i r€ad or !r.itten, o. the valse of th€ gr.aphitE point. ThiE variabte can 61i. be conEidored to be e parameier of th€ F I L L I D R A I { c o f i n a n d s , a r t h . v a t u . i n A T A C H Ro i l } deteroine the line cotoF rrhen a DRAI,or F'LL i6 per+or.ned. 859
C H A R * I O A F A ,1 l - -
tntern€l
C H A Rc o n t e i n ; t h e i n t e r n E l c h a r a ct € r r e a d o r t r i t t € n .
cheracter
eod6 v6lue for
code the doEt recant
C. DISKETTE HANDLER S e e S e c t i o n 5 f o l ' a d i . E c u s E i o no + t h e r e s i d € n t D i i t e t t e Cl
S U F A D R *t O O l 9 , 2 l
--
Data bu++er pointer
E U F A D Ra c t s e E t € n p o r a r . g p a g a z e r o p o i n t € r ' d i s L e t t e bu f { e r . C2
D S K TI I ' l * 4 0 2 4 6 , 1 l - -
HendIea.
Dist
forost
to the .urrent
operation
timeout
tilne
DSKTIR.ont.inE the tioeout valu€ for" SIO calling s€quence v a r i € b l e D T I M L O ( s e e S e E t i o n 9 ) . D S K T T Mi s s e t t o 1 6 0 ( u h i c h repr€sent3 e 171-s€cond tifieort) €t initialilation tio€, 6nd i5 updeted after each diEtettE statuE reqlrest operation. It contains th6 v a l u e r e t u r n a d i n t h e t h i i d b g t e o f t h e s t a t u E + r . e m e( e e e S € c t i o n 51, Note that al1 diElette oDer€tionE other thEn +ormat have a tired (7t se.ond timeout, eEtablished bU the Di6kette llandler.
D. CASSETTE Se€ Section 5 for a general description of the CaEEette Handler. The a a s 9 e t t e u s e s t h e S e a i e l I / O b u s h E r d u a i e , b u t d o € s n o t c o n f o r m !ri th t h € S € r i a 1 l / O b u s p r o t o c o l e E d e l i n e d i . n S s c t i o n 9 . H e n c e , t h e Ser ia I OPERATINGSYSTEI,ICO16559 --
Apgendir
L
(SIO, haE caEEette €peci+ic code uithin it. sone veriables I/O utilitg bg SIO End 6ooe bg the CaE€€tte in thiE subsection Ere utilizsd H e n dl € r .
Baud Rate D6terolnatidn The input baud rata i! assum€d to be e no|nlnal 600 baud, but uill be €dJUrted, if neEesEa!'!, bg the 5IO routine to account fot. drive-dotor variationE, .tretched tape, etc. Th. beginning of 1'3 and evetg saFratt€ record containg a Pettetn of alternating bg aneasuiing th€ reror that ic urad iolslg for Fpecd corr€ctiont baud rete the taue-ret!ive tina to "a:d a firad nsltlbei o+ bitg, InPut baud is d6t.r.fiined and th. haiduere adJutted a..ordinqIg. be handl€d i'ater..ngin9 frofi 319 to 14O7 baud t€n th€oieticallg uBing this t.chniEU.. the POKEY.ountcf that
The input basd ..1. is adJusted bri s€ttinq contigl€ the bit rarrpling pe.iod. Dl
CBAUDL* [O?EE, 1l
and CBAUDH* [O2EF, 1l
--
baud tate
Cassette
InitiaIi..d to OsCC h€r, uhich rlpFeEent3 . nodrinrl 600 baud. Eontain POKEY !riIl thsEe vaiieble5 Aft.r b.ud rat6 calE{rlation, count€r vdluag for the coaaerted baud rEte. DP
TII'IFLO* tO317, 1l --
Baod ratG
dete.nination
flag
tioeout
TIHFLO ir urrd b{ SIg to timeout a. uneucceEEfol bNud rate set to 1, end i+ it attainE E dete.nin.tion. The fleg iE initiallg v81ue of zaro (a+ter 2 s€Eonds) before the f ir'st bqt€ o$ the cassette be abor'ted. See Elgo He4. reeoad he3 becn read, the ooei6tion uill D3
TII'IERI* [O3OC,2l and TIMSR2+ tO31O,2l --
Baud rate
tim€rs
The3e timerE .ontein referenEe tifiee fot the beginning end end o+ bgte of each the fircd bit eett.rn r.e.€ive pF.iod. The first { o o ntar valus reed l i n e E u r r € n t v e t t i c a l a o n t a i n s t h a t h e n tinrr c o n t€inE the then o f e a c h t i n e r A N T I C , E n d t h . e e E o n d b q t e fron o * t h e OS "e€1 time b g t e t h e 1 e € 5 t s i E n i f i c a n t ru.r€nt value of ( clocl RTCLOK+2). The diffeienEe coqnts end is int€Fgolation
D4
batueen the tifiers is colverted to tagter Peir than u5ed to perfol'lt a t6bl€ lootup uith t o d e t s t i n e t h e n e u v a 1 ! s 5 f o ! ' C B A U D La n d C B A U D H
A D D C O R *[ O 3 O E ,1 l - -
tntet'polation
adJUEtfie[t
O P E R A T I N eS Y S T E HC O l 6 5 5 5 - 226
vetiable
Appendir
L
A D D C O Ri s e t e l l l p o r a ! - g v a r i a b l e u s e d f o r calcslation o+ the above computation.
the
DE
TEHPI* tO312,21 --
Tehpo.ia.r, storage
D6
TEMPS* fO319, 1l --
Temporar{ stotage
D7
SAVIO* 80316, 1l --
SeriEl
in
it|terpolatton
dEta det€.t
SAVIO i5 uErd to ret€in the stat. o+ SKSTATIOAOFI bit 4 (seri.l data in', it is uEed to detect ({nd ir updated aftdr} eve.{ bit a.r i.vE L Cassetta Dg
l , l o de
CAgFLe* COaOF,tl
--
C.srette
I/O
ftat
CASFLCis uF6d intern:tllg bq SIO to control thr progr.ft {loll, thr.ough sher€d coda. A valsa of zero indiEata! that the rurient operetion it a standaad Serial I/O bug oteration? aDd e norrerg v€lue indicates a ca6s€tte ooeration. Cassette D9
8u++er.
C A S B U F * I O S F D ,1 3 1 1 - -
C A S B U Fi E t h e end unFacting raEiette-boot in the buf+e.
CaEsette record
buff€r.
bu++er uBed b9 the Cersettr H.ndlci for th. packing of casEette-t'ecofd d.ta, and b{ the initializatiorl Iogic. The foilnat for the stand8id tessett€ .ieEord iE Ehoun belou:
7 6 5 4 3 2 t O +-+-+-+-+-+-+-+-+ io I o 1 0 1 01i +-+-+-+-+-+-+-+-+ l o 1 0 I o 1 0 1! .i-+-.t-+-+-+-+-+-+ ! control b{t. +-+-+-.f-+-+-+-+-+ ! 1aa = detd i bqtes +-+-+-+-+-+-+-+-+
See Section 5 foi formet.
CASDUF+O +1 +2
I
€n €tplanation
!
+130
I
of the itandard
OPERATINGSYSTEM COt6959 --
casrette-record
Appendix
L
?e7
Dlo
gLIt{*
to2gA, 1l
--
Cassette r.ecord dtsta 6ir€
BLIl.t conts inE the count o f t h e n u n b e i o f d a t a b q t e 6 i n t h e c u r r e n t c a s g e t t € ! e co r d b e i n g r e d d . B L I M u i l l have a value ranging froft 1 to 128, d e p e n d i n g u p o n t h e . e c o r d c o n t r o l b ! t e erple ined in gection 5. Dl1
E P T R * [ O O 3 D .1 l - -
C€66ette-r€cor.d
as
d a t E i,ndi x
B P T Rc o n t a i n s a n i n d e x i n t o t h e d a t a p o r t i o n o f t h € c a sr e t t € .eEo|.d being read or uritten. The value uill range frodr O to the then cur..nt value of BLIH. When BpTR equets B L I M t h e n t h e b u f f e r (CASAUFt ii ft,l1 i+ !,r iting o . r . e m p t g i + r . e a dr n g .
Int€ina 1 lJo"t ing Veriablei D12
F E O F * [ O O 3 F ,1 ] - -
C€ss€tte
end-of*fite
+1ag
FEOF is used bg the CaEsett€ Handl€r to +lEg the d€tection of an end of file condition (contr.ol bgte = 5FEl. FEOFe{u€1 to zero indicates th€t an EOF h€E not vet been detect€d, and a nonzero valoe indicetei thEt en EOF hsE be€n deteEted. The fl€g iE reset at evet g OPEN. D13
F I Y P E * [ O O 3 E ,1 l - -
Int€r.reEord
gep t!pe
FIYPE ie a cop{ of ICAXzZ from the OPENcofi and end indic€tes the tgpe of interaecord gep selected; a positive vElue indicateE noroal r.ecord gaps, and a negative velue indiEateE continuous n o d e 9 a ps . D14
I'MODE* to zBq,11
--
CEEsettG read./urite
node +lao
HI'IODEie ueed bg the C a s s e t t e H a n d l e t t o i n d i E a t e u h e t h e r t h € E u r r e n t o p e r € t i o n i E a re€d ot uriit€ opefation, E value of za!.o ind i.ateg r€ad, End a valu€ of $8O indicate5 urite.
D19 FREo* too4o, 1l - -
Beep count
F R E Q i s u 3 e d t o i e t e i . n a n d c o u l l t t h e rlu. nber of beeps r e q u e E t e d o f th€ BEEP routine b g t h e C a 5 s e t t e H E n dl e r d u r . i n 9 t h e OPEN c ommand proEess.
OPERAT'NG SYSTEMC O 1 6 9 5 5 * -
A pp e n d i r L
E. I{EYBOARD Sre Section I
fot. a gener.l
dascription
of the Keqbolrd Hendter.
Keg Re:d ing end DebooncinE Th: Eonsol6 |(eg Eode r€giator. iE rrad in rerponE6 to an IRO interrupt that iE gener.ted trhenevEr a trg Etr.ol6 i3 deteatad bg the harduare. The keg code is comparcd rrrittr tha prioi |(€r, .ode accept.d (CH1)i i+ the cod€E 6ie not identical, then the neu God€ i5 accepted and stored in the &e! code FIFO (CH) and in the prior ke{ code vari€b16 (CH1}. If the codeE ai.e id€ntieEl, th.n the neo co.le ii accepted onlq if a EUitable teg d€bou.cr delaq ha5 gince the prior value uar accegted. tranipir€d I * t h e f t e t Jc o d e r e e d a n d a r c a p t e d i E t h . c o d e f o . I C T R L I 1 , t h a n the displEg 6ta.t/stop fteg (sSFLAC, is comptefiented ard the value iE not itored in the t€q code FIFO (CHl. In addition t o t h € t e a d l n g o + t h e * e g d e t E , S R T I I . I Ri E s e t t o t g o f o i a l l l n t e r r u p t 6 r € E e i v e d ( r e e E 8 ) r a n d A T R A C Ti s r € t t o O u,neneveie neu code 1s aE.!tt€d (see BIO). The Kegboard Hsndler obtains all keq dsta frofi CH, lrhenevar s code is ertrEcted fron that 1-btJte FIFg, th. H€ndtet store6 a v€lo. of *FF to the FIFO to indtcatc thet tha code has been Fe.d. see Sertion 5 for further. diEcuesion of the Keqbo€rd Handler,B proc€6sing of the lerJ codes
E1
C H l + t O 2 F 2 ,1 l - -
Prior
legbo.r.d Eh6r'€cter .ode.
CH1 contains the kelt code v€1ue of the leg moit r6a€ntlq Ecc€Dted.
E2
KEYOSL* TO2F1.1 l - -
r€ad and
Debounce delag tifter.
KEYDELi.e set to a v a l u e o f 3 u h e n e v e r a k € { c o d e i s a c c e p t e d , and i6 d€cr.einented everq 6oth of p.ocesE (unti I it i€ache6 !ato ).
C H [ O 2 F C ,1 I - -
a iocond bq the stage 2 VBLANX
KerJboard character
Gode FIFO.
CH i5 e l-bgte FIFO that contains either. the vallje of the most recentlg r.ead and dccepted keV code oi the value 3FF (rrhteh indicateE that the FIFO is enptg). The FIFO is norilell{ reed b{ the Kegboar"d Handler, but ctsn be r.€ad bg e uEei program. Keq data can also be gtor.ed into CH bg the Autorepeat logic etplEined in the discuEsion relating to Eg. OPERATINOSYSTEI'{CO14S59 --
Appendix
L
€s
S p e c i a l F u n ct i o n s Star t/5top Displa{ Handlei and sicr€en Editor. output to th€ text or. gr6phics noda 9c.een cen be Etopped end sta.ted (ryithout lo3ing ang o+ the output date) through the use of the tCTRLI 1t€t, coftbination. Each leg depreE€ion toggIeE a flag thet iE monitored b{ the €bove |'€ntioned Handlers. trhen the flag is nonzer.o, the handlerE uait +oi it to 9o to zero be+oi'e eontinuinq anrJ outputE4
SSFLAC [O2FF, 1l --
Stert/Etop
f1a9
The +lag is noamallg zero, indiceting that Ecreen output is not to be stoppEd. The +la9 iE Eomplefierted bg everq occurrence of the ICTRLI 1&eg conbination bg th6 leqboafd IRG servi.e routine. The +lag ir.et to k a g p r o c e s Ei n g .
.ero
upon pouer-up,
I S Y S T E MR . ESETI o.
IBREAKI
IBREAXJ Keg E5
B R K K E Yt O O l 1 , 1 !
--
TBREAKI keg +1€g
E R N K E Yi E s s e d t o i n d i c a t e t h e t t h e t B R E A K I t € ' , h € E b e e n p i e e s e d . Tha v€lue is nornallq nonzero i|nd is set to zero uheflever the IBREAKI keq is presEed. The cod€ that deteEt6 and pror€EE€E the tBREAKI condition (+1ag = O) Ehould set the ftag nonuero 69ain. S R K K E Vi s o o n i t o ! ' e d b g t h e f o l l o u i n g OS ?outine6: Kegbo.rd Handler, Displeg Handlei, Scr€€n Editor, CasEette Handler, xx? T h e d e t e . t i o n o + a f B n E A K l c o n di t i o n d u r . i n g a n I / O o p e r E t i o n tlill caus€ the ope?ation to be aborted and € Etetus of $8O to b€ returned to the user. The +1ag ii Eet to nonzero upon Pouer-lp, aborting E pending L/O operation.
C S Y S T E IR 4 .E S E T I o r ' ! p o n
ISHIFTI/ICANTRALI Lock ThE l€9bo€.d contr.ol haE thl.ee different genaration that applrJ to the €lph€betic 1' norm€1, 2) caps lock, and 3) control
lnodesfor code *ege A throuqh Z: 1oc|(-
O P E R A T I N CS Y S T E h C U 1 6 9 5 5 - -
Aerendir
L
In normal node, e1l lnmodified alphabetic character the lourerEare letter ATASCTI code (t61-7A).
leqs generate
In c€pE loct ftode, €11 unmodified alphabetia charaEter kEgE generate the upperca3€ letter ATA$CII .ode (+41-9A,. In tontrol loct node, Ell unnodifi€d .tphabetic character generate the (ontiol Ietter ATASCII cod€ (lO1-1A).
keg5
In all thrre mod€E, an{ alphabetic char€rtEr |(eg that ic oodified (bg being pressed in conJUnEtion '!ith the tgHlFTl or ICTRLI t€rJ) ttill geherate the desired ftodified Eode. E6
S H F L O KI O 2 B E , 1 l - -
S H F L O Ko o l d l a l l !
ghift/contiol
haE one of
three
loc|l control
+1ag
values:
$Oo = nornal ftode (no loc16 in eftect). t4O o capg lock. 38O s cont.o I lock. SHFL0R is Eet to !t4o upon Pouei-up and csYgTEl'i.RESETI and is m o d i f i e d t h e r " e a f t e r b v t i e o s o n l g u h e n t h e t C A P g .L O U E R I f t e g i s presEed (eithei brJ itEelf or in conJUnction uith th6 [SHIFT] or I C T R L I k e 9, . .-
E7
H O L D C H *[ O O 7 C ,1 l - -
Character
holding
H U L D C Hi s u g e d t o i e t e i n t h e c u r r e n t t S H I F T I . / t C O N Y R O L Il o g i c p r d c e e 6 .
varieble
ch€reEter value ptioa
to the
A ut o r e p e a t The Aotor.epeat feEture respondE to the continuous depr€55ion of € *egboard |(eg bg "eplicating the tetJ codE 10 tifieE per seEond, a+ter an initiel 1 / ? s e c o n d d e I a v . T h e t i t [ l e . v e i i a b l e S R T I H Ri s used to control both the i.niti€1 delstJ end the rep€at rate. W h e n e v e r S R T I I . I Ri s e q u e l t o ! e . o a n d a k e 9 i € b e i n g h e l d d o u n , the value of the *eq code iB stored in the l€q code FIFO (CH) T h i e l o g i c i s p a r t o f t h e s t E g e 2 V B L A N Kp i o c e s € . EE
SRTIHR+ tO2eB, 1l --
Autoreeeat
tioer
S R T I M Ri 5 c o n t r o l l e d b g t t o i n d e p e n d € n t p r o t e s s e 6 : 1 ) t h e keqboard IRO Eervice routine, uhich est€b1i9he5 the initi€1 d€l€g v a l u e a n d 2 ) t h e 6 t e g e 2 V D L A N Kr o q t i n e t h a t € E t 5 b I i g h e s t h e repe€t rrte, decieflents the timer and iflPlement5 the auto repeat logic. O P E R A T I N OS Y S T E Hc 0 1 6 5 5 5 - -
Appendix L
I n v e r s e V i d € o Co n t r o I The K€gboErd NandlEr allous the direEt qenEr€tion of nore than hdlf of the 296 ATASCII codee; but codes *gO-9A €nd codeE $AO- FC can De tenerated onlt/ uith th€ ,,inverse video ood€', active. ThE ATARI keg acts as 6n on/o+f toggt€ for this mode, €nd all chaiacteai (except Sor scaeEn editing control chararters, uiIl be 9ubJe€t to inver.gion uhen the oode i9 active. E?
INVFLG tO286, 1l --
Inverse
video
+tag
INVFLG i6 noroallg zefo, indicating that nor.mat video ATASCII codrs (bit 7 a O' rre to be qeneiated frofl keqstrokes; uhenever INVFLO i5 nontero, inverre video ATASCII €odes (bit 7 = 1t uill be generated. The sperial rontrol code€ are erempt fron thiE bit rnanipulation. INVFLO iF set
to
zero b{ pot ea-!p
The Kegboard Handler inv€rts bit i5 paetsed, the louer order bits telo.
End sgste{r rsset. 7 of INVFLG uhenever. the ATARI terJ a r e n o t E l t e r . e d € n d a r e E s s u d r e dt o b e
The Kegboard H.ndIei/s "erclu6iv. or'E'r (XOR,s) the ATASCII keg deta uith th€ valse in INVFLC at all tines; the noifnEl velues of gOO and *BO thui lead to control of the inv€rse video bit (bit 7).
Console Kegs:
tSELECTI,fSTARTI, and tOPTIONl
The Eonrole tEgs e.e 3ensed directlU +ron the hat.duare ' i e g i 6 t e r C A N S O Lt D O l F l , s e e t h e A T A R I H o f t e C o o p u t e l . HerduEre M:nuaI for detai l._
F. PRINTER gee S€ction 5 for
a general description
o+ the Pr'inter HandIer.
Painter-Eutfer F1
PRNBUF*tO3CO,40l --
Pr.inter-record
P R N E U Fi 6 t h e b u + + e r u s e d b U t h e P r i n t e r data to be Eent to the device controller.
buffer Handler. for The b!ffer
O P E R A T I N eS Y S T E Mc O 1 5 5 5 5 - -
pac|(ing printer. i5 40 bgteE long
AppEndix L
and cont€ins nothing but printe? -
FZ
P A U F S Z + E O O 1 E1, l - -
data_
pfinter-record
6i!e
P B U F S ZE o n t a i n g t h e s i z e o f t h e P r i n t e r - r e c o r d for the current node seleated, the oodes and reEpective sizes (in decinal buteg) are sho0in belou:
F3 -
Normal, DoubIe l,idth Si de{rags
40 20 (not currentlg 29
Status req!eet
4
PBPNT* IOOID, 1l --
P.inter-brrffer
6!pported bg the deviEe)
indel
PEPNT Eontains the current inder to the Printer-bu+fer. in valu€ +roltl zaro to th€ value of PBUFSZ.
PBPNTianges
l n t e r n a l t r o rI i n g V a r i a b l € s F4
P T E l . l P *I O O I F , f l
--
Pr.inter Handler temporarg deta Eeve
PTEHP is used bq the Printer. Hendle? to temporarilg € cheiacter to be output to the printer. F5
P T I N O T * t O O 1 C ,1 l - -
Printef
tioeoat
seve the velue
of
value
P T I t ' i O Tc o n t e i n s t h € t i o € o u t v a l ! e f o r g I 8 c a l l i n g E e q u e n r e v a i i a b l e DTIMLO (see gection 91, PTItlOT ii 5et to 30 (uhich r"epre€entE a 32 second timeout) at intializetion time, and is uodated afte? each printer. Etatus requeEt oper.ation to contain the vallJe r.etu?ned in th€ third bgte of the status frame (Eee Section 51.
O . C E N T R A LI / O R A U T I N E ( C I O } See Section 5 fo. Usei cell
€ desciiFtion
of the central
I/O UtilitiJ.
Paraneter"s
O P E R A T I N eS Y S T E MC O 1 6 5 9 5 - -
Appendi.x L
C I O € a I 1 g a r a m e t e r s a r e paE€ed pri.|larilg through En I/O Control BIoc|( (IoCBli although additional device Etat!s infofmation can be retuined in DVSTAT, and Handler inforoation i6 obtained fro|n the devi ce teb le (HATABS).
I / O C o n t F oI S l o c t I O C B i s t h e n a m ea p p l i e d c o l l e c t i v e l g t o t h e 16 bgte5 associated urtn each of the B provided control Etructu.esi EEr' gaction 5.
c1
I O C B C O 3 4 O1, 5 I - -
L/O Cont.rot gloct
The l€bel IOCB iE the location of the fi.st bgte of the fir.Et IOCB in the dst€ b35e. Foi VIDe cA thiough 01O, the "id".rr." grven ere foi. I U C B l + Oo n I g , t h e a d d r e e E e s f o i a t t o f t h e I O C E , s ire shoun tetou:
0340-o34F o350-o35F 0360-o36F o370-o37F
osao-o3€F o390-o39F oSAO-O3AF o380-03BF 02
I C H I D t O 3 4 0 ,1 l - -
$ee SeEtion 5.
e3
IACB {io IOCB t'1 IOCB t+2 IOCB tf3
rocE *4 rocB t+5
tocB *6 tocg *7
HEndler ID
Initiali2ed
ICDNO€0341, 1 l - -
t o t F F a t Pou,ei-up and rgsteo
DEVice number
S e e S e ct i o n 5 . 04
ICCOT'ito342, 1 l - -
C o . n m s n db g t e
s e e S € ct i o n g . 05
ICSTA to343,
Status
Se€ Section 5. E6
ICBAL, ICBAH to344,27 --
Buffar. addres6
Ser Section 5.
234
OPERATINC SYSTEI'I co1659s --
A p p e n d ix L
i e9at.
C7
ICPIL, ICPTH fO346.21 --
PUT ByTg vector
ge€ SeEtion t. Initialized to point at po{reF-uF and sq5tem re6et. eA
ICSLL, ICBLH tO346,21 --
Bu+fer
t o C I O ' E , , I O C Bn o t O P E N , r, . o u t i n s
length
/
bgte count
S e e S e et i o n 5 . e9
ICAXl, ICAX2 EO34A,2l --
See Seetion OtO .-
Auxiliar{
inforoation
3.
ICSPR tO34C,4l --
Spare bgtes for
Handl6i
ue€
There iE no fired assignoant of these four bgtes; the Hrndlea asEociated {rith an IOCB can oa oaq not use thega bgt€3.
DeviEe Statug e11
D V S T A TE O 2 E A , 4 l - -
See Section
D.viEe
5 +or e discl,s.ion
Etatus of
t h € O E T S T A T U Sc o l t | f i . n d .
D e v i c e T a b1 e e12
H A T A B SC 0 3 1 A , 3 B l - -
See Section 9 {or
CIO/Harldle.
Devi.6
a desc.iption
Inter+ac€
table of the devire
table.
Parameters
Communicationbetue€n CIO and a Handlet' iE acconplieh€d uEing th. 650A oachinc FegiEters, and € data Etruetuie celled tha Zero-tat6 IOCB (ZIOCBt. The ZIOcs l3 63Eenti.ll! a copg of the p€rticul.l IOCB being useal for the clrrent operation.
OPERATINCSYSTEM CO16S95 --
Arrcndir
L
a3s
Zero-Page IOC8 G13
Z I O C A ( I O C B A S I t O O e 0 ,1 6 1 - -
Zero-pase
IOCB
Th€ Ze.o-page IOCB iE en €tact copq (except as not€d in the discusEionr thet follon) o+ the IOCB ep..ifiad brt the 650A X rdqi3ter upon entrg to CIO, CIO.opie6 the o!ter tevel IOCB to th€ Zer,o-pe9a IOCB, perforns the indicat€d +unction, noves the (possiblq alter.edl Zero-page IOCB bac& to the out€r tevel IOCB, and then t.et!rns to the caller. Althougi both the outer level IOCBEnd the Zero-Fage IOCBa.e defined to be 16 bgteE in Ei!e, onlV the first 12 69tes are moved b q CI O . C14
I C H I D Z t O O e O ,1 l - -
Se€ Section G15
Handler
inder
numbe.
5. Set to iFF on CLOSE.
I C D N O Z t o o 2 1 ,1 l - -
DeviEe drive
nunber.
S e e S e c t i o n 5. cl6
I C C O H Z too?2,1 I * -
Comoeni bqte
Se€ Section C17
ICSTAT tOO23,1l --
Se. Section O1A
Stetus
bgtF
5.
tCgALZ, IC8ALH tOO24,2l --
guffer
tsddress
S.e SeEtion 5. This pointE" v€riable iE nodified bV CIO in the coui.ge of processinE iom€ com{rand6i houever, the oriEinal vetue iE ieEtored be+ore returning to the celler. C19
I CPTLZ, I CPTHZ
See Section
cLosE.
5. Set to point
t o C I O ' E , , I O C Bn o t O P E N . r o u t i n e
G2O ICBLLZ, I C B L H Z t O O 2 A , 2 l - -
guf+er. length
on
/ bqte Eount
s e e s e ct i o n 5 . T h i s d o u b l e - b r r t e v a r i e b l e ? u h i c h E t a r t E o u t representing th€ bu++er length, i6 modi*ied b{ CIO in the course O P E R A T I N GS Y S T E HC O 1 6 5 9 5 - -
App€ndix L
of pt'oce6€ing Eofte comm€nds; then, before returning to the caller, thr transaction bqte count iE Etored the.ein. G21
ICAXlZ, ICAXAZ tOO2A,2l --
Auxiliar{,
infornation
S e e S e Et i o n 9 . e22
ICSPRZ (tCIDNO,CIOCHR) [OO2C,4t --
CI0 uorlinq
ver.iabteE
I C S P R Za n d I C S P R Z + 1€ r e u s e d b g C I O i n o b t a i n i n g t h 6 e p p i o p r i . t e Handler entrq point froo the h€ndlei.s veEtor tabla (Eee Section 9). ICSPRZ+a is alEo lEbeled ICIDNO and retEin5 thr v.lue o+ the 65Oe X re9isteD fr.orn CIO entig. The X r.egister is loaded frodr ICIDNO ei CIO ret!rns to the ca!lei. I C S P R Z + 3 i s a l r o l a b € 1 e d C I O C H Ra n d r e t e i n g t h e v a l u e o f t h e 6 5 0 A A iegister f r o f l C I O e n t ! . q , e r c e p t f o r d a t a r e a d i n g t g p e E o t n n l a n d E ,i n d h i c h c a 6 e t h e m o e t r e c e n t d a t € bgte read is etor.ed tn CIOCHR. Th€ 65Oe A register i E l o € d e d f i o l | l C T O C H Ra E C I O r e t u r n i to the catler.. I n t e . n a I t r o r . ki n 9 V € r i € b I e E
e23 tccor,rT*too 17,1I
--
Coimend table
ind€r
ICC0HT ir usFd as an i n d € t t o C I O ' E i n t e r ' l a l comoand bqte values t g H E n d l e r ' e n t r g o f f s e t E i n f o r m E t i o n ) . I C C O M Tc o n t a i n s t h e v a l u e f r o o i 6 g r e a t e r t h a n $ O E , i n u h i c h c d 6 e 1 C C O M Ti s
ee4
rcIDNo* to02E, 11 - - C I O c a l l X
ieg i g ter
ao|nftand tab 1€, u h i c h m a pt ( s € 6 S e c t i o n I +or mot.e I C C O M Ze x c e p t u h e n I C C O M Z iet to $OE. Eave/restore
See 022. O25
CIOCHR* (0o?F, 1l - -
CIO call
A reg ister
Eave/reE t or e
See G22.
H. SERIAL I/6
RAUTINE (SIO}
See 5e€tion 9 for
diFru6gion$ relating
to SIO.
OPERATINe SYSTEI.{CO16559 --
Appendi{
L
U6el" Ca 11 Pafanreter.s StO aaIl perEmeters aie pa65ed painatilg through a Device Control BloEt; Elthough an additiona! "noisg bu6" option exists that i5 EelectEble thr.ough a sep€r.ate vaii€b1e.
Device Contr.ol Blo.t H1
D C B [ O 3 O O ,1 ? l - -
Devi.e
Bloct
Control
to tht 12 bgteE at loGationg DCB is the nane applied €olleEtivelg O S O O - O 3 O B f. h e r e b q t e E p t o v i d e t h . p € r a m e t e r p a s s i n g o € c h e n i 6 m f o r b€lon. and €re d.rcribed individuellg HA
D D E V I C [ O 3 O O ,1 l - -
see S.ction H3
H4
H9
Devicc unit
nlmbet
9.
DCol'lNDtO3Oe, 1l
See Se.tion
ID
9.
DUNIT lO3O1,lf --
see gection
DeviEe bui
--
Device
cooft€nd
9.
DSTATSfO3O3,1l --
Device statuE
See Sect ion L H6
D B U F L OD , BUFHI tO3O4,2l --
Hsndlei
€ddreEe
bufflr
See Sect ion 9. H7
O T I M L O t O 3 O 6 ,1 l - -
Oevice tineout
See Section 9. HA
D B Y T L OD , BYTHI [O3OA,2] --
Buffer'
length
/
bgte count
see gi€ction 9.
OPERATINGSYSTEI'i CU16555 -234
Appendit
L
gIO
H9
DAUX1.,DAUX2 t O 3 O A '2 l
--
A u xi I i e r r J i n + o r f t e t i o n
See Sect ion 9.
BUESound Control H 1 O S O U N D Rt O O 4 1 , l l
--
Ouiet/noiEg
t/O flEg
S O U N D Ri s a * l a g u s e d t o i n d i c a t e t o S I O l r h e t h € r . n o i s e i , t o b € 9ener€t€d on the televiEion audio ciF€sit uhea Ser.ial I/O b{J9 €Etivitq i E i n p r o g i e s E . S O U N D Re q l a l t o ! e r o i n d i c a t e B t h e t 9ound i3 to be inhibited, and non!ero indiesteB that sound is to b e € n e b l e d . S I O E e t s S O U N D Rt o g a t p o d e r - s p d n d s q E t e n r g s 6 r .
5 6 r .i e I B u F C o n t r o l Retr.g Logic S I O u i 1 1 a t t e & p t o n e c o m p l e t e c o d m a n d" e t r g i f t h e f i r E t a t t e m p t rE not error fiee, arhera a conplete coinsnd tig roniists o+ up to 14 €tteftpti to send (End ecknouledge) a rgdtoan; f.ane, follollled b q a E i n g I e e t t e m p t t o r e c E i v e C O H p L E T Er n d p o E E i b l q a d a t r frameHl1
C R E T R Y * t O O 3 6 ,1 l - *
Conoend fraoe
r€tr9
rount.r
C R E T R Yc o n t r o l s the inner too! o f t h e r ' e t r . g l o g i c , t h a t a . i o c i e t e d r r i t h E e n di n g a n d r e c € i v i n q a n a c l n o u l e d g e m e n t o + t h e c o n f t a n d f F a o e . C R E T R Yi 5 s e t t o 1 3 b u S I O e t t h e b a g i n n i n g o f e v e r . g c o m o a n d in it i€t ion, thuE E11o;ing +or €n initi.l att.npt and up to 13 add it ional retr.i es. H12
DRETRY* tOO37, 1l --
Device retrg
D R E T R YE o n t r o l E t h e o u t a r a s 6 o ci a t e d u i t h i n i t i a t i n g sub6eqt,ent to the romnand 1 brj SIO at entrg, thu6 .1 l e d di t i o n a l r e t F u .
counter
loop of the fetrq I09ic, that a connand.et.q after e failuie frane aclnouledg€oent. D R E T R Yi r E € t t o looing foi an initir! atteo!t €tld
OPERATINO SYSTEI.{C U 1 6 5 5 5 - -
A p p e n di r L
C he c & B u t o Th. Serial I/O buE protoEot ipecifies t h a t alI rooftend and data r l . a n a s o u s t c o n t e i n a c h e c f t s u mv E l i d e t i o n b t J t e , t h i s bqte is the arith..etiE sum (uith end-ar.o!nd carr{} of a l l o + t h e o t h e r - b q t e s in th€ +feoe. H13
CHKSUI'I+tOO31, 1J --
C H K S U I ic o n t a i n s ta6ns+er9. H14
Checlrsut, velue
the ftErD€ aheckgurn as cot$puted bg SIO +or all
C H K S N T * I O O A B ,1 l - -
CheckEum sent
fFame
f1a9
CMSNT irdic.teE to th€ E6iiat boc t!.anEftit i n t e r r u p t s e r v i c e routin. uhethei the frane chec|tjuo bgte hag b6.n sent Ve t . C H K S N T e q u a l t o z e r o i n d i r a t E s t h a t t h e c h e i t s u r n b gt e h a s n o t g e t b e e n sent, after t h e c h e c t s u f n i E E e n t , C H K S N Ti s t h e n 5 € t n o n : s r o . H15
N O C K S*
[ O O 3 C ,1 l - -
No chec&sud $oltous
dat€ +Ieg
N O C K S I Ii E r f l e g u 5 e d t o c o n m u n i c . t e b e t o e e n t h e g I O t o D I e v e I code and the SeiiaI bu9 r'eraive ioterrupt gervic€ routine that th€ next input utll not be folloured b! € chec*euft bgte. A v6lue of aero rpecifieE thet e chealistl| brlte rrritl folloo, nonrero specifie6 that E chectsum bgt. uill not follou.
Data 8uffe. i nE Orneral H16
Bu+fei
Conti oI
B U F R L O * t O O 3 2 ,1 l a n d B U F R H T * t O O g 3 , 1 l - -
Nert
bqte address
B U F R L Oe n d B U F R H Tr o f i p r i g e E p o i n t e r t o t h e n e x t b u f f e r l o c e t i o n to be read +|'om gr oFitten to. Foi e data frarae trensfar, the pointei i5 initiellg Eet to the value contein€d ir the SIO call p a r a n e t e r . D B U F L Oa n d D B U F H I , r n d i E t h e n i n E i e n e n t e d b g t h e gervire aoutinec ts a part of oo,t 5l bus intaarupt deta tr.€n!+er'. For a conoand frama trEnsfer, tha pointer iE i€t to point to th€ SIO-maintained commandfiams output buffer,. H17
B F E N L O * t O O 3 4 , 1 l a n d B F E N H T * t O O 3 5 ,t t
--
Buffer
end addr€s5
S F E N L O . / B F E N Hf Io . f i . pointer to the bgt€ totlouing the tast freme data bgto (not including the ch€slruot to be sent dr. r€Eaived. OPERATTNG SYSTE CO16S59--
Aeeendix L
BFENLO/BFENHI i6 frao€ sire plus
t h e a i t t h { r r t 1 c E U m o f B U F R L D / E U F R H9I l u s
the
Command Frame Output Bu++et See SeEtion
H1A
9 fot'
the
tommand fr.eme for'ftat
CDEVIC* tO23A, 1 I - -
C o m f i e n d+ r a o e d e v i c E t D
CCOIIND* tO23B, 1 I --
CCOI'INDis DCOI-IND. H20
Eet to
Command +r6me cofttnand.
the v a l u e
fro{n SIO call
obtained
CAUXI* tO29C,1l end cAuxa* to23D, 1I --
H21
pEaametea
AutillErg
C A U X I e n d C A U X 2a r e B e t t o t h e v a l u e s o b t e i n € d + r o p a r ' 6 n E t e r ' 3 D A U X l a n d D A U X 2 ,r e s P e c t i v e ! 9 .
Rea€ive/TrEnEdi.t
paFaneter
bq €dding SIO calI
CDEVIC is set to th€ v a l u e o b t : i n e d D D E V I C t o D U N T Ta n d E u bt r a c t i n g 1 H19
and dascriPtign
infotfiation SIO call
Deta Buf+€r ing
BUFRFL* tO03B, 1l --
Bu$fer
fu1l
flag
S U F R F Li s € f l a g u s e d b { t h e E e i i 5 1 b u 5 r e c e i v € i n t e r r u P t t e r v i c e ioutinE to indiiate uhen the m€in portion of a buc frane has bren r e c e i v e d - - e 1 1 b u t t h e c h e c * E L t t t lb ' J t e . E U F R F L e q u E l t o t e f o indicates thet the ittEinpoition heE not been co|nplEtelli received' € nonzero value indicates thet the oein portion hes been i'€ceived. H22
RECVDN* tOO39, 1r - -
R E C V D Ni s a f l a g u E e d bus receive interruPt Eet f 1ag iE initiallq the interrup t seivice heE been r'eceived, H?3
TEt'lPit CO23E,1l --
Receive +ra,ne done flag
bq SIO to comnonicate bet{raen the Serial s;rvic€ routin€ and the main SIO cods. The to 2ero bq 5I0, and later 6et nonzero bq aftel. the lsst bgte of € bus +r'ane ioutine
SIO 1-b{te
I/O
data
O P E R A T I N oS Y S T E HC A 1 6 S 5 5 - -
ApPendix L
24L
T E I ' I Pi s u s e d t o r a c e i v e 1 - b q t e r e s p o n s e E f r o l t l 5 e r i a I or ERROR. controlle.Er EUch as ACK, NAK. COI'IPLETE H24
XI{TDAN* [OO3A, 1l --
Transdtit
frane
bug
done f}ag
X M T D O Ni s e f l E g u s e d b q g l u t o c o m r t l u n i c a t e b e t o € i n buE tr'enBmit interrupt Eervice routine and th€ main +1a9 is initiellg Eet to zeFo bU SIO, and later 5et the inte!.t'spt Ee.vlc€ r'outins a+tea the leEt bgte of ha5 been tranEmitted.
the SeriBl 5IO code. The nonze.o bq a bus +iane
S I O T i m e o ut SIO u6e5 Sgsten Tioer 1 to provide the tioeout Eepabilitg for' var.ious operationg initiated inteinallrJ. Sae SeEtion 6 for a o + t h € S q E t € ( nT i m e r E . T I h F L o i 3 diEcuision of the capabiliti€s the fleg used to cofifiuniEata betu€en SIO and the tin€r initieted to brJ CDTI'|A1. code poirted H25
Tl l.lFl.c+ [0317, 1] --
sIO op.ration
tilneout
flag
TIIIFLO ie us€d to indicete a ti eout situation foi a buE 5et to 1, 5nd if it atteinE a The flag i5 initiallg oper€tion value of rero (eft€r the timaout period) befoie the tutrent operetion is Eomplete, the operetion {ti1l be aborted. See .Iso D2. H26
C D T t ' t V 1 *t o 2 1 g , 2 l
--
Sg5tem Tioer
1 value
ThiE e-bgte rount tater on vEiious values depending uPon the operation b€ing tioed. Se€ al6o P4. H27
CDTI''AI+ EOe26' 27 --
SUiten
Timer
1 addreEs
T h i r v e r t o ? E l u r e q Ep o i n t E t o t h e . J T I M E R r o u t i n e ? u h o s e o n l g bq f u n c t i o n i s t o s e t T I i ' l F L Gt o z e r o . T h i s v e c t o r i 5 i n i t i a l i r e d SIO betore everg use, so that S'rste Ti&er 1can be uged bg an! See aIso process that does not use SIO &rithin d tining +unction P5.
O P E R A T I N CS Y S T E HC O 1 6 9 9 9 - -
Appendix L
I n t e r n a I W o r ki n g V € r . i a b t e i H28
STACKP* tO31A,1l --
Stect
p6inter
sav./r,eito.e
S T A C X Pc o n t a i n E t h e v a t u € o f t h e 6 5 0 g S p r a g ' i s t e r a t e n t . q t o SIOi this ii retained to faeilitate a direri erro. erit +ioft an gIO Eubroutin€. H29
TSTAT| f0319, 1l
--
T€mpoiarg
statug
TSTAT iE ured to rett,rn the operetion stat{rg fr.ottl th€ l,lAIT routine and uitl contEin one o+ th! gIO Etatu3 bgto vetue5 as i h o u n t n A p p e n di r 8 . H3O !
t/O
error,
fl.g
E R R F L Ci s u ; e d f o r . E o f l r u n i c a t l o n b € t t e e n t h € I I A I T . o u t i n e a n d t h e out.r lave! StO code. ERRFLo is norfi.llg zr.o, but ir Bet to IFF then € device rssponds uith an invalid iteponse bgte.
H31
\
ERRFLe* tO23F, 1l --
_.
STATUS* [OO3O, 1I --
SIO operation
3tEtus
STATUSir a !e!.o-pitge veiiable thEt is uged lr,ithin SIO to contain the operetion st€trrs that uill be Etored to th€ catling ,equen.. p a . a o e t e r v € r . i a b l r D S T A T Su h e n S I D r . t u r n s to th€ call.r. H3a
SSKCTL* [0232, 1] --
SXCTL Gop{
SSKCTL ic otili.ed bg StO to SKCTL [D2OFl reglEterr uhich
teep tracl of the content lE a uFita-onlg r€gist€r.
of th.
!,. ATARI CONTROLLERS The ATARI Eontioll€rs are read es part p.ocese. The .neoded deta ie pirtiallV shourn in the subsectiong that +oIlorr.
of the Stage e VBLANK decoded a.rd proce3red as
JorJEticts Up to four Joggtict controllerr Eonsole, each uith a ?-po3ition
rrn bc att.chad to the EofiFutea Jogstlc* plus a trigger bstton.
OPERATINCSYSIEH CO16595 --
ApPendir L 243
J1
STICKO * STICK3 EO27e,4j --
Joq6ticl
The 4 JoUsti.cftposttion senEe va.iableE p o s i t i o n s a n s e a 9 s h o | l , nb e i o u :
po 6i t i o n s e n g e contain a b it-encoded
7 6 5 4 3 e 1 0 +-+-+-+-+-+-+-+-+ io o o otRtLtDlui +-+-+-+-+-+_+-+_+ uher.e: R L D U
= c e
O O O O
indicates if|dicate5 indicatEs indicateF
Jogstict RIOHTsensor trle. Jolrstick LEFT sensoi trqe. J o g s t i c * D O W Ns e n s o r t i u e . Jogstick Up sensoa true_
Nine unique conbinationg are posiible, J o g s t i a & p o Ei t i o n s s h o u n b e t o u r : CENTER UP
UPlRIOHT
indiceting
the poBsible
toF toE
306 907 DOUIN/R IOHT tO5 DA!'N 9OD DOI"IN/LEFT IO9 LEFT *OB UPlLEFT 304 RICHT
J2
STRICO -
STRte3 tOtA4,4t
--
JoqBtiEl
t.iggEr.
sen6e
Th6 foui Jogstic& trigger sense variebtes each contein a siDole i n d i c a t i n g t h 6 p o F i t i o n o f t h e J o q s t i E | ( t i i q g e l ' € s s h o 0 r nb e l i u : 7 6 9 4 3 ? 1 0 .i-+_+_+_+_+_+_+_+
to o o o o o otTi
+-+-+_+_+_+_+_+_+ Uhe!'e: T c O indirateg
triggei
pr€sEed.
PaddleE Up to eight peddle controller5 Ean be connect€d to the cooo!tei, eech lrith a potentiodeter €nd a trigger sens€. J3
P A D D L O- P A D D L T t O e 7 O ,A l - -
There ir position 244
paddt€
DoEition
eense
a single-bgte variable esEo.iated {rith eech ,addl. a€nger the valu€€ r.anga f"orn eAB for full OPERATINe SYSTET'iCO16SSS --
Appendir
L
bit
counteiclockuise
aotation
to l for
+ull
cloct{rise r'otation.
The paddle values er€ oftan €onverted bg the usri, ai thoorn belou, to tive a tesult of O for +ql1 coqnte!'Eloclrria€ totation and 227 for f!11 cloElUiee rotatlon: VALUE := eAB - PADDLX; J4
PTRIOO- PTRIGT tO27C,AI -*
Paddle tr.igglr'
e€nee
Th. g-psdd1! tt'i9ger senr. variables eech tont.in e singl€ bit indirating the poEition of the taddle t?igger aE Ehoon b.lou:
7 6 t r 4 3 2 1 A +-+-+-+-+-+-+-+-+
lo o o o o o oiTl
+-+-+-+-+*+-+-+-+
uhera: T = O indicates Liqht
trigger
pressed.
Pen
Th€ OS teadr the posltion of a single light pen.nd 3tore€ the hofizont€l and vertic€1 rosition coda$ in tuo variabl€5i th"3a todsB ar'e not tha gaoe es tha eEtual s€ra€n.oor'dinEta9. The pen poEition codeE foa dif+erent oortions of the sEieen are shoun belou,: \._,
Left edge -- 67. codee inci'ease in incaeoent5 o+ ont to E valua of e27, than Eo to o and tontiaua to incree€e monotonicallg (one count Pel. colo!' clock). Right edge -- 7. Uppot odga -- 16. Codeg inEreEEe in inEiementS of one (one count pef tlro rSEtor I inee l. Louer' edge -- 111.
.-
iead and latEh th. p.n Pocition 60 tifies T h e l i q h t p e n h a r d u , a r eu i l l p". se;ond; independent of the pen button position, lrhlch is 5eParat6l{ senEed. In grder +or the light Pcn to opeaate it tnust be PoEitioned over a the luninancE to activtte portion of the screen |,hich haE suffi.ient ( d a r k ) g e n . " a l 1 g n o t scfeen uill photoEensot in the peni a blant thG light Fen provide enolgh luoinance to utilize J 5 L P E N Ht o e 3 4 , 1 l - -
Light
pEn horizontal
Pocition
qode
L P E N HE o n t E i o 6 t h e h o r i r o n t a l p o 5 i t i o n . o d e f o t t h e l i g h t p e n , t h e a l g o t i t h t n 6 e 1 o { , ( u r i t t e n i n P a E c a l) s h o u E t h e c o n v e i B i o n f r o m P o E i t i o n code to 6cieen coordinste (screen mode 7): I F L P E N H{ 3 3 THEN
point } { chect +o. rollover { adJust velueg to fight of rotlover OPERATTNGSYSTEI{ C415555 --
ApPendir
}
L
e45
XPSS := LPENH+ zaz ELSE { no adJlretoent to left
XPOS : a LPENHT X P O S : s X P O S- 6 7 , t adJust for IF XFAS d O THSN XPOS := O; IF XPOS ) 159 fHEN XPOS := 1s9; LPENV tO235, 1! --
J6
Light
latt
o+ rol}over
edge offret
pen vertical
position
loint
}
)
cod€
L P E N Vc o n t E i n E t h e v e r t i c e l po6ition Eode +oi the light pen; the algorithn beloq, (uritten i n p a s c a l ) s h o r r s t h e c o n v e r ; i o n + i . o mD o E i t i o n code to Bcf'een coordinEte (gc?een ftode 7': yPOS :s LPENV - 16, { adJUEt for IF YPOS 4 O THEN YPES :* O, IF YPOS ], 95 THEN ypOS : = 95, J7
STICKO -
STICKS tO27B, 47 --
uppei €dge offset
Light
pen button
}
Eense
The light p e n b u t t o n E e n s € i g e n E o d e d i n o n e o f S T T C K O- S t I C K a (dapending upon the actu€1 Eontioller port uEedl as shourn belou: +-+-+-+-+_+_+_+-+
i
totoiotTi
+-+-+-+-+_+_+_+_+ uhere: T - O indirate5 Driving
the light
Fen button
is
pr.ssEed.
Contiot le.s
The d"iving controller hes no poEition EtopE End th{J6 6llorrs unlimited rotation in eithri direEtion, the outprrt of the Eontrolter is € 2-bit Caag eode {rhich can be used to detertnine the dir€ction of aotation. The contaoller i5 Eensod using the satne intern€1 harduar€ a9 the J o g E t i r k , t h u i t h e E a t n €d e t a b a c e v E r i E b t e s 3 r e u r e d f o r b o t h .
O P E R A I I N GS Y S T E I ' C I O16555 -246
Areendix
L
Je
S ' T I C K O- s T I C K 3 [ O 2 Z E , 4 l - -
D"ivinq
controtle.
Eense
The 4 driving controller sen€e var.i€bles conteln an encodGd ( p o E i t i o n ) E e n s e v a l . u e , € E F h o o r nb e l o u : rotation 7 6 e 4 3 2 L O +_+_+_+_+_+_+_+_+ lO O O O 1 lival! +_+_+_.t_+_+_+_+_+ urhei€ a clockuise rotation of tha contr.otl€r produceE the fo1looing EontinuouE aequence of four values (Ehoun in hexadeciflElt: o F , o D ,O C , O EO, F ,O D , . . . . . . . end a €oqntarcloctrrise rotation of the controller. follo'rring Eot|tinuous sequencc of four velueS:
produces the
oF, oE,oc, oD,oF, oE, . . . . . J9
- STRIG3 tOAA4t 47 -SSSSsTRIGO
Driving
trigg.r
3en5e
driving trigger seose variabl.E eech contein a iingle bit fh:.four indicating th. porition of the driving trigge. as shoun beto0r: 7 6 9 4 3 2 L O +-t-+_+_+_+_+_+_+
io o o o o o olT!
+_+-+_+_+_+-l_+_+ orh€ie: T = C indic€te6 K. DISK FILE See Section K1
t.igqer
piegEed.
I'IANACER 5 +or in+oroation
FMSZPC* tOO43,7l
--
relating
Ft'tS reserved
to the DiEt Fi!,e M.nager. space
F H S Z P Gi r t h c r e g e f v e d E p a r e i n t h e d a t a b a s r f o t ' t h e v a r i a b t c B r h o u n baloui the naoeE aBEoriated uith K2 thiough Kg.ie not in the etrstefi equate f ile. Kt
ZSUFP* fOO43,2l --
Buffer
K3
ZDRVA* lOO49,2l --
Drive
K4
ZSBA* tOO47,el --
Sector
pointer pointei buffer
oointer
OPERATINCSYSTEM CO16595 --
Appendir
L
e47
KS
ERRNO* [OO49, 1] --
L.
DISK UTILITY POINYER
L1
DSKUTL* [OO1A,2l --
tI.
Error
numoer
Feg€-zero
pointer
veriable
.FLOATINC POINT PACRAEE
See S€ction g +or a dcscription of th€ Floati$g point package. Ml
FRO IOOD4,6I --
He
FRE* IOODA,6l --
tt3
F R I [ O O € O , 6 1- -
tt4
FR2* [OOE6,6t --
Fp .egirt€r
O
FP r.caiEter (internal) FP r.egistsi
l . l 5 F R x * [ O O € C1 , ] --
FP iegirtar
1 2 (internetl
Spare (!,nu€ed)
i 1 6 E E X P * I O O E D1, l - -
Erponent valse (internEll
I ' 1 7 N S I C N * I O O E E1, l - -
Sign of oenti6sa (intginEt)
I ' l g E S I 0 N * I O O E F 1, l - -
Sign of exponent (intarnsll
t ' 1 9 F C H R F L C *f O O F O1, l - - F i r . E t c h a i a c t e r t'llo
D I G R T * ! O O F 1 ,l :
t ' 1 1 1 C I X I O O F a ,1 ] - -
--
Diqits
to .ight
fleg
of de.iftel
point
Character inder
t ' 1 1 2 I N B U F FI O O F S , e l - -
Input t€rt
bu+fe. pointei
OPERATINGSYSTEI{ C416999 -248
(inte!,n€t)
Appendix
L
.-
l'113 ZTEMPl*IOOFS,e] --
Te por€rtJ storage
H14
ZTEt'tP4*[OOF7,e] --
T€|nporarg 6torag€
Hl5
ZTEt'tP3* COOF9,?l --
Tenporar{
|116 FLPTR COOFC,2I--
Pointer
stoiage
to FP nuober
Hl7
FPTRa+ IOOFE,2] --
FP pac*ege u5e
H1a
L8PRI* tO57E, 1l --
LBUFF preemble
t'119 LBPRa* tO$7F, 1l --
LAUFF p!.€anbIe
M2O LBUFF tO5AO,96l
--
Text
Hal
PLYARC* IO5EO,6l --
Mea
F F S C R / F S C R *C O S E 6 , 6 l - -
buffei
FP r€gister
FP rsglst.r
t ' 1 2 3 F P S C R l , / S C R 1 *( O S E C , 6 l - -
t{24
(int€rnel)
DEeFLe./RADFLG IOOFB,tl --
Fp r.€EiBter
(lnternalt (intlrnal)
D€g,reos/radianr flag
D E G F L G= O i n d i c a t e s r ' r d i a n s , 6 i n d i c d t e i
{eorees.
N. Pouer-UD and SYSTEH RESET Se€ Section oPerrtions.
7 for
details
o+ the pouei-up
€nd Eggtem r69et
R A f , lS i z i n g Dur'ing gotrer-up rnd Eq5teo aeget the tirEt no[-RAM addre3s dbove 1OOO hex is located and its sddresg reteined u3ing a norldestr!etive test. The first b g t e o + e v e i t J 4 K m e m o t . g" b l o c l " i E t € s t e d t o g e r i f it is altera!1e, if so, the or'iginal value i9 testored end the next bloEk is t65ted, :nd if not, that addresE ii con€idered to be th€ end of RAM. OPERATINe SYSTEM CO16555 --
App.ndix
L 249
Nl
R A M L O * / T R A I ' 1 S Z[ o * oo4,3]
--
RAll d€ta./te3t
Fointer
(tempoferg]
RAIILO+I Eontains the LgB of the Eddress to be teEted (aludqs thr f'lSB of th€ addie3E and TRAIISZ (san6 ar RAl.lLO+z) contains t a 6 t e d . R A H L S + Oc o n t a i n E t h e c o m p l e m e n t e d v a l u e o f t h e d a t a origlnallg .ont.in.d in the oefiorg location being tetted.
= Ot to b€
piocesE these veri€bIeE ere osod for L6ter in the initlatlzation uniel.trd t h e v r l u € i n T R A l v l s zi 5 f i o v e d totellg functione, but fir3t to the variables RAHSIZ and MEI'ITOP+1. N2
TSTDAT* EOOO7,L7 --
T S T D A Tc o n t a i n s teeted.
T€st
the original
data
blte
$av€
value of the meoor{ locetion
being
Diststtr/Cissette-Boot A9 a prrt of thc Poqrer-up Eequenca, softuaae can be booted frofi €n €ttached disl driv€ or. ce6!iatte plagei €5 expl€ined in Section 1O N3
DOSINI IOOOC,e]--
Di6l€tte-boot
initialization
v€ctor.
address D O S T N Ic o r t a i n s t h r d i E k b o o t . d 3 0 + t t a t e i n i t i s l i z e t i o n (see Saction 1O) uhenev€r s froo th. beginning of the boot file dist ett.-boot is succa6sfull{ co.npleted. N4
CKEY* too4A, 1l
--
casEetta-boot
requeEt
frag
thet the tonsole ISTARTI CI(EY iE an internal fIEg u6€d to indicate leq uar pressed during Pooe.-up, thuE indicating thst a i5 cassstt€-boot i s d e s i r e d . C K E Y e q u a l s z € r o r r , h e nn o c a 6 s e t t e - b o o t T h e is requested. requested, and iE non:ero llrh€n a Eassette-bgot +lag i9 cleared to zero 6fter a cessette_boot. N5
C A S S B T * [ O O 4 B ,1 ] - -
CaEEette-booting
fIag
C A S S B Ti s u E e d d u i i n g t h e c a E s e t t e - b o o t P r o . € 5 5 t o i n d i c a t a t o ihared code thet th€ caEt€tte i6 being boot€d and nEt the di6kette. and nonzeio indica+es C A S S B T€ q u a t t o . e " o i n d i c t t e s a d i s l e t t e - b o o t , a ra95e tte-b oot. N6
CASTNI rOOO2,2J --
CEes€tte-boot
CASINI contains the .aEsette-booted +ion the be9!nning of the boot file
initialiretion
address Eoftuare initializ€tion ( s e e S e c t i o n 1 o ) { r r h e t r e v ear
0 P E R A T I N o S Y S T E Mc o 1 6 5 5 9 - 250
vector
Appendir
L
aass€tt€-boot N7
i s s u a c E E g f u Il V r o n p l e t e d .
B O O T ? * [ O O O ? ,1 ] - -
SuEceiEfut
dieketts/Eaesett._boot
fI6g.
B O O T ?i n d i . a t e e t o t h e i n i t i . t i z a t i o n p r . o c e E E o iu h i c h , i f a n t j , o f the boot ope!.etions uaot to 6ucccss+ul Eooptetion. Th€ flag valueE are set bq the OS Bnd the +ormat for th€ vat iabte i9 Ehoun balou:
7 6 5 4 3 2 1 0 +_+_+_l_+_+_+_+_+ i tctDi +-+-+-+-+-+_+_+_+ {ritere: C c 1 indiE6tes that t h e c a s s e t t e - b o o t u e s G o m p l a t e d . D - l i n d i E a t e s t h a t the dist!tt€-boot u.E coopteted. NB
DFLAOS* [O24O, 1] --
Diskette
flage
DFLAeS contdins the value of th€ f i r e t d i s kett.-boot, See S€ction 10.
N P D A S E C T *f o a 4 1 , 1 l - -
Diskette-boot
bqt!
of the boot fil.,
.fter
.
Eactor count
D B S E C Ti E i n i t i a l l r J set to tho velue of the s.cohd bgts of the f i l e , d u r ' i n g a d i s l e t t € - b o o t , a D d i s t h e n u s e d t o c o r i t r o t t h e boot nunber of additional diEtette soctors r.ead, 1f rng. NlO
BSOTAD* tO242,2i
--
B O O T A Di E i n i t i r l l ' J set bgteE o+ thr boot flle, tnodified th ereafter.
Di6lr€tte-boot
.lnor9 add..sg
to the value of the third and fourth during a dlst(Ftte-bootr and is nqt
Environfient Contaol tf, et the end o+ a poorar-upor 9 9 s t € m r e 5 e t , c o n t r o l i r n o t 91v€n to one of the cartridqes (es Etplelned in S€cttonr 7 .nd 10', than progr.a control passeE to the addr€3r cont€ioad in tha data base veriab le DOSVEC. N1l
COLDAT*t0e44, 1' --
Coldst.it
.oftpt.t€
f159
C O L D S Ti r u s e d b { t h e i n i t i e l i ! e t i o n r o u t i n e t o d e t e c t t h e c a s 6 o f E 9 9 3 t e mr l B e t o c < u r r i n g b € f o r e t h e c o p l e t i o n o f t h e po!ref-up p r o c e r i . C O L D S Ti r s € t t d 3 F F a t t h a b . g l n n i n g o f t h r pouer-!g OPERATINGSYSIEM CO16555 --
Appendir
L ?51
se{uence and is set to O €t the conpletion, if 5 EgEted rB6et be occur'9 uhile the value iE nonzero, the pouer-up Eequen.e uill (rether than initiating € 9{ste|n teEet s€quence}. reinitiated N12
D O S V E Ct O O o A , 2 l - -
Non.artridg€
cootrol
vector
A t t h € b e g i n n i n g o + p q u e r ' - u p t h o O S E e t s D O S V E Ct o p o i n t t o t h e "blarkboer.d" routine, D O S V E Cc e n t h e n b e a l t e r e d a s a c o n s e { u e n c e or. caEsette-boot (as erplained in Section 1Ol to o+ a distette-boot rFtabligh a neu control progl€t!r. Control urill be paEied tht"ough in uhich e D O S V E Co n d l 1 p o u 6 r - u p e n d s g s t e o r e s e t c o n d i t i o n s c tridge do€E not t€te cont.ol +irst.
S g E t e t nR e s i t N13
$tARllST IOOOA,1l --
Werl|letart
f lag
WARIIST.quals tFF dsrlng a sgstam reset (ureiitl6tart) i n i t i a l i z . t i o n a n d €quslE O dur.if|9 a pouer'-up initialization (coldst.rtt.
P. INTERRUP'S ge€ Se€tion 5 for e discuEEionof intet'ruPt Froc€sEing. P1
C R I T I C [ O O 4 2 ,1 ] - -
Critica]
code Eection flag
pro..5eoi that a CRITIC is uecd to signal to th€ VBLANKinterrupt is executing trithout IRO interrupts being code e..tign critical groceEEol' uitl stop inte.rupt the VBLANKinterrupt inhibited, pt'oceislng 3+tei Et.g€ l end be+ot€ 6tage 2, Just es if the 69Oa proEegsot I bit t'eie set, uhen CRITIC is set. C R I T T Cs q u a l t o z e i o i n d i . a t e 5 t h a t t h e c q i r e n t l q e r e c u t i n g t o d e uhile ang non!efo value indiEetas that the Eection i5 noncritical, E o d € section i5 ct'itical. e r e c u t i n g currentLrJ PA
F O K | € K [ O O 1 O 1, l - -
P O K E Yi n t e r r u p t
mes*
interiupt mEsl that is used in POK SK is a softuare neintained of th€ vailous POKEY d i s E b l i n g t r i t h a n d t h e e n e b l i n g ronJUnction b e c a u i . t h e POKEYint{rrupt i e r e q ! i ? e d T h i ! f i a E * interrupt€. .nd at ang u r i t e o n l g r o gister, E D 2 O E I i 6 . i e g i E t e r I R O S N .nable point in til|le the 5g5te!!t Ean hdve several uEe"5 independantl! P O K } i S Ki E u p d a t e d b q t h € P O N E Yi n t e i r u p t s . €n.blinE €nd dissbling OPERATINe SYSTEII CO16555 --
25e
App6ndix
L
s6ers
5{stsn
to alud{s
cdatain
the curtent
cont€nt
of
IRCEN.
liner€
The Sgeted Tifiers
Realtin!
a!.o discugced
in deteil
in ge.tion
6.
Clocl
The re€ltirne cloct (or fiaoe counter, a6 it iE Eometimescal1ed' i i i n e i e d e n t € d e s p a r t o f t h e s t a g e I V S L A N Kp r o t € 3 g , 9 e x p l E i n e d i n S e ct i o n 6 . P3
R T C L O Kt O O 1 2 , 3 l - -
R T C L t l t ( + Oi s sig'|ificant dis.ussionE
Sg6t€o limer
Realtine
+.afie .ounteF
b g t e , R T C L O K + 1t h e n o r t i n o s t the nost Eignifitant b g t 6 , a n d R T C L O K + at h e l e a 6 t s i g n i f l E a n t b q t a . S e e t h e at D3 and pre.eding B10 for OS ute of RTCLOX.
1
ggstem Timer' 1 is maintained a5 par.t of the st.te 1 V A L A N KP . o c e E s , p r i o . i t g t h e u 9 6r tinets. h i g h e s t o f a n g o f and thus h€s the P4
CDTHVI toel8,2l
--
sgstEm Tioer
1 velue
it otheilrie. cDTHvl containE zeio uhen th€ tioer is insctive, tioeout. Also 5ee c o n t a i n g t h e n u n b e r g f V B L A N K 9r ' e o a i n i n g u n t i l H26.
P5
CDTI'{AI tO?,26' 27 --
gtJste$ Tiner
I
Jlop
address
C D T I ' 1 A lc o n t s i n 6 t h e a d d r e s e t o t t h i c h t o J S R 5 h o u l d t h e t i m e r tioeout. Se€ 3l.so H27 and Eectiofl 6.
gPERATINO SYSTEII CO16555 --
Appendir
L
253
SrrEt€o Tifte.
2
Sgsten Tih€r. 2 iE naintain.d a E p a r t o f t h € B t a g e Z V A L A N Kp r o c € E s , end hdE the E€cood highest piio!'it9 of the uEer timer6. The OS doei not have anrJ direct use for Sgstem Timer 2, P6
C D T M V 2t O 2 1 A , 2 7 - -
Sgst.m Timei 2 vatue
C D T H V ac o n t a i n s r e r o u h e n t h e t i o e r i s i n a c t i v e , o t h e r u i s e c o n t a i n s t h e n u t n b e r o f V B L A N K Sr . m e i n i n g u n t i l tifteout. P7
C D T I { A et O 2 2 A , 2 l
--
Sgsteft Tide.
2 JUmp addr€e3
C D T I ' ! A 2c o n t a i n i the €ddre6s to trhich to JSR should timeout. See Section 6.
Sgstem Tineri
3,
it
the
time.
4 and 5
Sgstem Timers 3, 4 end 5 a?e oaintain€d as pa.t of the €tage 2 V B L A N Kp . o a e g s , e n d h a v e t h e l o u e s t p r i o F i t g o+ the uiei timer6. Th€ OS does not have anq dir.€ct uae +or thare tifters. PE
CDTlfV3 toztC,?J,
CDTl.tV4 tO21E,2t
and CDTt'tVg tO22O,2l
lhai€ variableE contain zero uhen the corregponding timers are inactive, otheruis. t h 6 g c o n t a i n t h e n u m b a i o f V B L A N K Er e m a i n i n 0 u n t i . I t i m eo u t . F9
CDTl.lF3 tO22A, lL
CDTtlF4 tOa2C, 11 €nd CDTMFS COAAE,2i
Each of thcse l-bgte variables uill be set to lero should its cort €spondinE tiftea timeo{rt. The OS n€ver modifieg the6e bgtes e x c e p t t o g e t t h e n t o z e r o { . r 9 o nt i r n e o u t ( a n d i n i t i a I i ! a t i o n ) . RAI'I Interisp
t V€. tor6
T h e i e a i e R A l v lv r c t o r s for menq of the interrupt conditionE uithin the sUsteh. Se€ Section 6 foi. a di5cuseion of the placing o+ values t o t h e s e v e Et o r . € .
OPERATTNG S Y S T E MC O 1 6 5 5 5 - 234
Aerendix
L
NHI Interrupt
V e ct o r 6
P 1 O V D S L S TI O A O O , A I- -
DiEp1aq-tist
interrupt
vector
Thi6 vector. is not |,5ed bq the OS. See Se.tion 6. P11
WBLKI
8c.222,e7 --
This veEtor is P1?
IRO Interiupt P13
ihitialired
WBLKD tO224,27
This vector ie S e e S e ct i o n 6 -
Imoediate
--
to point Deferred
initialized
to th6 BS stege l VBLANK
VBLANK vector
to point
t o t h e O S V E L A N Ke r i t
Vtt'llRO tO216,2J --
G€n€iaI
V P R C E Dt O z O ? ' 2 7 - -
tRO vectoF
to point
Seriat
to the OS tno interrqor
I./O bus proeeed ,tgnal
The EariEl buE line thet produaas thir EUfrent Egsteir. See SeEtion 6. P15 -
V T N T E Rt O 2 O 4 , A t - -
Serial
V I S R E A K : E O 2 O 62, 1 - -
This veEtor. is initialized US proper does {rot utitize P17
V K E Y S DI O a O A , 2 ] - -
inter.r.upt
I/O bu6 inteiiupt
The serial bus lin€ thet p|.oducei this cur.r€nt sqste$. See Sectio|r 6. P16
routine.
V e ct o r s
This veEtor iE initi€lized proce9Eor.. S€€ Section 6. P14
VBLANK veEtor
inteirupt
BRK instruEtion
not uEed in tha
siqnat is not ured in the
veEto,
to poin* to e pLA, RTI E.{uenrc .s th€ the BRK instrurtion. See S-.ctton 6.
Keqboard inteiiupt
This vector is initi6lired interrupt gervice routine. pieced in9 E1.
ls
veEto,
to point to the Krgboa.d Handler,.E See Section 6 and ahe diEcussron
OPERATINOSYSTEI'ICO16399 --
Appendir
L 255
Plg
VSERIN [O2OA,2t --
Serial
I/O buE reEeive
ThiF vector is initiEli!ed to point 6ervica routine. See Section 6. P19
V S E R O R[ O 2 O C , ? l - -
Ser.ial
to the SIO |Jtilitq's
l/O bus tfinsmit
Thit v€ctor 1s initiilizad to point €ervice routine. See Section 6. PzO
V S E R O C[ O 2 O E , 2 l - -
SeiiaI
T h e P O K E Yt i n e r .
I/O bi!€ t.snrmit
Hardueie R.g ist..
are not
readg int€rrupt
ro$plete
to the StO utilitU.e
VTttJtR2 tO212,al
interr.upts
interrupt
to the SIO utilitg,s
Thir v.ctor ir initialired to point 3arviae routine. See Section 6. Pe1 VTIMR1 EO?IO,27, t ioer. vec tors
dats ie€drJ
intorrupt
and VTIttR4 to2t4,21
--
pOKEy
used bq the OS See Se.tion
6.
Update6
A ! p a r t o + t h . s t e g e 2 V B L A N Kp r o c e s E , c e r t e i n h a . d u a r . a . . 9 i s t € . e ara updated fFom 08 dgt€ baso variable6 as rxplaincd in Section 6. P22
SDHCTL* tozeF, 1l
--
DttA controt
S D M C T Li E s e t t o a v a l p e o f t o z a t t h e b e g i n n i n g o f a D i s p t € ! Handler OPENcomnandr and then later Eet to a val{r. of t22. The v a l u e o f S D M C T L i i s t o . e d t o D I ' I A C T L[ D 4 O O ] a i p a r t o f t h e s t a g e e V B L A N Kp r o c e 5 r . P?3
S D L S T L * t O 2 3 O , 1 l a n d S D L 8 T H T .t O ? 3 1 , 1 1 - -
DiipIaU
list
dddrers
The Displr{ Handler format6 a neu di6plag liEt uith €verg OPEN coooand and pute th6 diiplag List addreE€ in SDLSTL ard SDLSTH. The v.luc of thesF bgtae are 6tored to DLISTL ED4O2I and DLI$TH [D4O3] a E p a r i o f t h e s t a g e 2 V B L A N Kp r o c e s s . o360-o36F
IOCE lf2
o370-o37F 0380-o3EF o390-o39F oSAO-O3AF o3BO-O3BF
rOCg {+3 IOCA *4 IOCB tts IOCB ti6 rOCB lf7
OPERATINOSYSTEI'ICO16555 --
236
Aprendir
L
'-
NUTE: The.e is a potential ti{ring probleo assotiet.d tith the updating of tha hardorarc te9i6ter9 +rom the dEta ba6a vaiisbleE. s i n c e t h e i t a g e a V B L A N Kp r o E e t s i s p e r f o r o € d u i t h i n t e i r u p t g enabl€d, it i. pog6ibl€ foi €n IRO intetropt to ocEur befoir thr updating of DLISTH and DLISfL. I+ the p!.ocairing of that (plus other neEted interruptg, interrupt arcaed€ the ( 1 point.r vertical-b1.n* d.l€g fisecr, then th€ digpl.g lirt I i E t regiiter uill not have been updated uhen displag Ptocesting r'aF|J!t. coomencls for the ne{, fremc, end e rctesn g}itch lrilI P24
G P R I O R * I O A A F ,1 l - -
Prioiitg
control
The Displa{ Handler .lteis b i t 3 6 a n d 7 o f G P R I O Ra t P a t t eBtablirhing the OTIA mode. Th. v.lue of GPRIORis ttoird P R I O R [ D O l B l a E p a t t o + t h e s t e g e a V B L A N KP t o c . ! s . P23
C H A C T * E O 2 F 3 ,1 7 - -
Character
of to
control
T h e D i s p l a g H a n d l e r . E e t 6 C H A C Tt o t o a o n e v e i g O P E N c o | n n . n d . T h € v a l u . o f C H A C T i . E t o r a d t o C H A C T Lt D 4 o l l a E p t r t o f t h . € t a g e 2 VBLANK rr.oc ess. P26
\:.
C H A A Sl O a F 4 , 1 1 - -
Charactei
addre.s
ba3.
T h . D i s p l a g H . f | d l a i 6 e t s C H B A St o I E O o n e v e r g O P E N c o d n . n d . T h € v a t u e o f C H E A S i e E t o r € d t o C H B A S EC D 4 O 9 ] a s p a t t o + t h ! 5 t a g e 2 .ubt.t for the eh:r'.ctet V S L A N Kp F o c e r e . T h i s v e r i a b t e c o n t t o l t letteis sEreen oodeE l and e, a value of tEO Pl'ovidas the €apital and nufibe? set {rhereas a vslue of lEe provides the loorarcase See 85$ fo. |not'e infoiftatio'|. letter's €nd speeiat graphics 3et. P27
P C O L R XE O A C O , 4 I a n d C O L O R Tt O 2 C 4 , 9 l - -
Color
regi6tlri
See 87 and 88,
Internal. P2g
!{ork ing Variab les
INTEIIP* toeeD, tl
INTEI'IP is
ui€d
--
Tempora?g Etotage
bg th6 SETVBL (SETVBV' routine.
UPERATINOSYSTEI'ICO163S5 --
APpendix L 257
R. USER AREAS The area6 shol,n belou are availrb16 to th€ lser in a non-nested envi,.onfient. gee S.ction 4 foi +ur.th€r infoioation. R1
IOOEO,12E]
R2
tO4aO,640I
zea
OP€RATINOSYSTEf'|CO16559 --
Appendir L
ALPHABET'CAL LIST OF DATA BIrSE VARIABLES
NAt'IE
vtD
ADDCOR ADRESS APPMHI ATACHR ATRACT
D4 839 A3 s94 810
o30E, I 0064, 2
BFENHI BFENLO BI TI'ISK BLIII BOOT? BOOTAD BOTSCR EPTR BRKKEY BUFADR BUFCNT BUFRFL EUFRHI BUFRLO EUFSTR
Ht7 Hl7 450 D10 N7 N10
oo39, I oo34, 1 oo5E, 1 o2aA, 1 ooo?, 1 0242,2
CASBUF CASFLG CAS:NI CASSBT CAUXl CAUX2 CSAUDH CBAUDL ccoHND CDEVIC CDTHAl CDTMA2 cDTHFs CDTMF4 cDlr.{F$ cDTHV1
o9 DA
cDTt'rv2 cDTt|v3
ADDRESS SI ZE
oooE,2 O2FB, 1
oo4D,I
O2BF, 1 D11 Fq
842 H21 H16 H16 843
N6 N5 H20 l{20 D1 D1 H19 H1E P5,l,!.27 P9 P9 P9 P4, H26 P6 PE
oo3D,1 ool 1, 1 o o 1 5 ,a oo5g, 1 oo3g, 1 oo33, 1 oo3e, 1 oo6c,2 o3FD,131 o30F, 1 ooo2,2 oo48, 1 o23C,I o23D,1 O2EF,1 OzEE,1 oe38, 1 oe3A, 1 422&, 2 aezB,2 oe2A, 1 oazc, 1 o22E, 1 0226,2 o21A,2 o21C,2
OPERATINOSYSIEII CO16559 --
A9p.nd i r
e59
cDTt'tv4 cDTf.tv9 CH CHKSNT cH1 CHACT CHAR CHSAS CHKSNT cHKSUIl CIOCHR
crx
CKEY COLAC
coLcRs COLDST COLINC
coLoRo coLoRl co|-oR2 co|-oR3 coLoR4 COLRSH COUNTR CRETRV CRITIC CRSINH CSTAT DAUX1 DAUX2 DBSECT DAUFHI DBUFLO DEYTHI DEYTLO DCB DCOt'tND DDEVIC DEEFLC D€LTAC DELTAR DFLAOS DICRT DI NDEX DMASK DOSINI DOSVEC DRETRV DRKI'ISK DSI(TI f'r DSKUTL DSPFLE DSTAT
P8 PB Hl4 FI
Pe5 855 P2A H14 tlt,t
t't11 N4 424 92 Nl1 821 BA, F27 BA, P27 88, P27 84, P27 BA, P?7 811 823 Hl1 P1 B1 H9 H9 N9 H6 H5 HA HE H1 H4 H2
n24 Bet B2e NE Hto 835 B2g N3 N12 H1? 812
c2 L1
s27 434
oaLE,2 0220,2 ozFC,1 oo3s, 1 oeF?, 1 oaF3, 1 OzFA,1 o2F4,I oo3B,1 o o 3 1 ,1 oozF, 1 ooF2,1 oo4A,1 oo72, 2 oo95,2 oe44, 1 oo7A, 1 oac4, 1
ozcs,1 cec6,I o2c7, 1
ozcE,1 oo4F, ao7E, 0036, oo4a, o?Fo, oeg8,
1 2. 1 1 1 1
o30A, I 0308,2 o24L, 1 0304, 1 0305, 1 0304, 1 0309, 1 0300, 1? 0302, 1 0300, 1 OOFB,1 oo77 ' 2 0076, 1 oe40, 1 o o F 1 ,I
aoeT' 1 o2AO, I
oooc,2 000A, a oo37, 1 oo4E,1
oo1A,2 O2FE, 1
oo4c, 1
OPSRATING SYSTEM CO16555 - -
260
A p p e n d ir L
DSTATg DT I ITLO OUNIT DUNUSE DVSTAT ENDPT (ERRNO ESCFLC ESICN FCHRFL F ILDAT F l LFLC FLPTR FtlSZP6 FPSCR FPSCR1 FPTR2 FRl
H5 H7 H3 c11 H6 025 H30 K5)
f.{a l',t9 D12 B1 A i416 K1
Hee H23 t1l7 M1
tt3 M4 H2 o15
0303, 1 0306, 1 0301,1 0307 t 1 o2EA, 4 OOED,1 oo74t e oo49, I o2A2, L OOEF,1 ooFo, 1 oo3F, 1 OEFD,1 o2B7, 1 ooFc, 2 oo43, 7 o5E6,6 ogEC,6 OOFE,2 00D4,6
oo€o,6 ooE6,6 OODA,6
FRI.IADR FRX FSCR FSCRl FTYPE
1,122 M23 D13
oo40, 1 0069, 2 ooEc, 1 o5E6,6 o5EC,6 oo3E, 1
EPRIOR
P24
o26F , L
HATABS HOLDI HOLD2 HOLD3 HOLD4 HOLDCH
o12 830 831
o31A,3A oo51,1 o29F. 1 o29D, 1
820
ozDC,1 oo7c,t
I C A X1 ICAXlZ ICAX2 1CAX27 ICBAH I CBAHZ I CBAL I CEALZ ICSLH ICELHZ I CELL ICELLZ
G9 Gel e9
o34A, 1 oo2A, 1 0348, 1 oo28, 1 o?45, L oo25, 1 0344, t ooe4, 1 0349, t oo29, 1 0344, I oo2g, 1
o6
ots o6 G1B
oa
G20
ca
OPERATINe SYSTET'!CBl65S5 --
Appendix
L 261
rccor'l
G4
ICCOHT ICCOttZ I CDNO I CDNOZ ICHID ICHIDZ IC IDNO ICPTH ICPTHZ I CPTL ICPTLZ
e23 G16 G3 Gl5
I CSPRZ ICSTA ICSTAZ INAUFF INSDAT : NTE}IP INVFLE IOCB I OCBAS
0342, L o017, 1
oo22,1 0341. 1
ooel,1 0340, 1
c14 c24, C2
oo?o, I
c19
oaeT,1
e1? c10 GS c17 it 12 445
PzE c1
2002E, 1 0347, t 0346, 1 0026, 1 434C, 4
oo2c,4 0343, 1 oo23, I ooF3, 2 ao7D,1 oaeD, 1 0286, 1
4340t t6
G13
oo20, 16
LSFEND LBPR1 LBPR2 LBUFF LINBUF L['ARCN LOeCOL LOGfIAP
M20 M1E I't19 20 851
osEO,96 o37E, t o37F,L oigo, 96 oe47, 40 oo5?, 1 0063, 1 a?82,4
I'lE!tLO
A1 A2 840
a2€7, 2 o2E5,e
819
oo6L,2 0060, 1 oo3c, I OOEE,1
KEYDEL
ItEt'rToP MLTTI'IP NEI.'COL NEI'ROW NOCKSII NgIGN OLDADR OLDCHR OLDCOL OLDROI,I OPNTI'IP PADDLO PADDLI PADDL2 PADDL3 PADDL4 262
815 814
s19 Hl5 ?17 B3S 837 B3 840
4066, ?
oo5E,? oogD, I oo5D,t oo5A, 1 0066,2 oe70, 1 o e 7 1 ,L
J3 J3
oe73, 1 0274, 1
APERATINGsYsTEf'tco16s55 - -
A pp e n d i x L
PADDLS PADDL6 PADDLT PBPNT. PBUFSZ PCOLRO PCI]LR 1 PCOLR2 PCOLR3 PLYARO POKMSK PRNBUF PTEMP PT IMOI PTRICO P T RI O 1 PTRIG2 PTRIE3 PTRIG4 PTRIGS PTRIC6 PTNIE7
0276, L 0277 , I
97, P27 a7, P27 87, P27 s7, P27 t'121
o o 1 D ,1 o o1 E ,1 o2co, 1 o2c1, 1
ozce,1 oec3,1
osEO,6 o o 1 0 ,1 o3co,40 ootF, 1 o o 1 c ,1 oeTc, 1 o27D,1 o27Et t oeTF, 1 o2ao, 1 0 2 8 1 ,I o2E?, 1
F4 t-t
J4 J4
.r4 J4 J4 .J4
0293, 1
RADFLC RAMLO RAt'lSI Z RAIITOP RECVDN RI.IARON ROWAC ROWCRS RAS'I NC RTCLOK
H24 N1 A5 A4
OOFB,1
824
oo70,a oo54,I
SAVADR SAVIO
841
sAv!tsc
SCRFLC SDLSTH SDLSTL SDHCTL SHFAI{T SHFLOI( SOUNDR SRT I I.IR SSFLAG
ooo4,3 opE4, 1 006A, 1 oo3?, 1 oo53, 1
821
0079, 1
oo12,3 oo6E,2 0316, 1
oosg,e
836 B9 P23
O2BB,1 o:31, 1 0230, 1 o22F, t oo6F,I O2BE,1 o o 4 1 ,1 oazB,1 OzFF,1 oe32, 1
P?2 829 H10
ssl(cTL STACXP STATUS STICKO ST ICKl
sTtcK2 sTlcK3 STRIEO
H2B H31 J1, J7, J', J7, J', J7, ,J1, J7, .J2, .J7,
J8 JA JB .rE ,tg
0 3 1 A ,1 0030, 1 o27e, I 0279, 1 o27A, 1 o27B, 1 0e94, I
OPERATINCsYaTEit co16955 - -
A pp . n d i r L 263
STRIG2 STRI G3 SU8TfIP sl.lPFLo
J2, J7, Jq J2, J7, ,Jg J2, J7, J9
s48 844
0285, 1 oeB6, 1 o2s4, 4 oo7B, 1
TABI.IAP TEIIP TEMPl TEIIP3 T I }{ER1 T tf'tER2 T l.tFLC TINDEX TI,IPCHR THPCOL TI'IPL8T T}IPROW TOADR TRAHSZ TSTAT TSTDAT TXTCOL TXTt'tSC TXTOLD TXTROW
s13 H23
853 B4
a294, 2 0296,6 0290, 1
UgAREA
R1
ooao,1ea
VSREA'( VDSLST vIHtRO VINTER
PL6 P10 P13 P15 PL7 P14 Plg P?O P19 P2L P2L P2l P12 P11
0?0 6, ? 0200, 2
||t.loDE
N13 D14
oooa, 1
xHTDON
H24
oo3A,1
IZBUFF ( ZDRVA ZI O C B ( z58A ZTEXPl
K2) K3'
oo43,a oo45,2 oo?o, 16 oo47,2 ooFs,2
vt(sY8D VPRCED VSERI N
vsERoc VTIIIRI
vTrHR2 vT 'tR4 VVELKD WBLKI ltARfiST
I)6 D2, HES 849 833 946 847 846 940 N1 H29 N2 94
s52
G13 K4)
o2A3, 15 o23E, 1 o312,2 0319,1 o30c, 2 0310,2 o317,1
oe93,r oo90,I oeBq,a
o 2 A 1 ,1 O:BB, 1 ao66, e
ooo4,3 0319, 1
ooo7,1 o29L,2
o2L6, 2 0204, 2 oeo8,a 0202, e o20A,a o20E,2 o20c, 2 o410,2 o2L2, 2 oeL4, 2 o2e4, 2 o2??, ? 0289, 1
O P E R A T I N eS Y S T E MC O 1 6 5 5 5 - -
264
ADeendir L
zTEr.,rP3 zTEr'rP4
M19 M14
00F9, 2 00F7, ?
O P E R A T I N GS Y S T E MC O 1 6 5 5 5 - -
Aroendix L
IIEI.,IORYADDRESS ARDERED LIST
OF DATADASE VARIABLES
ADDRESS
VI D
NAI'IE
oooo-ooo1 ooo2-ooo3 ooo4-oo06 oooT oooa ooo9 oooA-oooB oooc-oooD oooE-oooF
s7 N6 N1 N2 N13 N7 N12 N3 A3 P? E5 P3 C1 c23 Ll F5 F3 FE F4 813, G14
LNZSS CASINI RAI'ILO,TRAIISZ TSTDAT 9tARf'tST 800T? DOSVEC DOSINI APPI.IHI POKI,ISK BRKKEY RTCLOK BUFADR ICCOI1T DSKUTL PTIMOT PSPNT PBUFSZ PTEHP ICHIDZ
oo10 oo11 oo12-oo14 oo15-oo16 oo17 oolA-oo1B oo1c oo1D ootE ool F oo20 oo21 oo22 ooa4-ooe5 ooe6-oo27 oo2a-oo29 oo2A-oo29 oo2c-oo2F oo30 oo31 oo32-oo33 oo34-oo35 oo36 oo37 oo3a oo39 oo3A oo3B oo3c oo3D oo3E oo3F o040 oo41 oo42 oo43-oo49 oo4A oo4B oo4c
c15
tcDNOZ
G16 ICCOMZ ICOBAS e17 G1g ICBALZ, ICBAHZ G19 ICPTLZ,I CPTHZ ICBLLZ, ICBLHZ O2O O21 ICAXIZ, ICAX2Z G22, e24, G29 ICSPRZ H31 STATUS t{13 CHKgUt'l H16 SUFRLO,BUFFRHI H'7 BFENLO, BFENHI Hll CRETRY DRETRY H12 BUFRFL H21 RECVDN H22 XI,4TDON H24 CHKSNT H14 H15 NOCKSI.I D11 BPTR FTYPE D13 FSOF D12 FRSO D15 H1O SOUNDR Pl CRITIC ZEUFF' ZgUFP, ZDRVA, Kl, KA, K3, K4, K5 N4 CKEY CASSBT N' DSTAT 834 OPERATINC SYSlEl'l CO16555 --
26h
APPendix L
oo4D oo4E oo4F oo50 oo51 oo9e oo53 oo54-oos6 ao67 ooSB-oo59 ooSA-oo5c ooSD ooSE-oo9F 0060-0062 oo63 oo64-oo55
910 812 Btl 833 930
0066-0067 oo68-0069 OO6al
840 84t A4
oo68 oo6c-006D oo6E oo6F oo70-oo73 oo74-oo79 oo76-0078 oo79-oo7A ooTB ooTc ooTD ooTE-oo7F
s5 g6
835 836 B3 819 815
B4a 843 850 924 825 841 844 B4S 423
ATRACT DRKMSI{ COLRSH TI,IPCHR HOLDl LMARGN RI'IARON ROt"tcR6,COLCRS DINDEX
sAvt'tsc
OLDROOI, OLDCOL OLDCHR OLDADR NE!|RO0,NEHCOL LOeCOL ADRESS H-TT}IP, OPNTI'IP,TOADR SAVADR./FRf{ADR RAI.ITOP EUFCNT BUFSTR BITMSK SHFAMT ROltAC,COLAC ENDPT DELTAR, DELTAC ROWINC,COLI NC SWPFLC HOLDCH INSDAT COUNTR
ooao-ooFF
gEE FLOATINC POINT VARIABLE LIST AT END.
o100-olFF
690? SIACK
o200-oao 1
P10 P14 P19 Pt6 Pt7 P1S P19 P20
VDSLST VPRCED VINTER VBREAK VKEYED VSERI N VSEROR
Pat
vIT R1, VI tr'rR2,VITllR4 VIMIRO cDTt'lv1
oeoz-o203 o204-o205 aza6-0207 020a-0209 oeoA-0208
o20c-oaoo o20E-o20F 0210-o215 o2t6-o2L7 o?19-o219 oelA-o218 oalc-o221 o22?-O2e3 0224-0223 o2e6-oae7 oeza-0229 o?24
P13 P4, H26 P6 PA PA, He7 77 P9
vsERoc
cDTt'tvz CDTttVS cDTt'tv3, cDTMV4, WBLKI W9LKD c DTt'lAI CDTI{AA cDTi'tF3
SYSTEIICO16595 -OPERATING
Appendir L 267
o*B ozec ozeD o?2E o22F oe30-o231 oe32 o23A o23S o23C-O23D o240 o24L 024e-oa43 o244 o246 0247-A?6E o26F o270-o277 o27e-o279 o27C-O2A3
o2a4-o2a7 oea9 02aA o2gg-o2aF oe90-o292 oe?3 oa94-o295 o2g6-0298 oa9D o29E o29F o2AO o2A1 o2A2 o2A3-0281 02B2-O?85 02B6 02BE-02AA 02BB 02BC oagE OABF
02co-ozc3 o?c4-o2cB o2E4 o2E5-02E6 o2E7-O2E8 OAEA-02ED
oeFo ozF1
EA P9 PIE P9 P?? PE3 H32 H1A H1S HzO H23 H3O NA N9 N1O Nl1 C2 851 P24 J3 .,1, J7, JA .J4 J2, J7,,.tg D14 DlO EilO 84 A4S 852 853 832 E4S 831 BzE 847 826 413 814 E9 BlA 944 89 BEO E6 876 87,P27 BA,P27 A5 A2 AI 811 Dl 81 E2
SRTIT{R CDTI'IF4 INTEI'IP CDTT,{F5 SDIICTL SDLgTL, SDLSTH SSttcTL CDEVIC cct]t'tND C A U X l ,C A U X ? TEHP ERRFLG DFLAGS DBSECT BOOTAD COLDST DSKTIH L INBUF OPRI{IR PADDLO -- PADDLT STICKO -. STICK3 PTRIOO -- PTRIG7 STRIOO -- STRIGS WMODE BL lt.t un|Jsed TXTROI.I, TXTCOL TINDEX TXTi'iSC TXTOLD HOLD3 suSTtlP HOLD2 DhASK TMPLST ESCFLO TA8r.lAP LAGHAP INVFLE FILFLE T}!PROW,TI'PCOL SCRFLO HOLD4 SHFLOT{ BOTSCR PCOLRO-- PCULR3 PCOLRO-- PCOLR4 RAiISI Z }4Ef'ITUP l4Et'rLO DVSTAT CHBAUDL,CHBAUDH C R SI N H KEYDEL
OPSRATINOSYSTET'ICO16555 --
Appendir
L
oeFS oaF4 O2FA 02FB ozFC O2FD OzFF o300 o301 o302 o303 o304-o305 o306 030a-o30? o30a-o308 o30c-o30D o30E 030F os10-o3t 1 031a-o313 031S 0316 03t7 031E 0319 03lA-o33F 0340 o341 o342 0343 o344-0345 0346-0347 o348-0349 034A-0348 034C-034F 0390-o35F 0360-o36F 0370-037F 03BO-O3AF 0390-o39F o3AO-O3AF 03go-03BF 03co-o3E7 o3FD-047F 0480-o6FF
Pe5 P26 855 B$4 E3 EL7 827 E4 Hl, HE H3 H4 H' H6 H7 H8 H9 D4 DA D5 D6 D2, H25 H?A He9 G 1 ,C 2 G3 G4
o5
ca
o9 e10 Gz-O10 e2-c10 o2-G10 e2-c10
e2-ero
cHl CHACT CHBAS CHAR ATACHR CH FILDAT DSPFLG SSFLAC DCB/DDEVIC DUNIT DCOMND DSTATS OEUFLO,DBUFHI DTIHLO DBYTLO,DBYTHI DAUXl, DAUX2 T I I'IER1 ADDCAR CASFLG Tt I'iER2 TEI.IP1 TEI'1P3 SAVIO TII{FLE STACKP TSTAT HATABS I O C E ,] C H I D ICDNO I CCOl.l ICSTA ICBAL, ICBAH ICPTL, ICPTH ICBLL, ICBLH ICAXI,ICAX2 ICSPR
( tocB *1 ) ( IOCB *2) ( IOCS *3) ( IOCE *41
( tDcB *s'
F1
( IOCB *61 ( IOCB *7) PRNAUF
D9
CASBUF
Gz-O10 e2-o10
UBer Area
OPERATINESYSTEI,Ic o t 6 5 $ 5 - -
A p P e n di x L
FLOATINO POINT PACKAC€VARIABLES
ooD4-ooD9 OODA-OODF
ooEo-ooE9 ooE6-ooEB ooEc OOED OOEE OOEF
ooFo ooF1 ooF2 ooF3-ooF4 ooFS-ooF6 ooFT-ooFE ooF?-ooFA
l.t1 I't2 M3 M4 H6 ?17 E t't9 t'r10 1,t11 l,|l2 r13 t'i14
FRO FR1 FR2 FRX EEXP NSICN ESICN FCHRFLO DIORT
ooFc-ooFD
OOFE-OOFF
H24 H16 M17
INBUFF ZTEIIPl ZTE}IP4 zTEHP3 RADFLO/DECFLE FLPTR FPTR2
o57E o57F oSao-o5FF osEO-O5E5 o5E6-O5EB oSEC-O5Fl
1A t119 ll?o t421 .422 n23
LSPR1 LEPR2 LEFEND, LBUFF PLYARG FPSCR,/FSCR FPSCRl/SCR1
OOFB
OPERATINGSYSTEMc o 1 6 9 5 5 - -
A p pe n d i r L
INDEX The EUbJect inder contains thr€e forins of rrterences: Section nurnber? such €E ,3. , Appendixr EUchae ,ApF B. Variable ID fr.orn Appendix L, soch as
.
-
'97,.
ATARI standa.ds ATASCTT attract oode
L2 894-55, 3, ApP D_c BIO-12, 6,
bit oapprd qraphics blerkboard mode ENF boot BREAK
BaE-8A9, 5, App H g, NlA, 7, 12 T a, 4, N3_1o, j, 7, ES, 6, L2
rar.tridge casBette brud fate determine cassette-boot cas6ette devlEe C a s e e t t e H a n dl e r ( C ) CIO (Cent.al L/O Utilitqt CIO/urei intrr+eEe CIO/Hand ler. interface CLOSE L/O comfiEnd coldstar.t (6ee .poqre.-uo.) color control control charaEt€.6 c i i t i E a l s e c ti o n Eulsor
3, 4, 7, LO D1-D7 3, NS-1Or 7, lO D1-DlS, A, g 5 Ot-AS, g, ? 01-11, S, App A, App B Gle-?]Z, C S, 9
1o
A7-8, 5, 6 a26-27, S, App D pl,6 g1_4, 9
database 4 DCB (Device Cont.ol Block' Hl-9, 5, 9 DELETS I/O Eomoend s developnent sqstem 19 alevire/f i lenao{ speri+ir6tion 5 DeviE€ Handler 3, q deviE. tabte 2, At2, e, 7, 9 di6ft-boot 3, N3-1O, e, 7, tO dist davire F DiEft File t{sneger (Dt Kl-F, g DiEl Handl€r' (resid€nt) C1-2, I displatJ device (scr€en) BS4-S9, S, App E, App H Di€pl€g Hahdler (S) Bt-bg, s displag list 4r p1O DOS (Di6t Utilities) Ll, ta DRAl.l I/O coomand 817-eg, s dr iving Eontrol lei JB-9 g Edur6tional Sqsteo Foroat Caigettes error hendling OS, HO! H1l-12, 9, A9, B-C OPERATINOSYSTEH CO165S5 --
TNDEX 271
EOF (end-of-fi
1e)
Fil. ltlan.gcment SUstem FILL I/O command f Iost in9 point packaoe FORMAT I/O c ohmand fFee maftoag game.alntroll€r5 OET CHARACTERI/O conftand OET RECORDI/O connand OET STATUS I/O com and Handler (9ae .devire
handler,
Dt7-25,3 2, 4, H1-e4, a, APp J 4,
A1-3,
3, J1-9, 5 , 9
R1-2, 6,
11
and individual
initial ir€tion, certr.idoe init ial i rdt i on, Hendl!r init ial i z6ti on, interrupt initialization, 5!Eten i n t e r n a l d i G pl a g c o d e interruptg i n t € a r u p t n a EI inverEe vl deo (disolau)
7, 6 4, 5, 2,
IOCB (I/O Controt BloEk) I/O .ett'g lo9ic
et-10,5,9 H11-12
device handlerg,
I 7, 10 854 P |-eB,
6
rlo
JogEtick |(egboii,d k e g bo a r . d Kegboard lerrboard
Autorep aet d.vice Handler. (l(, l e g d e b o u n Ei n g
light pen LNBUC LOCK I/O c onftand IogicEl tert lines
E1-9, E1-3
11. App J {EEieen)
me{norg ( see .RAt'i., fienorq dqnanics memorg oap
'ROt'l' alld
B14- 15, I , f ree .[€|l|or{ . , A1-5, N1-2, 4, 4
NOTE I/O
c oftftEnd
5
OPEN I/O
c oomand
5 , 9
p a d d1 e Page o page I par i pherel deviGeE POINI I/O Godr|tland P o!,e i-u p pr.int€r device 272
3, App F
!,3-4
4, nL-17, 4 , 9
RL, S
?,
4,
N1-13,
7,
OPERATINE SYSTEM CO16555 --
t2 INDEX
!
Printer Handle!'(p) p r . o g r . a i nd e v e l o p m € n t PUT CHARACTERI/O coo|nand PUT RSCBRD I/O coomand
F1-S, s 13 5, 9 9, 9
RAt't recor.d ( I/81 BENAI'IE L/O .ommend RESEI
3, 4, q s E 2, N1_13, 6, 7,
ROt't( os t
R9-a32-C HEndler
.-
(R)
L, 4
12
g, 9
Scr.een Editor' (E' Eci.een narging sEr€en modeE scrolling (tertl ceridl I/O bug f S H I F I l , / C O N T R O Ll o c k SIO (6eri.al bu6 I/O Utitit'J) sound control (gto) SPECIAL l,/O con|lt€ndE split Ecieen gt€r ft (diEpIaUt 5te"t/stop 6 t a 9 e 1 V B L A N Kp . o c e s E s t B g e 2 V B L A N Kp r o c e E E
El-gg, 5 B5-6, $, 7 4, S, App H 89,5 3, 9, 9, App I E6-7, g Hl-3a, p13-2r, S, 9, App C H1O, 11 J, 9 816, 5 4 84, 6, t2 p3-$, 6 p6-9, pze-e7, 6
tabs (Screen Editor) timeout (d6vice) ti €rs (crJstem)
Bl3, I HAA-ZZ, 9 F3-9, 6
UNLOCK L/O contnEnd asei uorrspace
F 4, f,llE-A3, Re
v6ctors, RAt'l vectore, ROH vert ica I blank int€rrupt
pi, p7, p1o-e1, g, 9, ADr J F11-12, 6
uar.mitart ( see .RESET,) ui 1d-car.d (diit fil€n€fte,
s
ZIOCB (Zero-p.ge
e13-e2,
IOCB'
9,
6, 9
O O A O1, 6
BPSRATINC SYSTEI.ICOl6955 --
INDEX