; =================================================== ; 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 of SCREEN statement MB_LOW: DS 2 ; Width of LOW and HIGH which represents bit 1 of current baud rate; set by of SCREEN statement MB_HIGH: DS 2 ; Header bit for the short header of current baud rate (HEADLEN = 2000); ; set by 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 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 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 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 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 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