Mapa pamięci Atari 8bit

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 22:04, 28 lis 2023
Mono (Dyskusja | wkład)
(wg mapa pamieci xl/xe: procedury wejscia/wyjscia)
← Previous diff
Wersja z dnia 22:10, 28 lis 2023
Mono (Dyskusja | wkład)
(wg mapa pamieci atari xl/xe: procedury interpretera basica)
Next diff →
Linia 3887: Linia 3887:
<td>$E480</td> <td>$E480</td>
<td colspan="2"></td> <td colspan="2"></td>
-<td colspan="2"><span id="PUPDISV">PUPDISV<sup>1</sup></span>, <span id="PUPDIV">PUPDIV<sup>2</sup></span></td>+<td colspan="2"><span id="PUPDISV">PUPDISV<sup>1</sup></span>, <span id="PUPDIV">PUPDIV<sup>2</sup></span>, <span id="JTSTROM">JTSTROM<sup>5</sup></span></td>
<td></td> <td></td>
</tr> </tr>

Wersja z dnia 22:10, 28 lis 2023

Zmienne systemowe oraz adresy procedur systemu operacyjnego Atari 400/800 i XL/XE.

Domyślnie przyjęto nazewnictwo występujące w zachodniej literaturze:

  • Atari 400/800 Operating System Source Listing
  • Atari 400/800 Technical Reference Notes

Wszelkie zmiany i odstępstwa występujące w innych publikacjach zaznaczono ze wskazaniem na źródło występowania.

1. Atari XL Addendum - Operating System Manual

2. Mapping The Atari Revised Edition

3. De Re Atari

4. Master Memory Map For The Atari

5. Mapa Pamięci Atari XL/XE

Spis treści

Tablice i zmienne w RAM

