[net.sources] oops!

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."