Mapa pamięci Atari 8bit

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 01:21, 24 lis 2023
Mono (Dyskusja | wkład)
(rewizje basica i poprawne adresy funkcji trygonometrycznych)
← Previous diff
Wersja z dnia 01:45, 24 lis 2023
Mono (Dyskusja | wkład)
(pupbt1, hatabs i phentrv)
Next diff →
Linia 2757: Linia 2757:
<td colspan="2"></td> <td colspan="2"></td>
<td colspan="2"><span id=""></span></td> <td colspan="2"><span id=""></span></td>
-<td>wolny (usunięty<sup>1</sup>)</td>+<td>wolny (nadpisany MSB adresu tablicy handlera przez PUPBT1<sup>1</sup>)</td>
</tr> </tr>

Wersja z dnia 01:45, 24 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

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
$0011 BRKKEY
$0012 RTCLOK
$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
$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
$0035 BFENHI
$0036 CRETRY LTEMP1 CRETRY przeniesiony do $029C1
$0037 DRETRY DRETRY przeniesiony do $02BD1
$0038 BUFRFL
$0039 RECVDN
$003A XMTDON
$003B CHKSNT
$003C NOCKSM
$003D BPTR
$003E FTYPE
$003F FEOF
$0040 FREQ
$0041 SOUNDR
$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
$004F COLRSH
$0050 TMPCHR, TEMP2
$0051 HOLD1
$0052 LMARGN
$0053 RMARGN
$0054 ROWCRS
$0055 COLCRS
$0056
$0057 DINDEX
$0058 SAVMSC
$0059
$005A OLDROW
$005B OLDCOL
$005C
$005D OLDCHR
$005E OLDADR
$005F
$0060 NEWROW FKDEF1 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 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
$00F4
$00F5 ZTEMP1
$00F6
$00F7 ZTEMP4
$00F8
$00F9 ZTEMP3
$00FA
$00FB RADFLG, DEGFLG
$00FC FLPTR
$00FD
$00FE FPTR2
$00FF
$0100-$01FF stos procesora
$0200 INTABS
$0200 VDSLST
$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
$0219
$021A CDTMV2
$021B
$021C CDTMV3
$021D
$021E CDTMV4
$021F
$0220 CDTMV5
$0221
$0222 VVBLKI
$0223
$0224 VVBLKD
$0225
$0226 CDTMA1
$0227
$0228 CDTMA2
$0229
$022A CDTMF3
$022B SRTIMR
$022C CDTMF4
$022D INTEMP
$022E CDTMF5
$022F SDMCTL
$0230 SDLSTL, SDLST
$0231 SDLSTH
$0232 SSKCTL
$0233 LCOUNT1
$0234 LPENH
$0235 LPENV
$0236 BRKKY1
$0237
$0238 RELADR1 VPIRQ1 RELADR przeniesiony do $024A
$0239
$023A-$023D CFB4 Command Frame Buffer
$023A CDEVIC
$023B CCOMND
$023C CAUX1
$023D CAUX2
$023E TEMP
$023F ERRFLG
$0240 DFLAGS
$0241 DBSECT
$0242 BOOTAD
$0243
$0244 COLDST
$0245 RECLEN1
$0246 DSKTIM
$0247-$026E LINBUF LINBUF usunięty1
$0247 PDVMSK1
$0248 SHPDVS1
$0249 PDIMSK1, PDMSK2
$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
$026C VSFLAG1, VSFLG4
$026D KEYDIS1
$026E FINE1
$026F GPRIOR
$0270 PADDL0
$0271 PADDL1
$0272 PADDL2
$0273 PADDL3
$0274 PADDL4
$0275 PADDL5
$0276 PADDL6
$0277 PADDL7
$0278 STICK0
$0279 STICK1
$027A STICK2
$027B STICK3
$027C PTRIG0
$027D PTRIG1
$027E PTRIG2
$027F PTRIG3
$0280 PTRIG4
$0281 PTRIG5
$0282 PTRIG6
$0283 PTRIG7
$0284 STRIG0
$0285 STRIG1
$0286 STRIG2
$0287 STRIG3
$0288 CSTAT HIBYTE1 CSTAT usunięty1
$0289 WMODE
$028A BLIM
$028B IMASK1
$028C JVECK1
$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
$02C1 PCOLR1
$02C2 PCOLR2
$02C3 PCOLR3
$02C4 COLOR0
$02C5 COLOR1
$02C6 COLOR2
$02C7 COLOR3
$02C8 COLOR4
$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
$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 DVSTAT
$02EB
$02EC
$02ED
$02EE CBAUDL, CBAUD
$02EF CBAUDH
$02F0 CRSINH
$02F1 KEYDEL
$02F2 CH1
$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
$02FD FILDAT
$02FE DSPFLG
$02FF SSFLAG
$0300-$030B DCB Device Control Block
$0300 DDEVIC
$0301 DUNIT
$0302 DCOMND
$0303 DSTATS
$0304 DBUFLO, DBUF
$0305 DBUFHI
$0306 DTIMLO
$0307 DUNUSE
$0308 DBYTLO, DBYT
$0309 DBYTHI
$030A DAUX1
$030B DAUX2
$030C TIMER1
$030D
$030E ADDCOR JMPERS1 ADDCOR usunięty1
$030F CASFLG
$0310 TIMER2
$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
$0341 ICDNO
$0342 ICCOM
$0343 ICSTA
$0344 ICBAL, ICBA
$0345 ICBAH
$0346 ICPTL, ICPT
$0347 ICPTH
$0348 ICBLL, ICBL
$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 CSCB
$03FE
$03FF CRCB
$0400-$047F
$047F CASBEN
$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
$BFFA CARTCS
$BFFB
$BFFC CART
$BFFD CARTFG
$BFFE CARTAD
$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 $80
$D804
$D805 PDIOV1
$D806
$D807
$D808 PDIRQV1
$D809
$D80A
$D80B PDID21 $91
$D80C
$D80D PDVV1
$D80E
$D80F
$D810
$D811
$D812
$D813
$D814
$D815
$D816
$D817
$D818
$D819
$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
$DA60 FSUB
$DA66 FADD
$DADB FMUL
$DB28 FDIV
$DD40 PLYEVL
$DD89 FLD0R
$DD8D FLD0P
$DD98 FLD1R
$DD9C FLD1P
$DDA7 FST0R
$DDAB FST0P
$DDB6 FMOVE
$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
$E000 CHRORG DCSORG1, CHARSET12
$E400 VECTBL
$E400 EDITRV
$E410 SCRENV
$E420 KEYBDV
$E430 PRINTV
$E440 CASETV
$E450 DISKIV, DINITV1
$E453 DSKINV, DISKINV4
$E456 CIOV
$E459 SIOV
$E45C SETVBV, SETBV2
$E45F SYSVBV, SYSBV2
$E462 XITVBV, XITBV2
$E465 SIOINV
$E468 SENDEV
$E46B INTINV
$E46E CIOINV
$E471 BLKBDV SELFSV2, SELFTST2
$E474 WARMSV
$E477 COLDSV
$E47A RBLOKV
$E47D CSOPIV
$E480 VCTABL
$E480 PUPDISV1, PUPDIV2
$E483 SLFTSTV1, SLFTSV2
$E486 PHENTRV1, PENTV2
$E489 PHULNKV1, PHUNLV2
$E48C PHINISV1, PHINIV2
$E48F GPDVV1
$FFFA NMI
$FFFC RESET
$FFFE IRQ

Zobacz też

Personal tools