Adres Etykieta Opis
Atari OS
rev.A
Atari OS
rev.B
XL OS
AA000001
rev.11
XL OS
BB000001
rev.2
$0000 LNZBS, LINZBS2 LNFLG1, LINFLG4
$0001 NGFLAG1
$0002 CASINI
$0003
$0004 RAMLO
$0005
$0006 TRAMSZ
$0007 TSTDAT CMCMD1
$0008 WARMST
$0009 BOOT?
$000A DOSVEC
$000B
$000C DOSINI
$000D
$000E APPMHI
$000F
$0010 INTZBS
$0010 POKMSK, IRQENS5
$0011 BRKKEY, IRQSTAT5
$0012 RTCLOK, RTCLOCK5
$0013
$0014
$0015 BUFADR
$0016
$0017 ICCOMT
$0018 DSKFMS
$0019
$001A DSKUTL
$001B
$001C PTIMOT ABUFPT1 PTIMOT przeniesiony do $03141
$001D PBPNT PBPNT przeniesiony do $02DE1
$001E PBUFSZ PBUFSZ przeniesiony do $02DF1
$001F PTEMP PTEMP usunięty1
$0020-$002F ZIOCB Zero Page I/O Control Block
$0020 IOCBAS
$0020 ICHIDZ
$0021 ICDNOZ
$0022 ICCOMZ
$0023 ICSTAZ, ICSTZ5
$0024 ICBALZ, ICBAZ
$0025 ICBAHZ
$0026 ICPTLZ, ICPTZ
$0027 ICPTHZ
$0028 ICBLLZ, ICBLZ
$0029 ICBLHZ
$002A ICAX1Z
$002B ICAX2Z
$002C ICAX3Z, ENTVEC1, ICSPRZ
$002D ICAX4Z
$002E ICAX5Z, ICIDNO
$002F ICAX6Z, CIOCHR
$0030 STATUS
$0031 CHKSUM
$0032 BUFRLO, BUFR
$0033 BUFRHI
$0034 BFENLO, BFEN, BUFEN5
$0035 BFENHI
$0036 CRETRY LTEMP1 CRETRY przeniesiony do $029C1
$0037 DRETRY DRETRY przeniesiony do $02BD1
$0038 BUFRFL
$0039 RECVDN, RECVND5
$003A XMTDON
$003B CHKSNT
$003C NOCKSM
$003D BPTR
$003E FTYPE, GAPTYP5
$003F FEOF
$0040 FREQ
$0041 SOUNDR, IOSNDEN5
$0042 CRITIC
$0043-$0049 FMSZPG
$0043 ZBUFP
$0044
$0045 ZDRVA
$0046
$0047 ZSBA
$0048
$0049 ERRNO
$004A CKEY ZCHAIN1 CKEY przeniesiony do $03E91
$004B CASSBT CASSBT przeniesiony do $03EA1
$004C DSTAT
$004D ATRACT
$004E DRKMSK, ATRMSK5
$004F COLRSH
$0050 TMPCHR, TEMP2
$0051 HOLD1
$0052 LMARGN, LMARGIN5
$0053 RMARGN, RMARGIN5
$0054 ROWCRS
$0055 COLCRS
$0056
$0057 DINDEX
$0058 SAVMSC
$0059
$005A OLDROW
$005B OLDCOL
$005C
$005D OLDCHR
$005E OLDADR
$005F
$0060 NEWROW FKDEF1, FKDEFP5 NEWROW przeniesiony do $02F51
$0061 NEWCOL NEWCOL przeniesiony do $02F61
$0062 PALNTS1
$0063 LOGCOL
$0064 ADRESS
$0065
$0066 MLTTMP, OPNTMP, TOADR
$0067
$0068 SAVADR, FRMADR
$0069
$006A RAMTOP
$006B BUFCNT
$006C BUFSTR
$006D
$006E BITMSK
$006F SHFAMT
$0070 ROWAC
$0071
$0072 COLAC
$0073
$0074 ENDPT
$0075
$0076 DELTAR
$0077 DELTAC
$0078
$0079 ROWINC KEYDEF1, KEYDEFP5 ROWINC przeniesiony do $02F81
$007A COLINC COLINC przeniesiony do $02F91
$007B SWPFLG
$007C HOLDCH
$007D INSDAT
$007E COUNTR
$007F
$0080-$00FF obszar użytkownika
$00D4-$00FF zmienne pakietu FP
$00D4-$00D9 FR0
$00D5-$00D9 FR0M1
$00DA-$00DF FRE
$00E0-$00E5 FR1
$00E1-$00E5 FR1M1
$00E6-$00EB FR2
$00EC FRX
$00ED EEXP
$00EE NSIGN, FRSIGN1
$00EF ESIGN, PLYCNT1
$00F0 FCHRFLG, FCHFLG1, SGNFLG1
$00F1 DIGRT, XFMFLG1
$00F2 CIX
$00F3 INBUFF, INBUFP5
$00F4
$00F5 ZTEMP1
$00F6
$00F7 ZTEMP4, ZTEMP25
$00F8
$00F9 ZTEMP3
$00FA
$00FB RADFLG, DEGFLG
$00FC FLPTR
$00FD
$00FE FPTR2
$00FF
$0100-$01FF stos procesora
$0200 INTABS
$0200 VDSLST, DLIV5
$0201
$0202 VPRCED
$0203
$0204 VINTER
$0205
$0206 VBREAK
$0207
$0208 VKEYBD
$0209
$020A VSERIN, VSERIR3
$020B
$020C VSEROR
$020D
$020E VSEROC
$020F
$0210 VTIMR1
$0211
$0212 VTIMR2
$0213
$0214 VTIMR4
$0215
$0216 VIMIRQ
$0217
$0218 CDTMV1, TIMCNT15
$0219
$021A CDTMV2, TIMCNT25
$021B
$021C CDTMV3, TIMCNT35
$021D
$021E CDTMV4, TIMCNT45
$021F
$0220 CDTMV5, TIMCNT55
$0221
$0222 VVBLKI
$0223
$0224 VVBLKD
$0225
$0226 CDTMA1, TIMVEC15
$0227
$0228 CDTMA2, TIMVEC25
$0229
$022A CDTMF3, TIMFLG35
$022B SRTIMR, SRTIMER5
$022C CDTMF4
$022D INTEMP
$022E CDTMF5
$022F SDMCTL, DMACTLS5
$0230 SDLSTL, SDLST, DLPTRS5
$0231 SDLSTH
$0232 SSKCTL, SKCTLS5
$0233 LCOUNT1
$0234 LPENH, LPENHS5
$0235 LPENV, LPENVS5
$0236 BRKKY1, VBRKKEY5
$0237
$0238 RELADR1 VPIRQ1 RELADR przeniesiony do $024A
$0239
$023A-$023D CFB4 Command Frame Buffer
$023A CDEVIC
$023B CCOMND, CCMND5
$023C CAUX1
$023D CAUX2
$023E TEMP
$023F ERRFLG
$0240 DFLAGS, DFLAG5
$0241 DBSECT, DSECCNT5
$0242 BOOTAD
$0243
$0244 COLDST
$0245 RECLEN1
$0246 DSKTIM
$0247-$026E LINBUF LINBUF usunięty1
$0247 PDVMSK1
$0248 SHPDVS1, PDVRS5
$0249 PDIMSK1, PDMSK2, PINTMSK5
$024A RELADR1 przeniesiony z $0238
$024B
$024C PPTMPA1
$024D PPTMPX1
$024E
$024F
$0250
$0251
$0252
$0253
$0254
$0255
$0256
$0257
$0258
$0259
$025A
$025B
$025C
$025D
$025E
$025F
$0260
$0261
$0262
$0263
$0264
$0265
$0266
$0267
$0268
$0269
$026A
$026B CHSALT1, CHSPTR5
$026C VSFLAG1, VSFLG4
$026D KEYDIS1
$026E FINE1
$026F GPRIOR, GTICTLS5
$0270 PADDL0
$0271 PADDL1
$0272 PADDL2
$0273 PADDL3
$0274 PADDL4
$0275 PADDL5
$0276 PADDL6
$0277 PADDL7
$0278 STICK0, JSTICK05
$0279 STICK1, JSTICK15
$027A STICK2, JSTICK25
$027B STICK3, JSTICK35
$027C PTRIG0
$027D PTRIG1
$027E PTRIG2
$027F PTRIG3
$0280 PTRIG4
$0281 PTRIG5
$0282 PTRIG6
$0283 PTRIG7
$0284 STRIG0, TRIG0S5
$0285 STRIG1, TRIG1S5
$0286 STRIG2, TRIG2S5
$0287 STRIG3, TRIG3S5
$0288 CSTAT HIBYTE1 CSTAT usunięty1
$0289 WMODE
$028A BLIM
$028B IMASK1
$028C JVECK1, NEWIOP5
$028D
$028E NEWADR1
$028F
$0290 TXTROW
$0291 TXTCOL
$0292
$0293 TINDEX
$0294 TXTMSC
$0295
$0296 TXTOLD
$0297
$0298
$0299
$029A
$029B
$029C TMPX1 CRETRY1 TMPX1 usunięty1, CRETRY przeniesiony z $0036
$029D HOLD3
$029E SUBTMP
$029F HOLD2
$02A0 DMASK
$02A1 TMPLBT
$02A2 ESCFLG
$02A3 TABMAP
$02A4
$02A5
$02A6
$02A7
$02A8
$02A9
$02AA
$02AB
$02AC
$02AD
$02AE
$02AF
$02B0
$02B1
$02B2 LOGMAP
$02B3
$02B4
$02B5
$02B6 INVFLG
$02B7 FILFLG
$02B8 TMPROW
$02B9 TMPCOL
$02BA
$02BB SCRFLG
$02BC HOLD4
$02BD HOLD5 DRETRY1 HOLD5 usunięty1, DRETRY przeniesiony z $0037
$02BE SHFLOK
$02BF BOTSCR
$02C0 PCOLR0, COLPM0S5
$02C1 PCOLR1, COLPM1S5
$02C2 PCOLR2, COLPM2S5
$02C3 PCOLR3, COLPM3S5
$02C4 COLOR0, COLPF0S5
$02C5 COLOR1, COLPF1S5
$02C6 COLOR2, COLPF2S5
$02C7 COLOR3, COLPF3S5
$02C8 COLOR4, COLBAKS5
$02C9-$02CE PARMBL1
$02C9 RUNADR1
$02CA
$02CB HIUSED1
$02CC
$02CD ZHIUSE1
$02CE
$02CF-$02D4 OLDPAR1
$02CF GBYTEA1
$02D0
$02D1 LOADAD1
$02D2
$02D3 ZLOADA1
$02D4
$02D5 DSCTLN1
$02D6
$02D7 ACMISR1
$02D8
$02D9 KRPDEL1
$02DA KEYREP1
$02DB NOCLIK1
$02DC HELPFLG1, HELPFG2, HLPFLG5
$02DD DMASAV1
$02DE PBPNT1 PBPNT przeniesiony z $001D
$02DF PBUFSZ1 PBUFSZ przeniesiony z $001E
$02E0 GLBABS
$02E0 RUNAD2, RUNVEC3 DOS
$02E1
$02E2 INITAD2, INIVEC3 DOS
$02E3
$02E4 RAMSIZ
$02E5 MEMTOP
$02E6
$02E7 MEMLO
$02E8
$02E9 HNDLOD1
$02EA-$02ED
$02EA DVSTAT
$02EB
$02EC DVTMOT5
$02ED REVNUM5
$02EE CBAUDL, CBAUD
$02EF CBAUDH
$02F0 CRSINH
$02F1 KEYDEL
$02F2 CH1, OLDKBC5
$02F3 CHACT
$02F4 CHBAS
$02F5 NEWROW1 NEWROW przeniesiony z $0060
$02F6 NEWCOL1 NEWCOL przeniesiony z $0061
$02F7
$02F8 ROWINC1 ROWINC przeniesiony z $0079
$02F9 COLINC1 COLINC przeniesiony z $007A
$02FA CHAR
$02FB ATACHR
$02FC CH, KBCODES5
$02FD FILDAT
$02FE DSPFLG
$02FF SSFLAG
$0300-$030B DCB Device Control Block
$0300 DDEVIC
$0301 DUNIT
$0302 DCOMND, DCMND5
$0303 DSTATS
$0304 DBUFLO, DBUF, DBUFA5
$0305 DBUFHI
$0306 DTIMLO
$0307 DUNUSE
$0308 DBYTLO, DBYT
$0309 DBYTHI
$030A DAUX1
$030B DAUX2
$030C TIMER1, INTIM15
$030D
$030E ADDCOR JMPERS1 ADDCOR usunięty1
$030F CASFLG
$0310 TIMER2, INTIM25
$0311
$0312 TEMP1 TEMP1
$0313 TEMP21 TEMP2 przeniesiony z $0314
$0314 TEMP2 PTIMOT1 TEMP2 przeniesiony do $03131, PTIMOT przeniesiony z $001C
$0315 TEMP3
$0316 SAVIO
$0317 TIMFLG
$0318 STACKP
$0319 TSTAT
$031A-$033F HATABS tablica handlerów urządzeń
$031A-$031C P:
$031D-$031F C:
$0320-$0322 E:
$0323-$0325 S:
$0326-$0328 K:
$0329-$032B wolny
$032C-$032E wolny
$032F-$0331 wolny
$0332-$0334 wolny
$0335-$0337 wolny
$0338-$033A wolny
$033B-$033D wolny (nadpisany MSB adresu tablicy handlera przez PUPBT11)
$033D PUPBT11 $5C
$033E PUPBT21 $93
$033F PUPBT31 $25
$0340-$03BF IOCB Input/Output Control Block
$0340 ICHID, ICHID5
$0341 ICDNO
$0342 ICCOM, ICCMD5
$0343 ICSTA, ICSTAT5
$0344 ICBAL, ICBA, ICBUFA5
$0345 ICBAH
$0346 ICPTL, ICPT, ICPUTB5
$0347 ICPTH
$0348 ICBLL, ICBL, ICBUFL5
$0349 ICBLH
$034A ICAX1
$034B ICAX2
$034C ICAX3, ICSPR
$034D ICAX4
$034E ICAX5
$034F ICAX6
$0340-$034F IOCB0 IOCB #0
$0350-$035F IOCB1 IOCB #1
$0360-$036F IOCB2 IOCB #2
$0370-$037F IOCB3 IOCB #3
$0380-$038F IOCB4 IOCB #4
$0390-$039F IOCB5 IOCB #5
$03A0-$03AF IOCB6 IOCB #6
$03B0-$03BF IOCB7 IOCB #7
$03C0-$03E7 PRNBUF bufor drukarki
$03E8 SUPERF1
$03E9 CKEY1 CKEY przeniesiony z $004A
$03EA CASSBT1 CASSBT przeniesiony z $004B
$03EB CARTCK1
$03EC DERRF1
$03ED ACMVAR1
$03EE
$03EF
$03F0
$03F1
$03F2
$03F3
$03F4
$03F5
$03F6
$03F7
$03F8 BASICF1
$03F9 MINTLK1
$03FA GINTLK1, CINTLK4
$03FB CHLINK1, CHUNK4
$03FC
$03FD-$047F CASBUF bufor magnetofonu
$03FD CSCB5
$03FE
$03FF CRCB5
$0400-$047F CASBUF5
$047F CASBEN5
$0480-$06FF obszar użytkownika
$057E LBPR1, LBUFF2
$057F LBPR2
$0580-$05FF LBUFF
$05E0-$05E5 PLYARG
$05E6-$05EB FPSCR, FSCR
$05EC-$05F1 FPSCR1, FSCR1
$05FF LBFEND

