home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / maps / PETram.doc < prev    next >
Text File  |  1995-03-08  |  11KB  |  273 lines

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