941 lines
15 KiB
NASM
941 lines
15 KiB
NASM
; ===================================================
|
|
; MSX BASIC for Orion-128
|
|
;
|
|
; Uninitialized variables
|
|
; Disassembled by Romychs @ 2026-10-15
|
|
; ===================================================
|
|
|
|
; ---------------------------------------------------
|
|
|
|
ORG 0x891C
|
|
OR_SCRN_MODE:
|
|
DS 1
|
|
|
|
OR_KEY_CLICK_OFF:
|
|
DS 1
|
|
|
|
MB_CRY:
|
|
DS 1
|
|
|
|
MB_CRX:
|
|
DS 1
|
|
|
|
MB_FNK_VIS:
|
|
DS 1
|
|
|
|
OR_KB_TOGGLE_LOCK1:
|
|
DS 1
|
|
OR_KB_TOGGLE_LOCK2:
|
|
DS 1
|
|
OR_KB_REPEAT_CNT:
|
|
DS 1
|
|
OR_KB_REPEAT_INIT:
|
|
DS 1
|
|
OR_KB_REPEAT_RELOAD:
|
|
DS 1
|
|
OR_KB_SCAN_DONE:
|
|
DS 1
|
|
OR_KB_REPEAT_FLG:
|
|
DS 1
|
|
OR_KB_SCAN_PTR:
|
|
DS 1
|
|
DS 1
|
|
OR_KB_SCAN_CNT:
|
|
DS 1
|
|
MB_BPARAM1:
|
|
DS 88
|
|
MB_BPARAM2:
|
|
DS 88
|
|
OR_KEYMAT_CUR:
|
|
DS 1
|
|
OR_KEYMAT_CUR_PAD:
|
|
DS 3
|
|
OR_MONO_PGCOLOR:
|
|
DS 6
|
|
OR_MONO_TXTCOL:
|
|
DS 1
|
|
OR_MONO_T32COL:
|
|
DS 1
|
|
OR_MONO_GRPCGP:
|
|
DS 8
|
|
OR_MONO_GRPCOL:
|
|
DS 17
|
|
|
|
MSX_LINL40:
|
|
DS 1
|
|
MSX_LINL32:
|
|
DS 1
|
|
MSX_LINLEN:
|
|
DS 1
|
|
MSX_CRTCNT:
|
|
DS 1
|
|
MSX_CLMLST:
|
|
DS 1
|
|
MSX_TXTCOL:
|
|
DS 2
|
|
MSX_TXTCGP:
|
|
DS 2
|
|
MSX_TXTATR:
|
|
DS 2
|
|
MSX_TXTPAT:
|
|
DS 2
|
|
MSX_T32NAM:
|
|
DS 2
|
|
MSX_T32COL:
|
|
DS 2
|
|
MSX_T32CGP:
|
|
DS 2
|
|
MSX_T32ATR:
|
|
DS 2
|
|
MSX_T32PAT:
|
|
DS 2
|
|
MSX_GRPNAM:
|
|
DS 2
|
|
MSX_GRPCOL:
|
|
DS 2
|
|
MSX_GRPCGP:
|
|
DS 2
|
|
MSX_GRPATR:
|
|
DS 2
|
|
MSX_GRPPAT:
|
|
DS 2
|
|
MSX_MLTNAM:
|
|
DS 2
|
|
MSX_MLTCOL:
|
|
DS 2
|
|
MSX_MLTCGP:
|
|
DS 2
|
|
MSX_MLTATR:
|
|
DS 2
|
|
MSX_MLTPAT:
|
|
DS 2
|
|
MSX_CLIKSW:
|
|
DS 1
|
|
MSX_CSRY:
|
|
DS 1
|
|
MSX_CSRX:
|
|
DS 1
|
|
MSX_CNSDFG:
|
|
DS 1
|
|
MSX_RG0SAV:
|
|
DS 1
|
|
MSX_RG1SAV:
|
|
DS 1
|
|
MSX_RG2SAV:
|
|
DS 1
|
|
MSX_RG3SAV:
|
|
DS 1
|
|
MSX_RG4SAV:
|
|
DS 1
|
|
MSX_RG5SAV:
|
|
DS 1
|
|
MSX_RG6SAV:
|
|
DS 1
|
|
MSX_RG7SAV:
|
|
DS 1
|
|
|
|
; VDP status (contents of status register 0, in MSX2)
|
|
MB_STATFL:
|
|
DS 1
|
|
|
|
; Trigger button status of joystick
|
|
MB_TRGFLG:
|
|
DS 1
|
|
|
|
; Foreground colour; set by colour statement
|
|
MB_FORCLR:
|
|
DS 1
|
|
|
|
; Background colour; set by colour statement
|
|
MB_BAKCLR:
|
|
DS 1
|
|
|
|
; Border colour; set by colour statement
|
|
MB_BDRCLR:
|
|
DS 1
|
|
|
|
; Used by CIRCLE statement internally
|
|
; JP xxxx code
|
|
MAXUPD:
|
|
DS 1
|
|
; Address of procedure to draw next pixel
|
|
MAXUPD_ADDR:
|
|
DS 2
|
|
|
|
; Used by CIRCLE statement internally
|
|
; JP xxxx code
|
|
MINUPD:
|
|
DS 1
|
|
; Address of procedure to draw next pixel
|
|
MINUPD_ADDR:
|
|
DS 2
|
|
|
|
; Colour code in using graphics
|
|
ATRBYT:
|
|
DS 1
|
|
|
|
; Points to queue table at the execution of PLAY statement
|
|
MB_QUEUES:
|
|
DS 2
|
|
|
|
MB_FRCNEW:
|
|
DS 1
|
|
|
|
; Interval for the key scan
|
|
MB_SCNCNT:
|
|
DS 1
|
|
|
|
; Delay until the auto-repeat of the key begins
|
|
MB_REPCNT:
|
|
DS 1
|
|
|
|
; Points to address to write in the key buffer
|
|
MB_PUTPNT:
|
|
DS 2
|
|
|
|
; Points to address to read from key buffer
|
|
MB_GETPNT:
|
|
DS 2
|
|
MB_CS1200:
|
|
DS 5
|
|
MB_CS2400:
|
|
DS 5
|
|
|
|
; Width of LOW and HIGH which represents bit 0 of current baud rate; set by <cassette baud rate> of SCREEN statement
|
|
MB_LOW:
|
|
DS 2
|
|
|
|
; Width of LOW and HIGH which represents bit 1 of current baud rate; set by <cassette baud rate> of SCREEN statement
|
|
MB_HIGH:
|
|
DS 2
|
|
|
|
; Header bit for the short header of current baud rate (HEADLEN = 2000);
|
|
; set by <cassette baud rate> of SCREEN statement
|
|
MB_HEADER:
|
|
DS 1
|
|
|
|
; 256/aspect ratio; set by SCREEN statement to use in CIRCLE statement
|
|
MB_ASPCT1:
|
|
DS 2
|
|
|
|
; 256 * aspect ratio; set by SCREEN statement to use in CIRCLE statement
|
|
MB_ASPCT2:
|
|
DS 2
|
|
|
|
; False end of program for RESUME NEXT statement
|
|
; default: ":"
|
|
MB_ENDPRG:
|
|
DS 1
|
|
DS 4
|
|
|
|
; ==================================================
|
|
; Work area used by BASIC internally
|
|
; ==================================================
|
|
|
|
; Area to store the error number
|
|
MB_ERRFLG:
|
|
DS 1
|
|
|
|
; Printer head location
|
|
MB_LPTPOS:
|
|
DS 1
|
|
|
|
; Flag whether to send to printer
|
|
MB_PRTFLG:
|
|
DS 1
|
|
|
|
; Printer (0 = printer for MSX, otherwise not)
|
|
MB_NTMSXP:
|
|
DS 1
|
|
|
|
; Non-zero when printing in raw-mode
|
|
MB_RAWPRT:
|
|
DS 1
|
|
|
|
; Address of character to be replaced by VAL function
|
|
MB_VLZADDR:
|
|
DS 2
|
|
|
|
; Character to be replaced with 0 by VAL function
|
|
MB_VLZDAT:
|
|
DS 1
|
|
|
|
; Currenty executing line number of BASIC
|
|
MB_CURLIN:
|
|
DS 2
|
|
|
|
; Crunch buffer; translated into intermediate language from BUF (F55EH)
|
|
MB_KBFMIN:
|
|
DS 1
|
|
|
|
MB_KBUF:
|
|
DS 318
|
|
|
|
; Used in INPUT statement. Initial value: ", ".
|
|
MB_BUFMIN:
|
|
DS 1
|
|
|
|
MB_BUF:
|
|
DS 2
|
|
|
|
MB_DIR_NAME_BUF:
|
|
DS 8
|
|
|
|
MB_FLD_REC_TOP:
|
|
DS 2
|
|
MB_FLD_DATA_PTR:
|
|
DS 8
|
|
|
|
MB_DIR_ENTRY_PTR:
|
|
DS 2
|
|
|
|
MB_OLD_FILE:
|
|
DS 8
|
|
MB_NEW_FILE:
|
|
DS 8
|
|
|
|
|
|
DS 221
|
|
|
|
; Terminal position
|
|
MB_TTYPOS:
|
|
DS 1
|
|
|
|
MB_DIMFLG:
|
|
DS 1
|
|
|
|
; Type indicator of value
|
|
MB_VALTYP:
|
|
DS 1
|
|
|
|
; Operation number
|
|
MB_DORES:
|
|
MB_OPRTYP:
|
|
DS 1
|
|
MB_DONUM:
|
|
DS 1
|
|
|
|
; Pointer to text after constant
|
|
MB_CONTXT:
|
|
DS 2
|
|
|
|
; Saved token of the constant
|
|
MB_CONSAV:
|
|
DS 1
|
|
|
|
; Saved constant VALTYP
|
|
MB_CONTYP:
|
|
DS 1
|
|
|
|
; Saved constant value
|
|
MB_CONLO:
|
|
DS 8
|
|
|
|
; Highest location in memory
|
|
MB_MEMSIZ:
|
|
DS 2
|
|
|
|
MB_STKTOP:
|
|
DS 2
|
|
|
|
; Address of BASIC program text
|
|
MB_TXTTAB:
|
|
DS 2
|
|
|
|
; Pointer to first free TMP descritor
|
|
MB_TEMPP:
|
|
DS 2
|
|
|
|
; Dtorage for NUMTMP descriptors
|
|
MB_TEMPST:
|
|
DS 30 ; (STRSIZ*NUMTMP)
|
|
|
|
; String functions ansfer descriptor
|
|
MB_DSCTMP:
|
|
DS 3 ; STRSIZ
|
|
|
|
; Top of string free space
|
|
MB_FRETOP:
|
|
DS 2
|
|
|
|
MB_TEMP3:
|
|
DS 2
|
|
|
|
MB_TEMP8:
|
|
DS 2
|
|
|
|
; Saved text pointer to end of FOR statement
|
|
MB_ENDFOR:
|
|
DS 2
|
|
|
|
; Number of DATA line for display at errors
|
|
MB_DATLIN:
|
|
DS 2
|
|
|
|
; Using indexed variable flag
|
|
MB_SUBFLG:
|
|
DS 1
|
|
|
|
; Flag whether we in INPUT
|
|
MB_FLGINP:
|
|
DS 1
|
|
|
|
; Temporary variamble for statement code
|
|
MB_TEMP:
|
|
DS 2
|
|
|
|
; 0 - no line number converted to pointers, != 0 if pointers exists
|
|
MB_PTRFLG:
|
|
DS 1
|
|
|
|
; != 0 if AUTO in action
|
|
MB_AUTFLG:
|
|
DS 1
|
|
|
|
; Current line in AUTO mode
|
|
MB_AUTLIN:
|
|
DS 2
|
|
|
|
; AUTO Increment value
|
|
MB_AUTINC:
|
|
DS 2
|
|
|
|
; Save pointer to RESUME statement
|
|
MB_SAVTXT:
|
|
DS 2
|
|
|
|
; Saved stack value for error recovery
|
|
MB_SAVSTK:
|
|
DS 2
|
|
|
|
; Line number where last error occured
|
|
MB_ERRLIN:
|
|
DS 2
|
|
|
|
; Current line for edit and LIST
|
|
MB_DOT:
|
|
DS 2
|
|
|
|
; Text pointer used for RESUME
|
|
MB_ERRTXT:
|
|
DS 2
|
|
|
|
; Line for goto when an error occurs
|
|
MB_ONELIN:
|
|
DS 2
|
|
|
|
; 1 if on error trap routine executed
|
|
MB_ONEFLG:
|
|
DS 1
|
|
|
|
; Temp value for formula evaluation
|
|
MB_TEMP2:
|
|
DS 2
|
|
|
|
; Old line number
|
|
MB_OLDLIN:
|
|
DS 2
|
|
|
|
MB_OLDTXT:
|
|
DS 2
|
|
|
|
; Pointer to simple variables space
|
|
MB_VARTAB:
|
|
DS 2
|
|
|
|
; Pointer to begining of array table
|
|
MB_ARYTAB:
|
|
DS 2
|
|
|
|
; Pointer to end of storage in use
|
|
MB_STREND:
|
|
DS 2
|
|
|
|
; Pointer to DATA values
|
|
MB_DATPTR:
|
|
DS 2
|
|
|
|
; Table of VALTYP for each one-char variables in alphabet order
|
|
MB_DEFTBL:
|
|
DS 26
|
|
|
|
; Previous defined block on stack (for GC)
|
|
MB_PRMSTK:
|
|
DS 2
|
|
|
|
; Number of bytes in active table
|
|
MB_PRMLEN:
|
|
DS 2
|
|
|
|
; Active parameter definition table
|
|
MB_PARM1:
|
|
DS 100 ; PRMSIZ EQU 100
|
|
|
|
; Pointer to previous parameter
|
|
MB_PRMPRV:
|
|
DS 2
|
|
|
|
; Size of parameter block being build
|
|
MB_PRMLN2:
|
|
DS 2
|
|
|
|
; Place to keep parameters being made
|
|
MB_PARM2:
|
|
DS 100 ; PRMSIZ EQU 100
|
|
|
|
; Used by MB_PTRGET to flag if MB_PARM1 has been searched
|
|
MB_PRMFLG:
|
|
DS 1
|
|
|
|
; Stopping point for simple search
|
|
MB_ARYTA2:
|
|
DS 2
|
|
|
|
; 0 if no functions active.
|
|
MB_NOFUNS:
|
|
DS 1
|
|
|
|
; Temporary pointer for GC, to chain trough parameter blocks
|
|
MB_TEMP9:
|
|
DS 2
|
|
|
|
; Destination line in new program
|
|
MB_CHNLIN:
|
|
DS 2
|
|
|
|
; Swap variable, enough spave for DBL variable
|
|
MB_SWPTMP:
|
|
DS 8
|
|
|
|
; 1 - Trace in progress, 0 - no trace
|
|
MB_TRCFLG:
|
|
DS 1
|
|
|
|
MB_FBUFFR:
|
|
DS 43
|
|
|
|
MB_DECTMP:
|
|
DS 2
|
|
|
|
MB_DECTM2:
|
|
DS 2
|
|
|
|
MB_DECCNT:
|
|
DS 2
|
|
|
|
MB_DACC:
|
|
DS 16
|
|
|
|
MB_HOLD8:
|
|
DS 65
|
|
|
|
MB_ARG:
|
|
DS 16
|
|
|
|
MB_RNDX:
|
|
DS 8
|
|
|
|
; ==================================================
|
|
; Data area used by BASIC interpreter
|
|
; ==================================================
|
|
|
|
; Maximum file number; set by MAXFILES statement
|
|
MB_MAXFIL:
|
|
DS 1
|
|
|
|
; Starting address of file data area
|
|
MB_FILTAB:
|
|
DS 2
|
|
|
|
; Pointer to buffer #0. Buffer for disk operations in SAVE/LOAD subroutines
|
|
MB_NULBUF:
|
|
DS 2
|
|
|
|
; Address of file data of currently accessing file
|
|
MB_PTRFIL:
|
|
DS 2
|
|
|
|
; Area to store filename
|
|
MB_FILNAM:
|
|
DS 11
|
|
|
|
; Area to store filename
|
|
MB_FILNM2:
|
|
DS 11
|
|
|
|
; Non-zero value if program is being loaded
|
|
MB_NLONLY:
|
|
DS 1
|
|
|
|
; End address of assembly language program to be saved.
|
|
; (Also used as position in a file by Orion code)
|
|
MB_SAVEND:
|
|
DS 2
|
|
|
|
; Area to store function key string (16 character x 10)
|
|
MB_FNKSTR:
|
|
DS 160
|
|
|
|
; Unused. Address to store character font on ROM
|
|
MB_CGPNT:
|
|
DS 2
|
|
DS 1
|
|
|
|
; Unused. Base address of current pattern name table
|
|
MB_NAMBAS:
|
|
DS 2
|
|
|
|
; Unused. Base address of current pattern generator table
|
|
MB_CGPBAS:
|
|
DS 2
|
|
|
|
; Unused. Base address of current sprite generator table
|
|
MB_PATBAS:
|
|
DS 2
|
|
|
|
; Unused. Base address of current sprite attribute table
|
|
MB_ATRBAS:
|
|
DS 2
|
|
|
|
; Used internally by graphic routine
|
|
MB_CLOC:
|
|
DS 2
|
|
|
|
; Used internally by graphic routine
|
|
MB_CMASK:
|
|
DS 1
|
|
|
|
; Used internally by graphic routine
|
|
MB_MINDEL:
|
|
DS 2
|
|
|
|
; Used internally by graphic routine
|
|
MB_MAXDEL:
|
|
DS 2
|
|
|
|
; ==================================================
|
|
; Data area used by CIRCLE statement
|
|
; ==================================================
|
|
|
|
; Aspect ratio of the circle; set by <ratio> of CIRCLE statement
|
|
MB_ASPECT:
|
|
DS 2
|
|
|
|
; Used internally by CIRCLE statement
|
|
MB_CENCNT:
|
|
DS 2
|
|
|
|
; Flag whether a line is drawn toward the center; specified by <angle> of CIRCLE statement
|
|
MB_CELINEF:
|
|
DS 1
|
|
|
|
; Point to be plotted
|
|
MB_CNPNTS:
|
|
DS 2
|
|
|
|
; Used internally by CIRCLE statement
|
|
MB_CPLOTF:
|
|
DS 1
|
|
|
|
; Number of one eighth of the circle
|
|
MB_CPCNT:
|
|
DS 2
|
|
|
|
; Used internally by CIRCLE statement
|
|
MB_CPCNT8:
|
|
DS 2
|
|
|
|
; Used internally by CIRCLE statement
|
|
MB_CRCSUM:
|
|
DS 2
|
|
|
|
; Used internally by CIRCLE statement
|
|
MB_CSTCNT:
|
|
DS 2
|
|
|
|
; Scale of x and y
|
|
MV_CSCLXY:
|
|
DS 1
|
|
|
|
; Reservation area of ADVGRP
|
|
MB_CSAVEA:
|
|
DS 2
|
|
|
|
; Reservation area of ADVGRP
|
|
MB_CSAVEM:
|
|
DS 1
|
|
|
|
; X offset from the center
|
|
MB_CXOFF:
|
|
DS 2
|
|
|
|
; Y offset from the center
|
|
MB_CYOFF:
|
|
DS 2
|
|
|
|
; ==================================================
|
|
; Data area used in PAINT statement
|
|
; ==================================================
|
|
|
|
; Used internally by PAINT statement
|
|
MB_LOHMSK:
|
|
DS 1
|
|
|
|
; Used internally by PAINT statement
|
|
MB_LOHDIR:
|
|
DS 1
|
|
|
|
; Used internally by PAINT statement
|
|
MB_LOHADR:
|
|
DS 2
|
|
|
|
; Used internally by PAINT statement
|
|
MB_LOHCNT:
|
|
DS 2
|
|
|
|
; Skip count
|
|
MB_SKPCNT:
|
|
DS 2
|
|
|
|
; Move count
|
|
MB_MOVCNT:
|
|
DS 2
|
|
|
|
; Direction of the paint
|
|
MB_PDIREC:
|
|
DS 1
|
|
; Used internally by PAINT statement
|
|
MB_LFPROG:
|
|
DS 1
|
|
; Used internally by PAINT statement
|
|
MB_RTPROG:
|
|
DS 1
|
|
|
|
; ==================================================
|
|
; Data area used in PLAY statement
|
|
; ==================================================
|
|
|
|
; Points to the top of the table of PLAY macro or DRAW macro
|
|
MB_MCLTAB:
|
|
DS 2
|
|
|
|
; Assignment of PLAY/DRAW
|
|
MB_MCLFLG:
|
|
DS 1
|
|
|
|
; Queue table
|
|
; +0: PUT offset
|
|
; +1: GET offset
|
|
; +2: backup character
|
|
; +3: queue length
|
|
; +4: queue address
|
|
; +5: queue address
|
|
MB_QUETAB:
|
|
DS 24
|
|
|
|
; Used in BCKQ
|
|
MB_QUEBAK:
|
|
DS 4
|
|
|
|
MB_MCLLEN:
|
|
DS 1
|
|
|
|
MB_MCLPTR:
|
|
DS 2
|
|
DS 1
|
|
MB_INSFLG_TBL:
|
|
DS 1
|
|
MB_FNK_LINE_BUF:
|
|
DS 1
|
|
MB_RSVD_8FCB:
|
|
DS 5
|
|
|
|
; Flag to enable warm start by [SHIFT+Ctrl+Kana key] (0 = disable, otherwise enable)
|
|
MB_ENSTOP:
|
|
DS 1
|
|
|
|
; Indicates BASIC text location (0 = on RAM, otherwise in ROM)
|
|
MB_BASROM:
|
|
DS 1
|
|
|
|
; Line terminal table; area to keep information about each line of text screen
|
|
MB_LINTTB:
|
|
DS 24
|
|
|
|
; First character location of line from INLIN (00B1H) of BIOS
|
|
MB_FSTPOS:
|
|
DS 2
|
|
|
|
; Area to reserve the character where the cursor is stacked
|
|
MB_CODSAV_1:
|
|
DS 1
|
|
|
|
; Indicates which function key is displayed at KEY ON (1 = F1 to F5 is displayed, 0 = F6 to F10 is displayed)
|
|
MB_FNKSW1:
|
|
DS 1
|
|
|
|
; Area to allow, inhibit, or stop the execution of the line defined in ON KEY GOSUB statement, or to reserve it for each function key; set by KEY(n)ON/OFF/STOP statement (0 = KEY(n)OFF/STOP, 1 = KEY(n)ON)
|
|
MB_FNKFLG:
|
|
DS 10
|
|
|
|
; Flag to indicate whether event waiting in MB_TRPTBL occurred
|
|
MB_ONGSBF:
|
|
DS 1
|
|
|
|
; Key click flag
|
|
MB_CLIKFL:
|
|
DS 1
|
|
|
|
; Key matrix status (old)
|
|
MB_OLDKEY:
|
|
DS 11
|
|
|
|
MB_NEWKEY:
|
|
DS 11
|
|
|
|
MB_KEYBUF:
|
|
DS 40
|
|
|
|
MB_LINWRK:
|
|
DS 26
|
|
|
|
MB_BLINK_CELL_SAVE:
|
|
DS 1
|
|
|
|
; Installed RAM starting (low) address; ordinarily 8000H in MSX2
|
|
MB_BOTTOM:
|
|
DS 2
|
|
|
|
; Highest address of available memory; set by <memory upper limit> of CLEAR statement
|
|
MB_HIMEM:
|
|
DS 2
|
|
|
|
MB_TRPTBL:
|
|
DS 78
|
|
|
|
MB_RTYCNT:
|
|
DS 1
|
|
|
|
; If Ctrl+STOP is pressed, setting 03H here causes a stop
|
|
MB_INTFLG:
|
|
DS 1
|
|
|
|
; Y-coordinate of the paddle
|
|
MB_PADY:
|
|
DS 1
|
|
|
|
; X-coordinate of the paddle
|
|
MB_PADX:
|
|
DS 1
|
|
|
|
; Used internally by PLAY statement
|
|
MB_JIFFY:
|
|
DS 2
|
|
|
|
; Interval period; set by ON INTERVAL GOSUB statement
|
|
MB_INTVAL:
|
|
DS 2
|
|
|
|
; Counter for interval
|
|
MB_INTCNT:
|
|
DS 2
|
|
|
|
; Used during reading from cassette tape
|
|
MB_LOWLIM:
|
|
DS 1
|
|
|
|
; Used during reading from cassette tape
|
|
MB_WINWID:
|
|
DS 1
|
|
|
|
; Flag to send graphic character (1 = graphic character, 0 = normal character)
|
|
MB_GRPHED:
|
|
DS 1
|
|
|
|
; Whether cursor is displayed (0 = no, otherwise = yes); set by <cursor switch> of LOCATE statement
|
|
MB_CSRSW:
|
|
DS 1
|
|
|
|
; Cursor shape (0 = block, otherwise = underline)
|
|
MB_CSTYLE:
|
|
DS 1
|
|
|
|
; CAPS key status (0 = CAP OFF, otherwise = CAP ON)
|
|
MB_CAPST:
|
|
DS 1
|
|
|
|
; Kana key status (0 = kana OFF, otherwise = kana ON)
|
|
MB_KANAST:
|
|
DS 1
|
|
|
|
; Kana key arrangement status (0 = 50-sound arrangement, otherwise = JIS arrangement)
|
|
MB_KANAMD:
|
|
DS 1
|
|
|
|
; 0 when loading BASIC program
|
|
MB_FLBMEM:
|
|
DS 1
|
|
|
|
; Current screen mode number
|
|
MB_SCRMOD:
|
|
DS 1
|
|
|
|
; Screen mode reservation area
|
|
MB_OLDSCR:
|
|
DS 1
|
|
|
|
; Character reservation area used by CAS
|
|
MB_CASPRV:
|
|
DS 1
|
|
|
|
; Border colour code used by PAINT; set by <border colour> in PAINT statement
|
|
MB_BRDAT:
|
|
DS 1
|
|
|
|
; Graphics X-coordinate
|
|
MB_GXPOS:
|
|
DS 2
|
|
|
|
; Graphics Y-coordinate
|
|
MB_GYPOS:
|
|
DS 2
|
|
|
|
; Graphic accumulator (X-coordinate)
|
|
MB_GRPACX:
|
|
DS 2
|
|
|
|
; Graphic accumulator (Y-coordinate)
|
|
MB_GRPACY:
|
|
DS 2
|
|
|
|
; Flag used in DRAW statement
|
|
MB_DRWFLG:
|
|
DS 1
|
|
|
|
; DRAW scaling factor (0 = no scaling, otherwise = scaling)
|
|
MB_DRWSCL:
|
|
DS 1
|
|
|
|
; Angle at DRAW
|
|
MB_DRWANG:
|
|
DS 1
|
|
|
|
; Flag to indicate BLOAD in progress, BSAVE in progress, or neither
|
|
MB_RUNBNF:
|
|
DS 1
|
|
|
|
; Starting address of BSAVE
|
|
MB_SAVENT:
|
|
DS 2
|
|
; Stores name of expanded statement (after CALL statement) or expansion device (after OPEN); 0 indicates the end
|
|
MB_PROCNM:
|
|
DS 16
|
|
|
|
; Used to identify cartridge device
|
|
MB_DEVICE:
|
|
DS 1
|
|
|
|
; Last initialized variable label
|
|
MB_LINIVAR:
|
|
DS 1
|