allbery@ncoast.UUCP (Brandon Allbery) (07/27/86)
Expires: Quoted from <1325@ncoast.UUCP> ["Detecting running processes... this one's portable"], by allbery@ncoast.UUCP (Brandon Allbery)... +--------------- | -------- | #! /bin/sh | while kill -0 ${1-?}; do | sleep ${2-60} | done | -------- +--------------- OOPS! Change ``${1-?}'' to ``${1?}''. ++Brandon -- ---------------- /--/ Brandon S. Allbery UUCP: / / /|\/ Tridelta Industries, Inc. decvax!cwruecmp!ncoast! ---- -------- /-++ 7350 Corporate Blvd. tdi2!brandon / / /---, /--/ Mentor, Ohio 44060 PHONE: (home) / / / / / / -- HOME -- +1 216 974 9210 / / / / / / 6615 Center St. Apt. A1-105 ARPA: ncoast!allbery% ---- /----~ /--/ Mentor, Ohio 44060-4101 case.CSNET@csnet-relay ------------------------------------------------------------------------------- Space -- The Final Frontier
elg@usl.UUCP (Eric Lee Green) (09/11/86)
<munch> I inadvertantly omitted the .labels file from my 6502 disassembler. Dat'll teach me to post one of my two-day hacks to the net. In the meantime, to satisfy the people who are filling my mailbox with messages (I got 9 messages this morning alone), I'll post the .labels file for the C-128... Be sure to strip my .signature off of this file (someday I'll have to see if I can get it to stop doing that without having to re-compile inews). ---------------- cut here --------------- cut here ---------------- # this is the list of labels for the 6502 disassembler. This # list is for the C-128. If you wish to make up your own list, # note that for a comment the '#' sign must be in column one, # and there CANNOT be blank lines -- I don't have error # checking (in fact, I just added the comment feature!) # . 0100 BAD -- tape read errors 0110 XCNT -- dos loop counter 0111 DOSF1L - dos filename 1 len. 0112 DOSDS1 - dos disk drive 1 0113 DOSF2L - dos filename 2 len. 0114 DOSDS2 - dos disk drive 2 0115 DOSF2A - dos file name 2 address. 0117 DOSOFL - bload/bsave starting address 0119 DOSOFH - bload/bsave ending address 011b DOSLA - dos logical address 011c DOSFA - dos physical address 011d DOSSA - dos sec. addr. 011e DOSRCL - dos record length 011f DOSBNK 0120 DOSDID - dos disk id 0122 DIDCHK - dos dsk id flg 0123 BNR - pr. us. pointer to begin. no. 0124 ENR - pr. us. pointer to end no. 0125 DOLR - pr. us. dollar flag 0126 FLAG - pr. us. comma flag 0127 SWE - pr. us. counter 0128 USGN - pr. us. sign exponent 0129 UEXP - pr. us. pointer to exponent 012a VN - pr. us. # of digits before decimal flag 012b CHSN - pr. us. justify flag 012c VF - pr. us. # of pos before decimal point 012e POSP - pr. us. +/- flag (field) 012f FESP - pr. us. exponent flag (field) 0130 ETOF - pr. us. switch 0131 CFORM - pr. us. char counter (field) 0132 SNO - pr. us. sign no. 0133 BLFD - pr. us. blank/star flag 0134 BEGFD - pr. us. pointer ot begin of field 0135 LFOR - pr. us. length of format 0136 ENDFD - pr. us. end of field 0200,BUF -- input buffer: BASIC & monitor 02a2,FETCH -- lda(-),y from any bank 02aa,FETVEC -- fetch zpg vector 02af,STASH -- sta(-),y to any bank 02b9,STAVEC -- STASH zpg vector 02be,CMPARE -- cmp(-),y to any bank 02c8,CMPVEC -- CMPARE zpg vector 02cd,JSRFAR -- far jsr to any bank 02e3,JMPFAR -- far jmp to any bank 02fc ESC_FN_VEX -- vector for additional function routines 02fd ESC_FN_VEX+1 -- vector for additional function routines 02fe BNKVEX -- vector for function cart. users 02ff BNKVEX+1 -- vector for function cart. users 0300 IERROR -- Vector for print BASIC error (err in .x) 0301 IERROR+1 -- Vector for print BASIC error (err in .x) 0302 IMAIN -- vector to main (system direct loop) 0303 IMAIN+1 -- vector to main (system direct loop) 0304 ICRNCH -- vector to crunch (tokenization routine) 0305 ICRNCH+1 -- vector to crunch (tokenization routine) 0306 IQPLOP -- vector to list BASIC text (char list) 0307 IQPLOP+1 -- vector to list BASIC text (char list) 0308 IGONE -- vector to GONE (BASIC char dispatch) 0309 IGONE+1 -- vector to GONE (BASIC char dispatch) 030a IEVAL -- vector to BASIC token evaluation 030b IEVAL+1 -- vector to BASIC token evaluation 030c IESCLK -- vector to escape-token crunch 030d IESCLK+1 -- vector to escape-token crunch 030e IESCPR -- vector to escape-token print 030f IESCPR+1 -- vector to escape-token print 0310 IESCEX -- vector to escape-token execute 0311 IESCEX+1 -- vector to escape-token execute 0314,IIRQ -- IRQ RAM vector 0315,IIRQ+1 -- IRQ RAM vector 0316 IBRK -- BRK instr. ram vector 0317 IBRK+1 -- BRK instr. ram vector 0318 INMI -- NMI vector 0319 INMI+1 -- NMI vector 031a IOPEN -- kernal OPEN vector 031b IOPEN+1 -- kernal OPEN vector 031c ICLOSE -- kernal CLOSE vector 031d ICLOSE+1 -- kernal CLOSE vector 031e ICHKIN -- kernal CHKIN vector 031f ICHKIN+1 -- kernal CHKIN vector 0320 ICKOUT -- kernal CHKOUT vector 0321 ICKOUT+1 -- kernal CHKOUT vector 0322 ICLRCH -- kernal CLRCHN routine vector 0323 ICLRCH+1 -- kernal CLRCHN routine vector 0324 IBASIN -- kernal CHRIN routine vector 0325 IBASIN+1 -- kernal CHRIN routine vector 0326 IBSOUT -- kernal CHROUT routine vector 0327 IBSOUT+1 -- kernal CHROUT routine vector 0328 ISTOP -- kernal STOP routine vector 0329 ISTOP+1 -- kernal STOP routine vector 032a IGETIN -- kernal GETIN routine vector 032b IGETIN+1 -- kernal GETIN routine vector 032c ICLALL -- kernal CLALL routine vector 032d ICLALL+1 -- kernal CLALL routine vector 032e EXMON -- monitor command vector 032f EXMON+1 -- monitor command vector 0330 ILOAD -- kernal LOAD routine vector 0331 ILOAD+1 -- kernal LOAD routine vector 0332 ISAVE -- kernal SAVE routine vector 0333 ISAVE+1 -- kernal SAVE routine vector 0334 CTLVEC -- editor: print 'contrl' indirect 0336 SHFVEC -- editor: print 'shftd' indirect 0338 ESCVEC -- editor: print 'escape' indirect 033a KEYVEC -- editor: keyscan logic indirect 033c KEYCHK -- editor: store key indirect 033e DECODE -- vectors to keyboard matrix, decode tables 034a KEYD -- irq keyboard buffer (10 bytes) 0354 TABMAP -- bitmap of tab stops (10 bytes) 035e BITABL -- bitmap of line wraps. tabmap & bitable swapped to $0a60 when screen mode changed. 0362 LAT -- logical file numbers 036c FAT -- primary device numbers 0376 SAT -- secondary addresses 0380 CHRGET 0386 CHRGOT 0390 QNUM 039f INDSUB_RAM0 -- shared rom fetch sub. 03ab INDSUB_RAM1 -- shared ROM fetch sub. 03b7 INDIN1_RAM1 -- index1 indirect fetch 03c0 INDIN2 -- index2 indirect fetch 03c9 INDTXT -- txtptr 03d2 ZERO -- numeric constant for BASIC 03d5 CURRENT_BANK -- context for sys,poke,peek, from "BANK" cmmd 03d6 TMPDES --- temp for instr 03da FIN_BANK -- bank pointer for string/number convert rtn. 03db SAVSIZ -- temp work locations for sshape 03df BITS -- FAC#1 overflow digit 03e0 SPRTMP_1 -- temp for SPRSAV 03e1 SPRTMP_2 -- temp for SPRSAV 03e2 FG_BG -- packed forground/background color nybbles 03e3 FG_MC1 -- packed forground/multicolor 1 color nybbles 0a00 SYSTEM_VECTOR -- vector to restart system (BASIC warm) 0a02 DEJAVU -- kernal warm/cold init'n statusbyte 0a03 PALNTS -- PAL/NTSC system flag 0a04 INIT_STATUS -- flags reset vs. nmi status for init'n rtns 0a05 MEMSTR -- ptr to bottom of avail. memory in system bank 0a07 MEMSIZ -- ptr to top of available memory in system bank 0a09 IRQTMP -- tape handler preserves irq indirect here 0a0b CASTON -- TOD sense during tape operations 0a0c KIKA26 -- tape read temporary 0a0d STUPID -- tape read D1IRQ indicator 0a0e TIMOUT -- fast serial timeout flag 0a0f ENABL -- RS-232 enables 0a10 M51CTR -- rs-232 control register 0a11 M51CDR -- rs232 command register 0a12 M51AJB -- rs232 user baud rate 0a14 RSSTAT -- RS232 status register 0a15 BITNUM -- rs232 number of bits to se{d 0a16 BAUDOF -- rs232 baud rate full bit time (created by open) 0a18 RIDBE -- rs232 input buffer index to end 0a19 RIDBS -- rs232 input buffer index to start 0a1a RODBS -- rs232 output buffer index to start 0a1b RODBE -- rs232 output buffer index to end 0a1c SERIAL -- fast serial internal/external flag 0a1d TIMER -- decrementing jiffie register 0a20 XMAX -- keyboard queue maximum size 0a21 PAUSE -- <ctrl>s flag 0a22 RPTFLG -- enable key repeats 0a23 KOUNT -- delay between key repeats 0a24 DELAY -- delay before a key starts repeating 0a25 LSTSHF -- delay between <C=><shft> toggles 0a26 BLNON -- VIC cursor mode (blinking,solid) 0a27 BLNSW -- VIC cursor disble 0a28 BLNCT -- VIC cursor blink counter 0a29 GDBLN -- VIC cursor character before blink 0a2a GDCOL -- VIC cursor color before blink 0a2b CURMOD -- VDC cursor mode (when enabled) 0a2c VM1 -- VIC text screen/chracter base pointer 0a2d VM2 -- VIC bit-map base pointer 0a2e VM3 -- VDC text screen base 0a2f VM4 -- VDC attribute base 0a30 LINTMP -- temporary pointer to last line for loop4 0a31 SAV80A -- temp for 80 column routines 0a32 SAV80B -- temp for 80 column routines 0a33 CURCOL -- VDC cursor color before blink 0a34 SPLIT -- VIC split screen raster value 0a35 FNADRX -- save .x during bank operations 0a36 PALCNT -- counter for PAL systems (jiffie adjustment) 0a37 SPEED -- save system speed during tape and serial ops 0a38 SPRITES -- save sprite enables during tape and serial ops 0a39 BLANKING -- save blanking status during tape ops 0a3a HOLD_OFF -- flag set by user to resrv full cntrl of VIC 0a3b LDTB1_SA -- Hi byte: SA of VIC scrn (use W/VM1 to move scrn) 0a3c CLR_EA_LO -- 8563 block fill 0a3d CLR_EA_HI -- 8563 block fill 0a40 save area for screen vars in 40/80 column switch 0a80 XCNT -- compare buffer (32 bytes) 0aa0 HULP 0aaa FORMAT 0aab LENGTH -- asm/dis 0aac MSAL -- for assembler 0aaf SXREG -- 1 byte temp used all over 0ab0 SYREG -- 1 byte temp used all over 0ab1 WRAP -- 1 byte temp for assembler 0ab2 XSAVE -- save .x here during indirect subroutine calls 0ab3 DIRECTION -- direction indicator for 'transfer' 0ab4 COUNT -- parse number conversion 0ab5 NUMBER -- parse number conversion 0ab6 SHIFT -- parse number conversion 0ab7 TEMPS 0ac0 CURBNK -- current function key rom bank being polled 0ac1 PAT -- physical address table (ids of logged-in cards) 0ac5 DK_FLAG -- reserved for foreign screen editors 0ac6 reserved for system 0b00 TBUFFR -- cassette buffer (192 bytes) 0c00 RS232I -- rs232 input buffer 0d00 RS232O -- rs232 output buffer 0e00 sprite definition area 1000 PKYBUF -- programmable function key lengths table for 10 keys (F1-F8,SH/RUN,HELP) 100a PKYDEF -- programmable function key strings 1100 DOSSTR -- DOS output str. buf 48 bytes to build dos string 1131 VWORK,XYPOS,XPOS -- graphics vars 1133 YPOS -- current Y position 1135 XDEST -- x-coordinate destination 1137 YDEST -- y-coordinate destination 1139 XYABS,XABS -- line drawing variables 113b YABS 113d XYSGN,XSGN 113f YSGN 1141 FCT 1145 ERRVAL 1147 LESSER 1148 GRETR 1149 ANGSGN -- sign of angle 114a SINVAL -- sine of value of angle 114c COSVAL -- cosine of value of angle 114e ANGCNT -- temps for angle distance routines 1150 XCIRCL -- circle center, X coordinte 1152 YCIRCL -- circle center, Y coordinate 1154 XRADUS -- X radius 1156 YRADUS -- Y radius 1158 ROTANG -- rotation angle 115c ANGBEG -- arc angle start 115e ANGEND -- arc angle end 1160 XRCOS -- x radius * cos(rotation angle) 1162 YRSIN -- y radius * sin(rotation angle) 1164 XRSIN -- x radius * sin(rotation angle) 1166 YRCOS -- y radius * cos(rotation angle) 1168 CHRPAG -- high byte: addr of charrom for 'char' cmd 1169 BITCNT -- temp for GSHAPE 116a SCALEM -- scale mode flag 116b WIDTH -- double width flag 116c FILFLG -- box fill flag 116d BITMSK -- temp for bit mask 116e NUMCNT 116f TRCFLG -- flags trace mode 1170 RENUM_TMP_1 -- a temp for renumber 1172 RENUM_TMP_2 -- a temp for renumber 1174 T3 1175 T4 1177 VTEMP3 -- graphic temp storage 1178 VTEMP4 1179 VTEMP5 117a ADRAY1 -- ptr to routine: convert float -> integer 117c ADRAY2 -- ptr to routine: convert integer -> float 117e SPRITE_DATA -- sprite speed/direction tables 11d6 VIC_SAVE -- copy of vic reg's, used to update chip during retrace (21 bytes) 11eb UPPER_LOWER -- pointer to upper/lower char set for char 11ec UPPER_GRAPHIC -- pr. to upper/graphic char. set 11ed DOSSA -- temp storage for file SA during record cmd 1200 OLDLIN -- previous BASIC line number 1202 OLDTXT -- pointer: BASIC statement for continue 1204 PUCHRS,PUFILL -- ??,"print using" fill symbol 1205 PUCOMA -- "print using" comma symbol 1206 PUDOT -- "print using" d.p. symbol 1207 PUMONY -- "print using" monetary symbol 1208 ERRNUM -- used by error trapping rouine -- last err no. 1209 ERRLIN -- line # oflast error -- $FFFF if no error 120b TRAPNO -- line # to go to on error. $ffxx if none set 120d TMPTRP -- hold trap # tempor. 120e ERRTXT 1210 TEXT_TOP -- top of text pointer 1212 MAX_MEM_0 -- highest address available to BASIC in RAM 0 1214 TMPTXT -- used by do loop. could be mult. assigned 1216 TMPLIN 1218 USRPOK 121b RNDX 1220 CIRCLE_SEGMENT -- degrees per circle segment 1221 DEJAVU -- 'cold' or 'warm' reset status 1222 TEMP_RATE 1223 VOICES 1229 NTIME 122b OCTAVE 122c SHARP 122d PITCH 122f VOICE 1230 WAVE0 1233 DNOTE 1234 FLTSAV 1238 FLTFLG 1239 NIBBLE 123a TONNUM 123b TONVAL 123e PARCNT 123f ATKTAB 1249 SUSTAB 1253 WAVTAB 125d PULSLW 1267 PULSVHI 1271 FILTERS 1276 INT_TRIP_FLAG (irq stuph) 1279 INT_ADR_LO (irq stuph) 127c INT_ADR_HI (irq stuph) 127f INTVAL (irq stuph) 1280 COLTYP (irq stuph) 1281 SOUND_VOICE 1282 SOUND_TIME_LO 1285 SOUND_TIME_HI 1288 SOUND_MAX_LO 128b SOUND_MAX_HI 128e SOUND_MIN_LO 1291 SOUND_MIN_HI 1294 SOUND_DIRECTION 1297 SOUND_STEP_LO 129A SOUND_STEP_HI 129D SOUND_FREq_LO 12A0 SOUND_FREq_HI 12A3 TEMP_TIME_LO 12A4 TEMP_TIME_HI 12A5 TEMP_MAX_LO 12A6 TEMP_MAX_HI 12A7 TEMP_MIN_LO 12A8 TEMP_MIN_HI 12A9 TEMP_DIRECTION 12AA TEMP_STEP_LO 12AB TEMP_STEP_HI 12AC TEMP_FREQ_LO 12AD TEMP_FREQ_HI 12AE TEMP_PULSE_LO 12AF TEMP_PULSE_HI 12B0 TEMP_WAVEFORM 12B1 POT_TEMP_1 -- temporaries for 'POT' function 12b2 POT_TEMP_2 12B3 WINDOW_TEMP 12B7 SAVRAM -- used by sprdef & savspr 12FA DEFMOD -- used by sprdef & savspr 12FB LINCNT -- used by sprdef & savspr 12FC SPRITE_NUMBER -- used by sprdef & savspr 12FD IRQ_WRAP_FLAG -- used by BASIC irq to block all but one irq call 1300 application program area 1c00 RAMBOT -- start of BASIC text 4000 jmp HARD_RESET -- BASIC cold start 4003 jmp SOFT_RESET -- BASIC warm start 4006 jmp BASIC_IRQ -- BASIC irq entry af00 jmp AYINT -- convert f.p. to integer af03 jmp GIVAYF -- integer to f.p. af06 jmp FOUT -- convert f.p. to ascii string af09 jmp VAL_1 -- convert ascii string to f.p. af0c jmp GETADR -- convert f.p. to an address af0f jmp FLOATC -- convert address to f.p. af12 jmp FSUB -- mem - facc af15 jmp FSUBT -- arg - facc af18 jmp FADD -- mem + facc af1b jmp FADDT -- arg - facc af1e jmp FMULT -- mem * facc af21 jmp FMULTT -- arg * facc af24 jmp FDIF -- mem / facc af27 jmp FDIVT -- arg / facc af2a jmp LOG -- compute natural log of FACC af2d jmp INT -- perform basic int on facc af30 jmp SQR -- compute square root of facc af33 jmp NEGOP -- negate facc af36 jmp FPWR -- raise arg to the mem power af39 jmp FPWRT -- raise arg to the facc power af3c jmp EXP -- compute exp of facc af3f jmp COS -- compute cos of facc af42 jmp SIN -- compute sin of facc af45 jmp TAN -- compute tan of facc af48 jmp ATN -- compute atn of facc af4b jmp ROUND -- round facc af4e jmp ABS -- absolute value of facc af51 jmp SIGN -- test sign of facc af54 jmp FCOMP -- compare facc with memory af57 jmp RND(0) -- generate random f.p. number af5a jmp CONUPK -- move ram mem to arg af5d jmp ROMUPK -- move rom mem to arg af60 jmp MOVFRM -- move RAM mem to facc af63 jmp MOVFM -- move rom mem to facc af66 jmp MOVMF -- move facc to mem af69 jmp MOVFA -- move arg to facc af6c jmp MOVAF -- move facc to arg AF6F JMP OPTAB AF72 JMP DRAWLN AF75 JMP GPLOT AF78 JMP CIRSUB AF7B JMP RUN AF7E JMP RUNC AF81 JMP CLEAR AF84 JMP NEW AF87 JMP LNKPRG AF8A JMP CRUNCH AF8D JMP FNDLIN AF90 JMP NEWSTT AF93 JMP EVAL AF96 JMP FRMEVL AF99 JMP RUN_A_PROGRAM AF9C JMP SETEXC AF9F JMP LINGET AFA2 JMP GARBA2 AFA5 JMP EXECUTE_A_LINE B000 jmp CALL -- monitor call entry b003 jmp BREAK -- monitor break entry b006 jmp MONCMD -- monitor command parser entry c000 jmp CINT -- init editor & screen c003 jmp DISPLY -- display char in .a, color in .x c006 jmp LP2 -- get key from irq buffer into .a c009 jmp LOOP5 -- get a chr from scrn line into .a c00c jmp PRINT -- print character in .a c00f jmp SCRORG -- get # of scrn rows,cols into x&y c012 jmp SCNKEY -- scan keyboard subroutine c015 jmp REPEAT -- handle repeat key& store decoded key c018 jmp PLOT -- read or set crsr position in .x,.y c01b jmp CURSOR -- move 8563 cursor subroutine c01e jmp ESCAPE -- execute esc funcion using chr in .a c021 jmp KEYSET -- redefine a programmable func'n key c024 jmp IRQ -- irq entry c027 jmp INIT80 -- init 80 column character set c02a jmp SWAPPER -- swap editor locals (40/80 change) c02d jmp WINDOW -- set top-left or bot-right of window d000 VICREG0 -- sprite 0 x-location d001 VICREG1 -- sprite 0 y-location d002 VICREG2 -- sprite 1 x-location d003 VICREG3 -- sprite 1 y-location d004 VICREG4 -- sprite 2 x-location d005 VICREG5 -- sprite 2 y-location d006 VICREG6 -- sprite 3 x-location d007 VICREG7 -- sprite 3 y-location d008 VICREG8 -- sprite 4 x-location d009 VICREG9 -- sprite 4 y-location d00a VICREG10 -- sprite 5 x-location d00b VICREG11 -- sprite 5 y-location d00c VICREG12 -- sprite 6 x-location d00d VICREG13 -- sprite 6 y-location d00e VICREG14 -- sprite 7 x location d00f VICREG15 -- sprite 7 y location d010 VICREG16 -- MSB of x-location for sprites 0-7 d011 VICREG17 -- VIC control register 1 d012 VICREG18 -- Read/write raster value for compare irq d013 VICREG19 -- light pen latch x-position d014 VICREG20 -- light pen latch y-position d015 VICREG21 -- sprites 0-7 display enable (1=enable) d016 VICREG22 -- VIC control register 2 d017 VICREG23 -- sprites 0-7 y-expand d018 VICREG24 -- VIC memory control register bits d019 VICREG25 -- VIC interrupt flag register (1=irq occured) d01a VICREG26 -- VIC IRQ enable bits (1=enable) d01b VICREG27 -- sprites 0-7 background priority (1=sprite) d01c VICREG28 -- sprites 0-7 multicolor mode (1=multicolor) d01d VICREG29 -- sprites 0-7 x-expand d01e VICREG30 -- sprite to sprite collision latch d01f VICREG31 -- sprite to background collision latch d020 VICREG32 -- border color d021 VICREG33 -- background color 0 d022 VICREG34 -- background color 1 d023 VICREG35 -- background color 2 d024 VICREG36 -- background color 3 d025 VICREG37 -- sprite multi-color register 0 d026 VICREG38 -- sprite multi-color register 1 d027 VICREG39 -- sprite 0 color d028 VICREG40 -- sprite 1 color d029 VICREG41 -- sprite 2 color d02a VICREG42 -- sprite 3 color d02b VICREG43 -- sprite 4 color d02c VICREG44 -- sprite 5 color d02d VICREG45 -- sprite 6 color d02e VICREG46 -- sprite 7 color d02f VICREG47 -- keyboard lines bits d030 VICREG48 -- clock speed bits d400 SIDREG0 -- voice 1 frequency lo d401 SIDREG1 -- voice 1 frequency hi d402 SIDREG2 -- voice 1 pulse width lo d403 SIDREG3 -- voice 1 pulse width hi d404 SIDREG4 -- voice 1 control register d405 SIDREG5 -- voice 1 attack/decay d406 SIDREG6 -- voice 1 sustain/release d407 SIDREG7 -- voice 2 frequency low d408 SIDREG8 -- voice 2 frequency hi d409 SIDREG9 -- voice 2 pulse width lo d40a SIDREG10 -- voice 2 pulse width hi d40b SIDREG11 -- voice 2 control register d40c SIDREG12 -- voice 2 attack/decay d40d SIDREG13 -- voice 2 sustain-release d40e SIDREG14 -- voice 3 frequency lo d40f SIDREG15 -- voice 3 frequency hi d410 SIDREG16 -- voice 3 pulse width lo d411 SIDREG17 -- voice 3 pulse width hi d412 SIDREG18 -- voice 3 control register d413 SIDREG19 -- voice 3 attack/decay d414 SIDREG20 -- voice 3 sustain/release d415 SIDREG21 -- filter cutoff frequency lo d416 SIDREG22 -- filter cutoff freq. hi d417 SIDREG23 -- resonance/filter d418 SIDREG24 -- mode/volume d419 SIDREG25 -- pot x, a/d converter, paddle 1 d41a SIDREG26 -- pot y, a/d converter, paddle 2 d41b SIDREG27 -- oscillator 3, random number generator d41c SIDREG28 -- envelope generator 3 output d500 MMUCR1 -- configuration register d501 PCRA -- preconfiguration register A d502 PCRB -- preconfiguration register B d503 PCRC -- preconfiguration register C d504 PCRD -- preconfiguration register D d505 MMUMCR -- mode configuration register d506 MMURCR -- RAM configuration register d507 MMUP0L -- page 0 pointer low d508 MMUP0H -- page 0 pointer hi d509 MMUP1L -- page 1 pointer low d50a MMUP1H -- page 1 pointer hi d50b MMUVER -- MMU version number d600 VDCADR -- 8563 address register d601 VDCDAT -- 8563 data register dc00 D1PRA -- CIA#1 port A (output keyboard columns) dc01 D1PRB -- CIA#1 port B (input keyboard rows) dc02 D1DDRA - CIA#1 data direction port A dc03 D1DDRB - CIA#1 data direction port B dc04 D1T1L -- CIA#1 timer A lo dc05 D1T1H -- CIA#1 timer A hi dc06 D1T2L -- CIA#1 timer B lo dc07 D1T2H -- CIA#1 timer B hi dc08 D1TOD1 -- CIA#1 TOD tenths dc09 D1TODS -- CIA#1 TOD seconds dc0a D1TODM -- CIA#1 TOD minutes dc0b D1TODH -- CIA#1 TOD hours dc0c D1SDR -- CIA#1 serial data register dc0d D1ICR -- CIA#1 interrupt control register dc0e D1CRA -- CIA#1 control register A dc0f D1CRB -- CIA#1 control register B dd00 D2PRA -- CIA#2 port A serial bus, rs232, va14-15 dd01 D2PRB -- CIA#2 port B user port, rs232 bits dd02 D2DDRA - CIA#2 data direction port A dd03 D2DDRB - CIA#2 data direction port B dd04 D2T1L -- CIA#2 timer A lo dd05 D2T1H -- CIA#2 timer A hi dd06 D2T2L -- CIA#2 timer B lo dd07 D2T2H -- CIA#2 timer B hi dd08 D2TOD2 -- CIA#2 TOD tenths dd09 D2TODS -- CIA#2 TOD seconds dd0a D2TODM -- CIA#2 TOD minutes dd0b D2TODH -- CIA#2 TOD hours dd0c D2SDR -- CIA#2 serial data register dd0d D2ICR -- CIA#2 interrupt control register dd0e D2CRA -- CIA#2 control register A dd0f D2CRB -- CIA#2 control register B ff00 MMUCR -- configuration register (secondary) ff01 LCRA -- load configuration register A ff02 LCRB -- load configuration register B ff03 LCRC -- load configuration register C ff04 LCRD -- load configuration register D ff47 jmp SPIN SPOUT - set up fast serial port for i/o ff4a jmp CLOSE ALL - close all logical files for a device ff4d jmp C64MODE -- reconfigure system as a C64 ff50 jmp DMA CALL - initiate dma request to external ram expansion, send command to dma device. ff53 jmp BOOT CALL - boot load program from disk ff56 jmp PHOENIX -- call all function cards' cold start ff59 jmp LKUPLA -- search tables for given LA ff5c jmp LKUPSA -- search tables for given SA ff5f jmp SWAPPER - switch between 40 & 80 columns (editor) ff62 jmp DLCHR - init 80 col character RAM (editor) ff65 jmp PFKEY - program function key (editor) ff68 jmp SETBNK -- set bank for i/o operations ff6b jsr GETCFG -- lookup mmu data for given bank ff6e jmp JSRFAR -- jsr to any bank, rts to calling bank. ff71 jmp JMPFAR -- jmp to any bank ff74 jmp INDFET -- lda (fetvec),y from any bank ff77 jmp INDSTA -- sta (stavec),y to any bank ff7a jmp INDCMP - cmp (cmpvec),y to any bank ff7d jmp PRIMM - print immediate utility (always jsr to this). ff80 release number of kernal ff81 jmp CINT -- init editor & display chips (editor) ff84 jmp IOINIT -- init i/o devices (ports,timers,etc.) ff87 jmp RAMTAS - init ram & buffers for system ff8a jmp RESTOR - restore vectors to initial system ff8d jmp VECTOR - change vectors for user ff90 jmp SETMSG - control O.S. messages ff93 jmp SECND - send SA after listen ff96 jmp TKSA - send SA after talk ff99 jmp MEMTOP - set/read top of system RAM ff9c jmp MEMBOT - set/read bottom of system RAM ff9f jmp KEY - scan keyboard (editor) ffa2 jmp SETTMO - set timeout in IEEE (reserved) ffa5 jmp ACPTR - handshake serial byte in ffa8 jmp CIOUT - handshake serial byte out ffab jmp UNTLK - send untalk out serial ffae jmp UNLSN - send unlisten out serial ffb1 jmp LISTN - send listen out serial ffb4 jmp TALK - send talk out serial ffb7 jmp READSS - return i/o status byte ffba jmp SETLFS - set LA, FA, SA ffbd jmp SETNAM - set length and file name address ffc0 jmp (IOPEN) - OPEN logical file ffc3 jmp (ICLOSE) - CLOSE logical file ffc6 jmp (ICHKIN) - CHKIN - set channel in ffc9 jmp (ICKOUT) - CKOUT - set channel out ffcc jmp (ICLRCH) - CLRCH - restore default i/o channel ffcf jmp (IBASIN) - BASIN - CHRIN from channel ffd2 jmp (IBSOUT) - BASOUT - CHROUT from channel ffd5 jmp LOADSP -- load from file ffd8 jmp SAVESP -- save to file ffdb jmp SETTIM - set internal clock ffde jmp RDTIM -- read internal clock ffe1 jmp (ISTOP) - STOP - scan stop key ffe4 jmp (IGETIN) - GETIN - read buffered data ffe7 jmp (ICLALL) - CLALL - close all files & channels ffea jmp UDTIM - CLOCK - increment internal clock ffed jmp SCRORG - return screen window size (editor) fff0 jmp PLOT -- read/set x,y cursor (editor) fff3 jmp IOBASE -- return i/o base f781 IOBASE -- return i/o base f5f8 UDTIM -- increment internal clock f65e RDTIM -- read internal clock f665 SETTIM -- set internal clock f53e SAVESP -- save to file f265 LOADSP -- load from file f731 SETNAM -- set length and file name address f738 SETLFS -- set LA, FA, SA f744 READSS -- return i/o status byte e33b TALK -- send talk out serial e33e LISTN -- sent listen out serial e526 UNLSN -- send unlisten out serial e515 UNTLK -- send untalk out serial e503 CIOUT -- handshake serial byte out e43e ACPTR -- handshake serial byte in f75f SETTMO -- set timeout in IEEE (reserved) f772 MEMBOT - set/read bottom of system RAM f763 MEMTOP -- set/read top of system RAM e4e0 TKSA -- send SA after talk e4d2 SECND -- send SA after listen f75c SETMSG -- control O.S. messages e05b VECTOR -- change vectors for user e056 RESTOR -- restore vectors to initial system e093 RAMTAS -- init ram & buffers for system e109 IOINIT -- init i/o devices (ports, timers,etc.) fa17 PRIMM -- print immediate utility (always jsr to this) f7e3 INDCMP -- cmp (cmpvec),y to any bank f7da INDSTA -- sta (stavec),y to any bank f7d0 INDFET -- lda (fetvec),y from any bank f7ec GETCFG -- lookup mmu data for given bank f73f SETBNK -- set bank for i/o operations f786 LKUPSA -- search tables for given SA f79d LKUPLA -- search tables for given LA f867 PHOENIX - call all function cards' cold start f890 BOOT CALL - boot load program from disk f7a5 DMA CALL - init dma request to external ram expansion, send command to dma device e24b C64MODE -- reconfigure system as a c64 f23d CLOSE ALL - close all logical files for a device e5fb SPIN SPOUT - set up fast serial port for i/o ff17 IRQ/BRK dispatcher (ROM-pointed-to) ff3d RESET dispatcher (ROM-pointed-to) ff05 NMI dispatcher (ROM-pointed-to) e224 SYSTEM dispatcher - operating system vector (RAM1) f222 ICLALL routine eeeb IGETIN routine f66e ISTOP routine ef79 CHROUT routine ef06 CHRIN routine f226 CLRCHN routine f14c CHKOUT routine f106 CHKIN routine efbd OPEN routine fa40 NMI routine fa65 IRQ routine 4ba9 IESCEX -- escape-token execute 4023 HARD_RESET -- BASIC cold start 4009 SOFT_RESET -- BASIC warm start a84d BASIC_IRQ -- BASIC irq entry c07b CINT -- init editor & screen cc34 DISPLY -- display char in .a, color in .x c234 LP2 -- get key from irq buffer into .a c29b LOOP5 -- get a chr from scrn line into .a c72d PRINT -- print character in .a cc5b SCRORG -- get # of scrn rows,cols into x&y c55d SCNKEY -- scan keyboard subroutine c651 REPEAT -- handle repeat key & store decoded key cc6a PLOT -- read or set crsr position in .x,.y cd57 CURSOR -- move 8563 cursor subroutine c9c1 ESCAPE -- execute esc function using chr in .a cca2 KEYSET -- redefine programmable func'n key c194 IRQ -- irq entry ce0c INIT80 -- init 80 column character set cd2e SWAPPER -- swap editor locals (40/80 change) ca1b WINDOW -- set top-left or bot-right of window 793c GIVAYF -- integer to f.p 8e42 FOUT -- convert f.p. to ascii string 8052 VAL_1 -- convert ascii string to f.p. 8815 GETADR -- convert f.p. to an address 8c75 FLOATC -- convert address to f.p. 882e FSUB -- mem - facc 8831 FSUBT -- arg - facc 8845 FADD -- mem + facc 8848 FADDT -- arg - facc 8a24 FMULT -- mem * facc 8a27 FMULTT -- arg * facc 8b49 FDIF -- mem / facc 8b4c FDIVT -- arg / facc 89ca LOG -- compute natural log of FACC 8cfb INT -- perform basic int on facc 8fb7 SQR -- compute square root of facc 8ffa NEGOP -- negate facc 8fbe FPWR -- raise arg to the mem power 8fc1 FPWRT - raise arg to the facc power 9033 EXP -- compute exp of facc 9409 COS -- compute cos of facc 9410 SIN -- compute sin of facc 9459 TAN -- compute tan of facc 94b3 ATN -- compute atn of facc 8c47 ROUND -- round facc 8c84 ABS -- absolute value of facc 8c57 SIGN -- test sign of facc 8c87 FCOMP -- compare facc with memory 8437 RND(0) -- generate random f.p. number 8ab4 CONUPK -- move ram mem to arg 8a89 ROMUPK -- move rom mem to arg 7a85 MOVFRM -- move RAM mem to facc 8bd4 MOVFM -- move ROM mem to facc 8c00 MOVMF -- move facc to mem 8c28 MOVFA -- move arg to facc 8c38 MOVAF -- move facc to arg 4828 OPTAB 9b30 DRAWLN 9bfb GPLOT 6750 CIRSUB 5a9b RUN 51f3 RUNC 51f8 CLEAR 51d6 NEW 4f4f LNKPRG 430a CRUNCH 5064 FNDLIN 4af6 NEWSTT 78d7 EVAL 77ef FRMEVL 5aa6 RUN_A_PROGRAM 5a81 SETEXC 50a0 LINGET 92ea GARBA2 4dcd EXECUTE_A_LINE e0cd ?? init MMUCR, bank-move stuff, under-rom irq stuff, loram dma stuff? e000 ?? hard ROM reset code ?? e242 ?? look for C-64 cartridge, poll c-128 carts if none ?? e26b ?? look for C-128 carts ?? f63d ?? scan stop key ?? -- Eric Green {akgua,ut-sally}!usl!elg (Snail Mail P.O. Box 92191, Lafayette, LA 70509) " In the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move."