; C128 Platform file.
; Taken from a PDF of the C128 Programmers reference guide, pasted to file, cleaned, then
; imported, saved, cleaned again for duplicates, merged with imported ReGenerator labels and comment files,
; added additional chip register symbols
;---------------------------------------------------------------------------------------------------------
0000,D6510,6510 Data Direction Register
0001,R6S10,6510 Data Register
0002,BANK,Token 'SEARCH' looks for
0003,PC_HI,Address for BASIC SYS command or MONITOR and LONG CALL/JUMP Routines
0004,PC_LO,Address
0005,S_REG,STATUS REG Temp
0006,A_REG,.A REG Temp
0007,X_REG,.X REG Temp
0008,Y_REG,.Y REG Temp
0009,STKPTR,Stack Pointer Temp
000A,ENDCHR,Flag: Scan For Quote at End Of String
000B,TRMPOS,Screen Column from Last Tab
000C,VERCIC,Flag: 0 = LOAD
000D,COUNT,Input Buf.ptr / # of Subscripts
000E,DIMFLG,Flag: Default Array Dimension
000F,VALTYP,DATA Type: $FF=String
0010,INTFLG,DATA Type: $00=Float.Pt
0011,GARBFL,Flag: DATA Scan/ LIST Quote/ Garbage Collection
0012,SUBFLG,Flag: Subscript Ref. / User Func. Call
0013,INPFLG,Flag: $00=INPUT
0014,DOMASK,20
0015,CHANNL,21
0016,POKER,22
0018,TEMPPT,Pointer: Temp String Stack
0019,LASTPT,Last Temp String Address
001B,TEMPST,Stack For Temp Strings
0024,INDEX,Utility Pointer Area
0026,INDEX2,38
0028,RESHO,Floating Pt. Product of Multiply
0029,RESMOH,41
002A,ADDEND,42
002B,RESLO,43
002D,TXTTAB,Pointer: Start Of BASIC Text
002F,VARTAB,Pointer: Start Of BASIC Variables
0031,ARYTAB,Pointer: Start Of BASIC Arrays
0033,STREND,Pointer: End Of BASIC Arrays + 1
0035,FRETOP,Pointer: Bottom of String Storage
0037,FRESPC,Utility String Pointer
0039,MAX_MEM_1,Top of String/Variable Bank (Bank 1)
003B,CURLIN,Current BASIC Line Number
003D,TXTPTR,Pointer to BASIC Text used by CHRGET
003F,FORM,Used by PRINT USING
0041,DATLIN,Current DATA Line Number
0043,DATPTR,Current DATA Item Address
0045,INPPTR,Vector: INPUT Routine
0047,VARNAM,Current BASIC Variable Name
0049,FDECPT,73
004B,LSTPNT,75
004C,EORMSK,76
004D,VARTXT,77
004F,OPMASK,79
0050,GRBPNT,80
0052,DSCPNT,82
0055,HELPER,Flags 'HELP' or 'LIST'
0056,JMPER,86
0058,OLDOV,88
0059,TEMPF1,89
005A,ARYPNT,90
005B,PTARG2,91
005C,HIGHTR,92
005D,STRl,93
005E,TEMPF2,94
005F,DECCNT,Number of Digits after the Decimal Point
0060,STR2,96
0060,TENEXP,96
0061,GRBTOP,97
0062,EXPSGN,98
0063,FAC,99
0063,POSITN,99
0064,MATCH,100
0064,RIGHT_FLAG,Paint-Right Flag
0065,FACMOH,101
0066,INDICE,102
0067,FACLO,103
0068,FACSGN,FAC#1 Sign
0069,DEGREE,105
006A,ARGEXP,FAC#2 Exponent
006B,ARGHO,FAC#2 Mantissa
006C,ARGMOH,108
006D,ARGMO,109
006E,ARGLO,110
006F,ARGSGN,FAC#2 Sign
0070,STRNGI,112
0071,FACOV,FAC#1 Low-Order (Rounding)
0072,STRNG2,114
0074,AUTINC,Inc. Val for AUTO (0 = Off)
0076,MVDFLG,Flag If 10K HIRES Allocated
0077,ZPTEMP1,PRINT USING's Leading Zero Counter
0078,HULP,Counter
0079,SYNTMP,Used as Temp For Indirect
007A,DSDESC,Descriptor for DS$
007D,TOS,Top of Run Time Stack
007F,RUNMOD,Flags Run/Direct Mode
0080,PARSTS,DOS Parser Status Word
0081,PARSTX,129
0082,OLDSTK,130
0083,COLSEL,Current COLOR Selected
0084,MULTICOLOR,132
0085,MULTICOLOR_2,133
0086,FOREGROUND,134
0087,SCALE_X,Scale Factor In X
0089,SCALE_Y,Scale Factor In Y
008B,STOPNB,Stoppaint if not Background/Not same color
008C,GRAPNT,140
008E,VTEMPI,142
008F,VTEMP2,143
0090,STATUS,I/O Operation Status Byte
0091,STKEY,STOP KEY Flag
0092,SVXT,Tape Temporary
0093,VERCK,LOAD or VERIFY Flag
0094,C3P0,Serial Buffered Char Flag
0095,BSOUR,Char Buffer For Serial
0096,SYNO,Cassette Sync #
0097,XSAV,Temp For BASIN
0098,LDTND,Index to Logical File
0099,DFLTN,Default Input Device #
009A,DFLTO,Default Output Device #
009B,PRTY,Cassette Parity
009C,DPSW,Cassette Dipole Switch
009D,MSGFLG,OS Message Flag
009E,PTR1,Cassette Error Pass1
009F,PTR2,Cassette Error Pass2
00A0,TIME,24 Hour Clock In 1/60th Seconds
00A3,R2D2,Serial Bus Usage
00A4,BSOUR1,Temp used by Serial Routine
00A5,COUNT,Temp used by Serial Routine
00A6,BUFPT,Cassette Buffer Pointer
00A7,INBIT,RS-232 RCVR Input Bit Storage
00A8,BITCI,RS-232 RCVR Bit Count In
00A9,RINONE,RS-232 RCVR Flag For Start Bit Check
00AA,RIDATA,RS-232 RCVR Byte Buffer
00AB,RIPRTY,RS-232 RCVR Parity Storage
00AC,SAL,Pointer: Tape Buffer / Screen Scrolling
00AD,SAH,173
00AE,EAL,Tape End Addresses / End of Program
00AF,EAH,175
00B0,CMP0,Tape Timing Constants
00B1,TEMP,177
00B2,TAPE1,Address of Tape Buffer
00B4,BITTS,RS-232 TRNS Bit Count
00B5,NXTBIT,RS-232 TRNS Next Bit To Be Sent
00B6,RODATA,RS-232 TRNS Byte Buffer
00B7,FNLEN,LENGTH Current File N Str
00B8,LA,Current File Logical Addr
00B9,SA,Current File 2nd Addr
00BA,FA,Current File Primary Addr
00BB,FNADR,Addr Current File Name Str
00BD,ROPRTY,RS-232 TRNS Parity Buffer
00BE,FSBLK,Cassette Read Block Count
00BF,DRIVE,191
00C0,CAS1,Cassette Manual/Cntrled Switch (Updated during IRQ)
00C1,TRACK,193
00C2,SECTOR,194
00C3,MEMUSS,Cassette LOAD Temps (2 bytes)
00C5,DATA,Tape Read/Write Data
00C6,BA,Bank For Current LOAD/SAVE/VERIFY Operation
00C7,FNBANK,Bank Where Current FN is found (at 'FNADR')
00C8,RIBUF,RS-232 Input Buffer Pointer
00CA,ROBUF,RS-232 Output Buffer Pointer
00CC,KEYTAB,Keyscan Table Pointer
00CE,IMPARM,PRIMM Utility String Pointer
00D0,NDX,Index to Keyboard Queue
00D1,KYNDX,Pending Function Key Flag
00D2,KEYIDX,Index Into Pending Function Key String
00D3,SHFLAG,Keyscan Shift Key Status
00D4,SFDX,Keyscan Current Key Index
00D5,LSTX,Keyscan Last Key Index
00D6,CRSW,<CR> Input Flag
00D7,MODE,40/80 Column Mode Flag
00D8,GRAPHM,Text/Graphic Mode Flag
00D9,CHAREN,RAM/ROM VIC Character Fetch Flag (Bit-2)
00DA,BITMSK,Temporary For TAB & LINE WRAP Routines
00DA,KEYSIZ,Programmable Key Variables
00DA,SEDSAL,Pointers For MOVLIN
00DB,KEYLEN,219
00DB,SAVER,Another Temporary Place To Save A Reg.
00DC,KEYNUM,220
00DC,SEDEAL,220
00DD,KEYNXT,221
00DE,KEYBNK,222
00DE,SEDT1,SAVPOS
00DF,KEYTMP,223
00DF,SEDT2,223
00E0,PNT,Pointer to Current Line (Text)
00E2,USER,Pointer to Current Line (Attribute)
00E4,SCBOT,Window Lower Limit
00E5,SCTOP,Window Upper Limit
00E6,SCLF,Window Left Margin
00E7,SCRT,Window Right Margin
00E8,LSXP,Current Input Column Start
00E9,LSTP,Current Input Line Start
00EA,INDX,Current Input Line End
00EB,TBLX,Current Cursor Line
00EC,PNTR,Current Cursor Column
00ED,LINES,Maximum Number of Screen Lines
00EE,COLUMNS,Maximum Number of Screen Columns
00EF,DATAX,Current Character to Print
00F0,LSTCHR,Previous Char Printed (For <ESC> Test)
00F1,COLOR,Curr Attribute to Print (Default FGND Color)
00F2,TCOLOR,Saved Attrib to Print ('INSERT' & 'DELETE')
00F3,RVS,Reverse Mode Flag
00F4,QTSW,Quote Mode Flag
00F5,INSRT,Insert Mode Flag
00F6,INSFLG,Auto-Insert Mode Flag
00F7,LOCKS,Disables <Shift><C*>
00F8,SCROLL,Disables Screen Scroll
00F9,BEEPER,Disables <CTRL> G
00FA,FREKZP,Free Zero Page reserved for applications software ($FA-$FE)
00FF,LOFBUF,255
0100,FBUFFR,Area to build filename in (16 bytes)
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 Filename 2 Addr
0117,DOSOFL,BLOAD/BSAVE Starting Address
0119,DOSOFH,BLOAD/BSAVE Ending Address
011B,DOSLA,DOS Logical Addr
011C,DOSFA,DOS Phys Addr
011D,DOSSA,DOS Sec. Addr
011E,DOSRCL,DOS Record Length
011F,DOSBNK,287
0120,DOSDID,DOS Disk ID
0122,DIDCHK,DOS DSK ID FLG SPACE Used by PRINT USING
0123,BNR,Pointer to Begin. NO.
0124,ENR,Pointer to End NO.
0125,DOLR,Dollar Flag
0126,FLAG,Comma Flag
0127,SWE,Counter
0128,USGN,Sign Exponent
0129,UEXP,Pointer to Exponent
012A,VN,# Of Digits Before Decimal Point
012B,CHSN,Justify Flag
012C,VF,# Of Pos Before Decimal Point (Field)
012D,NF,# Of Pos After Decimal Point (Field)
012E,POSP,+/- Flag (Field)
012F,FESP,Exponent Flag (Field)
0130,ETOF,Switch
0131,CFORM,Char Counter (Field)
0132,SNO,Sign No
0133,BLFD,Blank/Star Flag
0134,BEGFD,Pointer to Begin of Field
0135,LFOR,Length of Format
0136,ENDFD,Pointer to End Of Field
0137,SYSTK,System Stack ($0137-$01FF)
0200,BUF,Input Buffer: BASIC & MONITOR
02A2,FETCH,LDA(-)Y from any bank
02AA,FETCHVEC,-
02AF,STASH,STA(-)
02B9,STAVEC,-
02C8,CMPARE,CMP(-)
02C8,CMPVEC,
02CD,JSRFAR,JSR XXXX to Any Bank & Return
02E3,JMPFAR,XXXX to Any Bank
02FC,ESC_FN_VEC,Vector For Additional Function Routines
02FE,BANKVEC,Vector For Function Cart.
0300,IERROR,Users
0302,IMAIN,Vector to main (system direct loop)
0304,ICRNCH,Vector to Crunch
0310,IESCEX,... And Execute.
0314,IIRO,IRQ RAM Vector
0316,IBRK,BRK INSTR RAM Vector
0318,INMI,NMI Vector
031A,IOPEN,KERNAL OPEN Routine Vector
0322,CLRCH,KERNAL CLRCH Routine Vector
0324,IBASIN,KERNAL CHRIN Routine Vector
0326,IBSOUT,KERNAL CHROUT Routine Vector
0328,ISTOP,KERNAL STOP Routine Vector
032A,IGETIN,KERNAL GETIN Routine Vector
032C,ICLALL,KERNAL CLALL Routine Vector
032E,EXMON,Monitor Command Vector
0330,ILOAD,KERNAL LOAD Routine Vector
0332,ISAVE,KERNAL SAVE Routine Vector
0334,CTLVEC,Editor: PRINT 'CONTRL' Indirect
0336,SHFVEC,Editor: PRINT 'SHIFTD' 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
0362,LAT,Logical File Numbers
036C,FAT,Primary Device Numbers
0376,SAT,Secondary Addresses
0380,CHRGET,Get next character for BASIC
0386,CHRGOT,Get current character
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,INDIXT,Txtptr
03D2,ZERO,Numeric Constant For BASIC
03D5,CURRENT_BANK,Context For SYS
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,991
03E2,FG_BG,Packed Foreground/ Background Color Nybbles
03E3,FG_MC1,Packed Foreground/ Multicolor 1 Color Nybbles
0400,VICSCN,VIDEO MATRIX #1: VIC 40-Column Text Screen $0400-$07FF
0A00,SYSTEM_VECTOR,Vector to Restart System (BASIC Warm)
0A02,DEJAVU,KERNAL Warm/Cold Init'n Status Byte
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
0A0F,ENABL,RS-232 Enables
0A10,M51CTR,RS-232 Control Register
0A11,MSICDR,RS-232 Command Register
0A12,MSIAJB,RS-232 User Baud Rate
0A14,RSSTAT,RS-232 Status Register
0A15,BITNUM,RS-232 Number of Bits To Send
0A16,BAUDOF,RS-232 Baud Rate Full Bit Time (Created by OPEN)
0A18,RIDBE,RS-232 Input Buffer Index to End
0A19,RIDBS,RS-232 Input Buffer Index to Start
0A1A,RODBS,RS-232 Output Buffer Index to Start
0A1B,RODBE,RS-232 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
0A27,BLNSW,VIC Cursor Disable
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/Character 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,Temporary For 80-Col Routines
0A32,SAV80B,Temporary For 80-Col 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 control of VIC
0A3B,LDTBI_SA,Hi byte:SA Of VIC Scrn (Use W/VMI to move scrn)
0A3C,CLR_EA_LO,8563 Block Fill
0A3D,CLR_EA_HI,8563 Block Fill
0A40,SWAPSCREEN,$0A40-$0A7F Reserved Swap Area For Screen
0A80,XCNT,Compare Buffer (32 bytes)
0AA0,HULP,2720
0AAA,FORMAT,2730
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
0AB7,TEMPS,Parse Number Conversion
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,$0AC6-$0AFF Reserved For System
0AOB,CASTON,TOD Sense during tape operations
0AOC,KIKA26,Tape Read Temporary
0AOD,STUPID,Tape Read D1IRQ Indicator
0AOE,TIMOUT,Fast Serial Timeout Flag
0B00,TBUFFR,Cassette Buffer (192 BYTES) also buffer for the disk auto-boot.
0C00,RS232I,RS-232 Input Buffer
0D00,RS2320,RS-232 Output Buffer
0E00,SPRITES,Sprite Definition Area (Must be below $1000)
1000,PKYBUF,Prg FN Key Lengths Table For 
100A,PKYDEF,Programmable Function Key Strings
1100,DOSSTR,DOS OUTPUT STR. BUF
1131,VWORK,Graphics Vars
1131,XPOS,Current X Position
1131,XYPOS,4401
1133,YPOS,Current Y Position
1135,XDEST,X-Coordinate Destination
1137,YDEST,Y-Coordinate Destination
1139,XABS,4409
1139,XYABS,Line Drawing Variables
113B,YABS,4411
113D,XSGN,4413
113D,XYSGN,4413
113F,YSGN,4415
1141,FCT,4417
1145,ERRVAL,4421
1147,LESSER,4423
1148,GREATR,4424
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,XCENTR,4432
1152,YCENTR,4434
1154,XDIST1,4436
1156,YDIST1,4438
1158,XDIST2,4440
115A,YDIST2,4442
115C,DISEEND,Placeholder
115E,COLCNT,Char's Col. Counter
115F,ROWCNT,4447
1160,STRCNT,4448
1161,BITIDX,Bit Index Into Byte
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,4462
116F,TRCFLG,Flags Trace Mode
1170,RENUM_TMP_1,A Temp For Renumber
1172,RENUM_TMP_2,A Temp For Renumber
1174,T3,4468
1175,T4,4469
1177,VTEMP3,Graphic Temp Storage
1178,VTEMP4,4472
1179,VTEMP5,4473
117A,ADRAY1,Ptr to routine: Convert Float -> Integer
117C,ADRAY2,Ptr to routine: Convert Integer -> FLOAT
117E,SPRITE_DATA,Sprite Speed/Direction Tables ($117E-D5)
11D6,VIC_SAVE,Copy of VIC Reg's
11EB,UPPER_LOWER,Pointer to Upper/Lower Char Set for CHAR
11EC,UPPER_GRAPHIC,Ptr. to Upper/Graphic Char Set
11ED,DOSSA,Temp storage for file SA during RECORD cmd
1200,OLDTXT,Previous BASIC Line
1202,CONTPNT,Pointer: BASIC Statement for CONTINUE
1204,PUCHRS,4612
1204,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 Routine - Last Err No
1209,ERRLIN,Line # of Last Error. $FFFF if No Error
120B,TRAPNO,Line to go to on error - $FFFF if none set
120D,TMPTRP,Hold Trap # of Tempor.
120E,ERRTXT,4622
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,4630
1218,USRPOK,4632
121B,RNDX,4635
1220,CIRCLE_SEGMENT,Degrees Per CIRCLE 51:6MENT
1221,DEJAVU,'Cold' or 'Warm' Reset Status
1222,TEMPO_RATE,4642
1223,VOICES,4643
1229,NTIME,4649
122B,OCTAVE,4651
122C,SHARP,4652
122D,PITCH,4653
122F,VOICE,4655
1230,WAVE0,4656
1233,DNOTE,4659
1234,FLTSAV,4660
1238,FLTFLG,4664
1239,NIBBLE,4665
123A,TONNUM,4666
123B,TONVAL,4667
123E,PARCNT,4668
123F,ATKTAB,4669
1249,SUSTAB,4681
1253,WAVTAB,4691
125D,PULSLW,4701
1267,PULSHI,4711
1271,FILTERS,4721
1276,INT_TRIP_FLAG,4726
1279,INT_ADR_LO,4729
127C,INT_ADR_HI,4732
127F,INTVAL,4735
1280,COLTYP,4736
1281,SOUND_VOICE,4737
1282,SOUND_TIME_LO,4738
1285,SOUND_TIME_HI,4741
1288,SOUND_MAX_LO,4744
128B,SOUND_MAX_HI,4747
128E,SOUND_MIN_LO,4750
1291,SOUND_MIN_HI,4753
1294,SOUND_DIRECTION,4756
1297,SOUND_STEP_LO,4759
129A,SOUND_STEP_HI,4762
129D,SOUND_FREQ_LO,4765
12A0,SOUND_FREQ_HI,4768
12A3,TEMP_TIME_LO,4771
12A4,TEMP_TIME_HI,4772
12A5,TEMP_MAX_LO,4773
12A6,TEMP_MAX_HI,4774
12A7,TEMP_MIN_LO,4775
12A8,TEMP_MIN_HI,4776
12A9,TEMP_DIRECTION,4777
12AA,TEMP_STEP_LO,4778
12AB,TEMP_STEP_HI,4779
12AC,TEMP_FREQ_LO,4780
12AD,TEMP_FREQ_HI,4781
12AE,TEMP_PULSE_LO,4782
12AF,TEMP_PULSE_HI,4783
12B0,TEMP_WAVEFORM,4784
12B1,POT_TEMP_1,Temporaries for 'POT' Function
12B2,POT_TEMP_2,4786
12B3,WINDOW_TEMP,4787
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,APPAREA,Application Program Area $1300-$1BFF
1C00,RAMBOT,Start Of Basic Text $1C00-$EFFF (KERNAL sets MEMBOT here)
2000,VICBMP,VIC BITMAP (8KB
4000,HARD_RESET,COLD ENTRY
4000,STARTBASIC,C128 BASIC LO ROM / Start of BASIC Text if Bit Map is allocated (RAM) $4000-$EFFF
4003,SOFT_RESET,WARM ENTRY
4006,BASIC_IRQ,IRQ ENTRY
;---- BASIC
AF00,AYINT,Convert F.P. to Integer
AF03,GIVAYF,Convert Integer to F.P.
AF06,FOUT,Convert F.P. to ASCII String
AF09,VAL_l,Convert ASCII String to F.P.
AF0C,GETADR,Convert F.P. to an Address
AF0F,FLOATC,Convert Address to F.P.
AF12,FSUB,MEM - FACC
AF15,FSUBT,ARG - FACC
AF18,FADD,MEM + FACC
AF1B,FADDT,ARG - FACC
AF1E,FMULT,MEM * FACC
AF21,FMULTT,ARG * FACC
AF24,FDIV,MEM / FACC
AF27,FDIVT,ARG / FACC
AF2A,LOG,Compute Natural LOG Of FACC
AF2D,INT,Perform BASIC INT On FACC
AF30,SQR,Compute Square Root OF FACC
AF33,NEGOP,Negate FACC
AF36,FPWR,Raise ARG to The Mem Power
AF39,FPWRT,Raise ARG to The FACC Power
AF3C,EXP,Compute EXP Of FACC
AF3F,COS,Compute COS Of FACC
AF42,SIN,Compute SIN Of FACC
AF45,TAN,Compute TAN Of FACC
AF48,ATN,Compute ATN Of FACC
AF4B,ROUND,Round FACC
AF4E,ABS,Absolute Value Of FACC
AF51,SIGN,Test Sign Of FACC
AF54,FCOMP,Compare FACC With Memory
AF57,RND 0,Generate Random F.P. Number
AF5A,CONUPK,Move RAM MEM to ARG
AF5D,ROMUPK,Move ROM MEM to ARG
AF60,MOVFRM,Move RAM MEM to FACC
AF63,MOVFM,Move ROM MEM to FACC
AF66,MOVMF,Move FACC to MEM
AF69,MOVFA,Move ARG to FACC
AF6C,MOVAF,Move FACC to ARG
AF6F,OPTAB,44911
AF72,DRAWLN,44914
AF75,GPLOT,44917
AF78,CIRSUB,44920
AF7B,RUN,44923
AF7E,RUNC,44926
AF81,CLEAR,44929
AF84,NEW,44932
AF87,LNKPRG,44935
AF8A,CRUNCH,44938
AF8D,FNDLIN,44941
AF90,NEWSTT,44944
AF93,EVAL,44947
AF96,FRMEVL,44950
AF9C,SETEXC,44956
AF9F,LINGET,44959
AFA2,GARBA2,44962
AFA5,EXECUTE_A_LINE,44965
B000,CALL,MONITOR Call Entry
B003,BREAK,MONITOR Break Entry
B006,MONCMD,MONITOR Command Parser Entry
C000,CINT,Initialize Editor & Screen
C003,DISPLY,Display Charac in .A
C006,LP2,Get Key From IRQ Buffer
C009,LOOP5,Into A
C00C,PRINT,Print Character In .A
C00F,SCRORG,Get # of Scrn Rows
C012,SCNKEY,Scan Keyboard Subroutine
C015,REPEAT,Handle Repeat Key & Store Decoded Key
C018,PLOT,Read Or Set CRSR Position In X
C01B,CURSOR,Move 8563 Cursor Subroutine
C01E,ESCAPE,Execute ESC Function using chr in .A
C021,KEYSET,Redefine A Programmable Func'n Key
C024,IRQ,IRQ Entry
C027,INIT80,Initialize 80-Column Character Set
C02A,SWAPPER,Swap Editor Locals (in 40/80 change)
C02D,WINDOW,Set Top-Left or Bot-Right of Window
;---- Chips
D000,VICREG0,Sprite 0
D001,VICREG1,Sprite 0
D002,VICREG2,Sprite 1
D003,VICREG3,Sprite 1
D004,VICREG4,Sprite 2
D005,VICREG5,Sprite 2
D006,VICREG6,Sprite 3
D007,VICREG7,Sprite 3
D008,VICREG8,Sprite 4
D009,VICREG9,Sprite 4
D00A,VICREG10,Sprite 5
D00B,VICREG11,Sprite 5
D00C,VICREG12,Sprite 6
D00D,VICREG13,Sprite 6
D00E,VICREG14,Sprite 7
D00F,VICREG15,Sprite 7
D010,VICREG16,M.S. Bit of X-Location for Sprites 0 - 7
D011,VICREG17,VIC Control Register 1
D012,VICREG18,Raster Position
D013,VICREG19,Latch X Pos
D014,VICREG20,Latch Y Pos
D015,VICREG21,Sprite display Enable
D016,VICREG22,VIC Control Register 2
D017,VICREG23,Sprites Expand 2x Vertical (Y)
D018,VICREG24,VIC Memory Control Register
D019,VICREG25,VIC Interrupt Request Register (IRR)
D01A,VICREG26,VIC Interrupt Mask Register (IMR)
D01B,VICREG27,Sprite to Background Display Priority
D01C,VICREG28,Sprites Multi-Color Mode Select
D01D,VICREG29,Sprites Expand 2x Horizontal (X)
D01E,VICREG30,Sprite to Sprite Collision Detect
D01F,VICREG31,Sprite to Background Collision Detect
D020,VICREG32,Border Color
D021,VICREG33,Background Color 0
D022,VICREG34,Background Color 1, Multi-Color Register 0
D023,VICREG35,Background Color 2, Multi-Color Register 1
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,C128: Port A* for Extended Keyboard
D030,VICREG48,C128: Switch to FAST-Mode
D400,SIDREG01,Voice 1: Frequency Control - Low-Byte
D401,SIDREG02,Voice 1: Frequency Control - High-Byte
D402,SIDREG03,Voice 1: Pulse Waveform Width - Low-Byte
D403,SIDREG04,Voice 1: Pulse Waveform Width - High-Nybble
D404,SIDREG05,Voice 1: Control Register
D405,SIDREG06,Voice 1: Attack / Decay Cycle Control
D406,SIDREG07,Voice 1: Sustain / Release Cycle Control
D407,SIDREG08,Voice 2: Frequency Control - Low-Byte
D408,SIDREG09,Voice 2: Frequency Control - High-Byte
D409,SIDREG10,Voice 2: Pulse Waveform Width - Low-Byte
D40A,SIDREG11,Voice 2: Pulse Waveform Width - High-Nybble
D40B,SIDREG12,Voice 2: Control Register
D40C,SIDREG13,Voice 2: Attack / Decay Cycle Control
D40D,SIDREG14,Voice 2: Sustain / Release Cycle Control
D40E,SIDREG15,Voice 3: Frequency Control - Low-Byte
D40F,SIDREG16,Voice 3: Frequency Control - High-Byte
D410,SIDREG17,Voice 3: Pulse Waveform Width - Low-Byte
D411,SIDREG18,Voice 3: Pulse Waveform Width - High-Nybble
D412,SIDREG19,Voice 3: Control Register
D413,SIDREG20,Voice 3: Attack / Decay Cycle Control
D414,SIDREG21,Voice 3: Sustain / Release Cycle Control
D415,SIDREG22,Filter Cutoff Frequency: Low-Nybble
D416,SIDREG23,Filter Cutoff Frequency: High-Byte
D417,SIDREG24,Filter Resonance Control / Voice Input Control
D418,SIDREG25,Select Filter Mode and Volume
D419,SIDREG26,Analog/Digital Converter: Game Paddle 1
D41A,SIDREG26,Analog/Digital Converter: Game Paddle 2
D41B,SIDREG28,Oscillator 3 Output
D41C,SIDREG29,Envelope Generator 3 Output
D500,MMUREG01,C128: Configuration Register (CR)
D501,MMUREG02,C128: Preconfiguration Register
D502,MMUREG03,C128: Preconfiguration Register
D503,MMUREG04,C128: Preconfiguration Register
D504,MMUREG05,C128: Preconfiguration Register
D505,MMUREG06,C128: 40/80 read only
D506,MMUREG07,C128: RAM Configuration Register (RCR)
D507,MMUREG08,C128: Zero Page Pointer Lo
D508,MMUREG09,C128: Zero Page Pointer Hi
D509,MMUREG10,C128: Stack Page Pointer Lo
D50A,MMUREG11,C128: Stack Page Pointer Hi
D50B,MMUREG12,C128: MMU Version Register
D600,VDCREG01,C128: VDC Register 1
D601,VDCREG02,C128: VDC Register 2
DC00,CIA1REG01,CIA1: Data Port Register A
DC01,CIA1REG02,CIA1: Data Port Register B
DC02,CIA1REG03,CIA1: Data Direction Register A
DC03,CIA1REG04,CIA1: Data Direction Register B
DC04,CIA1REG05,CIA1: Timer A: Low-Byte
DC05,CIA1REG06,CIA1: Timer A: High-Byte
DC06,CIA1REG07,CIA1: Timer B: Low-Byte
DC07,CIA1REG08,CIA1: Timer B: High-Byte
DC08,CIA1REG09,CIA1: Time-of-Day Clock: 1/10 Seconds
DC09,CIA1REG10,CIA1: Time-of-Day Clock: Seconds
DC0A,CIA1REG11,CIA1: Time-of-Day Clock: Minutes
DC0B,CIA1REG12,CIA1: Time-of-Day Clock: Hours + AM/PM Flag
DC0C,CIA1REG13,CIA1: Synchronous Serial I/O Data Buffer
DC0D,CIA1REG14,CIA1: CIA Interrupt Control Register
DC0E,CIA1REG15,CIA1: CIA Control Register A
DC0F,CIA1REG16,CIA1: CIA Control Register B
DD00,CIA1REG17,CIA2: Data Port Register A
DD01,CIA1REG18,CIA2: Data Port Register B
DD02,CIA1REG19,CIA2: Data Direction Register A
DD03,CIA2REG01,CIA2: Data Direction Register B
DD04,CIA2REG02,CIA2: Timer A: Low-Byte
DD05,CIA2REG03,CIA2: Timer A: High-Byte
DD06,CIA2REG04,CIA2: Timer B: Low-Byte
DD07,CIA2REG05,CIA2: Timer B: High-Byte
DD08,CIA2REG06,CIA2: Time-of-Day Clock: 1/10 Seconds
DD09,CIA2REG07,CIA2: Time-of-Day Clock: Seconds
DD0A,CIA2REG08,CIA2: Time-of-Day Clock: Minutes
DD0B,CIA2REG09,CIA2: Time-of-Day Clock: Hours + AM/PM Flag
DD0C,CIA2REG10,CIA2: Synchronous Serial I/O Data Buffer
DD0D,CIA2REG11,CIA2: CIA Interrupt Control Register
DD0E,CIA2REG12,CIA2: CIA Control Register A
DD0F,CIA2REG13,CIA2: CIA Control Register B
DF00,DMAREG01,C128: DMA ST STATUS
DF01,DMAREG02,C128: DMA CMD COMMAND
DF02,DMAREG03,C128: DMA ADL HOST ADDRESS LOW
DF03,DMAREG04,C128: DMA ADH HOST ADDRESS HIGH
DF04,DMAREG05,C128: DMA LO EXPANSION ADDRESS LOW
DF05,DMAREG06,C128: DMA HI EXPANSION ADDRESS HIGH
DF06,DMAREG07,C128: DMA BNK EXPANSION BANK
DF07,DMAREG08,C128: DMA DAL TRANSFER LENGTH LOW
DF08,DMAREG09,C128: DMA DAH TRANSFER LENGTH HIGH
DF09,DMAREG10,C128: DMA SUM INTERRUPT MASK REGISTER
DF0A,DMAREG11,C128: DMA VER VERSION, MAXIMUM MEMORY
;---- KERNAL
E000,,$E000 Reset Code
E056,,$E056 -restor-
E05B,,$E05B -vector-
E093,,$E093 -ramtas-
E0CD,,$E0CD Move Code For High RAM Banks
E109,,$E109 -init-
E1DC,,$E1DC Set Up CRTC Registers
E1F0,,$E1F0 Check Special Reset
E242,,$E242 Reset to 64/128
E24B,,$E24B Switch to 64 Mode
E263,,$E263 Code to $02
E26B,,$E26B Scan All ROMs
E33B,,$E33B -talk-
E33E,,$E33E -listen-
E38C,,$E38C Send Data On Serial Bus
E43E,,$E43E -acptr-
E4D2,,$E4D2 -second-
E4E0,,$E4E0 -tksa-
E503,,$E503 -ciout-  Print Serial
E515,,$E515 -untlk-
E526,,$E526 -unlsn-
E535,,$E535 Reset ATN
E545,,$E545 Set Clock High
E54E,,$E54E Set Clock Low
E557,,$E557 Set Data High
E560,,$E560 Set Data Low
E569,,$E569 Read Serial Lines
E573,,$E573 Stabilize Timing
E59F,,$E59F Restore Timing
E5BC,,$E5BC Prepare For Response
E5C3,,$E5C3 Fast Disk Off
E5D6,,$E5D6 Fast Disk On
E5FB,,$E5FB Fast Disk On/Off
E5FF,,$E5FF (NMI) Transmit RS-232
E64A,,$E64A RS-232 Handshake
E68E,,$E68E Set RS-232 Bit Count
E69D,,$E69D (NMI) RS-232 Receive
E75F,,$E75F Send To RS-232
E795,,$E795 Connect RS-232 Input
E7CE,,$E7CE Get From RS-232
E7EC,,$E7EC Interlock RS-232/Serial
E805,,$E805 (NMI) RS-232 Control I/O
E878,,$E878 (NMI) RS-232 Receive Timing
E8A9,,$E8A9 (NMI) RS-232 Transmit Timing
E8D0,,$E8D0 Find Any Tape Header
E919,,$E919 Write Tape Header
E980,,$E980 Get Buffer Address
E987,,$E987 Get Tape Buffer Start & End Addrs
E99A,,$E99A Find Specific Header
E9BE,,$E9BE Bump Tape Pointer
E9C8,,$E9C8 Print 'press play on tape'
E9DF,,$E9DF Check Tape Status
E9E9,,$E9E9 Print 'press record ...'
E9F2,,$E9F2 Initiate Tape Read
EA15,,$EA15 Initiate Tape Write
EA26,,$EA26 Common Tape Code
EA7D,,$EA7D Wait For Tape
EA8F,,$EA8F Check Tape Stop
EAA1,,$EAA1 Set Read Timing
EAEB,,$EAEB (IRQ) Read Tape Bits
EC1F,,$EC1F Store Tape Chars
ED51,,$ED51 Reset Pointer
ED5A,,$ED5A New Char Set Up
ED69,,$ED69 Write Transition to Tape
ED8B,,$ED8B Write Data to Tape
ED90,,$ED90 (IRQ) Tape Write
EE2E,,$EE2E (IRQ) Tape Leader
EE57,,$EE57 Wind Up Tape I/O
EE9B,,$EE9B Switch IRQ Vector
EEB0,,$EEB0 Kill Tape Motor
EEB7,,$EEB7 Check End Address
EEC1,,$EEC1 Bump Address
EEC8,,$EEC8 (IRQ) Clear Break
EED0,,$EED0 Control Tape Motor
EEEB,,$EEEB -getin-
EF06,,$EF06 -chrin-
EF48,,$EF48 Get Char From Tape
EF79,,$EF79 -chrout-
EFBD,,$EFBD -open-
F0B0,,$F0B0 Set CIA to RS-232
F0CB,,$F0CB Check Serial Open
F106,,$F106 -chkin-
F14C,,$F14C -chkout-
F188,,$F188 -close-
F1E4,,$F1E4 Delete File
F202,,$F202 Search For File
F212,,$F212 Set File Parameters
F222,,$F222 -clall-
F226,,$F226 -clrchn-
F23D,,$F23D Clear I/O Path
F265,,$F265 -load-
F27B,,$F27B Serial Load
F32A,,$F32A Tape Load
F3A1,,$F3A1 Disk Load
F3EA,,$F3EA Burst Load
F48C,,$F48C Close Off Serial
F4BA,,$F4BA Get Serial Byte
F4C5,,$F4C5 Receive Serial Byte
F503,,$F503 Toggle Clock Line
F50F,,$F50F Print 'searching'
F521,,$F521 Send File Name
F533,,$F533 Print 'loading'
F53E,,$F53E -save-
F5B5,,$F5B5 Terminate Serial Input
F5BC,,$F5BC Print 'saving'
F5C8,,$F5C8 Save to Tape
F5F8,,$F5F8 -udtim-
F63D,,$F63D Watch For RUN or Shift
F65E,,$F65E -rdtim-
F665,,$F665 -settim-
F66E,,$F66E -stop-
F67C,,$F67C Print 'too many files'
F67F,,$F67F Print 'file open'
F682,,$F682 Print 'file not open'
F685,,$F685 Print 'file not found'
F688,,$F688 Print 'device not present'
F68B,,$F68B Print 'not input file'
F68E,,$F68E Print 'not output file'
F691,,$F691 Print 'missing file name'
F694,,$F694 Print 'illegal device no'
F697,,$F697 Error #0
F71E,,$F71E Print If Direct
F722,,$F722 Print I/O Message
F731,,$F731 -setnam-
F738,,$F738 -setlfs-
F73F,,$F73F Set Load/Save Bank
F744,,$F744 -rdst-
F757,,$F757 Set Status Bit
F75C,,$F75C -setmsg-
F75F,,$F75F Set Serial Timeout
F763,,$F763 -memtop-
F772,,$F772 -membot-
F781,,$F781 -iobase-
F786,,$F786 Search For SA
F79D,,$F79D Search & Set Up File
F7A5,,$F7A5 Trigger DMA
F7AE,,$F7AE Get Char From Memory
F7BC,,$F7BC Store Loaded Byte
F7C9,,$F7C9 Read Byte to be Saved
F7D0,,$F7D0 Get Char From Memory Bank
F7DA,,$F7DA Store Char to Memory Bank
F7E3,,$F7E3 Compare Char With Memory Bank
F7EC,,$F7EC Load Memory Control Mask
F800,,$F800 Subroutines to $02a2-$02fb
F85A,,$F85A DMA Code to $03f0
F867,,$F867 Check Auto Start ROM
F890,,$F890 Check For Boot Disk
F908,,$F908 Print 'booting'
F92C,,$F92C Print '...'
F98B,,$F98B Wind Up Disk Boot
F9B3,,$F9B3 Read Next Boot Block
F9FB,,$F9FB To 2-Digit Decimal
FA17,,$FA17 Print a Message
FA40,,$FA40 NMI Sequence
FA65,,$FA65 (IRQ) Normal Entry
FC62,,$FC62 Patch for Set Up CRTC Registers
FC80,,$FC80 ?
FC87,,$FC87 Init KBD Translation Tables
FCC6,,$FCC6 DIN Keyboard patch for Key Pickup
FF00,,$FF00 C128: MMU Configuration Register
FF01,,$FF01 C128: MMU LCR: Bank 0
FF02,,$FF02 C128: MMU LCR: Bank 1
FF03,,$FF03 C128: MMU LCR: Bank 14
FF04,,$FF04 C128: MMU LCR: Bank 14 Over RAM 1
FF05,,$FF05 NMI Transfer Entry
FF17,,$FF17 IRQ Transfer Entry
FF33,,$FF33 Return From Interrupt
FF3D,,$FF3D Reset Transfer Entry
FF47,SPINSPOUT,Set up Fast Serial Port for I/O
FF4A,CLOSEALL,Close All Logical Files for a device
FF4D,C64MODE,Reconfigure System as a C64 (no return)
FF50,DMACALL,Initiate DMA Request to External RAM 
FF53,BOOTCALL,Boot Load Program From Disk
FF56,PHOENIX,Call All Function Cards' Cold Start Routines
FF59,LKUPLA,Search Tables For Given LA
FF5C,LKUPSA,Search Tables For Given SA
FF5F,SWAPPER,Switch Between 40 and 80 Columns (Editor)
FF62,DLCHR,Init 80-Col Character RAM (Editor)
FF65,PFKEY,Program Function Key (Editor)
FF68,SETBNK,SET Bank For I/O Operations
FF6B,GETCFG,Lookup MMU Data For Given Bank
FF6E,JSRFAR,JSR to Any Bank
FF71,JMPFAR,to Any Bank
FF74,INDFET,LDA (FETVEC)
FF77,INDSTA,STA (STAVEC)
FF7A,INDCMP,CMP (CMPVEC)
FF7D,PRIMM,Print Immediate Utility (Always JSR to this routine)
FF80,KERNALVER,Release Number Of KERNAL
FF81,CINT,Init Editor & Display
FF84,IOINIT,Init I/O Devices (ports
FF87,RAMTAS,Initialize RAM And Buffers For System
FF8A,RESTOR,Restore Vectors to Initial System
FF8D,VECTOR,Change Vectors For USER
FF90,SETMSG,Control O.S. Message
FF93,SECND,Send SA After LISTEN
FF96,TKSA,Send SA After TALK
FF99,MEMTOP,Set/Read Top Of System RAM
FF9C,MEMBOT,Set/Read Bottom Of System RAM
FF9F,KEY,Scan Keyboard (Editor)
FFA2,SETTMO,Set Timeout In IEEE (reserved)
FFA5,ACPTR,Handshake Serial Byte In
FFA8,CIOUT,Handshake Serial Byte Out
FFAB,UNTLK,Send UNTALK Out Serial
FFAE,UNLSN,Send UNLISTEN Out Serial
FFB1,LISTN,Send LISTEN Out Serial
FFB4,TALK,Send TALK Out Serial
FFB7,READSS,Return I/O Status Byte
FFBA,SETLFS,Set LA
FFBD,SETNAM,Set Length And File Name Address
FFC0,OPEN,OPEN Logical File
FFC3,CLOSE,CLOSE Logical File
FFC6,CHKIN,Set Channel In
FFC9,CKOUT,Set Channel Out
FFCC,CLRCH,Restore Default I/O Channel
FFCF,CHRIN,INPUT From Channel
FFD2,CHROUT,OUTPUT To Channel
FFD5,LOADSP,LOAD From File
FFD8,SAVESP,SAVE to File
FFDB,SETTIM,Set Internal Clock
FFDE,RDTIM,Read Internal Clock
FFE1,STOP,Scan STOP Key
FFE4,GETIN,Read Buffered Data
FFE7,CLALL,Close All Files And Channels
FFEA,UDTIM,Increment Internal Clock
FFED,SCRORG,Return Screen Window Size (Editor)
FFF0,PLOT,Read/Set X
FFF3,IOBASE,Return I/O Base
FFF8,SYSTEM,Operating System Vector (RAM1)
FFFA,NMI,Processor NMI Vector
FFFC,RESET,Processor RESET Vector
FFFE,IRQ,Processor IRQ/BRK Vector