Procedury i stałe CART ROM

Adres Etykieta Opis
Atari OS
rev.A
Atari OS
rev.B
XL OS
AA000001
rev.11
XL OS
BB000001
rev.2
$BFF0 CART5
$BFFA CARTCS, CARTRUN5
$BFFB
$BFFC CART, CARTINS5
$BFFD CARTFG, CARTOPT5
$BFFE CARTAD, CARTINI5
$BFFF

Procedury i stałe PBI ROM

Adres Etykieta Opis
Atari OS
rev.A
Atari OS
rev.B
XL OS
AA000001
rev.11
XL OS
BB000001
rev.2
$D800
$D801
$D802
$D803 PDID11, DEVID15 $80
$D804
$D805 PDIOV1, PDIOR5
$D806
$D807
$D808 PDIRQV1, DEVINT5
$D809
$D80A
$D80B PDID21, DEVID25 $91
$D80C
$D80D-$D81C PDVV1
$D80D PDVOPV5
$D80E
$D80F PDVCLV5
$D810
$D811 PDVGBV5
$D812
$D813 PDVPBV5
$D814
$D815 PDVSTV5
$D816
$D817 PDVSPV5
$D818
$D819 DEVINIT5
$D81A
$D81B
$D81C

Procedury i stałe FP ROM

