A2osX/INC/MON.I.txt

134 lines
4.9 KiB
Plaintext
Raw Normal View History

2024-01-09 21:52:03 +00:00
NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
* MON ZP locations
*--------------------------------------
ZP.WNDLFT .EQ $20
ZP.WNDWDT .EQ $21
ZP.WNDTOP .EQ $22
ZP.WNDBOT .EQ $23
ZP.CH .EQ $24
ZP.CV .EQ $25
ZP.BASL .EQ $28
ZP.BASH .EQ $29
ZP.PROMPT .EQ $33
ZP.CSW .EQ $36
ZP.KSW .EQ $38
ZP.PCL .EQ $3A
ZP.PCH .EQ $3B
ZP.A1L .EQ $3C
ZP.A1H .EQ $3D
ZP.A2L .EQ $3E
ZP.A2H .EQ $3F
ZP.A4L .EQ $40
ZP.A4H .EQ $41
ZP.CMD .EQ $42
ZP.UNITNUM .EQ $43
ZP.BUFPTR .EQ $44
ZP.BLKNUM .EQ $46
*--------------------------------------
* ROM Standard Routines
*--------------------------------------
MON.BRKVECT .EQ $03F0
MON.POWERUP .EQ $03F2
MON.POWERUPBYTE .EQ $03F4
MON.AMPJMP .EQ $03F5
MON.USRJMP .EQ $03F8
MON.NMIJMP .EQ $03FB
MON.IRQVECT .EQ $03FE
*--------------------------------------
MSLOT .EQ $7F8 $Cn n=slot using $C800
*--------------------------------------
COL80FIRM .EQ $C300
*--------------------------------------
MON.ENTERMON .EQ $FF69
*--------------------------------------
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
romirq .EQ $FA41 monitor irq entry
MON.BREAKV .EQ $FA59 Monitor break vector
resetv .EQ $FA62 monitor reset entry
REGDSP .EQ $FAD7 DISPLAY WORKING REGISTERS
PREAD .EQ $FB1E READ GAME PADDLE X
MON.INIT .EQ $FB2F INITIALIZE TEXT SCREEN
SETTXT .EQ $FB39 SET UP TEXT SCREEN (NOT 2E!)
SETGR .EQ $FB40 SET UP GRAPHICS SCREEN
SETWND .EQ $FB4B SET NORMAL TEXT WINDOW
TABV .EQ $FB5B
SETPWRC .EQ $FB6F
version .EQ $FBB3 monitor ROM id byte
zidbyte .EQ $FBC0 monitor ROM id byte
BASCALC .EQ $FBC1 CALCULATE TEXT BASE ADDRESS (NOT 2E!}
BELL1 .EQ $FBDD 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
MON.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
MON.CLREOL .EQ $FC9C CLEAR TEXT TO END OF LINE
WAIT .EQ $FCA8 TIME DELAY SET BY ACCUMULATOR
MON.RDKEY .EQ $FD0C GET INPUT CHARACTER VIA HOOKS
MON.KEYIN0 .EQ $FD10
MON.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
MON.GETLN .EQ $FD6A GET KEYBOARD INPUT LINE
GETLN1 .EQ $FD6F GET KBD INPUT, NO PROMPT
CROUT1 .EQ $FD8B CLEAR EOL THEN CR VIA BOOKS
MON.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
MON.COUT .EQ $FDED OUTPUT CHARACTER VIA HOOKS
MON.COUT1 .EQ $FDF0 OUTPUT CHARACTER TO SCREEN
MON.IIGSID .EQ $FE1F returns system info
MOVE .EQ $FE2C MOVE BLOCK OF MEMORY
VERIFY .EQ $FE36 VERIFY BLOCK OF MEMORY
LIST .EQ $FE5E DISASSEMBLE 20 INSTRUCTIONS
LIST2 .EQ $FE63 DISASSEMBLE <20>A<EFBFBD> INSTRUCTIONS
MON.SETINV .EQ $FE80 PRINT INVERSE TEXT TO SCREEN
MON.SETNORM .EQ $FE84 PRINT NORMAL TEXT TO SCREEN
MON.SETKBD .EQ $FE89 GRAB INPUT HOOKS FOR KEYBOARD
MON.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
SAVE inc/mon.i