2015-03-14 21:48:35 +00:00
|
|
|
|
NEW
|
2019-07-07 20:48:57 +00:00
|
|
|
|
AUTO 3,1
|
|
|
|
|
.LIST OFF
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
* ROM Standard Routines
|
|
|
|
|
*--------------------------------------
|
2016-03-13 21:50:43 +00:00
|
|
|
|
BRKVECT .EQ $3F0
|
2015-03-14 21:48:35 +00:00
|
|
|
|
POWERUP .EQ $3F2
|
2016-03-13 21:50:43 +00:00
|
|
|
|
POWERUPBYTE .EQ $3F4
|
2017-01-12 17:43:45 +00:00
|
|
|
|
*USRJMP .EQ $3F8 jmp $xxxx
|
|
|
|
|
*NMIJMP .EQ $3FB jmp $xxxx
|
2016-03-13 21:50:43 +00:00
|
|
|
|
IRQVECT .EQ $3FE
|
2015-03-14 21:48:35 +00:00
|
|
|
|
*--------------------------------------
|
2018-03-29 15:29:47 +00:00
|
|
|
|
MSLOT .EQ $7F8 $Cn n=slot using $C800
|
|
|
|
|
*--------------------------------------
|
2015-03-14 21:48:35 +00:00
|
|
|
|
COL80FIRM .EQ $C300
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
PLOT .EQ $F800 PLOT LORES BLOCK
|
|
|
|
|
HLINE .EQ $F819 HORIZ LORES LINE
|
|
|
|
|
VLINE .EQ $F828 VERTICAL LORES LINE
|
|
|
|
|
CLRSCR .EQ $F832 CLEAR FULL LORES SCREEN
|
|
|
|
|
CLRTOP .EQ $FB36 CLEAR TOP. LORES SCREEN
|
|
|
|
|
GBSCALC .EQ $F847 LORES BASE CALCULATION
|
|
|
|
|
NEXTCOL .EQ $F85F INCREASE LORES COLOR BY 3
|
|
|
|
|
SETCOL .EQ $F864 SET LORES COLOR
|
|
|
|
|
SCRN .EQ $F871 READ LORES SCREEN COLOR
|
|
|
|
|
PRNTAX .EQ $F941 OUTPUT A THEN X. AS HEX
|
|
|
|
|
PRBLNK .EQ $F948 OUTPUT 3 SPACES VIA BOOKS
|
|
|
|
|
PRBL2 .EQ $F94A OUTPUT X BLANKS VIA HOOKS
|
2019-09-12 06:39:47 +00:00
|
|
|
|
romirq .EQ $FA41 monitor irq entry
|
|
|
|
|
breakv .EQ $FA59 monitor break vector
|
|
|
|
|
resetv .EQ $FA62 monitor reset entry
|
2015-03-14 21:48:35 +00:00
|
|
|
|
REGDSP .EQ $FAD7 DISPLAY WORKING REGISTERS
|
|
|
|
|
PREAD .EQ $FB1E READ GAME PADDLE X
|
|
|
|
|
INIT .EQ $FB2F INITIALIZE TEXT SCREEN
|
2019-09-13 20:48:05 +00:00
|
|
|
|
SETTXT .EQ $FB39 SET UP TEXT SCREEN (NOT 2E!)
|
2015-03-14 21:48:35 +00:00
|
|
|
|
SETGR .EQ $FB40 SET UP GRAPHICS SCREEN
|
|
|
|
|
SETWND .EQ $FB4B SET NORMAL TEXT WINDOW
|
2019-09-12 06:39:47 +00:00
|
|
|
|
TABV .EQ $FB5B
|
2015-03-14 21:48:35 +00:00
|
|
|
|
SETPWRC .EQ $FB6F
|
2019-09-12 06:39:47 +00:00
|
|
|
|
version .EQ $FBB3 monitor ROM id byte
|
2019-09-12 15:56:38 +00:00
|
|
|
|
zidbyte .EQ $FBC0 monitor ROM id byte
|
2015-03-14 21:48:35 +00:00
|
|
|
|
BASCALC .EQ $FBC1 CALCULATE TEXT BASE ADDRESS (NOT 2E!}
|
2019-09-13 20:48:05 +00:00
|
|
|
|
BELL1 .EQ $FBDD BEEP SPEAKER IF CTRL-G
|
2015-03-14 21:48:35 +00:00
|
|
|
|
BELL2 .EQ $FBE4 BEEP SPEAKER ONCE
|
|
|
|
|
ADVANCE .EQ $FBF4 TEXT CURSOR ONE TO RIGHT
|
|
|
|
|
VIDOUT .EQ $FBFD OUTPUT ASCII TO SCREEN ONLY
|
|
|
|
|
BS .EQ $FC10 BACKSPACE SCREEN
|
|
|
|
|
UP .EQ $FC1A MOVE SCREEN CURSOR UP ONE LINE
|
|
|
|
|
VTAB .EQ $FC22 VERTICAL SCREEN TAB USING CV
|
|
|
|
|
VTABA .EQ $FC24 VERTICAL SCREEN TAB USING A
|
|
|
|
|
ESC1 .EQ $FC66 PROCESS ESCAPE CURSOR MOVES
|
|
|
|
|
CLREOP .EQ $FC42 CLEAR TO END OF PAGE
|
|
|
|
|
HOME .EQ $FC58 CLEAR TEXT SCREEN AND HOME CURSOR
|
|
|
|
|
CR .EQ $FC62 CARRIAGE RETURN TO SCREEN
|
|
|
|
|
LF .EQ $FC66 LINEFEED TO SCREEN ONLY
|
|
|
|
|
SCROLL .EQ $FC70 SCROLL TEXT SCREEN UP ONE
|
2019-09-12 06:39:47 +00:00
|
|
|
|
CLREOL .EQ $FC9C CLEAR TEXT TO END OF LINE
|
2015-03-14 21:48:35 +00:00
|
|
|
|
WAIT .EQ $FCA8 TIME DELAY SET BY ACCUMULATOR
|
|
|
|
|
RDKEY .EQ $FD0C GET INPUT CHARACTER VIA HOOKS
|
|
|
|
|
KEYIN .EQ $FD1B READ THE APPLE KEYBOARD
|
|
|
|
|
RDCHAR .EQ $FD35 GET KEY AND PROCESS ESC A-F
|
|
|
|
|
CANCEL .EQ $FD62 CANCEL KEYBOARD LINE ENTRY
|
|
|
|
|
GETLNZ .EQ $FD67 CR THEN GET KEYBOARD INPUT LINE
|
|
|
|
|
GETLN .EQ $FD6A GET KEYBOARD INPUT LINE
|
|
|
|
|
GETLN1 .EQ $FD6F GET KBD INPUT, NO PROMPT
|
|
|
|
|
CROUT1 .EQ $FD8B CLEAR EOL THEN CR VIA BOOKS
|
|
|
|
|
CROUT .EQ $FD8E OUTPUT CR VIA HOOKS
|
|
|
|
|
PRBYTE .EQ $FDDA OUTPUT FULL A IN HEX TO HOOKS
|
|
|
|
|
PRHEX .EQ $FDE3 OUTPUT LOW A IN HEX TO HOOKS
|
|
|
|
|
COUT .EQ $FDED OUTPUT CHARACTER VIA HOOKS
|
|
|
|
|
COUTl .EQ $FDF0 OUTPUT CHARACTER TO SCREEN
|
2019-09-12 06:39:47 +00:00
|
|
|
|
idroutine .EQ $FE1F returns system info
|
2015-03-14 21:48:35 +00:00
|
|
|
|
MOVE .EQ $FE2C MOVE BLOCK OF MEMORY
|
|
|
|
|
VERIFY .EQ $FE36 VERIFY BLOCK OF MEMORY
|
|
|
|
|
LIST .EQ $FE5E DISASSEMBLE 20 INSTRUCTIONS
|
2016-10-26 20:51:06 +00:00
|
|
|
|
LIST2 .EQ $FE63 DISASSEMBLE <20>A<EFBFBD> INSTRUCTIONS
|
2015-03-14 21:48:35 +00:00
|
|
|
|
SETINV .EQ $FE80 PRINT INVERSE TEXT TO SCREEN
|
|
|
|
|
SETNORM .EQ $FE84 PRINT NORMAL TEXT TO SCREEN
|
2019-09-13 15:39:37 +00:00
|
|
|
|
SETKBD .EQ $FE89 GRAB INPUT HOOKS FOR KEYBOARD
|
2015-03-14 21:48:35 +00:00
|
|
|
|
SETVID .EQ $FE93 GRAB OUTPUT HOOKS FOR SCREEN
|
|
|
|
|
XBASIC .EQ $FEB0 GO BASIC, DESTROYING OLD
|
|
|
|
|
BASCON .EQ $FEB3 GO BASIC, CONTINUING OLD
|
|
|
|
|
TRACE .EQ $FEC2 START TRACING (OLD ROM ONLY!)
|
|
|
|
|
STEP .EQ $FEC4 SINGLE STEP (OLD ROM ONLY!)
|
|
|
|
|
WRITE .EQ $FECD WRITE TO CASSETTE TAPE
|
|
|
|
|
READ .EQ $FEF0 READ TO CASSETTE TAPE
|
|
|
|
|
PRERR .EQ $FF2D PRINT "ERR" TO OUTPUT HOOK
|
|
|
|
|
BELL .EQ $FF3A OUTPUT BELL TO HOOKS
|
|
|
|
|
IORESR .EQ $FF3F RESTORE ALL WORKING REGISTER
|
|
|
|
|
IOSAVE .EQ $FF4A SAVE ALL WORKING REGISTERS
|
|
|
|
|
RETURN .EQ $FF58 "GUARANTEED" RETURN
|
|
|
|
|
OLDRST .EQ $FF59 OLD RESET, NO AUTOSTART
|
|
|
|
|
MON .EQ $FF65 ENTER MONITOR AND BEEP SPEAKER
|
|
|
|
|
MONZ .EQ $FF69 ENTER MONITOR QUIETLY
|
|
|
|
|
GETNUM .EQ $FFA7 ASCII TO HEX IN 3E & 3F
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
MAN
|
2020-08-29 17:25:43 +00:00
|
|
|
|
SAVE inc/monitor.i
|