первая бетка восьмой бетки
This commit is contained in:
parent
ea26e1f584
commit
934353b970
Binary file not shown.
@ -1176,7 +1176,6 @@ DOS_ON: NOP ;!TODO ࠡ
|
||||
;***************************************
|
||||
; BLOCK #3D02-$,FF
|
||||
; !TODO ¬®¦® ®¯à¨å®¤®¢ âì âãâ 17 ¡ ©â®¢
|
||||
;
|
||||
;***************************************
|
||||
|
||||
;***************************************
|
||||
@ -1234,17 +1233,13 @@ PROG_NO_ROM:
|
||||
DISP Spec_Page.no_zx_rom
|
||||
DI
|
||||
;
|
||||
LD A,CNF_PORT.CNF_0
|
||||
OUT (SYS_PORT.RAM),A
|
||||
;
|
||||
LD A,SHARED_PAGE
|
||||
OUT (SLOT3),A
|
||||
OUT (SLOT2),A
|
||||
OUT (SLOT1),A
|
||||
;
|
||||
LD HL,MESSAGE_NR
|
||||
LD DE,#A000
|
||||
LD BC,MESSAGE_NR.size
|
||||
LD A,C
|
||||
LDIR
|
||||
;
|
||||
LD SP,#BF00
|
||||
;
|
||||
LD E,0
|
||||
@ -1259,6 +1254,12 @@ PROG_NO_ROM:
|
||||
LD A,1
|
||||
OUT (SCREEN_SWITCH),A
|
||||
;
|
||||
LD HL,MESSAGE_NR
|
||||
LD DE,#A000
|
||||
LD BC,MESSAGE_NR.size
|
||||
LD A,C
|
||||
LDIR
|
||||
;
|
||||
LD HL,#A000
|
||||
LD D,0 ; delimiter
|
||||
LD E,COLORS.CGA.FLASH + COLORS.CGA.INK.RED
|
||||
@ -1277,7 +1278,7 @@ PROG_NO_ROM.size EQU $-PROG_NO_ROM
|
||||
;-------------------[]
|
||||
;-----------------------------------------------------------------------;
|
||||
;>$< >$< >$< >$< >$< >$< >$< >$< >$< >$< >$< >$< >$< >$< >$< >$< >$< >$<;
|
||||
; ENDIF
|
||||
|
||||
;-------------------------------[ #FFE0 ]-------------------------------;
|
||||
; ¯à®£à ¬¬ , ª®â®à ï ¡ã¤ãç¨ à §¬¥é¥®© ¢ #40 áâà ¨æ¥,
|
||||
; á ¤à¥á RESTARTS, ¯¥à¥å¢ âë¢ ¥â RESET
|
||||
@ -1290,8 +1291,8 @@ RESTARTS_PROG: ; !TODO LDConf
|
||||
NOP
|
||||
NOP
|
||||
.Size EQU $-RESTARTS_PROG
|
||||
; LD A,1
|
||||
; OUT (SLOT3),A
|
||||
; LD A,1
|
||||
; OUT (SLOT3),A
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
;----------------------------[Setup Starter]----------------------------;
|
||||
@ -1485,8 +1486,6 @@ kbd_loop2:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;#######################################################################;
|
||||
;#######################################################################;
|
||||
;-----------------------------------------------------------------------;
|
||||
@ -1504,6 +1503,11 @@ ROM_DISK.Pages: ;
|
||||
;#######################################################################;
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;---------[Return to EXTENSION]---------
|
||||
_mInfoBLOCK #3FD0-$,#FF ; ToBIOS_FromEXT
|
||||
; #3FD0
|
||||
|
||||
@ -300,13 +300,16 @@ INIT_CONFIG_ALL:
|
||||
LD DE,CNF_PORT.CNF_0 + ROM.BIOS
|
||||
LD (SYS_PAGE.CONFIG_DE - #4000),DE
|
||||
|
||||
|
||||
|
||||
; LD HL,SYS_PAGE.ZX_TASK.CURRENT - #4000 ; 㡨âì ¢á¥ § ¤ ç¨
|
||||
; LD DE,SYS_PAGE.ZX_TASK.CURRENT+1 - #4000
|
||||
; LD BC,_ZX_TASK - 1
|
||||
; LD (HL),0
|
||||
; LDIR
|
||||
|
||||
|
||||
LD A,Spec_Page
|
||||
OUT (SLOT2),A
|
||||
LD (Spec_Page.flag_Z - #4000),A
|
||||
|
||||
EX AF,AF'
|
||||
OUT (SLOT2),A
|
||||
|
||||
@ -437,35 +437,19 @@ EXIT_SETUP: CALL INT_OFF
|
||||
; error
|
||||
XOR A
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD D,CMOS_CELL.QuickStartSetUp
|
||||
LD D,CMOS_CELL.QuickStartSetUp ; ®¡ã«ï¥¬ ¯ à ¬¥âà ¢á直© á«ãç ©
|
||||
CALL CMOS_WR
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
;
|
||||
CALL ScreenPOS.CRLF
|
||||
LD A,msgStrings.errorZXmode
|
||||
LD E,COLORS.CGA.INK.RED
|
||||
CALL POSTMSC
|
||||
.loop_di: DI
|
||||
HALT
|
||||
JR .loop_di
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; ELSE
|
||||
;LD BC,#020E
|
||||
;CALL GET_CMOS_VALUE
|
||||
;OR A
|
||||
;LD A,#EC ;SPRINTER
|
||||
;JR Z,XFLEX
|
||||
;LD A,#EA ;SPECTRUM
|
||||
;XFLEX:
|
||||
; XOR A ;LD A,ROM.BIOS
|
||||
; OUT (SYS_PORT.ROM),A
|
||||
; POP HL ; ¯¨å ¥âáï ¢ EXP.ASM ¢ ¯à®æ¥¤ãà¥
|
||||
; JP (HL)
|
||||
;LD (JMPHL),HL
|
||||
;LD C,#F3
|
||||
;RST_to_BIOS
|
||||
;JMPHL EQU $+1
|
||||
;JP #0000
|
||||
; ENDIF
|
||||
|
||||
SetUp_ZX_HDD: LD D,CMOS_CELL.TRDOSmount
|
||||
CALL CMOS_RD
|
||||
AND %1010'1010 ; ¬ ᪠¤«ï 4-å HDD
|
||||
@ -1827,6 +1811,71 @@ init_zx_roms: DI
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD A,Spec_Page
|
||||
OUT (SLOT3),A
|
||||
.init_41h: ; § ¡¨âì FF- ¬¨
|
||||
LD HL,#C000
|
||||
LD DE,#C001
|
||||
LD BC,#3FFF - 2
|
||||
LD (HL),#FF
|
||||
LDIR
|
||||
; ‡ £«ãèª ¤«ï áâà ¨æë #41
|
||||
LD HL,PROG_NO_ROM
|
||||
LD DE,#C000 + Spec_Page.no_zx_rom
|
||||
LD BC,PROG_NO_ROM.size
|
||||
LDIR
|
||||
;
|
||||
LD HL,RAM_BIOS_PROG
|
||||
LD DE,#C000 + Spec_Page.to_bios
|
||||
LD BC,RAM_BIOS_PROG.Length
|
||||
LDIR
|
||||
RET
|
||||
;---------------------------------------------------------------------[]
|
||||
|
||||
|
||||
;---------------------------------------
|
||||
INCLUDE 'src/bios/ROM/SETUP/messages.z80'
|
||||
;---------------------------------------
|
||||
;
|
||||
|
||||
STRUCT MAIN_BUFFERS
|
||||
ID BLOCK #100
|
||||
Messages BLOCK MSG_ENG.size
|
||||
Shared BLOCK 1024
|
||||
End BYTE
|
||||
ENDS
|
||||
|
||||
|
||||
memBUFFER MAIN_BUFFERS = $
|
||||
STACK EQU #C000
|
||||
.Size EQU 128
|
||||
|
||||
|
||||
IF memBUFFER.End-1 > #C000-STACK.Size
|
||||
DISPLAY 'memBUFFER.Shared overlaps STACK by: ',/A,(memBUFFER.End-1)-(#C000-STACK.size)
|
||||
ASSERT memBUFFER.End-1 < #C000-STACK.size
|
||||
ENDIF
|
||||
|
||||
IFDEF PREBUILD
|
||||
OUTEND
|
||||
|
||||
DISPLAY '-----[Set_Pictures Prebuild start]-----'
|
||||
MMU 1 e, 0 ; áâà ¨æ 0 ¢ ¡ ªã 0 ¨ ¯à®¢¥àª £à ¨æë.
|
||||
ORG ROM_MAP.LOGO
|
||||
INCLUDE 'src/bios/logo/Set_Pictures.asm'
|
||||
DISPLAY '-----[Set_Pictures Prebuild done ]-----'
|
||||
ELSE
|
||||
DISPLAY '------------------[Main.asm]------------------'
|
||||
DISPLAY 'End code address: ',/A,$-1
|
||||
DISPLAY 'Code size: ',/A,$-COMPILE_ADDR.MAIN
|
||||
DISPLAY 'End buffers address: ',/A,memBUFFER.End-1
|
||||
DISPLAY 'Free memory: ',/A,#C000-(memBUFFER.End-1)-STACK.Size
|
||||
DISPLAY 'Unused bytes before INT_POINTER: ',/A,INT_POINTER-before_intPointer
|
||||
ENDIF
|
||||
;
|
||||
|
||||
|
||||
|
||||
;=======================================================================================================================
|
||||
|
||||
; ;;;;;;;;
|
||||
; ELSE
|
||||
; ;;;;;;;;
|
||||
@ -1893,64 +1942,3 @@ init_zx_roms: DI
|
||||
; ;;;;;;;;
|
||||
; ENDIF
|
||||
; ;;;;;;;;
|
||||
|
||||
.init_41h: ; § ¡¨âì FF- ¬¨
|
||||
LD HL,#C000
|
||||
LD DE,#C001
|
||||
LD BC,#3FFF - 2
|
||||
LD (HL),C
|
||||
LDIR
|
||||
; ‡ £«ãèª ¤«ï áâà ¨æë #41
|
||||
LD HL,PROG_NO_ROM
|
||||
LD DE,#C000 + Spec_Page.no_zx_rom
|
||||
LD BC,PROG_NO_ROM.size
|
||||
LDIR
|
||||
;
|
||||
LD HL,RAM_BIOS_PROG
|
||||
LD DE,#C000 + Spec_Page.to_bios
|
||||
LD BC,RAM_BIOS_PROG.Length
|
||||
LDIR
|
||||
RET
|
||||
;---------------------------------------------------------------------[]
|
||||
|
||||
|
||||
;---------------------------------------
|
||||
INCLUDE 'src/bios/ROM/SETUP/messages.z80'
|
||||
;---------------------------------------
|
||||
;
|
||||
|
||||
STRUCT MAIN_BUFFERS
|
||||
ID BLOCK #100
|
||||
Messages BLOCK MSG_ENG.size
|
||||
Shared BLOCK 1024
|
||||
End BYTE
|
||||
ENDS
|
||||
|
||||
|
||||
memBUFFER MAIN_BUFFERS = $
|
||||
STACK EQU #C000
|
||||
.Size EQU 128
|
||||
|
||||
|
||||
IF memBUFFER.End-1 > #C000-STACK.Size
|
||||
DISPLAY 'memBUFFER.Shared overlaps STACK by: ',/A,(memBUFFER.End-1)-(#C000-STACK.size)
|
||||
ASSERT memBUFFER.End-1 < #C000-STACK.size
|
||||
ENDIF
|
||||
|
||||
IFDEF PREBUILD
|
||||
OUTEND
|
||||
|
||||
DISPLAY '-----[Set_Pictures Prebuild start]-----'
|
||||
MMU 1 e, 0 ; áâà ¨æ 0 ¢ ¡ ªã 0 ¨ ¯à®¢¥àª £à ¨æë.
|
||||
ORG ROM_MAP.LOGO
|
||||
INCLUDE 'src/bios/logo/Set_Pictures.asm'
|
||||
DISPLAY '-----[Set_Pictures Prebuild done ]-----'
|
||||
ELSE
|
||||
DISPLAY '------------------[Main.asm]------------------'
|
||||
DISPLAY 'End code address: ',/A,$-1
|
||||
DISPLAY 'Code size: ',/A,$-COMPILE_ADDR.MAIN
|
||||
DISPLAY 'End buffers address: ',/A,memBUFFER.End-1
|
||||
DISPLAY 'Free memory: ',/A,#C000-(memBUFFER.End-1)-STACK.Size
|
||||
DISPLAY 'Unused bytes before INT_POINTER: ',/A,INT_POINTER-before_intPointer
|
||||
ENDIF
|
||||
;
|
||||
@ -602,7 +602,7 @@ msgStrings:
|
||||
_mSetStr bootFail, tmp_Counter : DZ ' fail' ; !FIXIT strFail
|
||||
_mSetStr bootOk, tmp_Counter : DZ ' OK'
|
||||
_mSetStr afterBootFail, tmp_Counter : DZ 'PRESS <ENTER> TO REBOOT, <DEL> TO ENTER SETUP OR <ESC> TO ZX-MODE . . .'
|
||||
; _mSetStr noMemZX, tmp_Counter : DZ 'Error! No free memory to start ZX mode. Press CTRL+ALT+DEL or RESET.'
|
||||
_mSetStr errorZXmode, tmp_Counter : DZ 'Error! Spectrum mode launch failed. Press CTRL+ALT+DEL or RESET.'
|
||||
;
|
||||
_mSetStr parLang, tmp_Counter : DZ 'Language (ï§ëª) : '
|
||||
_mSetStr valLangEng, tmp_Counter : DZ 'English '
|
||||
@ -709,7 +709,7 @@ msgStrings:
|
||||
_mSetStr valQS_SetUpTrDos, tmp_Counter : DZ 'TR-DOS '
|
||||
_mSetStr valQS_SetUpExp, tmp_Counter : DZ 'Expansion '
|
||||
_mSetStr valQS_SetUpTrDos48, tmp_Counter : DZ 'TR-DOS 48 '
|
||||
_mSetStr valQS_SetUpBasic48, tmp_Counter : DZ 'Basic 48+ '
|
||||
_mSetStr valQS_SetUpBasic48, tmp_Counter : DZ 'Basic 48 '
|
||||
; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ 'On call '
|
||||
IF NEW_FEATURE
|
||||
_mSetStr parSetTime, tmp_Counter : DZ 'Date and time setup : '
|
||||
@ -778,7 +778,7 @@ msgRusStrings:
|
||||
_mSetStrRus bootFail, tmp_Counter : DZ ' ¥¢®§¬®¦¥'
|
||||
_mSetStrRus bootOk, tmp_Counter : DZ ' OK'
|
||||
_mSetStrRus afterBootFail, tmp_Counter : DZ '<EFBFBD>€†Œˆ’… <ENTER> „‹Ÿ <EFBFBD>…<EFBFBD>…‡€ƒ<EFBFBD>“‡Šˆ, <DEL> „‹Ÿ <EFBFBD>€‘’<EFBFBD>Ž…Š ˆ‹ˆ <ESC> „‹Ÿ ZX-MODE . . .'
|
||||
; _mSetStrRus noMemZX, tmp_Counter : DZ 'Žè¨¡ª ! <20>¥¤®áâ â®ç® ¯ ¬ï⨠¤«ï áâ àâ ZX Mode. <20> ¦¬¨â¥ CTRL+ALT+DEL ¨«¨ RESET.'
|
||||
_mSetStrRus errorZXmode, tmp_Counter : DZ 'Žè¨¡ª ! ‡ ¯ã᪠०¨¬ Spectrum ¥ 㤠«áï. <EFBFBD> ¦¬¨â¥ CTRL+ALT+DEL ¨«¨ RESET.'
|
||||
;
|
||||
_mSetStrRus parLang, tmp_Counter : DZ 'Ÿ§ëª (language) : '
|
||||
_mSetStrRus valLangEng, tmp_Counter : DZ 'English '
|
||||
@ -885,7 +885,7 @@ msgRusStrings:
|
||||
_mSetStrRus valQS_SetUpTrDos, tmp_Counter : DZ 'TR-DOS '
|
||||
_mSetStrRus valQS_SetUpExp, tmp_Counter : DZ 'Expansion '
|
||||
_mSetStrRus valQS_SetUpTrDos48, tmp_Counter : DZ 'TR-DOS 48 '
|
||||
_mSetStrRus valQS_SetUpBasic48, tmp_Counter : DZ 'Basic 48+ '
|
||||
_mSetStrRus valQS_SetUpBasic48, tmp_Counter : DZ 'Basic 48 '
|
||||
; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ '<27>ਠ¢ë§®¢¥ '
|
||||
IF NEW_FEATURE
|
||||
_mSetStrRus parSetTime, tmp_Counter : DZ '„ â ¨ ¢à¥¬ï : '
|
||||
|
||||
@ -390,7 +390,7 @@ INIT_vROM: LD A,(HL)
|
||||
POP DE
|
||||
POP BC
|
||||
DJNZ .loop
|
||||
; ãáâ ®¢ª ¬¥âª¨ ZX ¥á«¨ à ¬¡«®ª ¥ #FF
|
||||
; ãáâ ®¢ª ¬¥âª¨ ZX ¥á«¨ à ¬¡«®ª ¥ 0
|
||||
LD A,(SYS_PAGE.Block_ID.vROM)
|
||||
OR A
|
||||
RET Z
|
||||
@ -726,7 +726,6 @@ GOTO_SPECTRUM: LD A,BIOS.Error.NotSupported
|
||||
OUT (RGMOD),A ; ॣ¨áâà ¬®¤ë
|
||||
;
|
||||
LD IY,.BASIC_128
|
||||
;!TODO ¥á«¨ 48ª â® ¥ 㦮? ; [ ] free zx pages!
|
||||
JR INIT_PAGES ; ¨¨æ¨ «¨§ æ¨ï ®¬¥à®¢ áâà ¨æ ०¨¬ ᯥªâàã¬
|
||||
;start_basic:
|
||||
.BASIC_128: LD SP,#C000
|
||||
@ -734,7 +733,6 @@ GOTO_SPECTRUM: LD A,BIOS.Error.NotSupported
|
||||
LD DE,ZX_VARS.PRINTER_BUFFER ; § ¯ã᪠¯à®£à ¬¬ë BASIC-¥.
|
||||
LD BC,RES128_PROG.Size
|
||||
LDIR
|
||||
DI
|
||||
JP ZX_VARS.PRINTER_BUFFER
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
@ -779,9 +777,14 @@ INIT_PAGES: LD A,SYS_PAGE
|
||||
JR Z,.set_pent
|
||||
;!FIXIT ®¡à ¡®âª ®è¨¡ª¨
|
||||
DI
|
||||
HALT
|
||||
.error_loop: LD A,R
|
||||
AND 7
|
||||
OUT (BorderColor),A
|
||||
JR .error_loop
|
||||
;
|
||||
.set_48k: LD A,(HL) ; SLOT0, SLOT3 page
|
||||
.set_48k: LD A,5 ; !HARDCODE CONFIG_DE.ZX_START ‚•Ž„ ‚ BASIC 48 á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
|
||||
LD (SYS_PAGE.CONFIG_DE.ZX_START - #8000),A
|
||||
LD A,(HL) ; SLOT0, SLOT3 page
|
||||
INC HL
|
||||
LD E,(HL) ; SLOT1 page
|
||||
INC HL
|
||||
@ -860,7 +863,7 @@ RES128_PROG:
|
||||
; 3 ‚•Ž„ ‚ EXPANSION
|
||||
;!TODO ¯®ª ¥ à ¡®â ¥â. Page #45, BIOS (ZX_EXP) #E0
|
||||
XOR A
|
||||
OUT (C),A
|
||||
OUT (C),A ; 7FFD
|
||||
LD A,#02
|
||||
LD B,#1F
|
||||
OUT (C),A
|
||||
|
||||
@ -368,7 +368,7 @@ SERVICE:
|
||||
CALL EXEC_PNT
|
||||
JR SERVICE
|
||||
|
||||
SR_TAB: DW UTILIT
|
||||
SR_TAB: DW RUN_DISK_TRD
|
||||
DW GOTO_TRDOS.m128
|
||||
DW GOTO_TRDOS.m48
|
||||
DW TURBO_OFF
|
||||
@ -481,22 +481,24 @@ Hardware_Menu_TAB:
|
||||
; DW TR_DOS
|
||||
; DW SP_DOS
|
||||
DW SPRINTER_ZX
|
||||
DW ZX_SPECTRUM_128
|
||||
DW PENTAGON_128
|
||||
DW SCORPION_256
|
||||
DW Pentagon_48
|
||||
DW PENTAGON_128
|
||||
DW PENTAGON_512
|
||||
DW ZX_SPECTRUM_128
|
||||
DW SPRINTER_reset ;SPRINTER_2X
|
||||
DW RET_FROM_M
|
||||
|
||||
; DC - every last character of a string will have bit 7 set
|
||||
Hardware_Menu_STR:
|
||||
BYTE 8 ; ª®«¨ç¥á⢮ ¯ãªâ®¢
|
||||
BYTE 9 ; ª®«¨ç¥á⢮ ¯ãªâ®¢
|
||||
BYTE 'Hardware',#FF ; § £®«®¢®ª ¬¥î
|
||||
DC 'Sprinter ZX '
|
||||
DC 'ZX Spectrum'
|
||||
DC 'Pentagon 128'
|
||||
DC 'Scorpion 256'
|
||||
DC 'Pentagon 48 '
|
||||
DC 'Pentagon 128'
|
||||
DC 'Pentagon 512'
|
||||
DC 'Spectrum 128'
|
||||
DC 'Restart '
|
||||
DC 'RETURN'
|
||||
DC " " ; ¬ àª¥à ª®æ
|
||||
@ -522,21 +524,20 @@ Hardware_Menu_STR:
|
||||
;**************************************************
|
||||
SPRINTER_ZX: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.SP97_1
|
||||
LD DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_0 ; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë
|
||||
LD BC,#FE*256 + %0000'0010 ; !HARDCODE Port All Mode data. int pent, set default palette, 320 áâப
|
||||
LD DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_0 ; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë
|
||||
JR PREPARE_TO_START_ZX
|
||||
;
|
||||
ZX_SPECTRUM_128:
|
||||
LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET ; !HARDCODE 2 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 128
|
||||
LD BC,#FA*256 + %1000'0011
|
||||
JR PREPARE_TO_START_ZX
|
||||
JR PENTAGON_128.zx
|
||||
;
|
||||
SCORPION_256: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_1 ; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë
|
||||
LD BC,#FE*256 + %1000'0001
|
||||
LD DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_1 ; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë
|
||||
PREPARE_TO_START_ZX:
|
||||
DI
|
||||
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
|
||||
@ -576,15 +577,26 @@ PREPARE_TO_START_ZX:
|
||||
;
|
||||
PENTAGON_128: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET ; !HARDCODE 2 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 128
|
||||
LD BC,#FE*256 + %0000'0010
|
||||
.zx: LD DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET ; !HARDCODE 2 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 128
|
||||
JR PREPARE_TO_START_ZX
|
||||
;
|
||||
PENTAGON_512: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD DE,3*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_512 + CNF_PORT.SCORP_RESET ; !HARDCODE 3 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 512
|
||||
LD BC,#FE*256 + %0000'0010
|
||||
LD DE,3*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_512 + CNF_PORT.SCORP_RESET ; !HARDCODE 3 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 512
|
||||
JR PREPARE_TO_START_ZX
|
||||
;
|
||||
Pentagon_48: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD BC,#FE*256 + %0000'0010
|
||||
.zx: LD DE,1*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_1 ; !HARDCODE 1 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠48 ª¡
|
||||
JR PREPARE_TO_START_ZX
|
||||
;
|
||||
ZX_Spectrum_48: LD L,0 ; â®çª ¢å®¤ ¢ <20>‡“
|
||||
.custom_ROM: LD H,BIOS.RST_CONF.AY8910
|
||||
LD BC,#FA*256 + %1000'0011
|
||||
JR Pentagon_48.zx
|
||||
|
||||
; CONFIG_SET:
|
||||
; PUSH DE
|
||||
@ -663,10 +675,13 @@ SPRINTER_reset:
|
||||
; *** MENU UTILITES ***
|
||||
;*****************************
|
||||
;!FIXIT íâ® § ¯ã᪠c:\disk.trd - ¥ ¤ã¬ î, çâ® í⮠㦮, ¬®¦® § ¬¥¨âì
|
||||
UTILIT:
|
||||
RUN_DISK_TRD:
|
||||
LD HL,C_DISK_C
|
||||
CALL CALL_DOS1
|
||||
|
||||
LD A,SYS_PORT.CNF_0 + SYS_PORT.EXTENSION
|
||||
OUT (SYS_PORT.ROM),A
|
||||
|
||||
;CALL DOS_ON
|
||||
;LD A,0 ; DETECT_HDD
|
||||
;CALL EXP_HDD
|
||||
@ -675,12 +690,12 @@ UTILIT:
|
||||
;CALL DOS_OFF
|
||||
|
||||
|
||||
JR C,DISK_UTILIT
|
||||
JR C,.DISK_UTILIT
|
||||
|
||||
LD HL,C_DISK_C3
|
||||
CALL CALL_DOS1
|
||||
|
||||
UTIL_DISK:
|
||||
.UTIL_DISK:
|
||||
XOR A
|
||||
LD C,BIOS.FreeMemRMD
|
||||
CALL ToBIOS_FromEXT
|
||||
@ -692,33 +707,44 @@ UTIL_DISK:
|
||||
LD C,BIOS.GET_RAMD_ST
|
||||
CALL ToBIOS_FromEXT
|
||||
|
||||
JR C,UTIL_DISK_L1
|
||||
JR Z,UTIL_DISK_L1
|
||||
JR C,.UTIL_DISK_L1
|
||||
JR Z,.UTIL_DISK_L1
|
||||
|
||||
LD HL,C_DISK_C1
|
||||
CALL CALL_DOS1
|
||||
; [ ] ¨á¯à ¢«¥ ¡ £ á § ¯ã᪮¬ disk.trd á CNF != 0
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,(SYS_PAGE.CONFIG_DE.CNF_PORT)
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
OUT (SYS_PORT.ROM),A
|
||||
;
|
||||
LD HL,C_DISK_C2
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
UTIL_DISK_L1:
|
||||
.UTIL_DISK_L1:
|
||||
LD A,(ZX_VARS.OPER_DISK)
|
||||
INC A
|
||||
CP 2
|
||||
JR Z,DISK_UTIL_RET
|
||||
JR Z,.DISK_UTIL_RET
|
||||
LD HL,C_DISK_C5
|
||||
CALL CALL_DOS1
|
||||
JR UTIL_DISK
|
||||
JR .UTIL_DISK
|
||||
|
||||
DISK_UTIL_RET:
|
||||
.DISK_UTIL_RET:
|
||||
LD HL,C_DISK_C6
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
DISK_UTILIT:
|
||||
.DISK_UTILIT:
|
||||
LD HL,C_DISK_C4
|
||||
CALL CALL_DOS1
|
||||
JR UTIL_DISK
|
||||
JR .UTIL_DISK
|
||||
|
||||
C_DEMO6: DB .Size, ZX_Token.rem, ':/disk.trd', 13,80
|
||||
.Size EQU $-C_DEMO6-1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user