A2osX/INC/MON.I.txt
2024-01-09 22:52:03 +01:00

134 lines
4.9 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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