2015-03-14 21:48:35 +00:00
|
|
|
|
PR#3
|
2017-03-29 15:48:15 +00:00
|
|
|
|
PREFIX /A2OSX.BUILD
|
2015-03-14 21:48:35 +00:00
|
|
|
|
NEW
|
|
|
|
|
INC 1
|
|
|
|
|
AUTO 1000
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* ROM Standard Routines
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.LIST OFF
|
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
|
|
|
|
|
REGDSP .EQ $FAD7 DISPLAY WORKING REGISTERS
|
|
|
|
|
PREAD .EQ $FB1E READ GAME PADDLE X
|
|
|
|
|
INIT .EQ $FB2F INITIALIZE TEXT SCREEN
|
|
|
|
|
SETTXT .EQ $FB93 SET UP TEXT SCREEN (NOT 2E!)
|
|
|
|
|
SETGR .EQ $FB40 SET UP GRAPHICS SCREEN
|
|
|
|
|
SETWND .EQ $FB4B SET NORMAL TEXT WINDOW
|
|
|
|
|
SETPWRC .EQ $FB6F
|
|
|
|
|
BASCALC .EQ $FBC1 CALCULATE TEXT BASE ADDRESS (NOT 2E!}
|
|
|
|
|
BELL1 .EQ $FBD9 BEEP SPEAKER IF CTRL-G
|
|
|
|
|
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
|
|
|
|
|
CLEOL .EQ $FC9C CLEAR TEXT TO END OF LINE
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
|
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
|
2017-03-29 15:48:15 +00:00
|
|
|
|
SAVE /A2OSX.BUILD/INC/MONITOR.I
|