From d8f20a33b9525ba38e6f87956f88081375a81526 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Wed, 21 Jun 2023 02:25:19 +1000 Subject: [PATCH] some edit --- constants/SP2000.inc | 348 ++++++++++++++++++++++--------------------- 1 file changed, 178 insertions(+), 170 deletions(-) diff --git a/constants/SP2000.inc b/constants/SP2000.inc index 693f88f..95a5501 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -148,11 +148,11 @@ bit0 - TURBO: on/off ; #74 - страница из вн.порта #EB/#EF bit1 - 1 - TURBO ena, 0 - переключение vROM page bit2 - 1 - CNF ena -bit3 - \_ cnf0..cnf3 ;\ -bit4 - / ; \ -bit5 - CNF_PN[5..0]_RESET by 1 - сброс Пент. порта ; |---> действуют только при bit2=1 -bit6 - CNF_SC_RESET by 1 - сброс Скорп. порта ; / -bit7 - CNF_PN[7..6]_RESET by 0 - сброс Пент-512 ;/ +bit3 - \_ cnf0..cnf3 -\ +bit4 - / - \ +bit5 - CNF_PN[5..0]_RESET by 1 - сброс Пент. порта - -|---> действуют только при bit2=1 +bit6 - CNF_SC_RESET by 1 - сброс Скорп. порта - / +bit7 - CNF_PN[7..6]_RESET by 0 - сброс Пент-512 -/ Переключение страниц vROM: ____________________________________________________ @@ -175,23 +175,25 @@ ____________________________________________________ |EF | | 01 | ... | ... | |_____________|____________|_________|______|______| ... - значение роли не играет -Стандартные страницы ОЗУ для образов ПЗУ спектрума: -#42 BASIC 128 #E2 #E6 -#43 BASIC 48 #E3 #E7 -#44 TR-DOS #E1 #E5 -#45 BIOS (ZX_EXP) #E0 #E4 -#46 BIOS (ZX_EXP) #EB -#47 BIOS (ZX_EXP2) #EF + + Стандартные страницы ОЗУ для образов ПЗУ спектрума: + Page Name Int.Port Page Name Int.Port + #42 BASIC 128 #E2 | ??? ??? ??? ??? #E6 + #43 BASIC 48 #E3 | ??? ??? ??? ??? #E7 + #44 TR-DOS #E1 | ??? ??? ??? ??? #E5 + #45 BIOS (ZX_EXP) #E0 | ??? ??? ??? ??? #E4 + #46 BIOS (ZX_EXP) #EB + #47 BIOS (ZX_EXP2) #EF SYS_PORT: bit0 - TURBO: on/off или BIOS: Part1/Part0 bit1 - 1 - TURBO ena, 0 - переключение BIOS-PAGE bit2 - 1 - CNF ena -bit3 - \_ cnf0..cnf3 ;\ -bit4 - / ; \ -bit5 - CNF_PN[5..0]_RESET by 1 - сброс Пент. порта ; |---> действуют только при bit2=1 -bit6 - CNF_SC_RESET by 1 - сброс Скорп. порта ; / -bit7 - CNF_PN[7..6]_RESET by 0 - сброс Пент-512 ;/ +bit3 - \_ cnf0..cnf3 -\ +bit4 - / - \ +bit5 - CNF_PN[5..0]_RESET by 1 - сброс Пент. порта - -|---> действуют только при bit2=1 +bit6 - CNF_SC_RESET by 1 - сброс Скорп. порта - / +bit7 - CNF_PN[7..6]_RESET by 0 - сброс Пент-512 -/ Функция bit0 определяется через bit1 bit7..bit3 срабатывают при bit2 = 1 @@ -855,162 +857,168 @@ WIN_GRAF_Y EQU 26 ; ;!FIXIT ----------------------------------------------------------------; ;Переменные спектрума -ZX_VARS EQU #5C00 + MODULE ZX_VARS +;ZX_VARS EQU #5C00 ; -.SWAP_ROM EQU #5B00 -.PRINTER_BUFFER EQU #5B00 -.AUTO_5B08 EQU #5B08 -.AUTO_5B5C EQU #5B5C -.COPY_P128 EQU #5B5C -.AUTO_5BFF EQU #5BFF +SWAP_ROM EQU #5B00 +PRINTER_BUFFER EQU #5B00 +AUTO_5B08 EQU #5B08 +AUTO_5B5C EQU #5B5C +COPY_P128 EQU #5B5C +AUTO_5BFF EQU #5BFF ; -.K_STATE EQU #5C00 -.KEY_TIME EQU #5C09 -.REP_K_TYME EQU #5C10 -.ZG EQU #5C36 -.ERR_BEEP EQU #5C38 -.KEY_BEEP EQU #5C39 -.ERR_NR EQU #5C3A -.FLAGS EQU #5C3B -.TV_FLAG EQU #5C3C -.ERR_SP EQU #5C3D -.LIST_SP EQU #5C3F -.MODE EQU #5C41 -.NEW_PPC EQU #5C42 -.NEW_S_PPC EQU #5C44 -.PPC EQU #5C45 -.SUB_PPC EQU #5C47 -.BORDER EQU #5C48 -.EDIT_PPC EQU #5C49 -.BAS_VARS EQU #5C4B -.WORK_VAR EQU #5C4D -.CHANS EQU #5C4F -.CUR_CHL EQU #5C51 -.BAS_PROG EQU #5C53 -.NEXT_LINE EQU #5C55 -.DATA_ADR EQU #5C57 -.E_LINE EQU #5C59 -.K_CUR EQU #5C5B -.CH_ADR EQU #5C5D -.SINT_ER_AD EQU #5C5F -.WORK_SP EQU #5C61 -.STK_BOT EQU #5C63 -.STK_END EQU #5C65 -.B_REG EQU #5C67 -.MEM_CALC EQU #5C68 -.FLAGS_2 EQU #5C6A -.L_SCR_SIZE EQU #5C6B -.AUTO_LST_L EQU #5C6C -.OLD_PPC EQU #5C6E -.OLD_S_PPC EQU #5C70 -.FLG_INPUT EQU #5C71 -.S_VAR_LEN EQU #5C72 -.SINT_TB_ADR EQU #5C74 -.RAND_SEED EQU #5C76 -.FRAMES EQU #5C78 -.UDG EQU #5C7B -.X_Y_COORD EQU #5C7D -.PRN_POS EQU #5C7F -.ADR_PR_BUF EQU #5C80 -.ECHO_E EQU #5C82 -.SCR_PL_M EQU #5C84 -.SCR_PL_L EQU #5C86 -.SCR_POS_M EQU #5C88 -.SCR_POS_L EQU #5C8A -.SCROLL_ST EQU #5C8C -.ATTR_P EQU #5C8D -.MASK_P EQU #5C8E -.ATTR_T EQU #5C8F -.MASK_E EQU #5C90 -.FLAGS_ATR EQU #5C91 -.MEM_BOT EQU #5C92 -.AUTO_5C9A EQU #5C9A -.NMI_ADR EQU #5CB0 -.TOP_CLEAR EQU #5CB2 -.P_RAMTOP EQU #5CB4 -.BEG_ADRESS EQU #5CB6 -.RET_INS EQU #5CC2 -.AUTO_5CC3 EQU #5CC3 -.DISK_A EQU #5CC8 -.DISK_B EQU #5CC9 -.DISK_C EQU #5CCA -.DISK_D EQU #5CCB -.CAT_SEC EQU #5CCC -.DRV_READY EQU #5CCD -.RD_WR_COM EQU #5CCE -.VAR_1 EQU #5CCF -.AUTO_5CD1 EQU #5CD1 -.AUTO_5CD2 EQU #5CD2 -.AUTO_5CD3 EQU #5CD3 -.AUTO_5CD5 EQU #5CD5 -.DOS_ERROR EQU #5CD6 -.MED_START EQU #5CD7 -.DOS_CH_ADR EQU #5CD9 -.MED_LEN EQU #5CDB -.FL_NAME EQU #5CDD -.FL_N_2 EQU #5CDF -.FL_N_4 EQU #5CE1 -.FL_N_6 EQU #5CE3 -.FL_N_7 EQU #5CE4 -.FL_TYPE EQU #5CE5 -.FL_START EQU #5CE6 -.FL_LEN EQU #5CE8 -.START_CLASTER EQU .FL_LEN -.FL_SIZE EQU #5CEA -.FL_PLACE EQU #5CEB -.VAR_2 EQU #5CED -.INTERF_I EQU #5CEF -.VAR_2_0 EQU #5CF1 -.VAR_2_1 EQU #5CF2 -.CONT_SEC EQU #5CF4 -.CONT_TRK EQU #5CF5 -.OPER_DISK EQU #5CF6 -.DOS_FLAG EQU #5CF7 -.DISK_1_FLG EQU #5CF8 -.DISK_2_FLG EQU #5CF9 -.TIME_A EQU #5CFA -.TIME_B EQU #5CFB -.TIME_C EQU #5CFC -.TIME_D EQU #5CFD -.COMAND_WG EQU #5CFE -.SEC_NUM EQU #5CFF -.CONT_BUF_ADR EQU #5D00 -.WORK_2 EQU #5D02 -.WORK_4 EQU #5D04 -.S_NAME_NUM EQU #5D06 -.N_DEL_FLS EQU #5D07 -.FST_SYM_NAME EQU #5D08 -.VAR_3 EQU #5D09 -.BUF_FLAG EQU #5D0C -.BAS_DOS_FLG EQU #5D0E -.DOS_ERR_2 EQU #5D0F -.ERR_3D00 EQU #5D10 -.ADR_DOS_COM EQU #5D11 -.ERR_SP_COPY EQU #5D13 -.MSG_FLAG EQU #5D15 -.PDOS_COPY EQU #5D16 -.FLAG_BOOT EQU #5D17 -.INT_1_VAR EQU #5D18 -.CONT_DISK EQU #5D19 -.ADR_RET EQU #5D1A -.DOS_SP EQU #5D1C -.FL_NUMBER EQU #5D1E -.COM_LN_COPY EQU #5D20 -.L_5D23 EQU #5D23 -.BUFER EQU #5D25 -.AUTO_5D33 EQU #5D33 -.CLEAR_SEC EQU #5E06 -.CLEAR_TRK EQU #5E07 -.TYPE_DISK EQU #5E08 -.N_FILES EQU #5E09 -.FREE_SEC EQU #5E0A -.CODE_10H EQU #5E0C -.DISK_MRK_1 EQU #5E0F -.DISK_ALT_NM EQU #5E10 -.N_DEL_FL EQU #5E19 -.DISK_NAME EQU #5E1A +K_STATE EQU #5C00 +KEY_TIME EQU #5C09 +REP_K_TYME EQU #5C10 +ZG EQU #5C36 +ERR_BEEP EQU #5C38 +KEY_BEEP EQU #5C39 +ERR_NR EQU #5C3A +FLAGS EQU #5C3B +TV_FLAG EQU #5C3C +ERR_SP EQU #5C3D +LIST_SP EQU #5C3F +MODE EQU #5C41 +NEW_PPC EQU #5C42 +NEW_S_PPC EQU #5C44 +PPC EQU #5C45 +SUB_PPC EQU #5C47 +BORDER EQU #5C48 +EDIT_PPC EQU #5C49 +BAS_VARS EQU #5C4B +WORK_VAR EQU #5C4D +CHANS EQU #5C4F +CUR_CHL EQU #5C51 +BAS_PROG EQU #5C53 +NEXT_LINE EQU #5C55 +DATA_ADR EQU #5C57 +E_LINE EQU #5C59 +K_CUR EQU #5C5B +CH_ADR EQU #5C5D +SINT_ER_AD EQU #5C5F +WORK_SPACE EQU #5C61 +STK_BOT EQU #5C63 +STK_END EQU #5C65 +B_REG EQU #5C67 +MEM_CALC EQU #5C68 +FLAGS_2 EQU #5C6A +L_SCR_SIZE EQU #5C6B +AUTO_LST_L EQU #5C6C +OLD_PPC EQU #5C6E +OLD_S_PPC EQU #5C70 +FLG_INPUT EQU #5C71 +S_VAR_LEN EQU #5C72 +SINT_TB_ADR EQU #5C74 +RAND_SEED EQU #5C76 +FRAMES EQU #5C78 +UDG EQU #5C7B +X_Y_COORD EQU #5C7D +PRN_POS EQU #5C7F +ADR_PR_BUF EQU #5C80 +ECHO_E EQU #5C82 +SCR_PL_M EQU #5C84 +SCR_PL_L EQU #5C86 +SCR_POS_M EQU #5C88 +SCR_POS_L EQU #5C8A +SCROLL_ST EQU #5C8C +ATTR_P EQU #5C8D +MASK_P EQU #5C8E +ATTR_T EQU #5C8F +MASK_E EQU #5C90 +FLAGS_ATR EQU #5C91 +MEM_BOT EQU #5C92 +AUTO_5C9A EQU #5C9A +NMI_ADR EQU #5CB0 +TOP_CLEAR EQU #5CB2 +P_RAMTOP EQU #5CB4 +BEG_ADRESS EQU #5CB6 +RET_INS EQU #5CC2 +AUTO_5CC3 EQU #5CC3 +DISK_A EQU #5CC8 +DISK_B EQU #5CC9 +DISK_C EQU #5CCA +DISK_D EQU #5CCB +CAT_SEC EQU #5CCC +DRV_READY EQU #5CCD +RD_WR_COM EQU #5CCE +VAR_1 EQU #5CCF +AUTO_5CD1 EQU #5CD1 +AUTO_5CD2 EQU #5CD2 +AUTO_5CD3 EQU #5CD3 +AUTO_5CD5 EQU #5CD5 +DOS_ERROR EQU #5CD6 +MED_START EQU #5CD7 +DOS_CH_ADR EQU #5CD9 +MED_LEN EQU #5CDB +FL_NAME EQU #5CDD +FL_N_2 EQU #5CDF +FL_N_4 EQU #5CE1 +FL_N_6 EQU #5CE3 +FL_N_7 EQU #5CE4 +FL_TYPE EQU #5CE5 +FL_START EQU #5CE6 +FL_LEN EQU #5CE8 +START_CLASTER EQU .FL_LEN +FL_SIZE EQU #5CEA +FL_PLACE EQU #5CEB +VAR_2 EQU #5CED +INTERF_I EQU #5CEF +VAR_2_0 EQU #5CF1 +VAR_2_1 EQU #5CF2 +CONT_SEC EQU #5CF4 +CONT_TRK EQU #5CF5 +OPER_DISK EQU #5CF6 +DOS_FLAG EQU #5CF7 +DISK_1_FLG EQU #5CF8 +DISK_2_FLG EQU #5CF9 +TIME_A EQU #5CFA +TIME_B EQU #5CFB +TIME_C EQU #5CFC +TIME_D EQU #5CFD +COMAND_WG EQU #5CFE +SEC_NUM EQU #5CFF +CONT_BUF_ADR EQU #5D00 +WORK_2 EQU #5D02 +WORK_4 EQU #5D04 +S_NAME_NUM EQU #5D06 +N_DEL_FLS EQU #5D07 +FST_SYM_NAME EQU #5D08 +VAR_3 EQU #5D09 +BUF_FLAG EQU #5D0C +BAS_DOS_FLG EQU #5D0E +DOS_ERR_2 EQU #5D0F +ERR_3D00 EQU #5D10 +ADR_DOS_COM EQU #5D11 +ERR_SP_COPY EQU #5D13 +MSG_FLAG EQU #5D15 +PDOS_COPY EQU #5D16 +FLAG_BOOT EQU #5D17 +INT_1_VAR EQU #5D18 +CONT_DISK EQU #5D19 +ADR_RET EQU #5D1A +DOS_SP EQU #5D1C +FL_NUMBER EQU #5D1E +COM_LN_COPY EQU #5D20 +L_5D23 EQU #5D23 +BUFER EQU #5D25 +AUTO_5D33 EQU #5D33 +CLEAR_SEC EQU #5E06 +CLEAR_TRK EQU #5E07 +TYPE_DISK EQU #5E08 +N_FILES EQU #5E09 +FREE_SEC EQU #5E0A +CODE_10H EQU #5E0C +DISK_MRK_1 EQU #5E0F +DISK_ALT_NM EQU #5E10 +N_DEL_FL EQU #5E19 +DISK_NAME EQU #5E1A ; -.BUFER_RD EQU #5D25 ; tr-dos buffer +BUFER_RD EQU ZX_VARS.BUFER ; tr-dos buffer +; +MENU_TBL: +.JUMP EQU #F6EA +.TEXT EQU #F6EC + ENDMODULE ;-----------------------------------------------------------------------;