C64ROM.DOC

(16 KB) Pobierz
;
;	Commodore 64 ROM Memory Map
;

;
; 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
;

;
; BASIC interpreter ROM ($A000 - $BFFF)
;

a000	40960	-	Restart Vectors				WORD
a00c	40972	stmdsp	BASIC Command Vectors			WORD
a052	41042	fundsp	BASIC Function Vectors			WORD
a080	41088	optab	BASIC Operator Vectors			WORD
a09e	41118	reslst	BASIC Command Keyword Table		DATA
a129	41257	msclst	BASIC Misc. Keyword Table		DATA
a140	41280	oplist	BASIC Operator Keyword Table		DATA
a14d	41293	funlst	BASIC Function Keyword Table		DATA
a19e	41374	errtab	Error Message Table			DATA
a328	41768	errptr	Error Message Pointers			WORD
a364	41828	okk	Misc. Messages				TEXT
a38a	41866	fndfor	Find FOR/GOSUB Entry on Stack
a3b8	41912	bltu	Open Space in Memory
a3fb	41979	getstk	Check Stack Depth
a408	41992	reason	Check Memory Overlap
a435	42037	omerr	Output ?OUT OF MEMORY Error
a437	42039	error	Error Routine
a469	42089	errfin	Break Entry
a474	42100	ready	Restart BASIC
a480	42112	main	Input & Identify BASIC Line
a49c	42140	main1	Get Line Number & Tokenise Text
a4a2	42146	inslin	Insert BASIC Text
a533	42291	linkprg	Rechain Lines
a560	42336	inlin	Input Line Into Buffer
a579	42361	crunch	Tokenise Input Buffer
a613	42515	fndlin	Search for Line Number
a642	42562	scrtch	Perform [new]
a65e	42590	clear	Perform [clr]
a68e	42638	stxpt	Reset TXTPTR
a69c	42652	list	Perform [list]
a717	42775	qplop	Handle LIST Character
a742	42818	for	Perform [for]
a7ae	42926	newstt	BASIC Warm Start
a7c4	42948	ckeol	Check End of Program
a7e1	42977	gone	Prepare to execute statement
a7ed	42989	gone3	Perform BASIC Keyword
a81d	43037	restor	Perform [restore]
a82c	43052	stop	Perform [stop], [end], break
a857	43095	cont	Perform [cont]
a871	42121	run	Perform [run]
a883	43139	gosub	Perform [gosub]
a8a0	43168	goto	Perform [goto]
a8d2	43218	return	Perform [return]
a8f8	43256	data	Perform [data]
a906	43270	datan	Search for Next Statement / Line
a928	43304	if	Perform [if]
a93b	43323	rem	Perform [rem]
a94b	43339	ongoto	Perform [on]
a96b	43371	linget	Fetch linnum From BASIC
a9a5	43429	let	Perform [let]
a9c4	43460	putint	Assign Integer
a9d6	43478	ptflpt	Assign Floating Point
a9d9	43481	putstr	Assign String
a9e3	43491	puttim	Assign TI$
aa2c	43564	getspt	Add Digit to FAC#1
aa80	43648	printn	Perform [print]#
aa86	43654	cmd	Perform [cmd]
aa9a	43674	strdon	Print String From Memory
aaa0	43680	print	Perform [print]
aab8	43704	varop	Output Variable
aad7	43735	crdo	Output CR/LF
aae8	43752	comprt	Handle comma, TAB(, SPC(
ab1e	43806	strout	Output String
ab3b	43835	outspc	Output Format Character
ab4d	43853	doagin	Handle Bad Data
ab7b	43899	get	Perform [get]
aba5	43941	inputn	Perform [input#]
abbf	43967	input	Perform [input]
abea	44010	bufful	Read Input Buffer
abf9	44025	qinlin	Do Input Prompt
ac06	44038	read	Perform [read]
ac35	44085	rdget	General Purpose Read Routine
acfc	44284	exint	Input Error Messages			TEXT
ad1e	44318	next	Perform [next]
ad61	44385	donext	Check Valid Loop
ad8a	44426	frmnum	Confirm Result
ad9e	44446	frmevl	Evaluate Expression in Text
ae83	44675	eval	Evaluate Single Term
aea8	44712	pival	Constant - pi				DATA
aead	44717	qdot	Continue Expression
aef1	44785	parchk	Expression in Brackets
aef7	44791	chkcls	Confirm Character
af08	44808	synerr	Output ?SYNTAX Error
af0d	44813	domin	Set up NOT Function
af14	44820	rsvvar	Identify Reserved Variable
af28	44840	isvar	Search for Variable
af48	44872	tisasc	Convert TI to ASCII String
afa7	44967	isfun	Identify Function Type
afb1	44977	strfun	Evaluate String Function
afd1	45009	numfun	Evaluate Numeric Function
afe6	45030	orop	Perform [or], [and]
b016	45078	dorel	Perform <, =, >
b01b	45083	numrel	Numeric Comparison
b02e	45102	strrel	String Comparison
b07e	45182	dim	Perform [dim]
b08b	45195	ptrget	Identify Variable
b0e7	45287	ordvar	Locate Ordinary Variable
b11d	45341	notfns	Create New Variable
b128	45352	notevl	Create Variable
b194	45460	aryget	Allocate Array Pointer Space
b1a5	45477	n32768	Constant 32768 in Flpt			DATA
b1aa	45482	facinx	FAC#1 to Integer in (AC/YR)
b1b2	45490	intidx	Evaluate Text for Integer
b1bf	45503	ayint	FAC#1 to Positive Integer
b1d1	45521	isary	Get Array Parameters
b218	45592	fndary	Find Array
b245	45637	bserr	?BAD SUBSCRIPT/?ILLEGAL QUANTITY
b261	45665	notfdd	Create Array
b30e	45838	inlpn2	Locate Element in Array
b34c	45900	umult	Number of Bytes in Subscript
b37d	45949	fre	Perform [fre]
b391	45969	givayf	Convert Integer in (AC/YR) to Flpt
b39e	45982	pos	Perform [pos]
b3a6	45990	errdir	Confirm Program Mode
b3e1	46049	getfnm	Check Syntax of FN
b3f4	46068	fndoer	Perform [fn]
b465	46181	strd	Perform [str$]
b487	46215	strlit	Set Up String
b4d5	46293	putnw1	Save String Descriptor
b4f4	46324	getspa	Allocate Space for String
b526	46374	garbag	Garbage Collection
b5bd	46525	dvars	Search for Next String
b606	46598	grbpas	Collect a String
b63d	46653	cat	Concatenate Two Strings
b67a	46714	movins	Store String in High RAM
b6a3	46755	frestr	Perform String Housekeeping
b6db	46811	frefac	Clean Descriptor Stack
b6ec	46828	chrd	Perform [chr$]
b700	46848	leftd	Perform [left$]
b72c	46892	rightd	Perform [right$]
b737	46903	midd	Perform [mid$]
b761	46945	pream	Pull sTring Parameters
b77c	46972	len	Perform [len]
b782	46978	len1	Exit String Mode
b78b	46987	asc	Perform [asc]
b79b	47003	gtbytc	Evaluate Text to 1 Byte in XR
b7ad	47021	val	Perform [val]
b7b5	47029	strval	Convert ASCII String to Flpt
b7eb	47083	getnum	Get parameters for POKE/WAIT
b7f7	47095	getadr	Convert FAC#1 to Integer in LINNUM
b80d	47117	peek	Perform [peek]
b824	47140	poke	Perform [poke]
b82d	47149	wait	Perform [wait]
b849	47177	faddh	Add 0.5 to FAC#1
b850	47184	fsub	Perform Subtraction
b862	47202	fadd5	Normalise Addition
b867	47207	fadd	Perform Addition
b947	47431	negfac	2's Complement FAC#1
b97e	47486	overr	Output ?OVERFLOW Error
b983	47491	mulshf	Multiply by Zero Byte
b9bc	47548	fone	Table of Flpt Constants			DATA
b9ea	47594	log	Perform [log]
ba28	47656	fmult	Perform Multiply
ba59	47705	mulply	Multiply by a Byte
ba8c	47756	conupk	Load FAC#2 From Memory
bab7	47799	muldiv	Test Both Accumulators
bad4	47828	mldvex	Overflow / Underflow
bae2	47842	mul10	Multiply FAC#1 by 10
baf9	47865	tenc	Constant 10 in Flpt			DATA
bafe	47870	div10	Divide FAC#1 by 10
bb07	47879	fdiv	Divide FAC#2 by Flpt at (AC/YR)
bb0f	47887	fdivt	Divide FAC#2 by FAC#1
bba2	48034	movfm	Load FAC#1 From Memory
bbc7	48071	mov2f	Store FAC#1 in Memory
bbfc	48124	movfa	Copy FAC#2 into FAC#1
bc0c	48140	movaf	Copy FAC#1 into FAC#2
bc1b	48155	round	Round FAC#1
bc2b	48171	sign	Check Sign of FAC#1
bc39	48185	sgn	Perform [sgn]
bc58	48216	abs	Perform [abs]
bc5b	48219	fcomp	Compare FAC#1 With Memory
bc9b	48283	qint	Convert FAC#1 to Integer
bccc	48332	int	Perform [int]
bcf3	48371	fin	Convert ASCII String to a Number in FAC#1
bdb3	48563	n0999	String Conversion Constants		DATA
bdc2	48578	inprt	Output 'IN' and Line Number
bddd	48605	fout	Convert FAC#1 to ASCII String
be68	48744	foutim	Convert TI to String
bf11	48913	fhalf	Table of Constants			DATA
bf71	49009	sqr	Perform [sqr]
bf7b	49019	fpwrt	Perform power ($)
bfb4	49076	negop	Negate FAC#1
bfbf	49087	logeb2	Table of Constants			DATA
bfed	49133	exp	Perform [exp]
;
;
;	C64 Kernal ROM
;
e000	57344	(exp continues)	EXP continued From BASIC ROM
e043	57411	polyx	Series Evaluation
e08d	57485	rmulc	Constants for RND			DATA
e097	57495	rnd	Perform [rnd]
e0f9	57593	bioerr	Handle I/O Error in BASIC
e10c	57612	bchout	Output Character
e112	57618	bchin	Input Character
e118	57624	bckout	Set Up For Output
e11e	57630	bckin	Set Up For Input
e124	57636	bgetin	Get One Character
e12a	57642	sys	Perform [sys]
e156	57686	savet	Perform [save]
e165	57701	verfyt	Perform [verify / load]
e1be	57790	opent	Perform [open]
e1c7	57799	closet	Perform [close]
e1d4	57812	slpara	Get Parameters For LOAD/SAVE
e200	57856	combyt	Get Next One Byte Parameter
e206	57862	deflt	Check Default Parameters
e20e	57870	cmmerr	Check For Comma
e219	57881	ocpara	Get Parameters For OPEN/CLOSE
e264	57956	cos	Perform [cos]
e26b	57963	sin	Perform [sin]
e2b4	58036	tan	Perform [tan]
e2e0	58080	pi2	Table of Trig Constants			DATA
e30e	58126	atn	Perform [atn]
e33e	58174	atncon	Table of ATN Constants			DATA
e37b	58235	bassft	BASIC Warm Start
e394	58260	init	BASIC Cold Start
e3a2	58274	initat	CHRGET For Zero-page
e3ba	58298	rndsed	RND Seed For zero-page			DATA
e3bf	58303	initcz	Initialize BASIC RAM
e422	58402	initms	Output Power-Up Message
e447	58439	bvtrs	Table of BASIC Vectors			DATA
e453	58451	initv	Initialize Vectors
e45f	58463	words	Power-Up Message			DATA
e4ad	58541	-	Patch for BASIC Call to CHKOUT
e4b7	58551	-	Unused Bytes For Future Patches		EMPTY
e4da	58586	-	Reset Character Colour
e4e0	58592	-	Pause After Finding Tape File
e4ec	58604	-	RS-232 Timing Table -- PAL		DATA
e500	58624	iobase	Get I/O Address
e505	58629	screen	Get Screen Size
e50a	58634	plot	Put / Get Row And Column
e518	58648	cint1	Initialize I/O
e544	58692	-	Clear Screen
e566	58726	-	Home Cursor
e56c	58732	-	Set Screen Pointers
;
e59a	58778	-	Set I/O Defaults
e5b4	58804	lp2	Get Character From Keyboard Buffer
e5ca	58826	-	Input From Keyboard
e632	58930	-	Input From Screen or Keyboard
e684	59012	-	Quotes Test
e691	59025	-	Set Up Screen Print
e6b6	59062	-	Advance Cursor
e6ed	59117	-	Retreat Cursor
e701	59137	-	Back on to Previous Line
e716	59158	-	Output to Screen
e87c	59516	-	Go to Next Line
e891	59537	-	Output <CR>
e8a1	59553	-	Check Line Decrement
e8da	59610	-	Colour Code Table
e8ea	59626	-	Scroll Screen
e965	59749	-	Open...
Zgłoś jeśli naruszono regulamin