**********************************MENU EQUATES**************************** ; ; FOR EACH ENTRY IN THE MENU ; MENU_TEXT_PTR EQU 0 ;OFFSET OF TEXT POINTER MENU_ROUTINE EQU LONG_SIZE ;OFFSET OF ROUTINE MENU_HELP EQU MENU_ROUTINE+LONG_SIZE MENU_ENTRY_SIZE EQU 3*LONG_SIZE * BLNK_HELP EQU 0 ;NO HELP BOX FOR THIS ENTRY NO_HELP EQU 00000001H ;NO HELP AREA IN THIS MENU ADJ_HELP EQU 00000002H ;PASS STRUCTURE POINTER TO ADJUSTMENT HELP ROUT SND_HELP EQU 00000003H ;CALLED ON SOUND TEST MENU SND_PLAY EQU 00000004H ;CALLED FROM SOUND "PLAY" SELECTIONS * SND_MESS_Y EQU 196 SND_BOX_H EQU 57 * * SPACING BETWEEN BOXES ON SCREEN * BOX_YGAP EQU 3 BOX_XGAP EQU 2 * * * A CENTERED BOX NEEDS TO BE MOVED LEFT THIS AMOUNT * (PIXELS) TO CORRECTLY FRAME CENTERED TEXT AT * THE SAME POSITION * C_KLUDGE EQU 1 * * THESE DETERMINE THE THICKNESS OF THE BOX LINES * MB_XWID EQU 3 MB_YWID EQU 3 * * GAP BETWEEN A MENU BORDER BOX AND * THE SELECTION BAR * GAP EQU 2 ;GAP BETWEEN BORDER AND SELECTION BAR * * CONSTANT TO PASS TO "DO_BORDER" FOR OUR * BOX SIZE * BORDER_SIZE EQU (MB_YWID*10000H)+MB_XWID *******************************TEST TITLE CONSTANTS**************************** * * THESE ARE USED TO SET TOP BOX AND MAIN TITLE. * THE MENUS AND HELP SCREENS WILL SQUARE OFF * TO THE NUMBERS SET HERE. * TM_X EQU 200 ;USED TO POSITION TITLE AND BOX TOGETHER TM_Y EQU 10 TIT_ULX EQU TM_X-195 TIT_LRX EQU TM_X+189 TIT_ULY EQU TM_Y-6 TIT_LRY EQU TM_Y+32 ********************************MAIN MENU CONSTANTS*************************** INST_ULY EQU TIT_LRY+BOX_YGAP ;Y RANGE FOR INSTRUCTION BOX INST_LRY EQU INST_ULY+29 BAR_DY EQU -8 BAR_WID EQU 183 MENU_X EQU TIT_ULX+GAP+MB_XWID+(BAR_WID/2)+C_KLUDGE MENU_Y EQU INST_LRY+BOX_YGAP+MB_YWID+GAP-BAR_DY MENU_DY EQU 23 BAR_HITE EQU 26 BAR_DX EQU 6 * * HELP DRAWER CONSTANTS * HELP_X_MARGIN EQU 10 ;MARGIN FOR LEFT JUSTIFIED HELP TEXT HELP_Y_MARGIN EQU 8 ;TOP OF BOX TO 1ST ENTRY HELP_YLO_MARGIN EQU HELP_Y_MARGIN-4 ;BOTTOM MARGIN IS A TOUCH LESS DUE * ;TO SPACING HELP_DY EQU 12 ;SCREEN UNITS PER ITEM. * * * ADJUSTMENT MENU CONSTANTS * * "CURRENT SETTING" BOX * CUR_ULY EQU 125 CUR_LRX EQU TIT_LRX CUR_LRY EQU CUR_ULY+(INST_LRY-INST_ULY) ;SAME HEIGHT AS TOP BOX CUR_ULY2 EQU 140 CUR_LRY2 EQU CUR_ULY2+(INST_LRY-INST_ULY) ADJ_ULY EQU CUR_LRY2+BOX_YGAP ;USE OUR "FIXED" SPACING. ADJ_CULY EQU ADJ_ULY-20 ; COIN UPPER LEFT Y ADJ_PULY EQU ADJ_ULY-28 COIN_HEAD_Y EQU ADJ_CULY+34 ;1ST OF TOP COIN INFO LINES MESS_CTS EQU COIN_HEAD_Y+35 ;START/CONTINUE PLACE ************************************************************************** * * * COIN SELECT TABLE OFFSETS * * * ************************************************************************** * IF "CHUTES" VALUE CHANGES.....EXTRA WORDS MUST BE PUT HERE CS_LMULT EQU 0 CS_CMULT EQU CS_LMULT+WORD_SIZE CS_RMULT EQU CS_CMULT+WORD_SIZE CS_XMULT EQU CS_RMULT+WORD_SIZE CS_DBV EQU CS_XMULT+WORD_SIZE CS_UCRED EQU CS_DBV+WORD_SIZE CS_UBON EQU CS_UCRED+WORD_SIZE CS_UMIN EQU CS_UBON+WORD_SIZE CS_STRT EQU CS_UMIN+WORD_SIZE CS_CONT EQU CS_STRT+WORD_SIZE CS_CDIV EQU CS_CONT+WORD_SIZE CS_FRAC EQU CS_CDIV+WORD_SIZE CS_COPY EQU CS_FRAC+WORD_SIZE ;UP TO HERE IS COPIED AS ADJUSTMENTS CS_LVAL EQU CS_COPY CS_CVAL EQU CS_LVAL+WORD_SIZE CS_RVAL EQU CS_CVAL+WORD_SIZE CS_XVAL EQU CS_RVAL+WORD_SIZE CS_DBVVAL EQU CS_XVAL+WORD_SIZE CS_LMES EQU CS_DBVVAL+WORD_SIZE CS_RMES EQU CS_LMES+LONG_SIZE CS_PROMPT EQU CS_RMES+LONG_SIZE CS_TITLE EQU CS_PROMPT+LONG_SIZE CS_LIST EQU CS_TITLE+LONG_SIZE CS_PICK EQU CS_LIST+LONG_SIZE ;WHICH LINE TO ADD TO 2 TO START...1 TO CS_SLOTS EQU CS_PICK+WORD_SIZE ;TEXT DESCRIBING COIN SLOTS CS_SIZE EQU CS_SLOTS+LONG_SIZE * * ADJUSTMENT STRUCTURE. THIS STRUCTURE IS * POINTED TO BY THE 2ND MENU LONG WORD (WHERE NORMALLY * THE ROUTINE LIVES). * AD_ROUT EQU 0 ;LONG...ROUTINE TO RUN WHEN SELECTED. AD_TITLE EQU AD_ROUT+LONG_SIZE ;LONG...POINTER TO TITLE FOR RIGHT COLUMN AD_HELP EQU AD_TITLE+LONG_SIZE ;LONG...POINT TO HELP STRUCT FOR EXPLANATION AD_CMOS EQU AD_HELP+LONG_SIZE ;WORD...GET_ADJ / PUT_ADJ NUMBER. AD_MIN EQU AD_CMOS+WORD_SIZE ;LONG...MINIMUM VALUE FOR ADJ. AD_MAX EQU AD_MIN+LONG_SIZE ;LONG...MAXIMUM VALUE FOR ADJ. AD_DELTA EQU AD_MAX+LONG_SIZE ;LONG...UNITS BETWEEN VALUES. AD_ZEQU EQU AD_DELTA+LONG_SIZE ;LONG...NUMBER TO STORE AS A ZERO. AD_NAMEIT EQU AD_ZEQU+LONG_SIZE ;LONG...ROUTINE TO PRINT VALUES. AD_FLAGS EQU AD_NAMEIT+LONG_SIZE ;WORD...bit zero non zero says wrap * ; bit one non zero says BCD ; bit two says flag "1st 8 coinage changed" (ADJVIRGIN) ; bit three says flag 1st 6 changed (ADJ1st6) ; bit four says its hsr counter AD_NAMPTR EQU AD_FLAGS+WORD_SIZE ;LONG...POINTER TO DATA FOR NAMEIT ROUTINE AD_MAIN EQU AD_NAMPTR+LONG_SIZE ;LONG...MAIN MENU STRING WRAP_BIT EQU 0 BCD_BIT EQU 1 VIRG_BIT EQU 2 SIX_BIT EQU 3 HSR_BIT EQU 4 WRAP_VAL EQU 1 BCD_VAL EQU 2 VIRG_VAL EQU 4 SIX_VAL EQU 8 HSR_VAL EQU 16 * * FOR CSELECT TABLE...... * * A1 = 1 PLOT ONLY THE STRING LIST (1 OR 2 POINTERS * CENTERED APPROPRIATELY * * A1 = 2 PLOT THE 1ST LINE OF THE STRING LIST ALONG * WITH THE 2 CREDITS TO START...1 TO CONTINUE * * A1 = 3 PLOT THE 2ND LINE OF THE STRING LIST ALONG * WITH THE 2 CREDITS TO START...1 TO CONTINUE * CSM_LIST EQU 1 CSM_1W_21 EQU 2 CSM_2W_21 EQU 3 CSM_3W_21 EQU 4 CSM_LAST EQU 4 * * FOR CS_PICK: * SHOW_NONE EQU 0 ;JUST USE 2/1 BY ITSELF SHOW_1 EQU 2 ;SHOW 1ST LINE SHOW_2 EQU 3 ;SHOW 2ND LINE SHOW_3 EQU 4 ;SHOW 3RD LINE