mirror of
https://github.com/Tolik-Trek/Crazy-Blaster.git
synced 2026-06-15 09:31:37 +03:00
119 lines
5.2 KiB
Plaintext
119 lines
5.2 KiB
Plaintext
; § ¬ ¯«¥ ç¥à¥§ ª àâã ¯®à⮢ #7C/#3C ¨ #74/#24
|
||
CNF_PORT:
|
||
.ON EQU #74
|
||
.OFF EQU #24
|
||
.vBIOS EQU .ON
|
||
.vZX_ROM EQU .OFF
|
||
; Data:
|
||
.BIOS EQU 0
|
||
.EXTENSION EQU 1
|
||
.TURBO.OFF EQU 2 ; ¤ ë¥ ¤«ï ¢ëª«î票ï TURBO
|
||
.TURBO.ON EQU 3 ; ¤ ë¥ ¤«ï ¢ª«î票ï TURBO
|
||
.CNF_0 EQU #04 ; ª àâ ¯®à⮢ 0
|
||
.CNF_1 EQU #0C ; ª àâ ¯®à⮢ 1 (¤«ï ०¨¬ ¯®ç⨠ç¨á⮣® zx spectrum)
|
||
.CNF_2 EQU #14 ; ª àâ ¯®à⮢ 2
|
||
.CNF_3 EQU #1C ; ª àâ ¯®à⮢ 3 (०¨¬ ¤®áâ㯠ª ¯®àâ ¬ ‚ƒ93 ¡¥§ ᨣ « TR-DOS)
|
||
.PENT_RESET EQU #20
|
||
.SCORP_RESET EQU #40
|
||
.CNF_512 EQU #80 ; ¢ª«î票¥ Pentagon 128
|
||
.ZX_BIOS EQU #00
|
||
.ZX_EXTENSION EQU #01
|
||
; ¯à¨¡¨â ¢ ª®ä¥ £¢®§¤ï¬¨ #7C/#3C
|
||
SYS_PORT:
|
||
.ON EQU #7C
|
||
.OFF EQU #3C
|
||
.RAM EQU .OFF
|
||
.ROM EQU .ON
|
||
; Data:
|
||
.PAGE0 EQU 1
|
||
.PAGE8 EQU 0
|
||
.EXTENSION EQU .PAGE0
|
||
.BIOS EQU .PAGE8
|
||
.TURBO.ON EQU CNF_PORT.TURBO.ON
|
||
.TURBO.OFF EQU CNF_PORT.TURBO.OFF
|
||
.CNF_0 EQU CNF_PORT.CNF_0
|
||
.CNF_1 EQU CNF_PORT.CNF_1
|
||
.CNF_2 EQU CNF_PORT.CNF_2
|
||
.CNF_3 EQU CNF_PORT.CNF_3
|
||
.PENT_RESET EQU CNF_PORT.PENT_RESET
|
||
.SCORP_RESET EQU CNF_PORT.SCORP_RESET
|
||
.CNF_512 EQU CNF_PORT.CNF_512
|
||
|
||
---------------------------------------------------
|
||
CNF_PORT ¢¨á¨â 4 ¢¥è¨å ¯®àâ å (#7C/#3C ¨ #74/#24) ç¥à¥§ ª àâã ¯®à⮢.
|
||
SYS_PORT £¢®§¤ï¬¨ ¢ ª®ä¥ #7C/#C
|
||
|
||
SYS_PORT ⮫쪮 ¯¥à¥ª«îç ¥â RAM/ROM
|
||
CNF_PORT ¬¥ï¥â ¢áñ ®á⠫쮥, ¯à¨ ¡¨â1=0 ¬¥ïîâáï áâà ¨æë í¬ã«ïâ®à <20>‡“ ç¥à¥§ ¡¨â0
|
||
|
||
CNF_PORT
|
||
bit0 - TURBO: off/on ¨«¨ vROM:
|
||
; #24 - áâà ¨æ ¨§ ¢.¯®àâ (#E0..#E3)/(#E4..#E7)
|
||
; #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 - á¡à®á <20>¥â. ¯®àâ - -|---> ¤¥©áâ¢ãîâ ⮫쪮 ¯à¨ bit2=1
|
||
bit6 - CNF_SC_RESET by 1 - á¡à®á ‘ª®à¯. ¯®àâ - /
|
||
bit7 - CNF_PN[7..6]_RESET by 0 - á¡à®á <20>¥â-512 -/
|
||
|
||
<20>¥à¥ª«î票¥ áâà ¨æ vROM:
|
||
____________________________________________________
|
||
| ‡ 票¥ | ‡ ¯¨áì ¢® ¢¥è¨© ¯®àâ: |
|
||
| ¨§ ¢ãâà. |____________________________________|
|
||
| ¯®àâ | #24 ---- | | | |
|
||
| €«ìâ¥àë | #3C (-rom) | | | |
|
||
| ||| | #7C (+rom) | #74 | 1FFD | 7FFD |
|
||
| \|/ | bit1..0 | bit1..0 | bit1 | bit4 |
|
||
|_____________|____________|_________|______|______|
|
||
|E0 | 00 | | 1 | ... |
|
||
|E1 (+dos_on) | 00 | | 0 | ... |
|
||
|E2 | 00 | | 0 | 0 |
|
||
|E3 | 00 | | 0 | 1 |
|
||
|E4 | 01 | | 1 | ... | LOGO #4B
|
||
|E5 (+dos_on) | 01 | | 0 | ... |
|
||
|E6 | 01 | | 0 | 0 | Recovery_1 #48
|
||
|E7 | 01 | | 0 | 1 | Recovery_2 #49
|
||
|EB | | 00 | ... | ... | BIOS #46
|
||
|EF | | 01 | ... | ... | EXTENSION #47
|
||
|_____________|____________|_________|______|______|
|
||
... - § 票¥ ஫¨ ¥ ¨£à ¥â
|
||
|
||
‘â ¤ àâë¥ áâà ¨æë އ“ ¤«ï ®¡à §®¢ <20>‡“ ᯥªâà㬠:
|
||
Page Name Int.Port Page Name Int.Port
|
||
#42 BASIC 128 #E2 | #48 ??? ??? ??? #E6
|
||
#43 BASIC 48 #E3 | #49 ??? ??? ??? #E7
|
||
#44 TR-DOS #E1 | #4A ??? ??? ??? #E5
|
||
#45 BIOS (ZX_EXP) #E0 | #4B ??? ??? ??? #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 - á¡à®á <20>¥â. ¯®àâ - -|---> ¤¥©áâ¢ãîâ ⮫쪮 ¯à¨ bit2=1
|
||
bit6 - CNF_SC_RESET by 1 - á¡à®á ‘ª®à¯. ¯®àâ - /
|
||
bit7 - CNF_PN[7..6]_RESET by 0 - á¡à®á <20>¥â-512 -/
|
||
|
||
”ãªæ¨ï bit0 ®¯à¥¤¥«ï¥âáï ç¥à¥§ bit1
|
||
bit7..bit3 áà ¡ âë¢ î⠯ਠbit2 = 1
|
||
|
||
‡ ¯¨áì ¢ ¯®àâ #7C ¯®¤ª«îç ¥â <20>‡“ ¢ ®ª® 0, § ¯¨áì ¢ ¯®àâ #3C ®âª«îç ¥â
|
||
<EFBFBD>‡“ ®â ®ª 0, ¯®í⮬㠯®àâ 7‘/3C §ë¢ ¥âáï System/User.
|
||
<EFBFBD>¥à¥ª«î票¥ áâà ¨æ <20>‡“ à ¡®â ¥â ¢ í⮬ ¢ ਠ⥠⠪:
|
||
¢ <20>‡“ 16 áâà ¨æ ®â 0 ¤® 15, ¯®àâ #5C ¨å ¯¥à¥ª«îç ¥â á bit3 xor /SYS (SYS_PORT bit[1..0] = b"0X" (BIOS: Part1/Part0))
|
||
¥á«¨ ᤥ« âì ld a,1 : out (sys_port_on),a - â® ã¬¥à æ¨ï áâà ¨æ <20>‡“ ¡ã¤¥â ¯à ¢¨«ì ï ®â 0 ¤® 15,
|
||
¥á«¨ ᤥ« âì ld a,0 : out (sys_port_on),a - â® ã¬¥à æ¨ï áâà ¨æ <20>‡“ ¡ã¤¥â á ¨¢¥àâ¨à®¢ ë¬ bit3:
|
||
áâà ¨æë <20>‡“ 0-7 ¡ã¤ãâ 㬥஢ âìáï ª ª 8-15
|
||
áâà ¨æë <20>‡“ 8-15 ¡ã¤ãâ 㬥஢ âìáï ª ª 0-7
|
||
¯¥à¥ª«î票¥ áâà ¨æ <20>‡“ ¯®à⮬ #5C ¯à®¨á室¨â ⮫쪮 ¯à¨ ¢®âªã⮩ <20>‡“ ç¥à¥§ sys_port.
|
||
Œ®¦® ¯¥à¥ª«îç âì áâà ¨æë ç¥à¥§ ¢ãâ२© ¯®àâ #8F, ⮣¤ bit4 í⮣® ¯®àâ ¢ª«îç ¥â ᨣ « § ¯¨á¨ ¤«ï <20>‡“.
|
||
’ ª ¦¥ íâ®â ¯®àâ ¤ ñâ ¯àï¬ãî ã¬¥à æ¨î áâà ¨æ ¯à¨ ãáâ ®¢«¥®¬ bit4.
|
||
----------------------------------------------------
|
||
|
||
;!TODO
|
||
¯¤¥©â¥à ¤®«¦¥ á ¬ ¢áâ ¢«ïâì ®¬¥à ¯« âë ¨ ⨯ ¡¨âáâਬ |