C128ROM.DOC

(22 KB) Pobierz
;
;	Commodore 128 ROM Memory Map
;	  with RAM Subroutines
;

;
; Data types in headers (for reassembler):
;
;	DATA		Misc data
;	TEXT		String terminated with 00
;	WORD		Vectors in LO/HI byte pairs
;	CHIP		I/O Area
;	EMPTY		ROM containing FF's
;

;
; C128 RAM Subroutines
;

0002	Bank Number, Jump to SYS address
0056	Jump vector for functions

02a2	Bank Peek Subroutine
02af	Bank Poke Subroutine
02be	Bank Compare Subroutine
02cd	JSR to another bank
02e3	JMP to another bank
0380	CHRGET
0386	CHRGOT entry
0390	?
039f	Fetch From Bank 0
03ab	Fetch From Bank 1
03b7	Fetch From Bank 1
03c0	Fetch From Bank 0
03c9	Fetch From Bank 0
03f0	DMA Link Code

;
; BASIC v7.0 interpreter ROM ($4000 - $AFFF)
;

4000	Basic Entry Jumps
4009	Basic Restart
4023	Basic Cold Start
4045	Set-Up Basic Constants
4112	Chime
417a	Set Preconfig Registers
4189	Registers For $D501		DATA
418d	Init Sprite Movement Tabs
419b	Print Startup Message
41bb	Startup Message			DATA
4251	Set Basic Links
4267	Basic Links			DATA
4279	Chrget For $0380
42ce	Get From ($50) Bank1
42d3	Get From ($3f) Bank1
42d8	Get From ($52) Bank1
42dd	Get From ($5c) Bank0
42e2	Get From ($5c) Bank1
42e7	Get From ($66) Bank1
42ec	Get From ($61) Bank0
42f1	Get From ($70) Bank0
42f6	Get From ($70) Bank1
42fb	Get From ($50) Bank1
4300	Get From ($61) Bank1
4305	Get From ($24) Bank0
430a	Crunch Tokens
43e2	Check Keyword Match
4417	Keywords			DATA
46fc	Action Vectors			WORD
47d8	Function Vectors		WORD
4828	Defunct Vectors			WORD
4846	Unimplemented Commands
484b	Messages			DATA
4a82	Find Message
4b34	Update Continue Pointer
4b3f	Execute/Trace Statement
4bcb	Perform [stop]
4bcd	Perform [end]
4bf7	Setup FN Reference
4c86	Evaluate <or>
4c89	Evaluate <and>
4cb6	Evaluate <compare>
4d2a	Print 'ready'
4d2d	'ready.'			TEXT
4d37	Error or Ready
4d3a	Print 'out of memory'
4d3c	Error
4daf	Break Entry
4dc3	Ready For Basic
4de2	Handle New Line
4f4f	Rechain Lines
4f82	Reset End-of-Basic
4f93	Receive Input Line
4faa	Search B-Stack For Match
4ffe	Move B-Stack Down
5017	Check Memory Space
5047	Copy B-Stack Pointer
5050	Set B-Stack Pointer
5059	Move B-Stack Up
5064	Find Basic Line
50a0	Get Fixed Pt Number
50e2	Perform [list]
5123	List Subroutine
51d6	Perform [new]
51f3	Set Up Run
51f8	Perform [clr]
5238	Clear Stack & Work Area
5250	Pudef Characters
5254	Back Up Text Pointer
5262	Perform [return]
528f	Perform [data/bend]
529d	Perform [rem]
52a2	Scan To Next Statement
52a5	Scan To Next Line
52c5	Perform [if]
5320	Search/Skip Begin/Bend
537c	Skip String Constant
5391	Perform [else]
53a3	Perform [on]
53c6	Perform [let]
54f6	Check String Location
553a	Perform [print#]
5540	Perform [cmd]
555a	Perform [print]
5600	Print Format Char
5612	Perform [get]
5635	Getkey
5648	Perform [input#]
5662	Perform [input]
569c	Prompt & Input
56a9	Perform [read]
57f4	Perform [next]
587b	Perform [dim]
5885	Perform [sys]
58b4	Perform [tron]
58b7	Perform [troff]
58bd	Perform [rreg]
5901	Assign <mid$>
5975	Perform [auto]
5986	Perform [help]
59ac	Insert Help Marker
59cf	Perform [gosub]
59db	Perform [goto]
5a15	Undef'd Statement
5a1d	Put Sub To B-Stack
5a3d	Perform [go]
5a60	Perform [cont]
5a9b	Perform [run]
5aca	Perform [restore]
5af0	Keywords To Renumber		DATA
5af8	Perform [renumber]
5bae	Renumber-Continued
5bfb	Renumber Scan
5d19	Convert Line Number
5d68	Get Renumber Start
5d75	Count Off Lines
5d89	Add Renumber Inc
5d99	Scan Ahead
5da7	Set Up Block Move
5dc6	Block Move Down
5ddf	Block Move Up
5dee	Check Block Limit
5df9	Perform [for]
5e87	Perform [delete]
5efb	Get Line Number Range
5f34	Perform [pudef]
5f4d	Perform [trap]
5f62	Perform [resume]
5fb7	Reinstate Trap Point
5fd8	Syntax Exit
5fdb	Print 'can't resume'
5fe0	Perform [do]
6039	Perform [exit]
608a	Perform [loop]
60b4	Print 'loop not found'
60b7	Print 'loop without do'
60db	Eval While/Until Argument
60e1	Define Programmed Key
610a	Perform [key]
619a					DATA
61a8	Perform [paint]
627c	Check Painting Split
62b7	Perform [box]
63f5	Authors				DATA
642b	Perform [sshape]
658d	Perform [gshape]
668e	Perform [circle]
6750	Draw Circle
6797	Perform [draw]
67d7	Perform [char]
6955	Perform [locate]
6960	Perform [scale]
69dc					DATA
69e2	Perform [color]
6a4c	Color Codes			DATA
6a5c	Log Current Colors
6a79	Perform [scnclr]
6b06	Fill Memory Page
6b17	Set Screen Color
6b5a	Perform [graphic]
6bc9	Perform [bank]
6bd7	Perform [sleep]
6c09	Multiply Sleep Time
6c2d	Perform [wait]
6c4f	Perform [sprite]
6cb3	Bit Masks			DATA
6cc6	Perform [movspr]
6dd9					DATA
6de1	Perform [play]
6e02	Analyze Play Character
6eb2	Set SID Sound
6efd	Play Error
6f03	Dotted Note
6f07	Note Length Char
6f1e	Note-A-G
6f52	...votxnum...
6f69	Sharp
6f6c	Flat
6f78	Rest
6fd7	Perform [tempo]
6fe4	Voice Times Two			DATA
6fe7	Length Characters		DATA
6fec	Command Characters		DATA
702f	Chime Seq			DATA
7039	SID Voice Steps			DATA
7046	Perform [filter]
70c1	Perform [envelope]
7164	Perform [collision]
7190	Perform [sprcolor]
71b6	Perform [width]
71c5	Perform [vol]
71ec	Perform [sound]
72cc	Perform [window]
7335	Perform [boot]
7372	Perform [sprdef]
7663	?				DATA
7691	Sprite Vectors			DATA
76b4	?				DATA
76ec	Perform [sprsav]
77b3	Perform [fast]
77c4	Perform [slow]
77d7	Type Match Check
77da	Confirm Numeric
77dd	Confirm String
77e7	Print 'type mismatch'
77ea	Print 'formula too complex'
77ef	Evaluate Expression
78d7	Evaluate Item
793c	Fixed-Float
7950	Eval Within Parens
795c	Check Comma
796c	Syntax Error
7978	Search For Variable
7a85	Unpack RAM1 to FAC#1
7aaf	Locate Variable
7b3c	Check Alphabetic
7b46	Create Variable
7cab	Set Up Array
7d25	Print 'bad subscript'
7d28	Print 'illegal quantity'
7e3e	Compute Array Size
7e71	Array Pointer Subroutine
7e82	Unused				EMPTY
;
8000	Evaluate <fre>
8020	Decrypt Message
804a	Evaluate <val>
8052	String to Float
8076	Evaluate <dec>
80c5	Evaluate <peek>
80e5	Perform [poke]
80f6	Evaluate <err$>
8139	Swap x With y
8142	Evaluate <hex$>
816b	Byte to Hex
8182	Evaluate <rgr>
818c	Evaluate <rcl>
81f3					DATA
8203	Evaluate <joy>
8242	Joystick Values			DATA
824d	Evaluate <pot>
82ae	Evaluate <pen>
82fa	Evaluate <pointer>
831e	Evaluate <rsprite>
835b					DATA
8361	Evaluate <rspcolor>
837c	Evaluate <bump>
8397	Evaluate <rspos>
83e1	Evaluate <xor>
8407	Evaluate <rwindow>
8434	Evaluate <rnd>
8490	Rnd Multiplier			DATA
849a	Value 32768			DATA
849f	Float-Fixed Unsigned
84a7	Evaluate Fixed Number
84ad	Float-Fixed Signed
84c9	Float (.y, .a)
84d0	Evaluate <pos>
84d9	Check Direct
84dd	Print 'illegal direct'
84e0	Print 'undef'd function'
84e5	Set Up 16 Bit Fix-Float
84f5	Print 'direct mode only'
84fa	Perform [def]
8528	Check FN Syntax
853b	Perform [fn]
85ae	Evaluate <str$>
85bf	Evaluate <chr$>
85d6	Evaluate <left$>
860a	Evaluate <right$>
861c	Evaluate <mid$>
864d	Pull String Parameters
8668	Evaluate <len>
866e	Exit String Mode
8677	Evaluate <asc>
8688	Calc String Vector
869a	Set Up String
874e	Build String to Memory
877b	Evaluate String
87e0	Clean Descriptor Stack
87f1	Input Byte Parameter
8803	Params For Poke/Wait
8815	Float/Fixed
882e	Subtract From Memory
8831	Evaluate <subtract>
8845	Add Memory
8848	Evaluate <add>
8917	Trim FAC#1 Left
894e	Round Up FAC#1
895d	Print 'overflow'
899c	Log Series			DATA
89ca	Evaluate <log>
8a0e	Add 0.5
8a24	Multiply By Memory
8a27	Evaluate <multiply>
8a89	Unpack ROM to FAC#2
8ab4	Unpack RAM1 to FAC#2
8ae3	Adjust FAC#1/#2
8b17	Multiply By 10
8b2e	+10
8b33	Print 'division by zero'
8b38	Divide By 10
8b49	Divide Into Memory
8b4c	Evaluate <divide>
8bd4	Unpack ROM to FAC#1
8bf9	Pack FAC#1 to $5e
8bfc	Pack FAC#1 to $59
8c00	Pack FAC#1 to RAM1
8c28	FAC#2 to FAC#1
8c38	FAC#1 to FAC#2
8c47	Round FAC#1
8c57	Get Sign
8c65	Evaluate <sgn>
8c68	Byte Fixed-Float
8c75	Fixed-Float
8c84	Evaluate <abs>
8c87	Compare FAC#1 to Memory
8cc7	Float-Fixed
8cfb	Evaluate <int>
8d22	String to FAC#1
8db0	Get Ascii Digit
8e17	Conversion Values		DATA
8e26	Print 'in...'
8e32	Print Integer
8e42	Float to Ascii
8f76	+0.5				DATA
8f7b	Decimal Constants		DATA
8f9f	TI Constants			DATA
8fb7	Evaluate <sqr>
8fbe	Raise to Memory Power
8fc1	Evaluate <power>
8ffa	Evaluate <negate>
9005	Exp Series			DATA
9033	Evaluate <exp>
90d0	I/O Error Message
90d8	Basic 'open'
90df	Basic 'chrout'
90e5	Basic 'input'
90eb	Redirect Output
90fd	Redirect Input
9112	Perform [save]
9129	Perform [verify]
912c	Perform [load]
918d	Perform [open]
919a	Perform [close]
91ae	Get Load/Save Parameters
91dd	Get Next Byte Value
91e3	Get Character or Abort
91eb	Move to Next Parameter
91f6	Get Open/Close Parameters
9243	Release I/O String
9251	Call 'status'
9257	Call 'setlfs'
925d	Call 'setnam'
9263	Call 'getin'
9269	Call 'chrout'
926f	Call 'clrchn'
9275	Call 'close'
927b	Call 'clall'
9281	Print Following Text
9287	Set Load/Save Bank
928d	Call 'plot'
9293	Call 'get'
9299	Make Room For String
92ea	Garbage Collection
9409	Evaluate <cos>
9410	Evaluate <sin>
9459	Evaluate <tan>
9485	Trig Series			DATA
94b3	Evaluate <atn>
94e3	Series				DATA
9520	Print Using
99c1	Evaluate <instr>
9b0c	Evaluate <rdot>
9b30	Draw Line
9bfb	Plot Pixel
9c49	Examine Pixel
9c70	Set Hi-Res Color Cell
9cca	Video Matrix Lines Hi		DATA
9ce3	Position Pixel
9d1c	Bit Masks			DATA
9d24	Calc Hi-Res Row/Column
9df2	Restore Pixel Cursor
9e2f	Parse Graph...
Zgłoś jeśli naruszono regulamin