00000000: 2A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |*---------------|
00000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 2A A0 73 45 4C 45 |---------.*.sELE|
00000020: 43 54 45 44 A0 4B 45 52 4E 45 4C A0 45 51 55 41 |CTED.KERNEL.EQUA|
00000030: 54 45 53 0D 2A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |TES.*-----------|
00000040: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 73 |-------------..s|
00000050: 74 61 74 75 73 20 3D 20 24 39 30 20 3B 69 2F 6F |tatus = $90 ;i/o|
00000060: A0 53 54 41 54 55 53 A0 57 4F 52 44 0D 76 65 72 |.STATUS.WORD.ver|
00000070: 63 6B 20 3D 20 24 39 33 20 3B 30 3D 6C 4F 41 44 |ck = $93 ;0=lOAD|
00000080: 2C A0 31 3D 76 45 52 49 46 59 0D 74 69 6D 65 20 |,.1=vERIFY.time |
00000090: 3D 20 24 61 30 20 3B 72 45 41 4C A0 54 49 4D 45 |= $a0 ;rEAL.TIME|
000000A0: A0 43 4C 4F 43 4B A0 28 33 A0 42 59 54 45 53 29 |.CLOCK.(3.BYTES)|
000000B0: 0D 66 6E 6C 65 6E 20 3D 20 24 62 37 20 3B 66 49 |.fnlen = $b7 ;fI|
000000C0: 4C 45 A0 4E 41 4D 45 A0 4C 45 4E 47 54 48 0D 6C |LE.NAME.LENGTH.l|
000000D0: 61 20 3D 20 24 62 38 20 3B 6C 4F 47 49 43 41 4C |a = $b8 ;lOGICAL|
000000E0: A0 46 49 4C 45 A0 23 0D 73 61 20 3D 20 24 62 39 |.FILE.#.sa = $b9|
000000F0: 20 3B 73 45 43 4F 4E 44 41 52 59 A0 41 44 44 52 | ;sECONDARY.ADDR|
00000100: 45 53 53 0D 66 61 20 3D 20 24 62 61 20 3B 64 45 |ESS.fa = $ba ;dE|
00000110: 56 49 43 45 A0 23 0D 66 6E 61 64 72 20 3D 20 24 |VICE.#.fnadr = $|
00000120: 62 62 20 3B 66 49 4C 45 A0 4E 41 4D 45 A0 50 4F |bb ;fILE.NAME.PO|
00000130: 49 4E 54 45 52 0D 6E 64 78 20 3D 20 24 63 36 20 |INTER.ndx = $c6 |
00000140: 3B 23 A0 63 48 52 53 A0 49 4E A0 4B 45 59 A0 42 |;#.cHRS.IN.KEY.B|
00000150: 55 46 46 45 52 0D 62 6C 6E 73 77 20 3D 20 24 63 |UFFER.blnsw = $c|
00000160: 63 20 3B 62 4C 49 4E 4B A0 45 4E 41 42 4C 45 0D |c ;bLINK.ENABLE.|
00000170: 62 6C 6E 63 74 20 3D 20 24 63 64 20 3B 62 4C 49 |blnct = $cd ;bLI|
00000180: 4E 4B A0 43 4F 55 4E 54 0D 67 64 62 6C 6E 20 3D |NK.COUNT.gdbln =|
00000190: 20 24 63 65 20 3B 63 48 41 52 41 43 54 45 52 A0 | $ce ;cHARACTER.|
000001A0: 55 4E 44 45 52 A0 43 55 52 53 4F 52 0D 62 6C 6E |UNDER.CURSOR.bln|
000001B0: 6F 6E 20 3D 20 24 63 66 20 3B 62 4C 49 4E 4B A0 |on = $cf ;bLINK.|
000001C0: 4F 4E A0 46 4C 41 47 0D 70 6E 74 72 20 3D 20 24 |ON.FLAG.pntr = $|
000001D0: 64 33 20 3B 63 55 52 53 4F 52 A0 43 4F 4C 55 4D |d3 ;cURSOR.COLUM|
000001E0: 4E 0D 71 74 73 77 20 3D 20 24 64 34 20 3B 71 55 |N.qtsw = $d4 ;qU|
000001F0: 4F 54 45 A0 4D 4F 44 45 A0 46 4C 41 47 0D 0D 73 |OTE.MODE.FLAG..s|
00000200: 74 61 63 6B 20 3D 20 24 31 30 30 20 3B 6D 49 43 |tack = $100 ;mIC|
00000210: 52 4F 50 52 4F 43 45 53 53 4F 52 A0 53 54 41 43 |ROPROCESSOR.STAC|
00000220: 4B 0D 62 75 66 20 3D 20 24 32 30 30 20 3B 69 4E |K.buf = $200 ;iN|
00000230: 50 55 54 A0 42 55 46 46 45 52 0D 6C 61 74 20 3D |PUT.BUFFER.lat =|
00000240: 20 24 32 35 39 20 3B 61 43 54 49 56 45 A0 4C 4F | $259 ;aCTIVE.LO|
00000250: 47 49 43 41 4C A0 46 49 4C 45 53 0D 73 61 74 20 |GICAL.FILES.sat |
00000260: 3D 20 24 32 36 64 20 3B 73 45 43 4F 4E 44 41 52 |= $26d ;sECONDAR|
00000270: 59 A0 41 44 44 52 45 53 53 45 53 0D 6B 65 79 64 |Y.ADDRESSES.keyd|
00000280: 20 3D 20 24 32 37 37 20 3B 6B 45 59 42 4F 41 52 | = $277 ;kEYBOAR|
00000290: 44 A0 51 55 45 55 45 0D 6D 65 6D 73 74 72 20 3D |D.QUEUE.memstr =|
000002A0: 20 24 32 38 31 20 3B 62 4F 54 54 4F 4D A0 4F 46 | $281 ;bOTTOM.OF|
000002B0: A0 4D 45 4D 4F 52 59 0D 6D 65 6D 73 69 7A 20 3D |.MEMORY.memsiz =|
000002C0: 20 24 32 38 33 20 3B 74 4F 50 A0 4F 46 A0 4D 45 | $283 ;tOP.OF.ME|
000002D0: 4D 4F 52 59 0D 63 6F 6C 6F 72 20 3D 20 24 32 38 |MORY.color = $28|
000002E0: 36 20 3B 63 48 41 52 41 43 54 45 52 A0 43 4F 4C |6 ;cHARACTER.COL|
000002F0: 4F 52 0D 67 64 63 6F 6C 20 3D 20 24 32 38 37 20 |OR.gdcol = $287 |
00000300: 3B 62 41 43 4B 47 52 4F 55 4E 44 A0 43 4F 4C 4F |;bACKGROUND.COLO|
00000310: 52 A0 41 54 A0 43 55 52 53 4F 52 0D 68 69 62 61 |R.AT.CURSOR.hiba|
00000320: 73 65 20 3D 20 24 32 38 38 20 3B 74 4F 50 A0 4F |se = $288 ;tOP.O|
00000330: 46 A0 53 43 52 45 45 4E A0 4D 45 4D 4F 52 59 0D |F.SCREEN.MEMORY.|
00000340: 78 6D 61 78 20 3D 20 24 32 38 39 20 3B 73 49 5A |xmax = $289 ;sIZ|
00000350: 45 A0 4F 46 A0 4B 45 59 A0 42 55 46 46 45 52 0D |E.OF.KEY.BUFFER.|
00000360: 72 70 74 66 6C 67 20 3D 20 24 32 38 61 20 3B 72 |rptflg = $28a ;r|
00000370: 45 50 45 41 54 A0 41 4C 4C A0 4B 45 59 53 A0 49 |EPEAT.ALL.KEYS.I|
00000380: 46 A0 24 38 30 0D 73 68 66 6C 61 67 20 3D 20 24 |F.$80.shflag = $|
00000390: 32 38 64 20 3B 66 4C 41 47 53 A0 53 48 49 46 54 |28d ;fLAGS.SHIFT|
000003A0: 2F 43 4E 54 52 2F 63 3D A0 4B 45 59 53 0D 6C 73 |/CNTR/c=.KEYS.ls|
000003B0: 74 73 68 66 20 3D 20 24 32 38 65 20 3B 6C 41 53 |tshf = $28e ;lAS|
000003C0: 54 A0 53 48 49 46 54 A0 50 41 54 54 45 52 4E 0D |T.SHIFT.PATTERN.|
000003D0: 69 6D 61 69 6E 20 3D 20 24 33 30 32 20 3B 62 61 |imain = $302 ;ba|
000003E0: 73 69 63 A0 57 41 52 4D A0 53 54 41 52 54 0D 73 |sic.WARM.START.s|
000003F0: 61 72 65 67 20 3D 20 24 33 30 63 20 3B 61 2D 52 |areg = $30c ;a-R|
00000400: 45 47 49 53 54 45 52 A0 53 41 56 45 0D 73 78 72 |EGISTER.SAVE.sxr|
00000410: 65 67 20 3D 20 24 33 30 64 20 3B 78 2D 52 45 47 |eg = $30d ;x-REG|
00000420: 49 53 54 45 52 A0 53 41 56 45 0D 73 79 72 65 67 |ISTER.SAVE.syreg|
00000430: 20 3D 20 24 33 30 65 20 3B 79 2D 52 45 47 49 53 | = $30e ;y-REGIS|
00000440: 54 45 52 A0 53 41 56 45 0D 73 70 72 65 67 20 3D |TER.SAVE.spreg =|
00000450: 20 24 33 30 66 20 3B 73 54 41 54 55 53 2D 52 45 | $30f ;sTATUS-RE|
00000460: 47 49 53 54 45 52 A0 53 41 56 45 0D 63 69 6E 76 |GISTER.SAVE.cinv|
00000470: 20 3D 20 24 33 31 34 20 3B 69 72 71 A0 56 45 43 | = $314 ;irq.VEC|
00000480: 54 4F 52 0D 63 62 69 6E 76 20 3D 20 24 33 31 36 |TOR.cbinv = $316|
00000490: 20 3B 62 72 6B A0 56 45 43 54 4F 52 0D 6E 6D 69 | ;brk.VECTOR.nmi|
000004A0: 6E 76 20 3D 20 24 33 31 38 20 3B 6E 6D 69 A0 56 |nv = $318 ;nmi.V|
000004B0: 45 43 54 4F 52 0D 69 6C 6F 61 64 20 3D 20 24 33 |ECTOR.iload = $3|
000004C0: 33 30 20 3B 6C 6F 61 64 A0 56 45 43 54 4F 52 0D |30 ;load.VECTOR.|
000004D0: 69 73 61 76 65 20 3D 20 24 33 33 32 20 3B 73 61 |isave = $332 ;sa|
000004E0: 76 65 A0 56 45 43 54 4F 52 0D 0D 62 6F 72 64 65 |ve.VECTOR..borde|
000004F0: 72 20 3D 20 24 64 30 32 30 20 3B 62 4F 52 44 45 |r = $d020 ;bORDE|
00000500: 52 A0 43 4F 4C 4F 52 0D 62 6B 67 6E 64 20 3D 20 |R.COLOR.bkgnd = |
00000510: 24 64 30 32 31 20 3B 62 41 43 4B 47 52 4F 55 4E |$d021 ;bACKGROUN|
00000520: 44 A0 43 4F 4C 4F 52 0D 72 65 67 73 61 76 65 20 |D.COLOR.regsave |
00000530: 3D 20 24 65 31 34 37 20 3B 72 45 47 49 53 54 45 |= $e147 ;rEGISTE|
00000540: 52 A0 53 41 56 45 A0 52 4F 55 54 49 4E 45 0D 0D |R.SAVE.ROUTINE..|
00000550: 63 69 6E 74 20 3D 20 24 66 66 38 31 20 3B 69 4E |cint = $ff81 ;iN|
00000560: 49 54 A0 53 43 52 45 45 4E A0 45 44 49 54 4F 52 |IT.SCREEN.EDITOR|
00000570: 0D 72 65 73 74 6F 72 20 3D 20 24 66 66 38 61 20 |.restor = $ff8a |
00000580: 3B 72 45 53 54 4F 52 45 A0 53 59 53 54 45 4D A0 |;rESTORE.SYSTEM.|
00000590: 56 45 43 54 4F 52 53 0D 76 65 63 74 6F 72 20 3D |VECTORS.vector =|
000005A0: 20 24 66 66 38 64 20 3B 73 45 54 2F 52 45 41 44 | $ff8d ;sET/READ|
000005B0: A0 53 59 53 54 45 4D A0 56 45 43 54 4F 52 53 0D |.SYSTEM.VECTORS.|
000005C0: 73 65 74 6D 73 67 20 3D 20 24 66 66 39 30 20 3B |setmsg = $ff90 ;|
000005D0: 6D 41 4E 41 47 45 A0 4D 45 53 53 41 47 45 A0 4F |mANAGE.MESSAGE.O|
000005E0: 55 54 50 55 54 0D 73 65 63 6F 6E 64 20 3D 20 24 |UTPUT.second = $|
000005F0: 66 66 39 33 20 3B 73 45 43 4F 4E 44 41 52 59 A0 |ff93 ;sECONDARY.|
00000600: 4C 49 53 54 45 4E A0 41 44 44 52 45 53 53 0D 74 |LISTEN.ADDRESS.t|
00000610: 6B 73 61 20 3D 20 24 66 66 39 36 20 3B 73 45 43 |ksa = $ff96 ;sEC|
00000620: 4F 4E 44 41 52 59 A0 54 41 4C 4B A0 41 44 44 52 |ONDARY.TALK.ADDR|
00000630: 45 53 53 0D 6D 65 6D 74 6F 70 20 3D 20 24 66 66 |ESS.memtop = $ff|
00000640: 39 39 20 3B 73 45 54 2F 52 45 41 44 A0 54 4F 50 |99 ;sET/READ.TOP|
00000650: A0 4F 46 A0 52 41 4D 0D 61 63 70 74 72 20 3D 20 |.OF.RAM.acptr = |
00000660: 24 66 66 61 35 20 3B 67 45 54 A0 42 59 54 45 A0 |$ffa5 ;gET.BYTE.|
00000670: 46 52 4F 4D A0 53 45 52 49 41 4C A0 50 4F 52 54 |FROM.SERIAL.PORT|
00000680: 0D 63 69 6F 75 74 20 3D 20 24 66 66 61 38 20 3B |.ciout = $ffa8 ;|
00000690: 62 59 54 45 A0 54 4F A0 53 45 52 49 41 4C A0 50 |bYTE.TO.SERIAL.P|
000006A0: 4F 52 54 0D 75 6E 74 6C 6B 20 3D 20 24 66 66 61 |ORT.untlk = $ffa|
000006B0: 62 20 3B 75 4E 2D 54 41 4C 4B 0D 75 6E 6C 73 6E |b ;uN-TALK.unlsn|
000006C0: 20 3D 20 24 66 66 61 65 20 3B 75 4E 2D 4C 49 53 | = $ffae ;uN-LIS|
000006D0: 54 45 4E 0D 6C 69 73 74 65 6E 20 3D 20 24 66 66 |TEN.listen = $ff|
000006E0: 62 31 0D 74 61 6C 6B 20 3D 20 24 66 66 62 34 0D |b1.talk = $ffb4.|
000006F0: 72 65 61 64 73 74 20 3D 20 24 66 66 62 37 20 3B |readst = $ffb7 ;|
00000700: 72 45 41 44 A0 53 54 41 54 55 53 A0 52 45 47 49 |rEAD.STATUS.REGI|
00000710: 53 54 45 52 0D 73 65 74 6C 66 73 20 3D 20 24 66 |STER.setlfs = $f|
00000720: 66 62 61 20 3B 73 45 54 A0 4C 4F 47 49 43 41 4C |fba ;sET.LOGICAL|
00000730: A0 46 49 4C 45 0D 73 65 74 6E 61 6D 20 3D 20 24 |.FILE.setnam = $|
00000740: 66 66 62 64 20 3B 73 45 54 A0 46 49 4C 45 A0 4E |ffbd ;sET.FILE.N|
00000750: 41 4D 45 0D 6F 70 65 6E 20 3D 20 24 66 66 63 30 |AME.open = $ffc0|
00000760: 0D 63 6C 6F 73 65 20 3D 20 24 66 66 63 33 0D 63 |.close = $ffc3.c|
00000770: 68 6B 69 6E 20 3D 20 24 66 66 63 36 20 3B 6F 50 |hkin = $ffc6 ;oP|
00000780: 45 4E A0 43 48 41 4E 4E 45 4C A0 46 4F 52 A0 49 |EN.CHANNEL.FOR.I|
00000790: 4E 50 55 54 0D 63 68 6B 6F 75 74 20 3D 20 24 66 |NPUT.chkout = $f|
000007A0: 66 63 39 20 3B 6F 50 45 4E A0 43 48 41 4E 4E 45 |fc9 ;oPEN.CHANNE|
000007B0: 4C A0 46 4F 52 A0 4F 55 54 50 55 54 0D 63 6C 72 |L.FOR.OUTPUT.clr|
000007C0: 63 68 6E 20 3D 20 24 66 66 63 63 20 3B 63 4C 45 |chn = $ffcc ;cLE|
000007D0: 41 52 A0 41 4C 4C A0 43 48 41 4E 4E 45 4C 53 0D |AR.ALL.CHANNELS.|
000007E0: 63 68 72 69 6E 20 3D 20 24 66 66 63 66 20 3B 67 |chrin = $ffcf ;g|
000007F0: 45 54 A0 42 59 54 45 A0 46 52 4F 4D A0 43 48 41 |ET.BYTE.FROM.CHA|
00000800: 4E 4E 45 4C 0D 63 68 72 6F 75 74 20 3D 20 24 66 |NNEL.chrout = $f|
00000810: 66 64 32 20 3B 62 59 54 45 A0 54 4F A0 43 48 41 |fd2 ;bYTE.TO.CHA|
00000820: 4E 4E 45 4C 0D 6C 6F 61 64 20 3D 20 24 66 66 64 |NNEL.load = $ffd|
00000830: 35 0D 73 61 76 65 20 3D 20 24 66 66 64 38 0D 73 |5.save = $ffd8.s|
00000840: 65 74 74 69 6D 20 3D 20 24 66 66 64 62 20 3B 73 |ettim = $ffdb ;s|
00000850: 45 54 A0 53 59 53 54 45 4D A0 43 4C 4F 43 4B 0D |ET.SYSTEM.CLOCK.|
00000860: 72 64 74 69 6D 20 3D 20 24 66 66 64 65 20 3B 72 |rdtim = $ffde ;r|
00000870: 45 41 44 A0 53 59 53 54 45 4D A0 43 4C 4F 43 4B |EAD.SYSTEM.CLOCK|
00000880: 0D 73 74 6F 70 20 3D 20 24 66 66 65 31 20 3B 63 |.stop = $ffe1 ;c|
00000890: 48 45 43 4B A0 46 4F 52 A0 53 54 4F 50 A0 4B 45 |HECK.FOR.STOP.KE|
000008A0: 59 0D 67 65 74 69 6E 20 3D 20 24 66 66 65 34 20 |Y.getin = $ffe4 |
000008B0: 3B 67 45 54 A0 42 59 54 45 A0 46 52 4F 4D A0 43 |;gET.BYTE.FROM.C|
000008C0: 48 41 4E 4E 45 4C 0D 63 6C 61 6C 6C 20 3D 20 24 |HANNEL.clall = $|
000008D0: 66 66 65 37 20 3B 63 4C 4F 53 45 A0 41 4C 4C A0 |ffe7 ;cLOSE.ALL.|
000008E0: 46 49 4C 45 53 0D 70 6C 6F 74 20 3D 20 24 66 66 |FILES.plot = $ff|
000008F0: 66 30 20 3B 73 45 54 2F 47 45 54 A0 43 55 52 53 |f0 ;sET/GET.CURS|
00000900: 4F 52 A0 50 4F 53 49 54 49 4F 4E 0D |OR.POSITION. |
*------------------------.* SELECTED KER
NEL EQUATES.*------------------------..S
TATUS = $90 ;I/O STATUS WORD.VERCK = $93
;0=LOAD, 1=VERIFY.TIME = $A0 ;REAL TIME
CLOCK (3 BYTES).FNLEN = $B7 ;FILE NAME
LENGTH.LA = $B8 ;LOGICAL FILE #.SA = $B9
;SECONDARY ADDRESS.FA = $BA ;DEVICE #.F
NADR = $BB ;FILE NAME POINTER.NDX = $C6
;# CHRS IN KEY BUFFER.BLNSW = $CC ;BLINK
ENABLE.BLNCT = $CD ;BLINK COUNT.GDBLN =
$CE ;CHARACTER UNDER CURSOR.BLNON = $CF
;BLINK ON FLAG.PNTR = $D3 ;CURSOR COLUM
N.QTSW = $D4 ;QUOTE MODE FLAG..STACK = $
100 ;MICROPROCESSOR STACK.BUF = $200 ;IN
PUT BUFFER.LAT = $259 ;ACTIVE LOGICAL FI
LES.SAT = $26D ;SECONDARY ADDRESSES.KEYD
= $277 ;KEYBOARD QUEUE.MEMSTR = $281 ;B
OTTOM OF MEMORY.MEMSIZ = $283 ;TOP OF ME
MORY.COLOR = $286 ;CHARACTER COLOR.GDCOL
= $287 ;BACKGROUND COLOR AT CURSOR.HIBA
SE = $288 ;TOP OF SCREEN MEMORY.XMAX = $
289 ;SIZE OF KEY BUFFER.RPTFLG = $28A ;R
EPEAT ALL KEYS IF $80.SHFLAG = $28D ;FLA
GS SHIFT/CNTR/C= KEYS.LSTSHF = $28E ;LAS
T SHIFT PATTERN.IMAIN = $302 ;BASIC WARM
START.SAREG = $30C ;A-REGISTER SAVE.SXR
EG = $30D ;X-REGISTER SAVE.SYREG = $30E
;Y-REGISTER SAVE.SPREG = $30F ;STATUS-RE
GISTER SAVE.CINV = $314 ;IRQ VECTOR.CBIN
V = $316 ;BRK VECTOR.NMINV = $318 ;NMI V
ECTOR.ILOAD = $330 ;LOAD VECTOR.ISAVE =
$332 ;SAVE VECTOR..BORDER = $D020 ;BORDE
R COLOR.BKGND = $D021 ;BACKGROUND COLOR.
REGSAVE = $E147 ;REGISTER SAVE ROUTINE..
CINT = $FF81 ;INIT SCREEN EDITOR.RESTOR
= $FF8A ;RESTORE SYSTEM VECTORS.VECTOR =
$FF8D ;SET/READ SYSTEM VECTORS.SETMSG =
$FF90 ;MANAGE MESSAGE OUTPUT.SECOND = $
FF93 ;SECONDARY LISTEN ADDRESS.TKSA = $F
F96 ;SECONDARY TALK ADDRESS.MEMTOP = $FF
99 ;SET/READ TOP OF RAM.ACPTR = $FFA5 ;G
ET BYTE FROM SERIAL PORT.CIOUT = $FFA8 ;
BYTE TO SERIAL PORT.UNTLK = $FFAB ;UN-TA
LK.UNLSN = $FFAE ;UN-LISTEN.LISTEN = $FF
B1.TALK = $FFB4.READST = $FFB7 ;READ STA
TUS REGISTER.SETLFS = $FFBA ;SET LOGICAL
FILE.SETNAM = $FFBD ;SET FILE NAME.OPEN
= $FFC0.CLOSE = $FFC3.CHKIN = $FFC6 ;OP
EN CHANNEL FOR INPUT.CHKOUT = $FFC9 ;OPE
N CHANNEL FOR OUTPUT.CLRCHN = $FFCC ;CLE
AR ALL CHANNELS.CHRIN = $FFCF ;GET BYTE
FROM CHANNEL.CHROUT = $FFD2 ;BYTE TO CHA
NNEL.LOAD = $FFD5.SAVE = $FFD8.SETTIM =
$FFDB ;SET SYSTEM CLOCK.RDTIM = $FFDE ;R
EAD SYSTEM CLOCK.STOP = $FFE1 ;CHECK FOR
STOP KEY.GETIN = $FFE4 ;GET BYTE FROM C
HANNEL.CLALL = $FFE7 ;CLOSE ALL FILES.PL
OT = $FFF0 ;SET/GET CURSOR POSITION.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL