home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CBM Funet Archive
/
cbm-funet-archive-2003.iso
/
cbm
/
maps
/
PETram.doc
< prev
next >
Wrap
Text File
|
1995-03-08
|
11KB
|
273 lines
nEWSGROUPS: COMP.SYS.CBM
fROM: RHIALTO@MBFYS.KUN.NL (oLAF sEIBERT)
sUBJECT: pet ram MEMORY MAP
oRGANIZATION: uNIVERSITY OF nIJMEGEN, tHE nETHERLANDS
dATE: wED, 14 dEC 1994 19:22:02 gmt
tHIS COULD BE IMPROVED UPON - NOT ALL LOCATIONS HAVE LABELS.
i MUST NOTE i'VE NEVER SEEN A pet MEMORY MAP WITH LABELS, SO IN THAT
RESPECT THIS IS A FIRST. i COULD ADD THE LOCATIONS FOR THE bASIC 1
romS IN A NEXT VERSION. cORRECTIONS WELCOME. eNJOY.
;cOMMODORE pet ram mEMORY mAP
;FOR bASIC 2 AND 4 (40 AND 80 COLUMNS)
;v1.113 DEC 1994
;
;nOTE THAT THE LABELS IN THIS LIST ARE MATCHED UP AGAINST c-64
;MEMORY MAPS. aLL ATTEMPTS WERE MADE TO SECURE PLAUSIBILITY OF
;PLACEMENT.
;lOCATIONS MARKED WITH (64#..) ARE FOUND BY TAKING THE LABEL GIVEN
;FOR THE c-64 AND COMPARING rom DISASSEMBLIES. mANY OF THESE
;LOCATIONS HAVE rs-232 SPECIFIC NAMES.
labelhexdecimal
addresslocationdescription
usrpok00000 usr fUNCTION jUMP iNSTR (4c)
usradd0001-00021-2 usr aDDRESS lOWbYTE / hIGH bYTE
charac00033sEARCH cHARACTER
endchr00044fLAG: sCAN FOR qUOTE AT eND OF sTRING
count00055iNPUT bUFFER pOINTER / nO. OF sUBSCRIPTS
dimflg00066fLAG: dEFAULT aRRAY dImENSION / ARRAY NAME
INITIAL / and, or FLAG
vauyp00077dATA tYPE: $ff = sTRING, $00 = nUMERIC
intflg00088dATA tYPE: $80 = iNTEGER, $00 = fLOATING
garbfl00099fLAG: data SCAN/lLst QUOTE/gARBAGE cOLL
subflg000a10fLAG: sUBSCRIPT rEF / uSER fUNCTION cALL
inpflg000b11fLAG: $00 = input, $40 = get, $98 = read
tansgn000c12fLAG tan SIGN / cOMPARISON rESULT
000d133: fLAG TO SUPPRESS print OR print# WHEN -VE
000e143: fILE# OF CURRENT i/o DEVICE (AS 0010)
000f153: TERMINAL WIDTH (UNUSED-CARRIED OVER FROM tty)
0010163: WIDTH OF SOURCE (UNUSED - FROM tty)
000d-000f13-154: dISK sTATUS ds$ DESCRIPTOR
0010164: fILE# OF CURRENT i/o DEVICE (WHEN NON-ZERO
SUPPRESSES input PROMPT ETC)
linnum0011-001217-18tEMP: iNTEGER vALUE
temppt001318pOINTER tEMPORARY sTRING
lastpt0014-001519-21lAST tEMP sTRING aDDRESS
tempst0016-001e 22-30sTACK FOR tEMPORARY sTRINGS
index001f-002231-34uTILITY pOINTER aREA
resho0023-002735-39fLOATING-pOINT pRODUCT OF mULTIPLY
txttab0028-002940-41pOINTER: sTART OF basictEXT
vartab002a-002b42-43pOINTER: sTART OF basicvARIABLES
arytab002c-002d44-45pOINTER: sTART OF basic aRRAYS
strend002e-002f46-47pOINTER eND OF basic aRRAYS (+1)
fretop0030-003148-49pOINTER: bOTTOM OF sTRING sTORAGE
frespc0032-003350-51uTILITY sTRING pOINTER
memsiz0034-003552-53pOINTER: hIGHEST aDDRESS uSED BY basic
curlin0036-003754-55cURRENT basic lINE nUMBER
oldlin0038-003956-67pREVIOUS basic lINE nUMBER
oldtxt003a-003b58-59pOINTER: basic sTATEMENT FOR cont
datlin003c-003d60-61cURRENT data lINE nUMBER
datptr003e-003f62-63pOINTER: cURRENT data iTEM aDDRESS
inpptr0040-004164-65vECTOR: input rOUTINE
varnam0042-004366-67cURRENT basic vARIABLE nAME
varpnt0044-004568-69pOINTER: cURRENT basic vARIABLE dATA
forpnt0046-004770-71pOINTER: iNDEX vARIABLE FOR for/next
0048-004972-73y-SAVE; OP-SAVE; basic POINTER SAVE
004a74cOMPARISON SYMBOL ACCUMULATOR: BITS 0,1,2
ARE <, =, >.
004b-004c75-76pOINTER TO TEMP STORAGE IN ram FOR fn def,
tan, &C
004d-005077-80pOINTER TO STRING, LENGTH AND GARBAGE
COLLECT CONSTANT
tempf10054-0058tEMPORARY STORAGE FOR flpt VALUE.
tempf20059-005dtEMPORARY STORAGE FOR flpt VALUE.
facexp005e94fLOATING-pOINT aCCUMULATOR #1: eXPONENT
facho005f-006295-98fLOATING aCCUM.#1: mANTISSA
facsgn006399fLOATING aCCUM.#1: sIGN
sgnflg0064100pOINTER: sERIES eVALUATION cONSTANT pOINTER
bits0065101fLOATING -ACCUM. #1: oVERFLOW dIGIT
argexp0066102fLOATING-pOINT aCCUMULATOR #2: eXPONENT
argho0067-006a103-106fLOATING aCCUM. #2: mANTISSA
argsgn006b107fLOATING aCCUM. #2: sIGN
arisgn006c108sIGN cOMPARISON rESULT: aCCUM. # 1 VS #2
facov006d109fLOATING aCCUM. #1. lOW-oRDER (rOUNDING)
fbufpt006e-006f110-111pOINTER: cASSETTE bUFFER
chrget0070-0087112-135sUBROUTINE: gET nEXT bYTE OF basic tEXT
chrgot0076118eNTRY TO gET sAME bYTE OF tEXT aGAIN
txtptr0077-0078119-120pOINTER: cURRENT bYTE OF basic tEXT
0070inc $77
bne $0076
0076lda $XXXX
cmp #$3a
bcs $0087
cmp #$20
beq $0070
sec
sbc #$30
sec
sbc #$d0
0087rts
rndx0088-008c136-140fLOATING rnd fUNCTION sEED vALUE
time008d-008f141-143rEAL-tIME jIFFY cLOCK (APPROX) 1/60 sEC
cinv0090-0091144-145vECTOR: hARDWARE iNTERRUPT
cbinv0092-0093146-147vECTOR: brk iNSTR. iNTERRUPT
nminv0094-0095148-149vECTOR: nON-mASKABLE iNTERRUPT
status0096150kERNAL i/o sTATUS wORD: st
lstx0097151cURRENT kEY pRESSED: 255 = nO kEY
sfdx0098 fLAG: pRINT sHIFTED cHARS.
0099-009a jIFFY CLOCK CORRECTION: 623RD 1/60 SEC
DOES NOT INCREMENT TIME
stkey009b155fLAG: stop KEY / rvs KEY
svxt009c156tIMING cONSTANT FOR tAPE
verck009d157fLAG: 0 = lOAD, 1 = vERIFY (kERNEL)
ndx009e158nO. OF cHARS. IN kEYBOARD bUFFER (qUEUE)
rvs009f159fLAG: pRINT rEVERSE cHARS. -1=yES, 0=nO uSED
c3po00a0160fLAG: sERIAL bUS-oUTPUT cHAR. bUFFERED
indx00a1161pOINTER: eND OF lOGICALlINE FOR input
00a2162nOT uSED
lxsp00a3-00a4163-164cURSOR y-x pOS. AT sTART OF input
bsour00a5165bUFFERED cHARACTER FOR ieee bUS
00a6166kEY iMAGE
blnsw00a7167cURSOR bLINK ENABLE: 0 = fLASH cURSOR
blnct00a8168tIMER: cOUNTDOWN TO tOGGLE cURSOR
gdbln00a9169cHARACTER uNDER cURSOR
blnon00aa170fLAG: lAST cURSOR bLINKoN/oFF
?syno00ab171cASSETTE sYNC nO. (64#0096)
?nxtbit00ab171tAPE eot fLAG: eot RECEIVED FROM TAPE
crsw00ac172fLAG: input OR get FROMkEYBOARD
00ad173x SAVE IN TAPE HANDLING (SAVES CASSETTE #)
ldtnd00ae174nO. OF oPEN fILES / iNDEX TO fILE tABLE
dfltn00af175dEFAULT iNPUT dEVICE (0)
dflto00b0176dEFAULT oUTPUT (cmd) dEVICE (3)
prty00b1177tAPE cHARACTER pARITY
dpsw00b2178fLAG: tAPE bYTE-rECEIVED
psw=dpsw
00b3179tEMPORARY SAVE EG. LOGICAL ADDRESS OR dos
WEDGE
00b7183tEMP dATA aREA (64#00a3)
00b9185tEMP dATA aREA (64#00a4)
bufpnt00bb pOINTER: tAPE i/o bUFFER #1
00bc pOINTER: tAPE i/o bUFFER #2
inbit00bd189cASSETTE tEMP (64#00a7)
bitci00be190cASSETTE tEMP (64#00a8)
rinone00bf191rs-232 fLAG: cHECK FOR sTART bIT (64#00a9)
fnmidx 00c0 192 iNDEX TO cASSETTE fILE NAME/hEADER id FOR
tAPE WRITE.
ptr100c0192tAPE pASS 1 eRROR lOG
ptr200c1193tAPE pASS 2 eRROR lOG
ridata00c2194cASSETTE tEMP (64#00aa) READ FLAGS: 0=SCAN,
1-15=COUNT, $40=LOAD, $80=END OF TAPE MARKER
riprty00c3195cASSETTE sHORT cNT (64#00ab): COUNTER OF SECONDS
BEFORE TAPE WRITE / CHECKSUM
pnt00c4-00c5196-197pOINTER: cURRENT sCREENlINE aDDRESS
pntr00c6198cURSOR cOLUMN ON cURRENT lINE
sal00c7-00c8199-200pOINTER: tAPE bUFFER/ sCREEN sCROLLING
eal00c9-00ca201-202tAPE eND aDDRESSES/eND OF pROGRAM
cmp000cb-00cc203-204tAPE tIMING cONSTANTS
qtsw00cd205fLAG: eDITOR IN qUOTE mODE, $00 = no
bitts00ce206cASSETTE tEMP (64#00b4): tAPE READ TIMER FLAG
=irq ENABLED FOR tIMER 1
00cf207eND OF TAPE READ
00d0208rEAD CHARACTER ERROR
fnlen00d1209lENGTH OF cURRENT fILE nAME
la00d2210cURRENT lOGICAL fILE nUMBER
sa 00d3 211 cURRENT sECONDARY aDDRESS
fa00d4212cURRENT dEVICE nUMBER
lnmx00d5213pHYSICAL sCREEN lINE lENGTH
00d5 213 4.80: RIGHT SIDE OF WINDOW
tape100d6-00d7214-215pOINTER: sTART OF tAPE bUFFER
tblx00d8216cURRENT cURSOR pHYSICAL lINE nUMBER
datax 00d9 217 cURRENT cHARACTER TO pRINT
fnadr00da-00db218-219pOINTER: cURRENT fILE nAME
insrt00dc220fLAG: iNSERT mODE, >0 = # instS
?roprty00dd121cASSETTE tEMP
fsblk00de222cASSETTE rEAD / wRITE bLOCK cOUNT
mych00df223sERIAL wORD bUFFER
ldtb100e0-00f8224-2483+4.40: sCREEN lINE lINK tABLE / eDITOR tEMPS
sctop 00e0 224 4.80: FIRST LINE OF WINDOW
scbot 00e1 225 4.80: LAST LINE OF WINDOW
sclf 00e2 226 4.80: FIRST COLUMN OF WINDOW
xmax00e32274.80: sIZE OF kEYBOARD bUFFER
xmax03eb10034.40
rptflg00e42284.80: fLAG: repeat kEY uSED, $80 = rEPEAT
$40 = DISABLE
rptflg03ee10064.40
kount00e56514.80: rEPEAT sPEED cOUNTER
kount03ea10024.40
delay00e6 2304.80: rEPEAT dELAY cOUNTER
delay03e910014.40
00e72314.80: cHIME tIME
03ec10044.40: cHIME tIME
00e82324.80: hOME cOUNT
00e9-00ea 233-2344.80: INPUT FROM SCREEN VECTOR (FROM e006)
00eb-00ec 235-2364.80: PRINT TO SCREEN VECTOR (FROM e009)
00ed-00f7237-2474.80: NOT USED
00f82484.80: cOUNTER TO SPEED ti BY 6/5
03ed10054.40: cOUNTER TO SPEED ti BY 6/5
cas100f9249tAPE mOTOR iNTERLOCK #1
cas200fa250tAPE mOTOR iNTERLOCK #2
stal00fb-00fc251-252i/o sTART aDDRESS
memuss00fd-00fe253-254tAPE lOAD tEMPS
00ff255nOT USED
0100-01ff256-511mICRO-pROCESSOR sYSTEM sTACK aREA
0100-010a256-266fLOATING TO sTRING wORK aREA
bad0100-013e256-318tAPE iNPUT eRROR lOG
buf0200-0250512-592sYSTEM input bUFFER
lat0251-025a593-602kernal tABLE: aCTIVE lOGICAL fILE nO'S.
fat025b-0264603-612kernal tABLE: dEVICE nO. FOR eACH fILE
sat0265-0270613-623kernal tABLE: sECOND aDDRESS eACH fILE
keyd0270-027a624-633kEYBOARD bUFFER qUEUE (fifo)
tbuffr027a-0329634-825 tAPE i/o bUFFER #1
027a tYPE OF TAPE FILE:
1=PROGRAM HEADER FOR save "",1,0
2=DATA BLOCK
3=ABSOLUTE LOAD save "",1,1 (vic-20 AND LATER)
4=DATA FILE HEADER
5=END OF TAPE BLOCK: save "",1,2
027b-027c sTART ADDRESS FOR LOAD
027d-027e eND ADDRESS FOR LOAD
027f-028e fILE NAME
tbuffr033a-03f9826-1017 tAPE i/o bUFFER #2
033a 4: dos BYTE PARAMETER IN record / CHAR PTR
033b 4: dos DRIVE 1 NUMBER
033c 4: dos DRIVE 2 NUMBER
033d 4: dos LENGTH / WRITE FLAG
033e 4: dos 8-BIT SYNTAX CHECKING FLAG
033f-0340 4: dos DISKETTE id
0341 4: lENGTH OF dos COMMAND STRING
0342-0352 4: bUFFER FOR FILENAME
0353-0380 4: fULL dos COMMAND STRING BUFFER
03ee-037f 4.80: tABLE OF 80 BITS TO SET tabS
delay03e910014.40
kount03ea10024.40
xmax03eb10034.40
03ec10044.40: cHIME tIME
03ed10054.40: cOUNTER TO SPEED ti BY 6/5
rptflg03ee10064.40
03f0-03f9 4.40: tABLE OF 80 BITS TO SET tabS
03fa-03ff1018-1023uNUSED
timout03fc10204: fLAG: kERNAL vARIABLE FOR ieee tIMEOUT
0400-80001024-32767 bASIC PROGRAM AREA
04000 BYTE AT START OF bASIC PROGRAM
0401-0402FIRST LINK TO NEXT bASIC LINE
0403-0404FIRST LINE NUMBER
0405-TOKENIZED BASIC LINE, TERMINATED WITH 00
FOLLOWED BY NEXT LINK
8000-83e732768-33767 40 COLUMN SCREEN MEMORY
8000-87ef32768-34767 80 COLUMN SCREEN MEMORY
a000-afffFREE SPACE FOR 4k eprom
b000-bfff3: FREE SPACE FOR 4k eprom
4 3
b000-dfff c000-dfffbASIC KEYWORDS AND OPERATORS, AND GENERAL PROCESSING
e000-efff e000-efffmOSTLY SCREEN EDITOR FUNCTIONS
f000-ffff f000-ffffkERNEL: TAPE PROCESSING, ieee-488, JUMP TABLE.
-oLAF.
--
___ oLAF 'rHIALTO' sEIBERT RHIALTO@MBFYS.KUN.NL wHAT'S THE USE OF
\x/ RACISM IF YOU CAN'T EVEN SEE IF A PERSON BELONGS TO YOUR ABHORRED KIND?