Adres Etykieta Opis
Atari OS
rev.A
Atari OS
rev.B
XL OS
AA000001
rev.11
XL OS
BB000001
rev.2
$D800 AFP
$D8E6 FASC
$D9AA IFP
$D9D2 FPI
$DA44 ZFR0
$DA46 ZF1, AFI3, ZFI4, AF15
$DA60 FSUB
$DA66 FADD
$DADB FMUL
$DB28 FDIV
$DD40 PLYEVL
$DD89 FLD0R
$DD8D FLD0P
$DD98 FLD1R
$DD9C FLD1P
$DDA7 FST0R
$DDAB FST0P
$DDB6 FMOVE, FMOV015
$DDC0 EXP
$DDCC EXP10
$DECD LOG
$DED1 LOG10

Procedury i stałe BASIC ROM

Adres Etykieta Opis
Atari BASIC
rev.A
Atari BASIC
rev.B
Atari BASIC
rev.C
$BDA7 SIN2
$BDB1 COS2
$BE05 SIN SIN
$BE0F COS COS
$BE77 ATAN2
$BED5 ATAN ATAN
$BEE5 SQR2
$BF43 SQR SQR

Procedury i stałe OS ROM

Adres Etykieta Opis
Atari OS
rev.A
Atari OS
rev.B
XL OS
AA000001
rev.11
XL OS
BB000001
rev.2
$CC00 ICSORG1, CHARSET22
$E000 CHRORG DCSORG1, CHARSET12
$E400 VECTBL
$E400 EDITRV, EDTVEC5
$E410 SCRENV, SCRVEC5
$E420 KEYBDV, KBDVEC5
$E430 PRINTV, PRTVEC5
$E440 CASETV, CASVEC5
$E450 JMPTAB5
$E450 DISKIV, DINITV1, JDSKINIT5
$E453 DSKINV, DISKINV4, JDSKINT5
$E456 CIOV, JCIOMAIN5
$E459 SIOV, JSIOINT5
$E45C SETVBV, SETBV2, JSETVBV5
$E45F SYSVBV, SYSBV2
$E462 XITVBV, XITBV2, JEXITVB5
$E465 SIOINV, JSIOINIT5
$E468 SENDEV, JSNDENB5
$E46B INTINV, JNMIEN5
$E46E CIOINV, JCIOINIT5
$E471 BLKBDV SELFSV2, SELFTST2
$E474 WARMSV
$E477 COLDSV
$E47A RBLOKV, JCASRDBL5
$E47D CSOPIV, JCASOPIN5
$E480 VCTABL
$E480 PUPDISV1, PUPDIV2, JTSTROM5
$E483 SLFTSTV1, SLFTSV2, JTESTST5
$E486 PHENTRV1, PENTV2
$E489 PHULNKV1, PHUNLV2
$E48C PHINISV1, PHINIV2
$E48F-$E49E GPDVV1, CALTAB5
$E48F
$E490
$E491
$E492
$E493
$E494
$E495
$E496
$E497
$E498
$E499
$E49A
$E49B NEWINITC5
$E49C
$E49D
$E49E
$FFFA NMI, NMIVEC5
$FFFC RESET, RESETVEC5
$FFFE IRQ, IRQVEC5

Zobacz też

Personal tools