home *** CD-ROM | disk | FTP | other *** search
- ;list off
- ; ---<petrom4.lib>---
- ;
- ; PET Basic 4 ROM Memory Map
- ;
- ; BASIC interpreter ROM ($B000 - $DFFF)
- ;
- ; label address type comments
- ;restart = ; c64 = $a000 n/a
- stmdsp = $b000 ; c64 = $a00c
- ;fundsp = ; c64 = $a052
- ;optab = ; c64 = $a080
- ;reslst = ; c64 = $a09e
- ;msclst = ; c64 = $a129
- ;oplist = ; c64 = $a140
- ;funlst = ; c64 = $a14d
- ;errtab = ; c64 = $a19e
- ;errptr = ; c64 = $a328
- ;okk = ; c64 = $a364
- fndfor = $b322 ; c64 = $a38a
- bltu = $b350 ; c64 = $a3b8
- bltuc = $b357 ; c64 = $a3bf ; PtC64
- getstk = $b393 ; c64 = $a3fb
- reason = $b3a0 ; c64 = $a408
- omerr = $b3cd ; c64 = $a435
- error = $b3cf ; c64 = $a437
- errfin = $b3f4 ; c64 = $a469
- ready = $b3ff ; c64 = $a474
- main = $b406 ; c64 = $a480
- main1 = $b41f ; c64 = $a49c
- inslin = $b425 ; c64 = $a4a2
- ; = $b42c ; c64 = $a4a9 delete basic line
- ; = $b470 ; c64 = $a4ed insert basic line
- fini = $b4ad ; c64 = $a52a ; PtC64
- lnkprg = $b4b6 ; c64 = $a533
- inlin = $b4e2 ; c64 = $a560
- crunch = $b4fb ; c64 = $a579
- fndlin = $b5a3 ; c64 = $a613
- fndlnc = $b5a7 ; c64 = $a617 ; PtC64
- new = $b5d2 ; c64 = $a642 ; PtC64
- scrtch = $b5d4 ; c64 = $a644 ; PtC64
- runc = $b5e9 ; c64 = $a659 ; PtC64
- clear = $b5ee ; c64 = $a65e
- stxpt = $b622 ; c64 = $a68e
- list = $b633 ; c64 = $a69c
- list1 = $b65d ; c64 = $a6c9 ; PtC64
- qplop = $b6ab ; c64 = $a717
- for = $b6de ; c64 = $a742
- newstt = $b74a ; c64 = $a7ae
- ckeol = $b75f ; c64 = $a7c4
- gone = $b77c ; c64 = $a7e1 pet calls chrget via pi-patch
- gone3 = $b785 ; c64 = $a7ed
- excc = gone3 ; PtC64
- restore = $b7b8 ; c64 = $a81d
- ;stop = ; c64 = $a82c n/a (ffe1 does this)
- bstop = $b7c6 ; c64 = $a82f basic stop command
- cont = $b7ee ; c64 = $a857
- run = $b808 ; c64 = $a871 no kernel msg flag
- gosub = $b813 ; c64 = $a883
- goto = $b830 ; c64 = $a8a0
- return = $b85f ; c64 = $a8d2
- data = $b883 ; c64 = $a8f8
- datan = $b891 ; c64 = $a906
- remn = $b894 ; c64 = $a909 ; PtC64
- if = $b8b3 ; c64 = $a928
- rem = $b8c6 ; c64 = $a93b
- docond = $b8cb ; c64 = $a940 ; PtC64
- ongoto = $b8d6 ; c64 = $a94b
- linget = $b8f6 ; c64 = $a96b
- let = $b930 ; c64 = $a9a5
- putint = $b94f ; c64 = $a9c4
- ptflpt = $b961 ; c64 = $a9d6
- putstr = $b964 ; c64 = $a9d9
- puttim = $b96e ; c64 = $a9e3
- ascadd = $b9b5 ; c64 = $aa27 ; PtC64
- getspt = $b9ba ; c64 = $aa2c this has more code
- printn = $ba88 ; c64 = $aa80
- cmd = $ba8e ; c64 = $aa86
- strdon = $baa2 ; c64 = $aa9a
- print = $baa8 ; c64 = $aaa0
- varop = $bac0 ; c64 = $aab8
- crdo = $badf ; c64 = $aad7
- comprt = $baf0 ; c64 = $aae8
- strout = $bb18 ; c64 = $ab1e
- strprt = $bb20 ; c64 = $ab21
- outspc = $bb3a ; c64 = $ab3b
- outskp = $bb41 ; c64 = $ab42 ; PtC64
- outqst = $bb44 ; c64 = $ab45 ; PtC64
- outdo = $bb46 ; c64 = $ab47 ; PtC64
- doagin = $bb4c ; c64 = $ab4d
- trmnok = doagin ; PtC64
- get = $bb7a ; c64 = $ab7b
- inputn = $bba4 ; c64 = $aba5
- input = $bbbe ; c64 = $abbf
- bufful = $bbe8 ; c64 = $abea routine is patched to test ST & $40 (rel files?)
- qinlin = $bbf5 ; c64 = $abf9
- read = $bc02 ; c64 = $ac06
- inpcon = $bc09 ; c64 = $ac0d ; PtC64
- inpco1 = $bc0b ; c64 = $ac0f ; PtC64
- rdget = $bc31 ; c64 = $ac35
- datlop = $bcb4 ; c64 = $acb8 ; PtC64
- exint = $bcf7 ; c64 = $acfc data ?extra ignored, ?redo from start
- next = $bd19 ; c64 = $ad1e
- donext = $bd5b ; c64 = $ad61
- frmnum = $bd84 ; c64 = $ad8a
- chknum = $bd87 ; c64 = $ad8d ; PtC64
- chkstr = $bd89 ; c64 = $ad8f ; PtC64
- frmevl = $bd98 ; c64 = $ad9e
- eval = $be81 ; c64 = $ae83
- pival = $bea0 ; c64 = $aea8 data
- qdot = $bea5 ; c64 = $aead
- parchk = $bee9 ; c64 = $aef1
- chkcls = $beef ; c64 = $aef7
- chkopn = $bef2 ; c64 = $aefa ; PtC64
- chkcom = $bef5 ; c64 = $aeff ; PtC64
- synerr = $bf00 ; c64 = $af08
- domin = $bf05 ; c64 = $af0d
- ;;;
- ; bf10-bf8c is filled with a few patches
- ;;;
- ;rsvvar = ; c64 = $af14 n/a peek protection
- isvar = $bf8c ; c64 = $af28
- tisasc = $bfad ; c64 = $af48
- isfun = $c047 ; c64 = $afa7
- strfun = $c051 ; c64 = $afb1
- numfun = $c071 ; c64 = $afd1
- orop = $c086 ; c64 = $afe6
- andop = $c089 ; c64 = $afe9 ; PtC64
- dorel = $c0b6 ; c64 = $b016
- numrel = $c0bb ; c64 = $b01b
-
- strrel = $c0ce ; c64 = $b02e
- ;dim = $c11e ; c64 = $b07e
- dim = $c121 ; c64 = $b081 ; PtC64
- ptrget = $c12b ; c64 = $b08b
- ordvar = $c187 ; c64 = $b0e7
- isletc = $c1b7 ; c64 = $b113
- notfns = $c1c0 ; c64 = $b11d
- notevl = $c1cb ; c64 = $b128
- aryget = $c2c8 ; c64 = $b194
- fmaptr = aryget ; PtC64
- n32768 = $c2d9 ; c64 = $b1a5 ; data
- ;facinx = ; c64 = $b1aa
- intidx = $c2dd ; c64 = $b1b2
- ayint = $c2ea ; c64 = $b1bf
- isary = $c2fc ; c64 = $b1d1
- fndary = $c343 ; c64 = $b218
- bserr = $c370 ; c64 = $b245
- notfdd = $c38c ; c64 = $b261
- inlpn2 = $c439 ; c64 = $b30e
- umult = $c477 ; c64 = $b34c
- fre = $c4a8 ; c64 = $b37d
- givayf = $c4bc ; c64 = $b391
- pos = $c49c ; c64 = $b39e
- snget = $c4cb ; c64 = $b3a2 ; PtC64
- errdir = $c4cf ; c64 = $b3a6
- def = $c4dc ; c64 = $b3b3
- getfnm = $c50a ; c64 = $b3e1
- fndoer = $c51d ; c64 = $b3f4
- strd = $c48e ; c64 = $b465
- strini = $c59e ; c64 = $b475 ; PtC64
- strlit = $c5b0 ; c64 = $b487
- putnw1 = $c5fe ; c64 = $b4d5
- getspa = $c61d ; c64 = $b4f4
- garbag = $c66a ; c64 = $b526 note: 4.0 garbage collect is much better than 2.0
- ;dvars = ; c64 = $b5bd
- ;grbpas = ; c64 = $b606
- cat = $c74f ; c64 = $b63d
- movins = $c78c ; c64 = $b67a
- frestr = $c7b5 ; c64 = $b6a3
- frefac = $c811 ; c64 = $b6db
- chrd = $c822 ; c64 = $b6ec
- leftd = $c836 ; c64 = $b700
- rightd = $c862 ; c64 = $b72c
- midd = $c86d ; c64 = $b737
- pream = $c897 ; c64 = $b761
- len = $c8b2 ; c64 = $b77c
- len1 = $c8b8 ; c64 = $b782
- asc = $c8c1 ; c64 = $b78b
- gtbytc = $c8d1 ; c64 = $b79b
- val = $c8e3 ; c64 = $b7ad
- strval = $c8eb ; c64 = $b7b5
- getnum = $c921 ; c64 = $b7eb
- getadr = $c92d ; c64 = $b7f7
- peek = $c943 ; c64 = $b80d
- poke = $c95a ; c64 = $b824
- wait = $c963 ; c64 = $b82d
- faddh = $c97f ; c64 = $b849
- fsub = $c986 ; c64 = $b850
- fsubt = $c989 ; c64 = $b853 ; PtC64
- fadd5 = $c99f ; c64 = $b862
- faddt = $c99d ; c64 = $b867
- fadd = $c9a0 ; c64 = $b86f ; PtC64
- negfac = $ca7d ; c64 = $b947
- overr = $cab4 ; c64 = $b97e
- mulshf = $cab9 ; c64 = $b983
- fone = $caf2 ; c64 = $b9bc ; data
- log = $cb20 ; c64 = $b9ea
- fmult = $cb5e ; c64 = $ba28
- fmultt = $cb66 ; c64 = $ba30 ; PtC64
- mulply = $cb8f ; c64 = $ba59
- conupk = $cbc2 ; c64 = $ba8c
- muldiv = $cbed ; c64 = $bab7
- mldvex = $cc0a ; c64 = $bad4
- mul10 = $cc18 ; c64 = $bae2
- tenc = $cc2f ; c64 = $baf9 ; data
- div10 = $cc34 ; c64 = $bafe
- fdivf = $cc3d ; c64 = $bb07 ; PtC64
- fdiv = $cc45 ; c64 = $bb0f ; PtC64
- fdivt = $cc4a ; c64 = $bb14 ; PtC64
- movfm = $ccd8 ; c64 = $bba2
- mov2f = $ccfd ; c64 = $bbc7
- mov1f = $cd00 ; c64 = $bbca ; PtC64
- movvf = $cd06 ; c64 = $bbd0 ; PtC64
- movmf = $cd0a ; c64 = $bbd4 ; PtC64
- movfa = $cd32 ; c64 = $bbfc
- movaf = $cd42 ; c64 = $bc0c
- round = $cd51 ; c64 = $bc1b
- sign = $cd61 ; c64 = $bc2b
- sgn = $cd6f ; c64 = $bc39
- abs = $cd8e ; c64 = $bc58
- fcomp = $cd91 ; c64 = $bc5b
- qint = $cdd1 ; c64 = $bc9b
- int = $ce02 ; c64 = $bccc
- fin = $ce29 ; c64 = $bcf3
- aadd = $cea0 ; c64 = $bd7e ; PtC64
- n0999 = $cee9 ; c64 = $bdb3 ; data
- stcons = n0999 ; PtC64 data
- ;;;;
- ; cef9-cf78 tax
- ;;;;
- inprt = $cf78 ; c64 = $bdc2
- linprt = $cf83 ; c64 = $bdcd ; PtC64
- fout = $cf93 ; c64 = $bddd
- foutim = $d01e ; c64 = $be68
- fhalf = $d0c7 ; c64 = $bf11 ; data
- sqr = $d108 ; c64 = $bf71
- fpwrt = $d10f ; c64 = $bf7b
- negop = $d14b ; c64 = $bfb4
- logeb2 = $d156 ; c64 = $bfbf ; data
- exp = $d184 ; c64 = $bfed
-
- ;
- ; C64 KERNEL ROM
- ;
- ;;(exp = ; c64 = $e000
- ;polyx = ; c64 = $e043
- ;rmulc = ; c64 = $e08d ; data
- ;raddc = ; c64 = $e092 ; data
- ;rnd = ; c64 = $e097
- ;rnd0 = ; c64 = $e09e ; PtC64
- ;qsetnr = ; c64 = $e0be ; PtC64
- ;rnd1 = ; c64 = $e0d3 ; PtC64
- ;rndrng = ; c64 = $e0e3 ; PtC64
- ;bioerr = ; c64 = $e0f9
- ;bchout = ; c64 = $e10c
- ;bchin = ; c64 = $e112
- ;bckout = ; c64 = $e118
- ;bckin = ; c64 = $e11e
- ;bgetin = ; c64 = $e124
- ;sys = ; c64 = $e12a
- savet = $f6dd ; c64 = $e156
- verfyt = $f4f6 ; c64 = $e165
- loadt = $f401 ; c64 = $e168 ; PtC64
- loadr = $f40b ; c64 = $e16f ; PtC64
- ;ldfin = ; c64 = $e195 ; PtC64
- opent = $f560 ; c64 = $e1be
- closet = $f2dd ; c64 = $e1c7
- ;slpara = ; c64 = $e1d4
- ;combyt = ; c64 = $e200
- ;deflt = ; c64 = $e206
- ;cmmerr = ; c64 = $e20e
- ;ocpara = ; c64 = $e219
- ;cos = ; c64 = $e264
- ;sin = ; c64 = $e26b
- ;tan = ; c64 = $e2b4
- ;pi2 = ; c64 = $e2e0 ; data
- ;atn = ; c64 = $e30e
- ;atncon = ; c64 = $e33e ; data
- ;bassft = ; c64 = $e37b
- ;init = ; c64 = $e394
- ;initat = ; c64 = $e3a2
- ;rndsed = ; c64 = $e3ba
- ;initcz = ; c64 = $e3bf
- ;initms = ; c64 = $e422
- ;bvtrs = ; c64 = $e447 ; data
- ;initv = ; c64 = $e453
- ;words = ; c64 = $e45f
- ;; = ; c64 = $e4ad
- ;; = ; c64 = $e4b7 ; illegal
- ;cpatch = ; c64 = $e4da
- ;; = ; c64 = $e4e0
- ;; = ; c64 = $e4ec ; data
- ;iobase = ; c64 = $e500
- ;screen = ; c64 = $e505
- ;screnk = screen ; PtC64
- ;plot = ; c64 = $e50a
- ;plotk = ; c64 = $e50a ; PtC64
- ;cintk = ; c64 = $e518
- ;; = ; c64 = $e544
- ;home = ; c64 = $e566
- ;; = ; c64 = $e56c
- ;; = ; c64 = $e59a
- ;initvc = ; c64 = $e5a0 ; PtC64
- ;lp2 = ; c64 = $e5b4
- ;getkbc = lp2 ; PtC64
- ;inppro = ; c64 = $e5ca
- ;; = ; c64 = $e632
- ;qtswc = ; c64 = $e684 ; PtC64
- ;; = ; c64 = $e691
- ;; = ; c64 = $e6b6
- ;; = ; c64 = $e6ed
- ;; = ; c64 = $e701
- ;prt = ; c64 = $e716 ; PtC64
- ;; = ; c64 = $e87c
- ;; = ; c64 = $e891
- ;; = ; c64 = $e8a1
- ;chkcol = ; c64 = $e8cb ; PtC64
- ;coltab = ; c64 = $e8da ; PtC64
- ;scrol = ; c64 = $e8ea ; PtC64
- ;; = ; c64 = $e965
- ;; = ; c64 = $e9c8
- ;; = ; c64 = $e9e0
- ;; = ; c64 = $e9f0
- ;; = ; c64 = $e9ff
- ;dspp = ; c64 = $ea13 ; PtC64
- ;; = ; c64 = $ea24
- ;key = ; c64 = $ea31 ; PtC64
- scnkeyk = $e027 ; c64 = $ea87 crtc version (jump table)
- ;; = ; c64 = $eadd data
- ;; = ; c64 = $eb79 data
- ;kbdtbl = ; c64 = $eb81 data
- ;; = ; c64 = $ebc2 data
- ;; = ; c64 = $ec03
- ;; = ; c64 = $ec44 data
- ;; = ; c64 = $ec78 data
- ;vicint = ; c64 = $ecb9
- ;ldrun = ; c64 = $ece7 ; data
- ;; = ; c64 = $ecf0
- talkk = $f0d2 ; c64 = $ed09
- talk = talkk
- listnk = $f0d5 ; c64 = $ed0c
- listen = listnk
- ;; = $f109 ; c64 = $ed40
- ;; = $f151 ; c64 = $edad
- secndk = $f143 ; c64 = $edb9
- second = secndk
- ;; = ; c64 = $edbe
- tksak = $f193 ; c64 = $edc7
- tksa = tksak
- ;; = $f109 ; c64 = $edcc
- cioutk = $f19e ; c64 = $eddd
- ciout = cioutk
- untlkk = $f1b6 ; c64 = $edef
- untlk = untlkk
- unlsnk = $f1b9 ; c64 = $edfe
- unlsn = unlsnk
- acptrk = $f1c0 ; c64 = $ee13
- acptr = acptrk
- ;; = ; c64 = $ee85
- ;; = ; c64 = $ee8e
- ;; = ; c64 = $ee97
- ;; = ; c64 = $eea0
- ;; = ; c64 = $eea9
- ;; = ; c64 = $eeb3
- ;rstrab = ; c64 = $eebb ; PtC64
- ;; = ; c64 = $ef06
- ;; = ; c64 = $ef2e
- ;; = ; c64 = $ef39
- ;; = ; c64 = $ef4a
- ;; = ; c64 = $ef59
- ;; = ; c64 = $ef7e
- ;; = ; c64 = $ef90
- ;; = ; c64 = $efe1
- ;; = ; c64 = $f00d
- ;; = ; c64 = $f017
- ;; = ; c64 = $f04d
- ;; = ; c64 = $f086
- ;; = ; c64 = $f0a4
- ;; = ; c64 = $f0bd
- ;; = ; c64 = $f128
- ;spmsg = ; c64 = $f12b ; PtC64
- ngetin = $f205 ; c64 = $f13e
- nchrin = $f215 ; c64 = $f157
- ;; = ; c64 = $f199
- nchrout = $f266 ; c64 = $f1ca
- nchkin = $f7af ; c64 = $f20e
- nckout = $f7fe ; c64 = $f250
- nclose = $f2e2 ; c64 = $f291
- close = nclose
- ;; = ; c64 = $f30f
- ;; = ; c64 = $f31f
- nclall = $f2a2 ; c64 = $f32f
- nclrchn = $f2a6 ; c64 = $f333
- nopen = $f563 ; c64 = $f34a
- open = nopen
- ;; = ; c64 = $f3d5
- ;; = ; c64 = $f409
- loadsp = $f356 ; c64 = $f49e
- load = loadsp
- savesp = $f6e3 ; c64 = $f5dd
- save = savesp
- udtimk = $f768 ; c64 = $f69b
- ;rdtimk = n/a ; c64 = $f6dd
- ;settmk = n/a ; c64 = $f6e4
- nstop = $f335 ; c64 = $f6ed
- stop = nstop
- fah = $f5e5 ; c64 = $f72c ;
- readt = $f976 ; c64 = $f92c ;
- writet = $fbd8 ; c64 = $fba6 ;
- start = $fd16 ; c64 = $fce2 ;
- ;restork= ; c64 = $fd15
- ;vectork= ; c64 = $fd1a
- ;ramtask= ; c64 = $fd50
- ;ioinitk= ; c64 = $fda3
- ;setnamk= n/a ; c64 = $fdf9
- ;setlfsk= n/a ; c64 = $fe00
- ;readss = n/a ; c64 = $fe07
- ;setmsgk= n/a ; c64 = $fe18
- ;settmok= n/a ; c64 = $fe21
- ;memtopk= n/a ; c64 = $fe25
- ;membotk= n/a ; c64 = $fe34
- ;nmi = ; c64 = $fe43 ;
- puls = $e442 ; c64 = $ff48 ;
- pcint = $e000 ; c64 = $ff5b ;
- ;
- ;
- ; C64 KERNEL call addresses
- ;
- ;open = $ffc0 basic...
- ;close = $ffc3 basic...
- chkin = $ffc6
- chkout = $ffc9
- clrchn = $ffcc
- chrin = $ffcf
- chrout = $ffd2
- ;load = $ffd5 basic...
- ;save = $ffd8 basic...
- ;verify= $ffdb basic...
- ;sys = $ffde basic...
- ;stop = $ffe1 basic...
- getin = $ffe4
- clall = $ffe7
- udtim = $ffea
-
-