starting vBIOS

This commit is contained in:
Tolik 2024-07-31 03:29:05 +10:00
parent 9f19a04da6
commit 9b9bb846d8
45 changed files with 327 additions and 2146 deletions

View File

@ -16,7 +16,7 @@
;---------------------------------------; ;---------------------------------------;
;-----------[Shared Includes]----------- ;-----------[Shared Includes]-----------
INCLUDE 'src/bios/shared/includes.inc' ; Includes INCLUDE 'crazy bios/shared/includes.inc' ; Includes
;--------------------------------------- ;---------------------------------------
@ -30,50 +30,6 @@
ENDLUA ENDLUA
IF PACKED_MAIN
;------------[MAIN prebuild]------------;
LUA PASS1
-- ­ áâà ¨¢ ¥¬ ¯ãâì ¤® 㯠ª®¢é¨ª 
detected_os = Detect_os()
print ("OS detected:", detected_os)
print ()
if detected_os == "Windows" then
pack_prog = "src\\bin\\hrust.exe Build\\Bin\\temp\\MAIN.PAK Build\\Bin\\temp\\MAIN.BIN"
elseif detected_os == "MacOS" then
pack_prog = "src/bin/mhmt -hst -zxh Build/Bin/temp/MAIN.BIN Build/Bin/temp/MAIN.PAK"
elseif detected_os == "Linux" then
pack_prog = "src/bin/mhmt -hst -zxh Build/Bin/temp/MAIN.BIN Build/Bin/temp/MAIN.PAK"
end
-- ª®¬¯¨«ïæ¨ï ¤«ï ¯®«ã祭¨ï ᦠ⮣® ä ©«  MAIN ¨ 宫®á⮩ ¯à®å®¤ Set_Pictures.asm
if (os.execute("sjasmplus -DPREBUILD=1 -Wall --msg=war --nologo --syntax=w --fullpath --lst=Build/Prebuilds.LST SRC/BIOS/ROM/SETUP/MAIN.ASM")) then
print("--[ MAIN.ASM Prebuild DONE ]--")
if (os.execute(pack_prog)) then
print("--[ Hrusting MAIN.BIN DONE ]--")
print(" ")
else
print("--[ Hrusting MAIN.BIN ERROR!!! ]--")
os.exit(1)
end
else
print("--[ MAIN.ASM Prebuild ERROR!!! ]--")
os.exit(1)
end
ENDLUA
;---------------------------------------;
ENDIF
IF PACKED_MAIN
;----------[MAIN's referenses]----------; Š®¬¯¨«ïæ¨ï ¤«ï ¯®«ã祭¨ï  ¤à¥á®¢ ¬¥â®ª ¨ ¯à®æ¥¤ãà
MMU 2 e, 18 ; áâà ­¨æ  18 ¢ ¡ ­ªã 2 ¨ ¯à®¢¥àª  ­  £à ­¨æë.
ORG COMPILE_ADDR.MAIN
INCLUDE 'src/bios/ROM/SETUP/MAIN.asm'
;---------------------------------------
ENDIF
; Building page 8 of Sprinter ROM ; Building page 8 of Sprinter ROM
;-----------------[EXP]----------------- ;-----------------[EXP]-----------------
MMU 0 e, 8 ; áâà ­¨æ  8 ¢ ¡ ­ªã 0 ¨ ¯à®¢¥àª  ­  £à ­¨æë MMU 0 e, 8 ; áâà ­¨æ  8 ¢ ¡ ­ªã 0 ¨ ¯à®¢¥àª  ­  £à ­¨æë
@ -81,7 +37,7 @@
DEFINE+ IsInBIOS 1 DEFINE+ IsInBIOS 1
OUTPUT 'Build/Bin/EXP.BIN' OUTPUT 'Build/Bin/EXP.BIN'
ShowInfo 'EXP block Start', 0 ; !!!!! test ShowInfo 'EXP block Start', 0 ; !!!!! test
INCLUDE 'src/bios/EXP/EXP.asm' INCLUDE 'crazy bios/EXP/EXP.asm'
ShowInfo 'EXP block End', 0 ; !!!!! test ShowInfo 'EXP block End', 0 ; !!!!! test
OUTEND OUTEND
;--------------------------------------- ;---------------------------------------
@ -95,7 +51,7 @@
DEFINE+ IsInBIOS 0 DEFINE+ IsInBIOS 0
OUTPUT 'Build/Bin/ROM.BIN' OUTPUT 'Build/Bin/ROM.BIN'
ShowInfo 'ROM block Start', 0 ; !!!!! test ShowInfo 'ROM block Start', 0 ; !!!!! test
INCLUDE 'src/bios/ROM/ROM.asm' INCLUDE 'crazy bios/ROM/ROM.asm'
ShowInfo 'ROM block End', 0 ; !!!!! test ShowInfo 'ROM block End', 0 ; !!!!! test
OUTEND OUTEND
UNDEFINE IsInBIOS UNDEFINE IsInBIOS
@ -106,25 +62,25 @@
; Building page 12 of Sprinter ROM ; Building page 12 of Sprinter ROM
;------[Loader with bitstream K30]------ ;------[Loader with bitstream K30]------
MMU 0 3, 12 ; áâà ­¨æë 12-15 ¢ ¡ ­ª¨ 0-3. ; MMU 0 3, 12 ; áâà ­¨æë 12-15 ¢ ¡ ­ª¨ 0-3.
ORG ROM_MAP.LOADER ; ORG ROM_MAP.LOADER
OUTPUT 'Build/Bin/LOADER_K30.BIN' ; OUTPUT 'Build/Bin/LOADER_K30.BIN'
Conf_loader K30 ; Conf_loader K30
BLOCK #10000-$,#FF ; BLOCK #10000-$,#FF
OUTEND ; OUTEND
;--------------------------------------- ;---------------------------------------
; Building page 22 of Sprinter ROM ; Building page 22 of Sprinter ROM
;------[Loader with bitstream K50]------ ;------[Loader with bitstream K50]------
MMU 0 3, 22 ; áâà ­¨æë 22-25 ¢ ¡ ­ª¨ 0-3. ; MMU 0 3, 22 ; áâà ­¨æë 22-25 ¢ ¡ ­ª¨ 0-3.
ORG ROM_MAP.LOADER ; ORG ROM_MAP.LOADER
OUTPUT 'Build/Bin/LOADER_K50.BIN' ; OUTPUT 'Build/Bin/LOADER_K50.BIN'
;!TODO ᤥ« âì 㯠ª®¢é¨ª ¡¨âáâਬ  âãâ ­  LUA ; ;!TODO ᤥ« âì 㯠ª®¢é¨ª ¡¨âáâਬ  âãâ ­  LUA
Conf_loader K50 ; Conf_loader K50
BLOCK #10000-$,#FF ; BLOCK #10000-$,#FF
OUTEND ; OUTEND
;--------------------------------------- ;---------------------------------------
; ;
@ -133,7 +89,7 @@
MMU 1 e, 1 ; áâà ­¨æ  1 ¢ ¡ ­ªã 1 ¨ ¯à®¢¥àª  ­  £à ­¨æë. MMU 1 e, 1 ; áâà ­¨æ  1 ¢ ¡ ­ªã 1 ¨ ¯à®¢¥àª  ­  £à ­¨æë.
ORG ROM_MAP.LOGO ORG ROM_MAP.LOGO
OUTPUT 'Build/Bin/LOGO.BIN' OUTPUT 'Build/Bin/LOGO.BIN'
INCLUDE 'src/bios/logo/Set_Pictures.asm' INCLUDE 'crazy bios/logo/Set_Pictures.asm'
OUTEND OUTEND
;--------------------------------------- ;---------------------------------------
; ;
@ -142,7 +98,7 @@
EXPORT BOARD_INFO.type EXPORT BOARD_INFO.type
EXPORT BoardID.start EXPORT BoardID.start
EXPORT BoardID.end EXPORT BoardID.end
EXPORT FN_CRIPT.cnf ;EXPORT FN_CRIPT.cnf
EXPORT ID_SPRINTER.bitstream_ver EXPORT ID_SPRINTER.bitstream_ver
EXPORT bitstream_ver_hex EXPORT bitstream_ver_hex
;EXPORT ID_Version ;EXPORT ID_Version

View File

@ -1,28 +1,6 @@
/*
;------------[LUA functions]------------;
includelua 'Shared_Includes/LUA/Functions.lua'
;---------------------------------------;
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp'
LUA PASS1
-- <20>஢¥à塞 BMP, ¤®áâ ñ¬ ¨§ ­¥£® ¯ à ¬¥âàë, ०¥¬ ­  ªã᪨
bmp_width, bmp_height, bmp_image_size, bmp_image_offset, bmp_colors = Get_bmp8bit_values (sj.get_define("PICTURE_FILE"))
if bmp_width ~= 128 then sj.error("Invalid BMP width", bmp_width) end
if bmp_height ~= 72 then sj.error("Invalid BMP height", bmp_height) end
if bmp_colors ~= 256 then sj.error("Invalid BMP number of colors", bmp_colors) end
if not File_save(sj.get_define("PICTURE_FILE"), "./Build/Bin/LOGO_PAL.BIN", bmp_image_offset-1024, 1024) then sj.error("Palete save error!") end
if not File_save(sj.get_define("PICTURE_FILE"), "./Build/Bin/LOGO_DAT.BIN", bmp_image_offset, bmp_image_size) then sj.error("Image data save error!") end
ENDLUA
*/
INCLUDE 'shared/defines.inc' INCLUDE 'shared/defines.inc'
DEFINE IMG_RECOVERY 'src/bios/shared/recovery.img' DEFINE IMG_RECOVERY 'crazy bios/shared/cb_sys.img'
;DEFINE IMG_RECOVERY 'src/bios/shared/recovery_tst.img'
; ;
;[--------------------------------------------------------------------------] ;[--------------------------------------------------------------------------]
MACRO Set_Block text, blk_addr MACRO Set_Block text, blk_addr
@ -30,82 +8,30 @@
BLOCK blk_addr-.tmp,#FF BLOCK blk_addr-.tmp,#FF
DISPLAY text, /H, $-.tmp DISPLAY text, /H, $-.tmp
ENDM ENDM
;[--------------------------------------------------------------------------]
DEFINE SP_128_BIN INCBIN 'src/ZX_ROMS/NEW/SP_128.BIN'
DEFINE SP__48_BIN INCBIN 'src/ZX_ROMS/NEW/SP__48.BIN'
DEFINE SP_TRDOS_BIN INCBIN 'src/ZX_ROMS/NEW/SP_TRDOS.BIN'
;[--------------------------------------------------------------------------]
MACRO ROM_BUILD bitstream
;PAGE 0
INCBIN 'Build/Bin/ROM.BIN'
Set_Block 'ROM free space: ', #4000
;
;PAGE 1
; INCBIN 'Build/Bin/LOGO_PAL.BIN'
; INCBIN 'Build/Bin/LOGO_DAT.BIN'
INCBIN 'Build/Bin/LOGO.BIN'
Set_Block 'LOGO free space: ', #8000
;
;
;PAGE 2 ZX Page - #42
SP_128_BIN
Set_Block 'SP_128 free space: ', #C000
;
;PAGE 3 ZX Page - #43
SP__48_BIN
Set_Block 'SP_48 free space: ', #10000
;
;PAGE 4 ZX Page - #44
SP_TRDOS_BIN
Set_Block 'SP_TRD free space: ', #14000
;
;PAGE 5 Recovery image part 1
INCBIN IMG_RECOVERY,0,#C000
DISPLAY "ROM Disk recovery part1, pages 5..7: 1x4000..2x0000"
;
;
;PAGE 8
INCBIN 'Build/Bin/EXP.BIN'
;INCBIN 'Build/CrazyBlaster.raw'
Set_Block 'EXP free space: ', #24000
;
;PAGE 9-11 (#09, #0A, #0B) Recovery image part 2
INCBIN IMG_RECOVERY,#C000,#C000
DISPLAY "ROM Disk recovery part2, pages 9..11: 2x4000..3x0000"
Set_Block 'Empty space: ', #30000
;
;PAGE 12-15 (#0C, #0D, #0E, #0F)
INCBIN bitstream
Set_Block 'Loader & Bitstream free space: ', #40000
;
ENDM
;[--------------------------------------------------------------------------]
;[--------------------------------------------------------------------------] ;[--------------------------------------------------------------------------]
ORG 0 ORG 0
DISPLAY '[ Building ROM for 1K30 ]' DISPLAY '[ Building CB_IMG file ]'
OUTPUT 'Build/_SPRIN.BIN' OUTPUT 'Build/CB_BIOS.RAW'
ROM_BUILD 'Build/Bin/LOADER_K30.BIN'
OUTEND
DISPLAY '[ Building ROM for 1K30 done ]'
DISPLAY ' '
DISP 0
DISPLAY '[ Building ROM for 1K50 ]'
OUTPUT 'Build/_SPRIN50.BIN'
ROM_BUILD 'Build/Bin/LOADER_K50.BIN'
OUTEND
DISPLAY '[ Building ROM for 1K50 done ]'
ENT
;[--------------------------------------------------------------------------] ;[--------------------------------------------------------------------------]
; ;
;PAGE #46 BIOS
INCBIN 'Build/Bin/EXP.BIN'
Set_Block 'EXP free space: ', #4000
;PAGE #47 EXTENSION
INCBIN 'Build/Bin/ROM.BIN'
Set_Block 'ROM free space: ', #8000
;PAGE #48..#49 Recovery image
INCBIN IMG_RECOVERY,0,#8000
DISPLAY "vROM Disk with Crazy Blaster DSS: 1x4000..2x0000"
Set_Block 'Empty space: ', #10000
;PAGE #4B LOGO
INCBIN 'Build/Bin/LOGO.BIN'
Set_Block 'LOGO free space: ', #14000
;[--------------------------------------------------------------------------]
OUTEND
DISPLAY '[_____________Building CB_IMG file done!_____________]'
;[--------------------------------------------------------------------------]

View File

@ -2,9 +2,13 @@
CNF_PORT: CNF_PORT:
.ON EQU #74 .ON EQU #74
.OFF EQU #24 .OFF EQU #24
.vBIOS EQU .ON
.vZX_ROM EQU .OFF
; Data: ; Data:
.TURBO.ON EQU 3 ; ¤ ­­ë¥ ¤«ï ¢ª«î祭¨ï TURBO .BIOS EQU 0
.EXTENSION EQU 1
.TURBO.OFF EQU 2 ; ¤ ­­ë¥ ¤«ï ¢ëª«î祭¨ï TURBO .TURBO.OFF EQU 2 ; ¤ ­­ë¥ ¤«ï ¢ëª«î祭¨ï TURBO
.TURBO.ON EQU 3 ; ¤ ­­ë¥ ¤«ï ¢ª«î祭¨ï TURBO
.CNF_0 EQU #04 ; ª àâ  ¯®à⮢ 0 .CNF_0 EQU #04 ; ª àâ  ¯®à⮢ 0
.CNF_1 EQU #0C ; ª àâ  ¯®à⮢ 1 (¤«ï ०¨¬  ¯®ç⨠ç¨á⮣® zx spectrum) .CNF_1 EQU #0C ; ª àâ  ¯®à⮢ 1 (¤«ï ०¨¬  ¯®ç⨠ç¨á⮣® zx spectrum)
.CNF_2 EQU #14 ; ª àâ  ¯®à⮢ 2 .CNF_2 EQU #14 ; ª àâ  ¯®à⮢ 2
@ -34,7 +38,7 @@ SYS_PORT:
.PENT_RESET EQU CNF_PORT.PENT_RESET .PENT_RESET EQU CNF_PORT.PENT_RESET
.SCORP_RESET EQU CNF_PORT.SCORP_RESET .SCORP_RESET EQU CNF_PORT.SCORP_RESET
.CNF_512 EQU CNF_PORT.CNF_512 .CNF_512 EQU CNF_PORT.CNF_512
/*
--------------------------------------------------- ---------------------------------------------------
CNF_PORT ¢¨á¨â ­  4 ¢­¥è­¨å ¯®àâ å (#7C/#3C ¨ #74/#24) ç¥à¥§ ª àâã ¯®à⮢. CNF_PORT ¢¨á¨â ­  4 ¢­¥è­¨å ¯®àâ å (#7C/#3C ¨ #74/#24) ç¥à¥§ ª àâã ¯®à⮢.
SYS_PORT £¢®§¤ï¬¨ ¢ ª®­ä¥ ­  #7C/#C SYS_PORT £¢®§¤ï¬¨ ¢ ª®­ä¥ ­  #7C/#C
@ -67,21 +71,21 @@ ____________________________________________________
|E1 (+dos_on) | 00 | | 0 | ... | |E1 (+dos_on) | 00 | | 0 | ... |
|E2 | 00 | | 0 | 0 | |E2 | 00 | | 0 | 0 |
|E3 | 00 | | 0 | 1 | |E3 | 00 | | 0 | 1 |
|E4 | 01 | | 1 | ... | |E4 | 01 | | 1 | ... | LOGO #4B
|E5 (+dos_on) | 01 | | 0 | ... | |E5 (+dos_on) | 01 | | 0 | ... |
|E6 | 01 | | 0 | 0 | |E6 | 01 | | 0 | 0 | Recovery_1 #48
|E7 | 01 | | 0 | 1 | |E7 | 01 | | 0 | 1 | Recovery_2 #49
|EB | | 00 | ... | ... | BIOS |EB | | 00 | ... | ... | BIOS #46
|EF | | 01 | ... | ... | EXTENSION |EF | | 01 | ... | ... | EXTENSION #47
|_____________|____________|_________|______|______| |_____________|____________|_________|______|______|
... - §­ ç¥­¨¥ ஫¨ ­¥ ¨£à ¥â ... - §­ ç¥­¨¥ ஫¨ ­¥ ¨£à ¥â
‘â ­¤ àâ­ë¥ áâà ­¨æë އ“ ¤«ï ®¡à §®¢ <20>‡“ ᯥªâà㬠: ‘â ­¤ àâ­ë¥ áâà ­¨æë އ“ ¤«ï ®¡à §®¢ <20>‡“ ᯥªâà㬠:
Page Name Int.Port Page Name Int.Port Page Name Int.Port Page Name Int.Port
#42 BASIC 128 #E2 | ??? ??? ??? ??? #E6 #42 BASIC 128 #E2 | #48 ??? ??? ??? #E6
#43 BASIC 48 #E3 | ??? ??? ??? ??? #E7 #43 BASIC 48 #E3 | #49 ??? ??? ??? #E7
#44 TR-DOS #E1 | ??? ??? ??? ??? #E5 #44 TR-DOS #E1 | #4A ??? ??? ??? #E5
#45 BIOS (ZX_EXP) #E0 | ??? ??? ??? ??? #E4 #45 BIOS (ZX_EXP) #E0 | #4B ??? ??? ??? #E4
#46 BIOS (ZX_EXP) #EB #46 BIOS (ZX_EXP) #EB
#47 BIOS (ZX_EXP2) #EF #47 BIOS (ZX_EXP2) #EF
@ -111,5 +115,5 @@ bit7..bit3
’ ª ¦¥ íâ®â ¯®àâ ¤ ñâ ¯àï¬ãî ­ã¬¥à æ¨î áâà ­¨æ ¯à¨ ãáâ ­®¢«¥­­®¬ bit4. ’ ª ¦¥ íâ®â ¯®àâ ¤ ñâ ¯àï¬ãî ­ã¬¥à æ¨î áâà ­¨æ ¯à¨ ãáâ ­®¢«¥­­®¬ bit4.
---------------------------------------------------- ----------------------------------------------------
;!TODO
ROM.SLOT0  ¯¤¥©â¥à ¤®«¦¥­ á ¬ ¢áâ ¢«ïâì ­®¬¥à ¯« âë ¨ ⨯ ¡¨âáâਬ 

View File

@ -625,7 +625,7 @@ SET_PORTS:
OUT (C),A OUT (C),A
LD A,(SYS_PAGE.CONFIG_DE-#4000) LD A,(SYS_PAGE.CONFIG_DE-#4000)
OUT (C),D ; ¢¥à­ãâì áâà ­¨æã OUT (C),D ; ¢¥à­ãâì áâà ­¨æã
OUT (CNF_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
; ;
CALL DOS_OFF CALL DOS_OFF
; ;
@ -648,7 +648,7 @@ SET_PORTS:
CALL DOS_ON CALL DOS_ON
; ;
LD A,CNF_PORT.CNF_0 + ROM.BIOS LD A,CNF_PORT.CNF_0 + ROM.BIOS
OUT (CNF_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
; ;
LD C,SLOT2 ; ¯®«ãç¨âì áâà ­¨æã LD C,SLOT2 ; ¯®«ãç¨âì áâà ­¨æã
IN D,(C) IN D,(C)

View File

@ -34,8 +34,8 @@ BOARD_INFO:
;¯à®£à ¬¬  ¤«ï ¢ë§®¢  BIOS ç¥à¥§ RST8 ¨§ RAM0 ;¯à®£à ¬¬  ¤«ï ¢ë§®¢  BIOS ç¥à¥§ RST8 ¨§ RAM0
EXP_FNS_2_RET: EXP_FNS_2_RET:
PUSH AF PUSH AF
LD A,ROM.BIOS LD A,vROM.BIOS
OUT (CNF_PORT.ON),A OUT (CNF_PORT.vBIOS),A
POP AF POP AF
JR RST_18_1 JR RST_18_1
;======================================= ;=======================================
@ -74,44 +74,9 @@ RST_30:
;======================================= ;=======================================
BLOCK #38-$,0 BLOCK #38-$,0
; INTERUPT Point ; INTERUPT Point
RST38: IF TEST_INT RST38: EI
;INT:
PUSH BC
PUSH AF
LD C,SLOT3
IN B,(C)
LD A,SYS_PAGE
OUT (C),A
LD A,(SYS_PAGE.INT_ID)
CP #AA
JR Z,YESINT
OUT (C),B
JP NOINT
YESINT: PUSH HL
LD HL,(SYS_PAGE.INT_ADRESS)
LD A,H
OR L
LD A,(SYS_PAGE.INT_PAGE)
OUT (C),B
PUSH DE
CALL NZ,EXTINT
POP DE
POP HL
NOINT: POP AF
POP BC
EI
RETI RETI
ELSE
; PUSH AF
; 1: DEC A
; JR NZ,1B
; POP AF
EI
RETI
ENDIF
;RST10: ;RST10:
; CALL_48 10h ; CALL_48 10h
; RET ; RET
@ -119,7 +84,6 @@ NOINT: POP AF
;======================================= ;=======================================
IFN TEST_INT
_mInfoALIGN #10,0 _mInfoALIGN #10,0
; any adress < #C0 with mask %xxxx0000 ; any adress < #C0 with mask %xxxx0000
; â ¡«¨æ  ¤«ï Sprinter POST-Tester-a ; â ¡«¨æ  ¤«ï Sprinter POST-Tester-a
@ -140,13 +104,11 @@ TABLE_X:
.vD: DB 10110000b ; "D" .vD: DB 10110000b ; "D"
.vE: DB 01100010b ; "E" .vE: DB 01100010b ; "E"
.vF: DB 01100011b ; "F" .vF: DB 01100011b ; "F"
ENDIF
;======================================= ;=======================================
; ;
; ;
;======================================= ;=======================================
IFN TEST_INT
RESTARTS EQU #FFE0 RESTARTS EQU #FFE0
GLOBAL_RESET: GLOBAL_RESET:
DI DI
@ -162,7 +124,6 @@ GLOBAL_RESET:
INC DE INC DE
DJNZ .compare DJNZ .compare
JP RESTARTS JP RESTARTS
ENDIF
;======================================= ;=======================================
_mInfoBLOCK #66-$,0 _mInfoBLOCK #66-$,0
NMI_Point: NMI_Point:
@ -244,59 +205,7 @@ BoardID:
.start: WORD BoardID_start ; BoardID_start .start: WORD BoardID_start ; BoardID_start
.end: WORD BoardID_end ; BoardID_end .end: WORD BoardID_end ; BoardID_end
; ;=======================================
; BLOCK #100-$,0
;======================================= ;=======================================
IF TEST_INT
_mInfoALIGN #10,0
; any adress < #C0 with mask %xxxx0000
; â ¡«¨æ  ¤«ï Sprinter POST-Tester-a
TABLE_X: ; â ¡«¨æ  ¤«ï Sprinter POST-Tester-a
.v0: DB %00101000 ; "0" a
.v1: DB %10111101 ; "1" ___
.v2: DB %00110010 ; "2" f | g | b
.v3: DB %00110100 ; "3" |___|
.v4: DB %10100101 ; "4" e | | c
.v5: DB %01100100 ; "5" |___|
.v6: DB %01100000 ; "6" d
.v7: DB %00111101 ; "7"
.v8: DB %00100000 ; "8" a - 7
.v9: DB %00100100 ; "9" b - 6
.vA: DB %00100001 ; "A" f - 4
.vB: DB %11100000 ; "B" g - 3
.vC: DB %01101010 ; "C" e - 2
.vD: DB %10110000 ; "D" c - 1
.vE: DB %01100010 ; "E" d - 0
.vF: DB %01100011 ; "F"
ENDIF
;=======================================
;
;
;=======================================
IF TEST_INT
RESTARTS EQU #FFE0
; ¯®«­ë© ¯¥à¥å¢ â à¥á¥â  áà §ã ¯®á«¥ ¯à®«¨¢ª¨ ª®­äë ¨ CAD.
; § ª¨¤ë¢ ¥âáï ¢ ª àâã ¯®à⮢, ¯®í⮬㠨ᯮ«ì§®¢ âì ­ ¤® å¨âà®.
GLOBAL_RESET:
DI
IM 1
LD HL,RESTARTS
LD DE,RESTARTS_PROG
LD B,RESTARTS_PROG.Size
.compare:
LD A,(DE)
CP (HL)
JR NZ,NO_RESTART
INC HL
INC DE
DJNZ .compare
JP RESTARTS
ENDIF
;=======================================
;
; ;
;-----[¯¥à¥å¢ â RESET ­¥ á®áâ®ï«áï]----- ;-----[¯¥à¥å¢ â RESET ­¥ á®áâ®ï«áï]-----
@ -331,81 +240,6 @@ NO_RESTART:
OUT (C),A ; Z84.SYS.Data OUT (C),A ; Z84.SYS.Data
JP POST_TEST.START JP POST_TEST.START
;--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--== ;--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==
IF TEST_INT
;----------------[int]------------------
EXTINT: OR A
RET Z
BIT 7,H
JR Z,.L2
LD C,SLOT2
BIT 6,H
JR Z,.L1
LD C,SLOT3
.L1: IN B,(C)
PUSH BC
OUT (C),A
CALL .JPHL
POP BC
OUT (C),B
RET
; ¯à®¢¥àª  ­  ­ã«¥¢®© á«®â
.L2: BIT 6,H
LD C,SLOT1
JR NZ,.L1 ; ¯à®¤®«¦ ¥¬ ¥á«¨ ­¥­ã«¥¢®© á«®â
PUSH HL
LD HL,-.stackDepth - .switchProcedure.size + .patch-2
ADD HL,SP
PUSH HL
LD HL,-.stackDepth - .switchProcedure.size ; memory stack use!
ADD HL,SP ; stack
PUSH HL ;  ¤à¥á ¯à®£à ¬¬ë .readProcedure
LD DE,.switchProcedure ; ¯¥à¥­¥á⨠¯à®£à ¬¬ã ­  á⥪
EX DE,HL
LD BC,.switchProcedure.size
LDIR
RET
; ¯à®æ¥¤ãà , ¯¥à¥­®á¨¬ ï ­  á⥪ ¤«ï ¢ë§®¢  ¯à¥à뢠­¨ï ¯®«ì§®¢ â¥«ï ¨§ SLOT0
; ®áâ®à®¦­¥¥ á PUSH, ¥á«¨ ­ ¤® ¬­®£®, ⮠㢥«¨ç¨¢ © .stackDepth
.switchProcedure:
DEC DE
POP HL
LD (HL),E
INC HL
LD (HL),D
LD C,SLOT0
IN B,(C)
POP HL
PUSH BC
OUT (C),A
XOR A
OUT (SYS_PORT.RAM),A
.patch EQU $+1-.switchProcedure
CALL .JPHL
DI
XOR A
OUT (SYS_PORT.ROM),A
POP BC
OUT (C),B
RET
.JPHL: JP (HL)
.stackDepth EQU 64 ; à ááâ®ï­¨¥ ®â ª®­æ  ¯à®æ¥¤ãàë ¤® ¢¥à設ë á⥪ .
.switchProcedure.size EQU $-.switchProcedure
ENDIF
;--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==
; ==== POST PROCs ================= ; ==== POST PROCs =================
@ -784,143 +618,8 @@ set_config:
OUT (BorderColor),A OUT (BorderColor),A
CALL EMM.CheckColdInit ; ¨­¨æ¨ «¨§ æ¨ï ¯ ¬ï⨠CALL EMM.CheckColdInit ; ¨­¨æ¨ «¨§ æ¨ï ¯ ¬ïâ¨
POP HL ; ª®­ä¨£ãà æ¨ï POP HL ; ª®­ä¨£ãà æ¨ï
JR Reset_Handler.start ;JR Reset_Handler.start
; *************************************
; ‘ç¨â ¥¬, çâ® ¢å®¤ ¢ SETUP ¢á¥£¤  !!!
; *************************************
; LD A,H
; CP #FF
; JR NZ,NO_SETUP_1
; LD A,L
; JR NZ,NO_SETUP_2
;[---------------------------------------------------------------------] ;[---------------------------------------------------------------------]
MODULE Reset_Handler
start: DI
IN A,(SLOT3)
PUSH AF
;----[¯¥à¥å¢ â soft reset #EE port]-----
Check_EE_Port: LD A,ACEX.RET_PORT
LD B,0
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
;LD C,BIOS.SET_PORTS
;CALL @ToBIOS_3D13 ; ¯¥à¥ãáâ ­®¢¨âì ¢­ãâà. ¯®àâ #EE
CALL SET_PORTS
;
LD A,B
AND A
JR Z,Check_Spec_Page
;
OUT (SLOT3),A ; Set restart page
.After_Hard_Rst:
LD HL,(Spec_Page.RET_addr) ; prog address
LD A,(Spec_Page.page_0) ; PAGE0
OUT (SLOT0),A
LD A,(Spec_Page.page_1) ; PAGE1
OUT (SLOT1),A
LD A,(Spec_Page.page_2) ; PAGE2
OUT (SLOT2),A
LD A,(Spec_Page.Reload_Version)
CP #FF
JR Z,.JPHL ; olg logic
; new logic
.ver_2: EXX
LD HL,(Spec_Page.Stack_Point)
LD SP,HL
EXX
AND A
LD A,#FF
LD (Spec_Page.Reload_Version),A
LD A,(Spec_Page.page_3) ; PAGE3
OUT (SLOT3),A
JR Z,.JPHL
PUSH HL
JP EXP_FNS_2_RET
.JPHL: JP (HL)
;
;--[¯¥à¥å¢ â soft/hard reset #41 page]--
Check_Spec_Page:
LD A,Spec_Page
OUT (SLOT3),A
; Check for hardreset flag
LD A,(Spec_Page.flag_R)
CP 'R'
JR NZ,No_Reset_handlers
LD A,(Spec_Page.flag_S)
CP 'S'
JR NZ,No_Reset_handlers
LD A,(Spec_Page.flag_T)
CP 'T'
JR NZ,No_Reset_handlers
;
XOR A
LD (Spec_Page.flag_R),A
JR Check_EE_Port.After_Hard_Rst
;
;---------------------------------------
No_Reset_handlers:/*
; Check ZX ROMS Loaded
LD A,(Spec_Page.flag_Z)
CP 'Z'
JR NZ,.Load_ZXROMS
LD A,(Spec_Page.flag_X)
CP 'X'
JR NZ,.Load_ZXROMS
; [x] 31/12/23 ¯®¤áâà å®¢ª  ®â ­¥¤®ãâ¥çª¨ ¯ ¬ïâ¨
LD A,R
AND #80
JR Z,No_Need_To_Load_ZXROMS
.Load_ZXROMS: XOR A
LD R,A
;
; Load ZX ROM's
init_rom_address EQU #8200 ;!HARDCODE
;
LD HL,init_zx_roms
LD DE,init_rom_address
LD BC,init_zx_roms.length
LDIR
;
CALL init_rom_address
;
LD HL,#C000
LD DE,#C001
LD BC,#3FFF
LD (HL),C
LDIR ; § ¡¨âì FF- ¬¨
; áâ ¢¨¬ ¬¥âªã ¥á«¨ ¯à®£à㧨«¨ <20>‡“ ᯥªâà㬠
DEC DE ; Spec_Page.flag_X
LD A,'X'
LD (DE),A
DEC DE ; Spec_Page.flag_Z
LD A,'Z'
LD (DE),A
; ‡ £«ã誠 ¤«ï áâà ­¨æë #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
*/
;No_Need_To_Load_ZXROMS:
POP AF
OUT (SLOT3),A
;-------------------------------------------------------------------------------------------------------------------;
;!TODO ᤥ« âì ¢ë¡®à ¢ Setup, çâ® £à㧨âì ¢ v<>‡“ ¯à¨ áâ àâ¥. ‚ à¨ ­âë:
;[ ] 0 - <20>¥ £à㧨âì <20>‡“ ᯥªâà㬠, ¨­¨â¨âì áâà ­¨æã #41 ª ª ¢ 3.04
;[ ] 1 - ƒà㧨â <20>‡“ ᯥªâà㬠 ¨§ ROM ¯à¨ áâ à⥠¥á«¨ ­¥â ä« £  ZX
;[ ] 2 - ƒà㧨â <20>‡“ ᯥªâà㬠 ¨§ ROM ¯à¨ ª ¦¤®¬ ¯¥à¥§ ¯ã᪥ (¬®¦¥â ¡ëâì ®¯ á­®)
;[ ] 3 - <20>¥ £à㧨âì <20>‡“ ᯥªâà㬠, ¨­¨â¨âì áâà ­¨æã #41 â ª, ç⮡ ª®¤ ¢ ­¥© ¯®¤£à㦠« <20>‡“ ᯥªâà㬠 ¯à¨ ®¡à é¥­¨¨
;-------------------------------------------------------------------------------------------------------------------;
ENDMODULE
; ;
;************************************** ;**************************************
; ;
@ -979,7 +678,7 @@ PrepareToZX: ; Setup HDD drives for ZX Spectrum mode
PORTS_INIT: PORTS_INIT:
; ¢ª«îç¨âì TURBO ; ¢ª«îç¨âì TURBO
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
OUT (CNF_PORT.ON),A OUT (CNF_PORT.vBIOS),A
; ; RESET to ISA ; ; RESET to ISA
; LD BC,PORT_ISA ; LD BC,PORT_ISA
; LD A,#FF ; LD A,#FF
@ -1068,9 +767,10 @@ PORTS_INIT:
LD A,#FF LD A,#FF
OUT (C),A OUT (C),A
; £«ã訬 ª®¢®ªá ; £«ã訬 ª®¢®ªá
XOR A ;XOR A
OUT (CBL.SYS_PORT),A ;OUT (CBL.SYS_PORT),A
LD BC,CBL.OUT ;LD BC,CBL.OUT
LD BC,0
LD A,#80 LD A,#80
.CBL_MUTE: OUT (C),A .CBL_MUTE: OUT (C),A
DJNZ .CBL_MUTE DJNZ .CBL_MUTE
@ -1081,7 +781,7 @@ PORTS_INIT:
; ‘¡à®á ª®­â஫«¥à  ¤¨áª®¢®¤  ; ‘¡à®á ª®­â஫«¥à  ¤¨áª®¢®¤ 
; ‚ª«îç¨âì ¤®áâ㯠ª ª®­â஫«¥àã ¤¨áª  (âà¥âìï ª®­ä ) ; ‚ª«îç¨âì ¤®áâ㯠ª ª®­â஫«¥àã ¤¨áª  (âà¥âìï ª®­ä )
LD A,CNF_PORT.CNF_3 + ROM.BIOS LD A,CNF_PORT.CNF_3 + ROM.BIOS
OUT (CNF_PORT.ON),A OUT (CNF_PORT.vBIOS),A
OUT (FDC_93.DrvCTRL),A OUT (FDC_93.DrvCTRL),A
push hl push hl
pop hl pop hl
@ -1092,16 +792,16 @@ PORTS_INIT:
XOR A XOR A
OUT (FDC_93.Command),A OUT (FDC_93.Command),A
; ‚몫îç¨âì ¤®áâ㯠ª ª®­â஫«¥àã ¤¨áª  ; ‚몫îç¨âì ¤®áâ㯠ª ª®­â஫«¥àã ¤¨áª 
LD A,CNF_PORT.CNF_0 + ROM.BIOS LD A,CNF_PORT.CNF_0 + vROM.BIOS
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
; set HDD1/not-HDD2 ; set HDD1/not-HDD2
LD A,IDE.Chanel.Primary LD A,IDE.Chanel.Primary
OUT (IDE.Chanel.Set),A OUT (IDE.Chanel.Set),A
LD BC,#7FFD LD BC,#7FFD
LD A,#10 XOR A
OUT (C),A ; BASIC_48 mode OUT (C),A ; BASIC_48 mode
LD B,#1F LD B,#1F
LD A,01 LD A,2
OUT (C),A ; RAM-0 mode !!! OUT (C),A ; RAM-0 mode !!!
; ®ç¨á⪠ ¡ãä¥à®¢ ª« ¢¨ âãàë ¨ ¬ëè¨ ¢ SIO ; ®ç¨á⪠ ¡ãä¥à®¢ ª« ¢¨ âãàë ¨ ¬ëè¨ ¢ SIO
CALL .clean_kbd_buf CALL .clean_kbd_buf
@ -1166,88 +866,6 @@ ZG_ADDRESS: INCLUDE 'FONT.ASM'
; ;
; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ [___FOR ZX-MODE___] _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ; ; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ [___FOR ZX-MODE___] _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ;
/*
;
;------------------------[copy zx-roms to zx-pages]---------------------;
; SLOT0 - ROM 8, sys_port - on.
; RAM SLOT0 - page 0
; ¤«ï ०¨¬  zx spectrum
; <E2809A>Ž<C5BD>Ÿ…Ÿ ˆ‡ އ“
; !HARDCODE ­®¬¥à  áâà ­¨æ ¤«ï í¬ã«ïâ®à  <20>‡“
init_zx_roms:
DISP Reset_Handler.init_rom_address
IN A,(SLOT3)
EX AF,AF'
DI
LD A,SYS_PORT.EXTENSION
OUT (SYS_PORT.ROM),A
INC A ;!HARDCODE LD A,2
LD B,3 ; zx-rom number of pages
;
.loop: EXX
;
out (ROM.SLOT0),a
or %0100'0000 ; !HARDCODE ­®¬¥à  áâà ­¨æ ¤«ï í¬ã«ïâ®à  <20>‡“
out (SLOT3),a
and %1011'1111 ; !HARDCODE ­®¬¥à  áâà ­¨æ ¤«ï í¬ã«ïâ®à  <20>‡“
LD HL,0
LD DE,#C000
LD BC,#4000
LDIR
INC A
EXX
DJNZ .loop
xor a
out (ROM.SLOT0),a
OUT (SYS_PORT.ROM),A
EX AF,AF'
out (SLOT3),a
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
LD A,ACEX.vROM.BASIC_128 ; ROM-ID - BASIC 128
LD B,#42 ;!HARDCODE page
CALL SET_PORTS
;
LD A,ACEX.vROM.BASIC_48 ; ROM-ID - BASIC 48
LD B,#43 ;!HARDCODE page
CALL SET_PORTS
;
LD A,ACEX.vROM.TR_DOS ; ROM-ID - TR-DOS
LD B,#44 ;!HARDCODE page
CALL SET_PORTS
;
; í⨠áâà ­¨æë ¯®ª  ­¥ ¨á¯®«ì§ãîâáï
LD A,ACEX.vROM.BIOS ; ROM-ID - BIOS
;LD B,#45 ;!HARDCODE page
LD B,#41
CALL SET_PORTS
;
LD A,ACEX.vROM.BIOS_3 ; ROM-ID - BIOS-1
;LD B,#46 ;!HARDCODE page
LD B,#41
CALL SET_PORTS
;
LD A,ACEX.vROM.BIOS_4 ; ROM-ID - BIOS-2
;LD B,#47 ;!HARDCODE page
LD B,#41
JP SET_PORTS
; ¬®¦­® § ¤¥©á⢮¢ âì ¥éñ 4 áâà ­¨æë ­  ¯®àâë #E4..#E7
ENT
.length EQU $-init_zx_roms
;-----------------------------------------------------------------------;
;*/
;-----------------------------------------------------------------------;
;!TODO § ¤¥©á⢮¢ âì ;!TODO § ¤¥©á⢮¢ âì
GOTO_SPEC: GOTO_SPEC:
IN A,(SLOT3) IN A,(SLOT3)
@ -1322,8 +940,8 @@ BASIC_128:
;--------[ <20>ணࠬ¬ , à §¬¥é ¥¬ ï á #5B00 ¤«ï § ¯ã᪠ Spectrum ]--------; ;--------[ <20>ணࠬ¬ , à §¬¥é ¥¬ ï á #5B00 ¤«ï § ¯ã᪠ Spectrum ]--------;
RES128_PROG: RES128_PROG:
DISP ZX_VARS.PRINTER_BUFFER ;#5B00 DISP ZX_VARS.PRINTER_BUFFER ;#5B00
LD A,ROM.BIOS LD A,vROM.BIOS
OUT (SYS_PORT.RAM),A ; ‚®§¢à â ¢ 128k ROM OUT (CNF_PORT.vZX_ROM),A ; ‚®§¢à â ¢ 128k ROM
LD C,SLOT3 LD C,SLOT3
IN B,(C) IN B,(C)
LD A,SYS_PAGE LD A,SYS_PAGE
@ -1339,7 +957,7 @@ RES128_PROG:
OUT (C),A ; 128 ¯®àâ OUT (C),A ; 128 ¯®àâ
LD A,E ; ãáâ ­®¢ª  ª®­ä¨£ãà æ¨¨ ¨ ०¨¬  TURBO LD A,E ; ãáâ ­®¢ª  ª®­ä¨£ãà æ¨¨ ¨ ०¨¬  TURBO
OUT (SYS_PORT.RAM),A ; CONFIG_SET OUT (CNF_PORT.vZX_ROM),A ; CONFIG_SET
INC D INC D
DEC D DEC D
@ -1402,46 +1020,31 @@ RESTARTS_PROG: ; !TODO LDConf
;----------------------------[Setup Starter]----------------------------; ;----------------------------[Setup Starter]----------------------------;
MODULE Setup_Starter MODULE Setup_Starter
; ¯à®£à ¬¬ , à §¬¥é ¥¬ ï ¯®  ¤à¥áã 0C000h ; ¯à®£à ¬¬ , à §¬¥é ¥¬ ï ¯®  ¤à¥áã #C000
; ¤«ï § ¯ã᪠ Setup ; ¤«ï § ¯ã᪠ Setup
Start: Start:
DISP COMPILE_ADDR.SETUP_STARTER DISP COMPILE_ADDR.SETUP_STARTER
Exec: Exec:
LD A,CNF_PORT.CNF_0 + ROM.EXTENSION LD A,CNF_PORT.CNF_0 + vROM.EXTENSION
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
LD HL,ROM_MAP.SETUP LD HL,ROM_MAP.SETUP
LD DE,MEM_MAP.SETUP LD DE,MEM_MAP.SETUP
LD BC,BLOCK_Setup.Length LD BC,BLOCK_Setup.Length
LDIR LDIR
LD A,CNF_PORT.CNF_0 + ROM.BIOS LD A,CNF_PORT.CNF_0 + vROM.BIOS
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
;-----------[Check SPACE]
LD A,#FE ; !HARDCODE
LD BC,Port_All_Mode ; keyboard int & acc off
OUT (C),A
LD A,high ZXKeys.Line_7
IN A,(ZXKeys)
CPL
AND 1
; ¢ ॣ¨áâॠA ¯¥à¥¤ ñâáï ­ ¦ â  «¨ ª« ¢¨è  SPACE.
; ¯®â®¬ ¯à®¢¥àï¥âáï ¢ main.asm [space_check]
; ¨ ¥á«¨ ­ ¦ â , â® ¯à®¨á室¨â ¨£­®à ¯ à ¬¥âà 
; "<22>ëáâàë© áâ àâ <20>‡“" ¢® ¢à¥¬ï ¯¥à¥§ £à㧪¨
EX AF,AF'
LD A,#FF ; !HARDCODE LD A,#FF ; !HARDCODE
LD BC,Port_All_Mode
OUT (C),A ; keyboard int & acc on, zx_screen & original waits off (for conf >= 3.05) OUT (C),A ; keyboard int & acc on, zx_screen & original waits off (for conf >= 3.05)
EX AF,AF'
;----------------------[] ;----------------------[]
DI DI
POP HL ;  ¤à¥á ¢®§¢à â  ¢ EXP ¨§ SETUP POP HL ;  ¤à¥á ¢®§¢à â  ¢ EXP ¨§ SETUP
LD SP,#8000 ;!HARDCODE LD SP,#8000 ;!HARDCODE
PUSH HL PUSH HL
PUSH AF
JP SETUP_MAIN JP SETUP_MAIN
ENT ENT
Length EQU $-Setup_Starter.Start Length EQU $-Setup_Starter.Start
@ -1453,8 +1056,8 @@ Length EQU $-Setup_Starter.Start
RAM_BIOS_PROG: ; for CALL BIOS in #41 page RAM_BIOS_PROG: ; for CALL BIOS in #41 page
DISP Spec_Page.to_bios DISP Spec_Page.to_bios
PUSH AF PUSH AF
LD A,ROM.BIOS LD A,vROM.BIOS
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
POP AF POP AF
RET RET
ENT ENT
@ -1565,8 +1168,8 @@ JP_HL_48: ;!FIXIT assert with ROM
PUSH HL PUSH HL
SW_ROM: ;!FIXIT assert with ROM SW_ROM: ;!FIXIT assert with ROM
PUSH AF PUSH AF
LD A,ROM.BIOS ;!FIXIT ­¥¯à ¢¨«ì­®¥ ­ §¢ ­¨¥ ª®­áâ ­âë LD A,vROM.BIOS
OUT (SYS_PORT.RAM),A OUT (CNF_PORT.vZX_ROM),A
POP AF POP AF
RET RET
;*************************************** ;***************************************
@ -1772,8 +1375,8 @@ ROM_DISK.Pages: ;
; „«ï ¢ë§®¢  ä㭪権 ¡¨®á  ¨§ áâà ­¨æë 0 <20>‡“ (Extension) ; „«ï ¢ë§®¢  ä㭪権 ¡¨®á  ¨§ áâà ­¨æë 0 <20>‡“ (Extension)
RET_to_EXTENSION: RET_to_EXTENSION:
PUSH AF PUSH AF
LD A,ROM.EXTENSION LD A,vROM.EXTENSION
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
POP AF POP AF
RST ToBIOS_18 RST ToBIOS_18
JP RET_to_EXTENSION JP RET_to_EXTENSION
@ -1800,8 +1403,8 @@ RET_to_EXTENSION:
_mInfoBLOCK #3FE8-$,#FF _mInfoBLOCK #3FE8-$,#FF
EXP_HDD: EXP_HDD:
PUSH AF PUSH AF
LD A,ROM.EXTENSION LD A,vROM.EXTENSION
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
POP AF POP AF
RET RET
;--------------------------------------- ;---------------------------------------
@ -1822,8 +1425,8 @@ EXP_HDD:
; ’®çª  ¢å®¤ /¢ë室  ¤«ï TR-DOS ; ’®çª  ¢å®¤ /¢ë室  ¤«ï TR-DOS
EXP_FNS_RET: EXP_FNS_RET:
PUSH AF PUSH AF
LD A,ROM.BIOS LD A,vROM.BIOS
OUT (SYS_PORT.RAM),A ; ’®çª  ¢å®¤ /¢ë室  ¨§/¢ TR-DOS ¯à¨ ¢ë§®¢¥ ä㭪権 BIOS #80..#FF OUT (CNF_PORT.vZX_ROM),A ; ’®çª  ¢å®¤ /¢ë室  ¨§/¢ TR-DOS ¯à¨ ¢ë§®¢¥ ä㭪権 BIOS #80..#FF
JP EXP_FNS JP EXP_FNS
;--------------------------------------- ;---------------------------------------
; ;

View File

@ -594,14 +594,14 @@ WR_SEC: LD D,5 ;RETRY COUNT
SET_DOS_ON: SET_DOS_ON:
EX AF,AF' EX AF,AF'
LD A,CNF_PORT.CNF_3 + ROM.BIOS LD A,CNF_PORT.CNF_3 + ROM.BIOS
OUT (CNF_PORT.ROM),A ; - OPEN OUT (CNF_PORT.vBIOS),A ; - OPEN
EX AF,AF' EX AF,AF'
RET RET
; ‚àã¡ ¥â ­ã«¥¢ãî ª àâã ¯®à⮢ ; ‚àã¡ ¥â ­ã«¥¢ãî ª àâã ¯®à⮢
SET_DOS_OFF: SET_DOS_OFF:
EX AF,AF' EX AF,AF'
LD A,CNF_PORT.CNF_0 + ROM.BIOS LD A,CNF_PORT.CNF_0 + ROM.BIOS
OUT (CNF_PORT.ROM),A ; - CLOSE OUT (CNF_PORT.vBIOS),A ; - CLOSE
EX AF,AF' EX AF,AF'
RET RET

View File

@ -802,7 +802,7 @@ ROM_DISK:
LD B,A LD B,A
XOR A XOR A
OUT (ROM.SLOT0),A OUT (ROM.SLOT0),A
OUT (CNF_PORT.ON),A OUT (CNF_PORT.vBIOS),A
LD A,B LD A,B
JP .readNext JP .readNext
.stackDepth EQU 8 ; à ááâ®ï­¨¥ ®â ª®­æ  ¯à®æ¥¤ãàë ¤® ¢¥à設ë á⥪ . .stackDepth EQU 8 ; à ááâ®ï­¨¥ ®â ª®­æ  ¯à®æ¥¤ãàë ¤® ¢¥à設ë á⥪ .

View File

@ -95,7 +95,8 @@ RST_CONF:
JR Z,.YES_CBL JR Z,.YES_CBL
XOR A XOR A
.YES_CBL: .YES_CBL:
LD BC,CBL.SYS_PORT ;LD BC,CBL.SYS_PORT
LD BC,0
OUT (C),A OUT (C),A
LD A,E ; config-byte LD A,E ; config-byte
@ -141,7 +142,7 @@ RST_CONF:
DI DI
; ãáâ ­ ¢«¨¢ ¥¬ ­ã«¥¢ãî ª àâã ¯®à⮢ ; ãáâ ­ ¢«¨¢ ¥¬ ­ã«¥¢ãî ª àâã ¯®à⮢
LD A,CNF_PORT.CNF_0 LD A,CNF_PORT.CNF_0
OUT (CNF_PORT.ON),A OUT (CNF_PORT.vBIOS),A
; ¨ â ª ¯®­ïâ­® çâ® ¤¥« ¥â ; ¨ â ª ¯®­ïâ­® çâ® ¤¥« ¥â
IN A,(SLOT3) ; á®å࠭塞 ­®¬¥à ¢®âª­ã⮩ áâà ­¨æë IN A,(SLOT3) ; á®å࠭塞 ­®¬¥à ¢®âª­ã⮩ áâà ­¨æë
PUSH AF PUSH AF
@ -223,7 +224,7 @@ RST_CONF:
DI DI
; ãáâ ­ ¢«¨¢ ¥¬ ­ã«¥¢ãî ª àâã ¯®à⮢ ; ãáâ ­ ¢«¨¢ ¥¬ ­ã«¥¢ãî ª àâã ¯®à⮢
LD A,CNF_PORT.CNF_0 LD A,CNF_PORT.CNF_0
OUT (CNF_PORT.ON),A OUT (CNF_PORT.vBIOS),A
; ¨ â ª ¯®­ïâ­® çâ® ¤¥« ¥â ; ¨ â ª ¯®­ïâ­® çâ® ¤¥« ¥â
IN A,(SLOT3) ; á®å࠭塞 ­®¬¥à ¢®âª­ã⮩ áâà ­¨æë IN A,(SLOT3) ; á®å࠭塞 ­®¬¥à ¢®âª­ã⮩ áâà ­¨æë
PUSH AF PUSH AF
@ -418,7 +419,7 @@ REINIT: DEC B
LD A,RESET_PAGE LD A,RESET_PAGE
OUT (SLOT3),A OUT (SLOT3),A
LD A,CNF_PORT.TURBO.OFF LD A,CNF_PORT.TURBO.OFF
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
.loop2: LD (#C000),A ; Soft RESET !!! .loop2: LD (#C000),A ; Soft RESET !!!
JR .loop2 JR .loop2
; ;

View File

@ -58,7 +58,7 @@ FN_VERSION:
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
; [x] 28/01/24 ¤®¡ ¢«¥­  ¯®¤äã­ªæ¨ï ¢ë¤ ç¨ ¨­äë ¯à® Acex ; [x] 28/01/24 ¤®¡ ¢«¥­  ¯®¤äã­ªæ¨ï ¢ë¤ ç¨ ¨­äë ¯à® Acex
FN_CRIPT: FN_CRIPT:
DJNZ .Acex_ver DJNZ .error
; ;
; BoardID_start old address #312A ; BoardID_start old address #312A
; BoardID_end old address #312D ; BoardID_end old address #312D
@ -73,74 +73,6 @@ FN_CRIPT:
.error: LD A,BIOS.Error.InvalidSubFunction .error: LD A,BIOS.Error.InvalidSubFunction
SCF SCF
RET RET
;
.Acex_ver:
DJNZ .error
PUSH HL
LD A,R
DI
PUSH AF
;
LD HL,-.stackDepth - .readProcedure.size ; memory stack use!
ADD HL,SP
PUSH HL ;  ¤à¥á ¯à®£à ¬¬ë .readProcedure
LD DE,.readProcedure ; ¯¥à¥­¥á⨠¯à®£à ¬¬ã ­  á⥪
EX DE,HL
LD BC,.readProcedure.size
LDIR ; ¯à®£à ¬¬  ­  á⥪¥
LD A,+(12 xor %0000'1000) ; !HARDCODE bitstream page in rom
RET
.return:;
POP AF
JP PO,.no_EI
EI
.no_EI: CALL .choose_chip
POP DE
LD BC,.chip_ID_TXT.RecordSize
LDIR
.cnf+1: LD DE,bitstream_ver_hex
AND A
RET
;
.choose_chip:
XOR A
LD HL, - ACEX.Chip_ID.K30
ADC HL,DE
LD HL,.chip_ID_TXT.K30
RET Z
OR A ; á­ïâì CF
INC A
LD HL, - ACEX.Chip_ID.K50
ADC HL,DE
LD HL,.chip_ID_TXT.K50
RET Z
POP HL ; ¡ « ­á á⥪ 
.error_unknownChip:
SCF
POP HL
LD A,BIOS.Error.UnknownDevice
RET
;
; ¯à®æ¥¤ãà , ¯¥à¥­®á¨¬ ï ­  á⥪ ¤«ï ç⥭¨ï Acex ID
; ®áâ®à®¦­¥¥ á PUSH, ¥á«¨ ­ ¤® ¬­®£®, ⮠㢥«¨ç¨¢ © .stackDepth
.readProcedure:
OUT (ROM.SLOT0),A ; ROM_PAGE
LD DE,(#100 + 3) ; !HARDCODE §¤¥áì ç¨â ¥âáï Acex ID
XOR A
OUT (ROM.SLOT0),A
OUT (SYS_PORT.ROM),A
JP .return
.stackDepth EQU 2 ; à ááâ®ï­¨¥ ®â ª®­æ  ¯à®æ¥¤ãàë ¤® ¢¥à設ë á⥪ .
.readProcedure.size EQU $-.readProcedure
;
.chip_ID_TXT:
.chip_ID_TXT.K30: DZ "K30"
.chip_ID_TXT.RecordSize EQU $-.chip_ID_TXT
.chip_ID_TXT.K50 DZ "K50"
;.chip_ID_TXT.K100 DZ "K100"
.chip_ID_TXT.Size EQU $-.chip_ID_TXT
;----------------------------------------------------------------------;
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
;EMM_FN7 ;EMM_FN7
EMM.CheckColdInit: EMM.CheckColdInit:
@ -349,7 +281,7 @@ FN_TURBO:
LD (SYS_PAGE.CONFIG_DE),A LD (SYS_PAGE.CONFIG_DE),A
AND 3 AND 3
; ;
OUT (CNF_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
LD A,B LD A,B
OUT (SLOT3),A OUT (SLOT3),A
AND A AND A

View File

@ -1,5 +0,0 @@
; Header of bitstream which non packed
DB #FF,#FF,#62,#7B,#39,#00;,#FF,#FF ; 1k30
; Packed:
;DB #FF,#FF,#62,#7B,#3C,#00;,#01,#FF ; 1k50
;

View File

@ -1,169 +0,0 @@
;
;**********************************;
; ACEX Loading program ;
;**********************************;
MACRO Conf_loader altera_chip
.START: DI
LD BC,#FF*256 + Z84.SYS.Control
XOR A ; Z84.REG.WaitState_Ctrl - register - waits
OUT (C),A ; Z84.SYS.Control
INC C ; LD BC,#FFEF
LD A,4 ; Memory waits set to 1
OUT (C),A ; Z84.SYS.Data
DEC C ; Z84.SYS.Control
DEC A ; LD A,3 - 3-nd register - boundaries
OUT (C),A ; Z84.REG.Misc_Ctrl
INC C ; cs0 enable, cs1 enable, 32-Bit CRC disable, reset output enable, Clock Divide-by-two
OUT (C),A ; Z84.SYS.Data
DEC C ; Z84.SYS.Control
DEC A ; LD A,2 - Z84.REG..CS_Boundary 2-nd register - boundaries
OUT (C),A ; Z84.SYS.Data
INC C
LD A,#FE ; boundaries FFFF..F000 - CS1
OUT (C),A ; EFFF..0000 - CS0
JR .LOOP_S1
;**************************************
BLOCK #38-$,#FF
JP 0
;**************************************
.LOOP_S1:
LD HL,#FEF0 ; !HARDCODE
LD DE,.STRING
.LOOP_S:
LD A,(DE)
CP (HL)
JR NZ,.NO_CNF_RAM
INC E
INC L
JR NZ,.LOOP_S ; !!!!! ¯à¨¢ï§ª  ª  ¤à¥áã ¢ HL
; !TODO ã¡à âì ¢¥©âë ¤«ï ªíè ?
LD BC,#FF*256 + Z84.SYS.Control
LD A,Z84.REG.CS_Boundary
OUT (C),A ; 0 register - waits
INC C
LD A,#F0
OUT (C),A ; boundaries FFFF..1000 - CS1
; ; 0FFF..0000 - CS0
LD HL,#1000 ; !!!!! Load bitstream from Fast-RAM
JR .NEW_SHM
;**************************************
BLOCK #66-$,#FF
JP 0
;**************************************
.NO_CNF_RAM:
LD HL,#0100 ; !!!!! Load bitstream from ROM
.NEW_SHM:
;--------------[conf check]-------------
LD A,H ; á®å࠭塞 áâ à訩  ¤à¥á ­ ç «  ª®­äë,
; ­ ç «® ª®­äë ¤®«¦­® ¡ëâì á ¬« ¤è¨¬  ¤à¥á®¬ = 0
EXX
LD L,0
LD H,A
EX AF,AF'
; ¢ HL  ¤à¥á ¯¥à¢®£® ¡ ©â  ª®­äë
LD DE,.Conf_header
LD B,.Conf_header.length
.conf_header_loop:
LD A,(DE)
CP (HL)
JR NZ,.Conf_Packed
INC DE
INC L
DJNZ .conf_header_loop
;XOR A
JR .exit_conf_check
.Conf_Packed:
SCF
.exit_conf_check:
EX AF,AF'
EXX
;---------------------------------------
LD DE,#FE00 ;!HARDCODE ; !!!!! Check flag "don't erase fast-ram bitstream" - "IM"
LD A,(#FEE0)
CP "I"
JR NZ,.ONES_CONFIG
LD A,(#FEE1)
CP "M"
JR NZ,.ONES_CONFIG
DEC D ; multiple config!
.ONES_CONFIG:
LD IY,SP2000_Loader_Flag
;LD IX,#FFFD
LD IX,ACEX.Config_ID.Sp2000
.LOOP1:
LD A,(HL)
ex af,AF'
ld b,1
jr nc,.no_packed_loop
ex af,AF'
LD B,A ; save byte to B to check later if we worked with zero
OR A
JR NZ,.LOOP1A
INC HL
LD C,(HL) ; set counter
jr .LOOP1A
.no_packed_loop:
ex af,AF'
.LOOP1A:
;---[Sending bits to Altera]---[v]
DUP 7
LD (DE),A
RRCA
EDUP
LD (DE),A
;------------------------------[^]
INC E
LD A,B ; was it zero?
OR A
JR NZ,.LOOP1E
; it was zero so we need to decrement counter
DEC C
JR NZ,.LOOP1A
; end of the counter reached
.LOOP1E:
INC HL
JR .LOOP1
.STRING: DB ACEX.RELOAD_STRING
.Conf_header: include 'src/bios/Loader/bitstream_header.inc'
.Conf_header.length EQU $-.Conf_header
;----------------------;
BLOCK #FE-$,#FF
; <20>â®, ᪮॥ ¢á¥£®, à㤨¬¥­â, â®â á ¬ë© ¡ ©â ®¯¨á â¥«ï ª®­äë,
; ª®â®àë© ¨é¥â § £àã§ç¨ª ¤«ï Sp97 ¯® áâ à®¬ã  ¤à¥áã #C090.
; ‚®âª­ã« ¥£® ¢ ª®­æ¥ § £àã§ç¨ª , ¬®¦¥â ¯®â®¬ ¯à¨£®¤¨âáï.
.DEF_SYM: DW ACEX.Config_ID.Sp2000
;------------------------------[Loader end]
DEFINE Altera_Chip altera_chip
LUA
local file_path = 'Build/ACEX/'
local file_ext = '.BIN'
local altera_ver = sj.get_define("Altera_Chip")
sj.insert_define("Altera_File", '"' .. file_path .. altera_ver .. file_ext .. '"')
ENDLUA
UNDEFINE Altera_Chip
INCBIN Altera_File
UNDEFINE Altera_File
ENDM
;

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -51,149 +51,4 @@ Pallete:
Raster: Raster:
INCBIN 'Build/Bin/LOGO_DAT.BIN' INCBIN 'Build/Bin/LOGO_DAT.BIN'
.length EQU $-Raster .length EQU $-Raster
IF Pashalki
; !TODO ᤥ« âì âãâ â ¡«¨çªã-áá뫪¨ ­  ­ã¦­ãî â ¡«¨æã á¯à ©â®¢ ¨ § ¢ï§ âì íâ® ­  ¤ âë
MACRO _PASHALKI_CODE
IN A,(SLOT3)
EX AF,AF'
LD A,SYS_PAGE
OUT (SLOT3),A
ld e,(RebootDate.month)
SLA e
xor a
ld
EX AF,AF'
OUT (SLOT3),A
ENDM
months_table:
WORD days_table.January
WORD days_table.February
WORD days_table.March
WORD days_table.April
WORD days_table.May
WORD days_table.June
WORD days_table.July
WORD days_table.August
WORD days_table.September
WORD days_table.October
WORD days_table.November
WORD days_table.December
days_table:
.January: DZ 1,2,3,4,5,6,7
.February EQU 0
.March EQU 0
.April EQU 0
.May EQU 0
.June EQU 0
.July EQU 0
.August EQU 0
.September EQU 0
.October EQU 0
.November EQU 0
.December: DZ 31
NewYear: INCLUDE './src/bios/logo/use/New_Year.inc'
;.March8: INCLUDE './src/bios/logo/use/March_8.inc'
ENDIF
/*
and a
ld b,0
ld hl,months_table
ld de,months_table+1
ld a,month
call FIND_NEXT
ld hl,days_table
adc hl,de
ld ix,hl
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld de,days_table+1
ld a,day
call FIND_NEXT
ld hl,sprites_table
adc hl,de
call Sprites ; ¢ hl  ¤à¥á ¢ â ¡«¨æ¥  ¤à¥á®¢ â ¡«¨æ á¯à ©â®¢ (SP_Table)
FIND_NEXT:
ld c,(hl) ; ¡¥àñ¬ ¤«¨­ã â ¡«¨æë BYTE
inc hl
CPIR
jr nz,.nothing
sbc hl,de
sla l
ex de,hl
ret
days_table:
WORD december_days_table
WORD january_days_table
WORD march_days_table
WORD december_days_table
;----------------[Months table]----------------[v]
months_table:
BYTE months_table.length-1
.months:
BYTE 01 ; Ÿ­¢ àì
BYTE 03 ; Œ àâ
BYTE 12 ; „¥ª ¡àì
.length equ $-months_table
ASSERT months_table.length < 14, ERROR!!! "months_table" should be less than 14 bytes!
;----------------------------------------------[^]
;-------------[December days table]------------[v]
december_days_table:
BYTE december_days_table.length-1
.months:
BYTE 31 ; <20>®¢ë© £®¤
.length equ $-december_days_table
ASSERT december_days_table.length < 33, ERROR!!! "december_days_table" should be less than 33 bytes!
;----------------------------------------------[^]
;-------------[January days table]-------------[v]
january_days_table:
BYTE january_days_table.length-1
.months:
BYTE 01 ; <20>®¢ë© £®¤
BYTE 02 ; <20>®¢ë© £®¤
BYTE 03 ; <20>®¢ë© £®¤
BYTE 04 ; <20>®¢ë© £®¤
BYTE 05 ; <20>®¢ë© £®¤
BYTE 06 ; <20>®¢ë© £®¤
BYTE 07 ; <20>®¦¤¥á⢮
.length equ $-january_days_table
ASSERT january_days_table.length < 33, ERROR!!! "january_days_table" should be less than 33 bytes!
;----------------------------------------------[^]
;-------------[March days table]------------[v]
march_days_table:
BYTE december_days_table.length-1
.months:
BYTE 08 ; Š« à  –¥âª¨­ ¨ <20>®§  ‹îªá¥¬¡ãà£
.length equ $-december_days_table
ASSERT december_days_table.length < 33, ERROR!!! "december_days_table" should be less than 33 bytes!
;----------------------------------------------[^]
*/
ENDMODULE ENDMODULE

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1 +0,0 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>נ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>נ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ס<EFBFBD>ננ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ננ<EFBFBD>נ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ס<EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD>ס<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ס<EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>מ<EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה<EFBFBD><EFBFBD>מ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ו<EFBFBD>המ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>מה<EFBFBD>ו<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ¢¢־ה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה־¡¨ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¨ְ¨־nה<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ו\־¨־¨<D6BE><C2A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־־s¨µה<C2B5><D794><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ה§µs™ּ¢־<C2A2><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱֱ÷ns3¡הְ<D794><D6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶה¨3sd÷ֱ־<D6B1><D6BE><EFBFBD><EFBFBD><EFBFBD>־µ÷3~\Tּ<54>¨<EFBFBD><C2A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¨<EFBFBD>ּTi~3µ»־<C2BB><D6BE><EFBFBD><EFBFBD>®±y±±־׳§<D7B3><C2A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ׳־¡ָy¡¡¢<C2A1><C2A2><EFBFBD>µֶKi¡ndˆ÷׳¢<D7B3><C2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¢׳¨™dd†@ְ»<D6B0>ֱ¨K׀ְ™~n־ּ¢»<C2A2><C2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־¢ֱּ~ְ׳Ty»ֱ¨־@<40>׀s¢¨ֶ¢¢<C2A2><C2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷™ֶ¢¨~ּ¡n<C2A1>K־µ־7׳yױ†~\ְ¹§־<7F><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ»q~yו~׳µְְֱ~™\\־÷~¢<C2A2><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>™™~÷ֱnTˆˆֱּˆֱ³<D6B1>־Tּ‰sK3־÷\™<E280BA><E280BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¢ˆn¹־3Ks׳ˆ<D6BC><CB86><EFBFBD>¨־ˆ¨ּ™nֹµs™y<79><E28098><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i~®ֱn™ְ÷־¨<D6BE><C2A8><EFBFBD><EFBFBD>־™®@<40>מ־~׳ְy~n™\¨<><C2A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µd‰~y÷׳~ְמ<D6B0>K¢¢־<C2A2><D6BE><EFBFBD><EFBFBD>»ּ\÷K¨µˆ־÷y~y™n\™µֱ־<D6B1><D6BE>־ֱµTK™~‰÷ּˆ¨÷@®¡Tֱֶ<D6B6><D6B1><EFBFBD><EFBFBD>¡ְ7הyµ<79>~־ְss~‘™‘‘‘ˆ‰‘ˆ™‘™™~s÷־~׀µˆה@÷¨<C3B7><C2A8><EFBFBD><EFBFBD>»÷3ּ§ּ<C2A7>™~±ױְ־®nssn\TTTTnnyssµֱֹ¸ױ~~׀׀§ּ3®ֱ<C2AE><D6B1><EFBFBD><EFBFBD>»־\ˆּ¢~3\ysn¢÷־µ®¢idTsnddi¢®µ־÷¨ssy\3~׀K־»<D6BE><C2BB><EFBFBD><EFBFBD><EFBFBD>µְyKּּּ™sn‰÷־÷׳¹ֶ®®ֶ÷׳÷־÷ds†ּ‰ּּTq÷¹<C3B7><C2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ְֶ÷T¨<54>®\µ׳~nו¥¡iµ§ֹֹ¨¨q¸ױ†~׳÷\®ה¨T¹ְ־<D6BE><E280BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¨÷ְ3~§<>dsָָdˆ¹ױױֹˆdiֲױn\<5C>§ˆ7÷¨÷¨<E280BA><C2A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ¨yּ7¹ו<C2B9>ns~ֱּ¹׀<C2B9>¹ְ־~yyT<79>ך¹@ְ¢»<C2A2><C2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¨־T<D6BE>s§™737ˆ<37>@\™™\@<>733~§ˆ<CB86>\־¨<D6BE><C2A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷µ@־ְ‘¢‘ֶֶו›~¹¹T@§ֱ™‘וּּ‘¡‘ְ׳@¨ֱ<C2A8><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־¢ְ¢@¨¨³iּ3§ָמ~sוו§3ּs¡³¨@¢÷¨־<C2A8><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¨ְֱ÷¡ְֲ3Kˆ<CB86><E284A2>ˆd3־±³³ֶ÷¨<E280BA><C2A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»¨§־3@׳y77¢÷¨®73y<33>K7־¨¨³<C2A8><C2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³־\³׳ְְְְּּ׳÷ˆKּ»<D6BC><C2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¨־n333־¨¡־373\ְµ<D6B0><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־yױ־¸ױ׳±¸<D6BE><E280BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»»÷־ְְּµ»ֱ<C2BB><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ»ְֱֱ÷»ֱ<C2BB><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»¢¢»<C2A2><C2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1 +0,0 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>黢觋犄<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>耨耩鼷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>冼褓毗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>禀冼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>霹佴毗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

View File

@ -1,16 +0,0 @@
MODULE _mNewYear
LUA PASS1
make_pic_files ("./src/bios/logo/use/NY_Kokoshnik", 0, 1)
make_pic_files ("./src/bios/logo/use/NY_mustache", 0, 1)
print()
ENDLUA
BYTE 2 ; ª®«¨ç¥á⢮ á¯à ©â®¢
EasterTable 48, 42, 13, 2, sprite1
EasterTable 37, 6, 69, 26, sprite2
sprite1: INCBIN './src/bios/logo/use/NY_Kokoshnik_DAT.bin'
sprite2: INCBIN './src/bios/logo/use/NY_mustache_DAT.bin'
ENDMODULE
;

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -11,11 +11,7 @@ ROM_MAP:
.ROM EQU 0 .ROM EQU 0
.LOADER EQU 0 .LOADER EQU 0
.LOGO EQU 0 .LOGO EQU 0
IF PACKED_MAIN
.SETUP EQU #1000
ELSE
.SETUP EQU BLOCK_Setup .SETUP EQU BLOCK_Setup
ENDIF
; ;
; ;
@ -45,27 +41,3 @@ COMPILE_ADDR:
.SETUP EQU #8000 .SETUP EQU #8000
.DEPACK EQU #D000 .DEPACK EQU #D000
.SETUP_STARTER EQU #C000 .SETUP_STARTER EQU #C000
;
; ÛÛÛÛÛÛ» ÛÛÛÛÛÛÛ»ÛÛÛÛÛÛ» ÛÛÛÛÛ» ÛÛÛÛÛÛ»ÛÛ» ÛÛ»ÛÛÛÛÛÛÛ»ÛÛÛÛÛÛ»
; ÛÛÉÍÍÛÛ»ÛÛÉÍÍÍͼÛÛÉÍÍÛÛ»ÛÛÉÍÍÛÛ»ÛÛÉÍÍÍͼÛÛº ÛÛɼÛÛÉÍÍÍͼÛÛÉÍÍÛÛ»
; ÛÛº ÛÛºÛÛÛÛÛ» ÛÛÛÛÛÛɼÛÛÛÛÛÛÛºÛÛº ÛÛÛÛÛɼ ÛÛÛÛÛ» ÛÛÛÛÛÛɼ
; ÛÛº ÛÛºÛÛÉÍͼ ÛÛÉÍÍͼ ÛÛÉÍÍÛÛºÛÛº ÛÛÉÍÛÛ» ÛÛÉÍͼ ÛÛÉÍÍÛÛ»
; ÛÛÛÛÛÛɼÛÛÛÛÛÛÛ»ÛÛº ÛÛº ÛÛºÈÛÛÛÛÛÛ»ÛÛº ÛÛ»ÛÛÛÛÛÛÛ»ÛÛº ÛÛº
; ÈÍÍÍÍͼ ÈÍÍÍÍÍͼÈͼ Èͼ Èͼ ÈÍÍÍÍͼÈͼ ÈͼÈÍÍÍÍÍͼÈͼ Èͼ
;
IF PACKED_MAIN
IFNDEF PREBUILD ; ­¥¨§¢¥áâ­ë¥ ¬¥âª¨ ¯à¨ ¯à¥ª®¬¯¨«ï樨 MAIN.BIN
DEPACKER:
.Addr EQU SETUP_MAIN.Depacker
.WorkAddr EQU COMPILE_ADDR.DEPACK
.PackedMAIN EQU UnPacker.PackedMAIN
.UnpackAddr EQU COMPILE_ADDR.MAIN
.CodeLength EQU UnPacker.Length
.UnpackedEXECaddr EQU MAIN_START
.Length EQU DEPACK_DATA.length
;Depacker_start EQU #D000
;Depacked_logo_start EQU #D900
ENDIF
ENDIF

View File

@ -15,32 +15,8 @@ Check_Sum:
RET RET
;--------------------------------------- ;---------------------------------------
;!TODO ¯à¨ªàãâ¨âì ª ROM.BIOS
;----------------[int]------------------ ;----------------[int]------------------
BLOCK #38-$,#FF BLOCK #38-$,#FF
; INT: PUSH BC
; PUSH AF
; LD C,SLOT3
; IN B,(C)
; LD A,SYS_PAGE
; OUT (C),A
; LD A,(SYS_PAGE.INT_ID)
; CP #AA
; JR Z,YESINT
; OUT (C),B
; JR NOINT
; YESINT: PUSH HL
; LD HL,(SYS_PAGE.INT_ADRESS)
; LD A,H
; OR L
; LD A,(SYS_PAGE.INT_PAGE)
; OUT (C),B
; CALL NZ,EXTINT
; POP HL
; NOINT: POP AF
; POP BC
EI EI
RETI RETI
;--------------------------------------- ;---------------------------------------
@ -50,93 +26,6 @@ Check_Sum:
NMI: RETN NMI: RETN
;--------------------------------------- ;---------------------------------------
; ;----------------[int]------------------
; EXTINT: OR A
; RET Z
; ;LD C,SLOT1
; BIT 7,H
; JR Z,.L2
; LD C,SLOT2
; BIT 6,H
; JR Z,.L1
; LD C,SLOT3
; .L1: IN B,(C)
; PUSH BC
; OUT (C),A
; CALL .JPHL
; POP BC
; OUT (C),B
; RET
; ; ¯à®¢¥àª  ­  ­ã«¥¢®© á«®â
; .L2: BIT 6,H
; LD C,SLOT1
; JR NZ,.L1 ; ¯à®¤®«¦ ¥¬ ¥á«¨ ­¥­ã«¥¢®© á«®â
; ; ‚Ž’ ’“’ ŒŽ†<C5BD>Ž <E280B9>ˆœ <20><>Ž…„“<E2809E>“ „‹Ÿ <20>Ž„<E28099>ŽŠˆ <E28098><EFBFBD>ˆ SLOT0 ˆ
; ; <20><EFBFBD>…•Ž„ <20>Ž <20><><EFBFBD><E2809A>ˆž Ž<><C5BD><EFBFBD>ŽˆŠ <20>Žœ‡ŽŸ —…<E28094>…‡ ¯à®æ¥¤ãàã ­  áâíª, ­ ¯à¨¬¥à
; IF TEST_INT
; LD HL,-.stackDepth - .switchProcedure.size + .patch+2
; ADD HL,SP
; PUSH HL
; LD HL,-.stackDepth - .switchProcedure.size ; memory stack use!
; ADD HL,SP ; stack
; PUSH HL ;  ¤à¥á ¯à®£à ¬¬ë .readProcedure
; LD DE,.switchProcedure ; ¯¥à¥­¥á⨠¯à®£à ¬¬ã ­  á⥪
; EX DE,HL
; LD BC,.switchProcedure.size
; LDIR
; RET
; ; ¯à®æ¥¤ãà , ¯¥à¥­®á¨¬ ï ­  á⥪ ¤«ï ¢ë§®¢  ¯à¥à뢠­¨ï ¯®«ì§®¢ â¥«ï ¨§ SLOT0
; ; ®áâ®à®¦­¥¥ á PUSH, ¥á«¨ ­ ¤® ¬­®£®, ⮠㢥«¨ç¨¢ © .stackDepth
; .switchProcedure:
; DEC DE
; POP HL
; LD (HL),E
; INC HL
; LD (HL),D
; LD C,SLOT0
; IN B,(C)
; PUSH BC
; OUT (C),A
; XOR A
; OUT (SYS_PORT.RAM),A
; .patch EQU $+1-.switchProcedure
; CALL .JPHL
; DI
; XOR A
; OUT (SYS_PORT.ROM),A
; POP BC
; OUT (C),B
; RET
; .JPHL: JP (HL)
; .stackDepth EQU 32 ; à ááâ®ï­¨¥ ®â ª®­æ  ¯à®æ¥¤ãàë ¤® ¢¥à設ë á⥪ .
; .switchProcedure.size EQU $-.switchProcedure
; ELSE
; SCF
; RET
; .JPHL: JP (HL)
; ENDIF
;---------------------------------------
/*
*/
; ;
; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ [___FOR ZX-MODE___] _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ; ; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ [___FOR ZX-MODE___] _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ;
@ -160,49 +49,11 @@ NMI: RETN
BLOCK_Setup EQU $ BLOCK_Setup EQU $
; ;
IF PACKED_MAIN
BLOCK ROM_MAP.SETUP-$,#FF
DISP COMPILE_ADDR.SETUP
; Depacker version
SETUP_MAIN:
LD HL,DEPACKER.UnpackedEXECaddr; â®çª  ¢å®¤  ¢ à á¯ ª®¢ ­­®¬ ª®¤¥
PUSH HL
LD DE,DEPACKER.WorkAddr ;  ¤à¥á ¯à®æ¥¤ãàë ¤¥¯ ª¥à 
PUSH DE
LD HL,DEPACKER.Addr
LD BC,DEPACKER.Length
LDIR
LD HL,DEPACKER.PackedMAIN ; £¤¥  à娢
LD DE,DEPACKER.UnpackAddr ; ªã¤  à á¯ ª®¢ë¢ âì
RET
.Depacker EQU $
ENT
;-----------------[v]
DEPACK_DATA:
DISP DEPACKER.WorkAddr
MODULE UnPacker
INCLUDE 'src/bios/ROM/SETUP/DEHRUST.asm' ; !TODO ᤥ« âì ­  LUA  ¢â®¢ë¡®à ¤¥ª®¬¯à¥áá®à  ¨ ª®¬¯à¥áá®à 
PackedMAIN: INCBIN 'Build/Bin/temp/MAIN.PAK'
ENDMODULE
ENT
DEPACK_DATA.length EQU $-DEPACK_DATA
;-----------------[^]
ELSE
DISP COMPILE_ADDR.SETUP DISP COMPILE_ADDR.SETUP
ShowInfo 'Setup block DISP start', 1 ; !!!!! test ShowInfo 'Setup block DISP start', 1 ; !!!!! test
SETUP_MAIN: INCLUDE 'src/bios/ROM/SETUP/Main.asm' SETUP_MAIN: INCLUDE 'crazy bios/ROM/SETUP/Main.asm'
ShowInfo 'Setup block DISP end', 1 ; !!!!! test ShowInfo 'Setup block DISP end', 1 ; !!!!! test
ENT ENT
ENDIF
ShowInfo 'Setup block of ROM end', 0 ; !!!!! test ShowInfo 'Setup block of ROM end', 0 ; !!!!! test
BLOCK_Setup.Length EQU $-BLOCK_Setup BLOCK_Setup.Length EQU $-BLOCK_Setup
@ -210,30 +61,6 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
; ;
;
; !FIXIT ᤥ« âì í⨠䨪á¨à®¢ ­­ë¥  ¤à¥á  ®â¤¥«ì­ë¬ ä ©«®¬ ¨ á IF/ELSE ¨ ¯®¤ª«îç âì ¨å ¯®â®¬ ªã¤  ­ ¤®.
;----------------------------------------------------------------------;
; BLOCK #3CC0-$,255
; no-magics!
;MAGIC_1: ; ‡€ƒ‹“˜Š€ „‹Ÿ MAGIC
; PUSH AF
; LD A,ROM.EXT
; OUT (SYS_PORT.OFF),A
; POP AF
; JP MAGIC_1
;MAGIC_3:
; PUSH AF
; LD A,ROM.EXT
; OUT (SYS_PORT.OFF),A
; POP AF
; RETN
;MAGIC_2:
;; CALL MG_BEGIN
; JR MAGIC_3
;************************* ;*************************
_mInfoBLOCK #3CE0-$,#FF ;!TEST 0 _mInfoBLOCK #3CE0-$,#FF ;!TEST 0
;SW_ROM_1: ;SW_ROM_1:
@ -263,24 +90,14 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
PUSH HL PUSH HL
;SW_ROM: ;SW_ROM:
PUSH AF PUSH AF
LD A,ROM.BIOS LD A,vROM.BIOS
OUT (SYS_PORT.RAM),A OUT (CNF_PORT.vZX_ROM),A
POP AF POP AF
RET RET
;*************************************** ;***************************************
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
; ;
;!TODO ᯥªâà㬮¢áª¨¥ ã⨫¨âë
;----------------------------------------------------------------------;
; _mInfoBLOCK #3CFA-$,#FF
; LD A,0 ;!HARDCODE
; OUT (SYS_PORT.OFF),A
; POP AF
;----------------------------------------------------------------------;
;
; ;
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
_mInfoBLOCK #3D00-$,#FF _mInfoBLOCK #3D00-$,#FF
@ -289,12 +106,6 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
RET RET
;*************************************** ;***************************************
;***************************************
; BLOCK #3D02-$,FF
; !TODO ¬®¦­® ®¯à¨å®¤®¢ âì âãâ 17 ¡ ©â®¢
;
;***************************************
;*************************************** ;***************************************
_mInfoBLOCK #3D13-$,#FF _mInfoBLOCK #3D13-$,#FF
NOP NOP
@ -302,12 +113,6 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
JP DOS_OFF JP DOS_OFF
;*************************************** ;***************************************
;***************************************
; BLOCK #3D17-$,FF
; !TODO ¬®¦­® ®¯à¨å®¤®¢ âì âãâ 233 ¡ ©â 
;
;***************************************
;*************************************** ;***************************************
_mInfoBLOCK #3E00-$,#FF _mInfoBLOCK #3E00-$,#FF
;DOS_OFF: ;DOS_OFF:
@ -332,36 +137,12 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
;*************************************** ;***************************************
;***************************************
; BLOCK #3E16-$,FF
; !TODO ¬®¦­® ®¯à¨å®¤®¢ âì âãâ 10 ¡ ©â®¢
;
;***************************************
;
;
;---------------------------------------
; _mInfoBLOCK #3FC6-$,#FF
;!FIXIT ¯¥à¥¤¥« âì <20>‡“ âà¤®á  ¨ ᯥªâà㬮¢ ¯®¤ ¯à ¢¨«ì­ë© ¢ë§®¢ ä㭪権 ¡¨®á  (  ­¥ ¢¬¥áâ® ä㭪権 4x ä㭪樨 0x)
; ¨«¨ ¬®¦­® ¤®¡ ¢¨âì ä㭪樨
; TRDOS_HD_CMD:
; ; LD A,C
; ; OR #40
; ; LD C,A
; POP AF
; SET 6,C
; RST_to_BIOS
; JR RET_TO_TRDOS
;---------------------------------------
;
;--------------[GOTO BIOS]-------------- ;--------------[GOTO BIOS]--------------
; call BIOS from EXTENSION ; call BIOS from EXTENSION
_mInfoBLOCK #3FD0-$,#FF ; ToBIOS_FromEXT _mInfoBLOCK #3FD0-$,#FF ; ToBIOS_FromEXT
PUSH AF PUSH AF
LD A,ROM.BIOS ; set BIOS to slot0 LD A,vROM.BIOS ; set BIOS to slot0
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
POP AF POP AF
RET RET
;--------------------------------------- ;---------------------------------------
@ -378,48 +159,18 @@ TRDOS_HD_CMD:
;--------------------------------------- ;---------------------------------------
;!FIXIT ®áâ âª¨ ®â â¥á⮢ ˆ¢ ­  á® §¢ãª®¢®© ª à⮩
;-------------[SND_TEST_RET]-------------
_mInfoBLOCK #3FE0-$,#FF
; SND_TEST_RET:
; LD A,ROM.BIOS
; OUT (SYS_PORT.RAM),A
; ;JP SOUND_TEST
; JP #0000
;---------------------------------------
;------------[HDD_5x portal]------------
; â®çª  ¢å®¤ /¢ë室  ¤«ï ä㭪権 5å ¨§ BIOS
_mInfoBLOCK #3FE8-$,#FF
;RET_TO_EXP:
; PUSH AF
; LD A,ROM.BIOS
; OUT (SYS_PORT.ROM),A
; JP HDD_FN_5x
;---------------------------------------
;!FIXIT Œ®¦­® ¯®¯à ¢¨âì ­®¬¥à  ä㭪権 ¯à¨ ¢ë§®¢ å ¨§ TR-DOS ¨ ¯à룠âì áà §ã ¢ BIOS ;!FIXIT Œ®¦­® ¯®¯à ¢¨âì ­®¬¥à  ä㭪権 ¯à¨ ¢ë§®¢ å ¨§ TR-DOS ¨ ¯à룠âì áà §ã ¢ BIOS
;-------[ From TR-DOS to API 4x ]------- ;-------[ From TR-DOS to API 4x ]-------
_mInfoBLOCK #3FF0-$,#FF _mInfoBLOCK #3FF0-$,#FF
RET_TO_TRDOS: RET_TO_TRDOS:
PUSH AF PUSH AF
DI DI
LD A,ROM.BIOS LD A,vROM.BIOS
OUT (SYS_PORT.RAM),A OUT (CNF_PORT.vZX_ROM),A
JR TRDOS_HD_CMD ; âãâ ­¥ 墠⨫® ¬¥áâ  ¢ 1 ¡ ©â, ç⮡ áà §ã ᤥ« âì JP JR TRDOS_HD_CMD ; âãâ ­¥ 墠⨫® ¬¥áâ  ¢ 1 ¡ ©â, ç⮡ áà §ã ᤥ« âì JP
;--------------------------------------- ;---------------------------------------
;-----[???????????????????????????]-----
_mInfoBLOCK #3FF8-$,#FF
; PUSH AF
; LD A,ROM.BIOS
; OUT (SYS_PORT.RAM),A
; JP #0000
;---------------------------------------
_mInfoBLOCK #4000-$,#FF _mInfoBLOCK #4000-$,#FF
;======================================= ;=======================================

View File

@ -1,242 +0,0 @@
; INCLUDE '../mem_map.inc'
; ORG Depacker_start
; DeHRUSTer v1.2
; HL - ­ ç «®  à娢 
; DE -  ¤à¥á à á¯ ª®¢ª¨
;--------------[DEPACKER]---------------
DEHRUST:
PUSH DE
PUSH HL
INC HL
INC HL
LD C,(HL)
INC HL
LD B,(HL)
INC HL
DEC BC
EX DE,HL
ADD HL,BC
EX DE,HL
LD C,(HL)
INC HL
LD B,(HL)
DEC BC
POP HL
ADD HL,BC
SBC HL,DE
ADD HL,DE
JR C,.LL4019
LD D,H
LD E,L
.LL4019:
LDDR
EX DE,HL
POP DE
LD C,#0C
ADD HL,BC
PUSH HL
POP IX
LD A,#03
.LL4025:
DEC HL
LD B,(HL)
DEC HL
LD C,(HL)
PUSH BC
DEC A
JR NZ,.LL4025
LD B,A
EXX
LD D,#BF
LD C,#10
CALL .LL4115
.LL4036:
LD A,(IX+#00)
INC IX
EXX
.LL403C:
LD (DE),A
INC DE
.LL403E:
EXX
.LL403F:
ADD HL,HL
DJNZ .LL4045
CALL .LL4115
.LL4045:
JR C,.LL4036
LD E,#01
.LL4049:
LD A,#80
.LL404B:
ADD HL,HL
DJNZ .LL4051
CALL .LL4115
.LL4051:
RLA
JR C,.LL404B
CP #03
JR C,.LL405D
ADD A,E
LD E,A
XOR C
JR NZ,.LL4049
.LL405D:
ADD A,E
CP #04
JR Z,.LL40C4
ADC A,#FF
CP #02
EXX
.LL4067:
LD C,A
.LL4068:
EXX
LD A,#BF
JR C,.LL4082
.LL406D:
ADD HL,HL
DJNZ .LL4073
CALL .LL4115
.LL4073:
RLA
JR C,.LL406D
JR Z,.LL407D
INC A
ADD A,D
JR NC,.LL4084
SUB D
.LL407D:
INC A
JR NZ,.LL408D
LD A,#EF
.LL4082:
RRCA
CP A
.LL4084:
ADD HL,HL
DJNZ .LL408A
CALL .LL4115
.LL408A:
RLA
JR C,.LL4084
.LL408D:
EXX
LD H,#FF
JR Z,.LL409B
LD H,A
INC A
LD A,(IX+#00)
INC IX
JR Z,.LL40A6
.LL409B:
LD L,A
ADD HL,DE
LDIR
.LL409F:
JR .LL403E
.LL40A1:
EXX
RRC D
JR .LL403F
.LL40A6:
CP #E0
JR C,.LL409B
RLCA
XOR C
INC A
JR Z,.LL40A1
SUB #10
.LL40B1:
LD L,A
LD C,A
LD H,#FF
ADD HL,DE
LDI
LD A,(IX+#00)
INC IX
LD (DE),A
INC HL
INC DE
LD A,(HL)
JP .LL403C
.LL40C4:
LD A,#80
.LL40C6:
ADD HL,HL
DJNZ .LL40CC
CALL .LL4115
.LL40CC:
ADC A,A
JR NZ,.LL40F3
JR C,.LL40C6
LD A,#FC
JR .LL40F6
.LL40D5:
LD B,A
LD C,(IX+#00)
INC IX
CCF
JR .LL4068
.LL40DE:
CP #0F
JR C,.LL40D5
JR NZ,.LL4067
LD B,#03
EX DE,HL
.LL40E7:
POP DE
LD (HL),E
INC HL
LD (HL),D
INC HL
DJNZ .LL40E7
LD HL,#2758
EXX
RET
.LL40F3:
SBC A,A
LD A,#EF
.LL40F6:
ADD HL,HL
DJNZ .LL40FC
CALL .LL4115
.LL40FC:
RLA
JR C,.LL40F6
EXX
JR NZ,.LL40B1
BIT 7,A
JR Z,.LL40DE
SUB #EA
ADD A,A
LD B,A
.LL410A:
LD A,(IX+#00)
INC IX
LD (DE),A
INC DE
DJNZ .LL410A
JR .LL409F
.LL4115:
LD B,C
LD L,(IX+#00)
INC IX
LD H,(IX+#00)
INC IX
RET
Length EQU $-DEHRUST
in a,(#FF)
;---------------------------------------
;---------------[MAIN.HR]---------------
;Depacker.packcode EQU $$$
;PackedMAIN EQU $
; INCBIN 'Build/Bin/temp/MAIN.HR'
;---------------------------------------
;

View File

@ -48,7 +48,7 @@
; ENCODING "DOS" ; ENCODING "DOS"
DEVICE ZXSPECTRUM4096 ; ¬®¤¥«ì á 4 ¬¥âà ¬¨ ¯ ¬ï⨠DEVICE ZXSPECTRUM4096 ; ¬®¤¥«ì á 4 ¬¥âà ¬¨ ¯ ¬ïâ¨
MMU 2 e, 0 ; áâà ­¨æ  0 ¢ ¡ ­ªã 2 ¨ ¯à®¢¥àª  ­  £à ­¨æë. MMU 2 e, 0 ; áâà ­¨æ  0 ¢ ¡ ­ªã 2 ¨ ¯à®¢¥àª  ­  £à ­¨æë.
INCLUDE 'src/bios/shared/includes.inc' INCLUDE 'crazy bios/shared/includes.inc'
ORG COMPILE_ADDR.MAIN ORG COMPILE_ADDR.MAIN
OUTPUT 'Build/Bin/temp/MAIN.BIN' OUTPUT 'Build/Bin/temp/MAIN.BIN'
ENDIF ENDIF
@ -82,13 +82,11 @@ TPOINTD EQU TEMP - SYS_PAGE.RAMD_KEYS.NUM - SYS_PAGE.Sp_RAMD_KEYS.NUM ; [x] 4/11
;======================================= ;=======================================
;SETUP_MAIN: ;SETUP_MAIN:
MAIN_START: MAIN_START:
POP AF
POP HL POP HL
LD SP,STACK LD SP,STACK
PUSH HL PUSH HL
LD (RET_TO_EXP_ADDR),hl LD (RET_TO_EXP_ADDR),hl
JP START JP START
; DB "(C) 2002 PETERS PLUS LTD "
RET_TO_EXP_ADDR: WORD 0000 ; place for save ret address to exp RET_TO_EXP_ADDR: WORD 0000 ; place for save ret address to exp
; ;
@ -372,8 +370,8 @@ EXIT_SETUP:
; JR Z,XFLEX ; JR Z,XFLEX
; LD A,#EA ;SPECTRUM ; LD A,#EA ;SPECTRUM
;XFLEX: ;XFLEX:
LD A,ROM.BIOS LD A,vROM.BIOS
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
POP HL ; ¯¨å ¥âáï ¢ EXP.ASM ¢ ¯à®æ¥¤ãॠPOP HL ; ¯¨å ¥âáï ¢ EXP.ASM ¢ ¯à®æ¥¤ãà¥
JP (HL) JP (HL)
; LD (JMPHL),HL ; LD (JMPHL),HL
@ -457,7 +455,6 @@ Start_again:
ld sp,STACK-2 ld sp,STACK-2
START: START:
DI DI
PUSH AF
XOR A XOR A
LD (ERRSUM),A LD (ERRSUM),A
LD (ERRSUM.ErrDateTime),A LD (ERRSUM.ErrDateTime),A
@ -527,10 +524,6 @@ START:
;R06 ;R06
LD BC,CMOS_CELL.BootUpParams.Mask.QuickStartROM ;#010E LD BC,CMOS_CELL.BootUpParams.Mask.QuickStartROM ;#010E
CALL G_VALUE CALL G_VALUE
POP BC
INC B
DEC B
JR NZ,QIGNORE ; १ã«ìâ â ¯à®¢¥àª¨ Space ¨§ exp.asm [space_check]
PUSH AF PUSH AF
LD C,SLOT3 LD C,SLOT3
IN B,(C) IN B,(C)
@ -1305,32 +1298,8 @@ ZXCLS: LD HL,#4000
RET RET
GET_ID: LD HL,memBUFFER.ID GET_ID: LD HL,memBUFFER.ID
;LD C,BIOS.FN_VERSION
;JP_to_BIOS
JP FN_VERSION JP FN_VERSION
;R01GET_ID
;R01 LD A,#10
;R01 LD BC,#1FFD
;R01 OUT (C),A
;R01 LD C,SLOT3
;R01 IN B,(C)
;R01 PUSH BC
;R01 LD A,#EE
;R01 OUT (C),A
;R01 LD HL,#FFD0
;R01 LD DE,ID_BUFFER
;R01 LD BC,#30
;R01 LDIR
;R01 POP BC
;R01 OUT (C),B
;R01 XOR A
;R01 LD BC,#1FFD
;R01 OUT (C),A
;R01 RET
RCHAIN: RCHAIN:
LD E,L LD E,L
LDI LDI
@ -1584,49 +1553,6 @@ ZXMODE_SETUP: IN A,(SLOT3)
PUSH AF PUSH AF
LD A,Spec_Page LD A,Spec_Page
OUT (SLOT3),A OUT (SLOT3),A
;
LD BC,CMOS_CELL.Options.Mask.LoadZXroms
CALL G_VALUE
;
OR A
JR Z,.init_41h
DEC A
JR Z,.CheckAndLoad
DEC A
JR Z,.Load_ZXROMS
;!TODO
;DEC A
;JR Z,.New_init_41h
;
; Check ZX ROMS Loaded
.CheckAndLoad: LD A,(Spec_Page.flag_Z)
CP 'Z'
JR NZ,.Load_ZXROMS
LD A,(Spec_Page.flag_X)
CP 'X'
JR NZ,.Load_ZXROMS
; [x] 31/12/23 ¯®¤áâà å®¢ª  ®â ­¥¤®ãâ¥çª¨ ¯ ¬ïâ¨
LD A,R
AND #80
JR Z,.No_Need_To_Load_ZXROMS
.Load_ZXROMS: XOR A
LD R,A
;
; Load ZX ROM's
call init_zx_roms
;
LD HL,#C000
LD DE,#C001
LD BC,#3FFF
LD (HL),C
LDIR ; § ¡¨âì FF- ¬¨
; áâ ¢¨¬ ¬¥âªã ¥á«¨ ¯à®£à㧨«¨ <20>‡“ ᯥªâà㬠
DEC DE ; Spec_Page.flag_X
LD A,'X'
LD (DE),A
DEC DE ; Spec_Page.flag_Z
LD A,'Z'
LD (DE),A
; ‡ £«ã誠 ¤«ï áâà ­¨æë #41 ­  ¢á直© ¯®¦ à­ë© ; ‡ £«ã誠 ¤«ï áâà ­¨æë #41 ­  ¢á直© ¯®¦ à­ë©
.init_41h: LD HL,PROG_NO_ROM .init_41h: LD HL,PROG_NO_ROM
LD DE,#C000 + Spec_Page.no_zx_rom LD DE,#C000 + Spec_Page.no_zx_rom
@ -1642,78 +1568,8 @@ ZXMODE_SETUP: IN A,(SLOT3)
OUT (SLOT3),A OUT (SLOT3),A
RET RET
;
;--------------------[copy zx-roms to zx-pages]-----------------;
; SLOT0 - ROM 8, sys_port - on.
; RAM SLOT0 - page 0
; ¤«ï ०¨¬  zx spectrum
; <E2809A>Ž<C5BD>Ÿ…Ÿ ˆ‡ އ“
; !HARDCODE ­®¬¥à  áâà ­¨æ ¤«ï í¬ã«ïâ®à  <20>‡“
init_zx_roms: IN A,(SLOT3)
EX AF,AF'
;
DI
LD A,SYS_PORT.EXTENSION
OUT (SYS_PORT.ROM),A
INC A ;!HARDCODE LD A,2
LD B,3 ; zx-rom number of pages
;
.loop: EXX
;
out (ROM.SLOT0),a
or %0100'0000 ; !HARDCODE ­®¬¥à  áâà ­¨æ ¤«ï í¬ã«ïâ®à  <20>‡“
out (SLOT3),a
and %1011'1111 ; !HARDCODE ­®¬¥à  áâà ­¨æ ¤«ï í¬ã«ïâ®à  <20>‡“
;
LD HL,0
LD DE,#C000
LD BC,#4000
LDIR
;
INC A
EXX
DJNZ .loop
;
xor a
out (ROM.SLOT0),a
OUT (SYS_PORT.ROM),A
EX AF,AF'
out (SLOT3),a
;
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
LD A,ACEX.vROM.BASIC_128 ; ROM-ID - BASIC 128
LD B,#42 ;!HARDCODE page
CALL SET_PORTS
;
LD A,ACEX.vROM.BASIC_48 ; ROM-ID - BASIC 48
LD B,#43 ;!HARDCODE page
CALL SET_PORTS
;
LD A,ACEX.vROM.TR_DOS ; ROM-ID - TR-DOS
LD B,#44 ;!HARDCODE page
CALL SET_PORTS
;
; í⨠áâà ­¨æë ¯®ª  ­¥ ¨á¯®«ì§ãîâáï
LD A,ACEX.vROM.BIOS ; ROM-ID - BIOS
;LD B,#45 ;!HARDCODE page
LD B,#41
CALL SET_PORTS
;
LD A,ACEX.vROM.BIOS_3 ; ROM-ID - BIOS-1
;LD B,#46 ;!HARDCODE page
LD B,#41
CALL SET_PORTS
;
LD A,ACEX.vROM.BIOS_4 ; ROM-ID - BIOS-2
;LD B,#47 ;!HARDCODE page
LD B,#41
JP SET_PORTS
; ¬®¦­® § ¤¥©á⢮¢ âì ¥éñ 4 áâà ­¨æë ­  ¯®àâë #E4..#E7
;---------------------------------------------------------------------[]
;--------------------------------------- ;---------------------------------------
INCLUDE 'src/bios/ROM/SETUP/messages.z80' INCLUDE 'crazy bios/ROM/SETUP/messages.z80'
;--------------------------------------- ;---------------------------------------
; ;
@ -1741,7 +1597,7 @@ STACK EQU #C000
DISPLAY '-----[Set_Pictures Prebuild start]-----' DISPLAY '-----[Set_Pictures Prebuild start]-----'
MMU 1 e, 0 ; áâà ­¨æ  0 ¢ ¡ ­ªã 0 ¨ ¯à®¢¥àª  ­  £à ­¨æë. MMU 1 e, 0 ; áâà ­¨æ  0 ¢ ¡ ­ªã 0 ¨ ¯à®¢¥àª  ­  £à ­¨æë.
ORG ROM_MAP.LOGO ORG ROM_MAP.LOGO
INCLUDE 'src/bios/logo/Set_Pictures.asm' INCLUDE 'crazy bios/logo/Set_Pictures.asm'
DISPLAY '-----[Set_Pictures Prebuild done ]-----' DISPLAY '-----[Set_Pictures Prebuild done ]-----'
ELSE ELSE
DISPLAY '------------------[Main.asm]------------------' DISPLAY '------------------[Main.asm]------------------'

View File

@ -68,20 +68,6 @@ SETTINGS:
CALL POSTMSG CALL POSTMSG
LD BC,SettingsItemsTabsAddrs.max*256 LD BC,SettingsItemsTabsAddrs.max*256
IF NEW_FEATURE
; LD HL,CurrentDateTime
; CALL GETTIME
; LD HL,CurrentDateTime
; LD A,(HL)
; AND #F0
ENDIF
STT1: LD A,C STT1: LD A,C
LD (ITEM),A LD (ITEM),A
PUSH BC PUSH BC
@ -136,15 +122,6 @@ AGAIN: LD HL,AGAIN
JP Z,INCVAL JP Z,INCVAL
CP "-" CP "-"
JP Z,DECVAL JP Z,DECVAL
IF NEW_FEATURE
; ENTER
LD HL,#280D
AND A
SBC HL,DE
JP Z,pressedEnter
ENDIF
; F2 ; F2
LD HL,#3C00 LD HL,#3C00
AND A AND A
@ -288,36 +265,6 @@ PTEXT: call Get_Item_Address
JP PITEM JP PITEM
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[v] ;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[v]
IF NEW_FEATURE
; New procedure with IY reg
LocateCursor:
call Get_Item_Address
LD E,(IY+MenusItem.Column)
LD D,(IY+MenusItem.Line)
ld a,(IY+MenusItem.Name)
push iy
call FindStringAddr
LD BC,#0100
XOR A
CPIR
LD A,#FF
SUB C
ADD A,E
LD E,A
;CALL ScreenPOS.LOCAT
CALL LP_SET_PLACE
pop iy
ld a,(iy+MenusItem.FirstString)
call FindStringAddr
LD BC,#0100
XOR A
CPIR
LD A,#FF
SUB C
LD B,A
ret
ELSE
LocateCursor: LocateCursor:
call Get_Item_Address call Get_Item_Address
LD E,(HL) LD E,(HL)
@ -350,7 +297,6 @@ LocateCursor:
SUB C SUB C
LD B,A LD B,A
ret ret
ENDIF
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^] ;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^]
PCURSOR: PCURSOR:
@ -393,68 +339,6 @@ WRMCLR: DB COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.WHITE
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[v] ;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[v]
IF NEW_FEATURE
; New procedure with IY reg
INCVAL: call Get_Item_Address
ld A,(IY+MenusItem.Type)
AND A
RET NZ ; ¯à®¢¥àª  ­  ⨯, ¤ «ìè¥ ¥á«¨ paramLine
LD A,(IY+MenusItem.CMOSreg)
PUSH AF
CALL READCMS
LD C,A
AND (IY+MenusItem.ValueMask)
CP (IY+MenusItem.ValueMax)
LD A,C
JR Z,OVERI
LD B,(IY+MenusItem.ValueMask)
CALL ADDVAL
ADD A,B
JR OVER
OVERI: XOR (IY+MenusItem.ValueMax)
OVER: LD B,A
POP AF
CALL WRITCMS
PUSH IY
PUSH IY
POP HL
CALL PITEM
POP IY
ld l,(IY+MenusItem.Action)
ld h,(IY+MenusItem.Action+1)
jp (hl)
DECVAL: call Get_Item_Address
ld A,(IY+MenusItem.Type)
AND A
RET NZ ; ¯à®¢¥àª  ­  ⨯, ¤ «ìè¥ ¥á«¨ paramLine
LD A,(IY+MenusItem.CMOSreg)
PUSH AF
CALL READCMS
LD C,A
AND (IY+MenusItem.ValueMask)
LD A,C
JR Z,OVERD
LD B,(IY+MenusItem.ValueMask)
CALL ADDVAL
SUB B
JR OVER
OVERD: OR (IY+MenusItem.ValueMax)
JR OVER
pressedEnter:
; !TODO New Feature
ld a,(iy+MenusItem.Type)
and a
ret z
ld l,(iy+MenusItem.Action)
ld h,(iy+MenusItem.Action+1)
jp (HL)
ELSE
INCVAL: call Get_Item_Address INCVAL: call Get_Item_Address
INC HL INC HL
INC HL INC HL
@ -508,8 +392,6 @@ DECVAL: call Get_Item_Address
OVERD: OVERD:
OR (HL) OR (HL)
JR OVER JR OVER
ENDIF
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^] ;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^]
; B - MASK ; B - MASK
@ -524,48 +406,6 @@ ADDV2: RLC B
RET RET
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[v] ;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[v]
IF NEW_FEATURE
; IY - item's address
; New procedure with IY reg
PITEM: LD E,(IY+MenusItem.Column) ; x-coordinate
LD D,(IY+MenusItem.Line) ; y-coordinate
;CALL ScreenPOS.LOCAT
CALL LP_SET_PLACE ; set position of item
LD A,(IY+MenusItem.Name)
CALL POSTMSG
PUSH IY
LD BC,MenusItem.FirstString
ADD IY,BC
EX (SP),IY
POP HL ; âãâ  ¤à¥á áâப¨ ¯¥à¢®£® ¯ à ¬¥âà 
LD A,(IY+MenusItem.Type)
AND A
JR NZ,.printParameter ; ¥á«¨ íâ® ­¥ áâப  á ¨§¬¥­ï¥¬ë¬ ¯ à ¬¥â஬, â® ¯à®áâ® ¯¥ç âì
LD A,(IY+MenusItem.CMOSreg) ; address of next parametr
CALL READCMS ; read item`s value from cmos
LD B,(IY+MenusItem.ValueMask) ; item's value mask
AND B
.getParameterNum:
RRCA
RRC B
JR NC,.getParameterNum
RLCA
OR A
jr Z,.printParameter ; ¯¥à¢ë© ¯ à ¬¥âà ¢ë¢®¤¨¬?
ld c,a
xor a
ld b,a
add hl,bc ; ­ å®¤¨¬ ­®¬¥à ¯ à ¬¥âà 
.printParameter:
ld a,(hl)
jp POSTMSG
ELSE
; !FIXIT ¢ë§®¢ë ¯à®æ¥¤ãà ¡¨®á  ­ ¤¥îâáï ­  â®, çâ® ­¥ª®â®àë¥ à¥£¨áâàë ­¥ ¯®àâïâáï ; !FIXIT ¢ë§®¢ë ¯à®æ¥¤ãà ¡¨®á  ­ ¤¥îâáï ­  â®, çâ® ­¥ª®â®àë¥ à¥£¨áâàë ­¥ ¯®àâïâáï
; HL - item's address ; HL - item's address
PITEM: LD E,(HL) ; x-coordinate PITEM: LD E,(HL) ; x-coordinate
@ -600,7 +440,6 @@ PITEM: LD E,(HL) ; x-coordinate
.printParameter: .printParameter:
ld a,(hl) ld a,(hl)
jp POSTMSG jp POSTMSG
ENDIF
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^] ;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^]
; <20>¥ ¯®àâ¨â HL ; <20>¥ ¯®àâ¨â HL
@ -743,24 +582,6 @@ SETDEF: ;!TODO
RET RET
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[v] ;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[v]
; New procedure with IY reg
IF NEW_FEATURE
Get_Item_Address:
LD A,(ITEM)
LD L,A
LD H,0
LD DE,SettingsItemsTabsAddrs
ADD HL,HL
ADD HL,DE
LD A,(HL)
INC HL
LD H,(HL)
LD L,A
PUSH HL
POP IY
RET
ELSE
Get_Item_Address: Get_Item_Address:
LD A,(ITEM) LD A,(ITEM)
LD L,A LD L,A
@ -775,7 +596,6 @@ Get_Item_Address:
INC HL INC HL
INC HL INC HL
RET RET
ENDIF
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^] ;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^]
; ;
MODULE OnChangeAction MODULE OnChangeAction
@ -784,44 +604,6 @@ nothing:
; !TODO New Feature ; !TODO New Feature
; !TODO § ¬ãâ¨âì çâ®-⮠⨯  API ¤«ï à¨á®¢ ­¨ï ¢á¯«ë¢ îé¨å ®ª®­ ; !TODO § ¬ãâ¨âì çâ®-⮠⨯  API ¤«ï à¨á®¢ ­¨ï ¢á¯«ë¢ îé¨å ®ª®­
IF NEW_FEATURE
SetTime:
xor a
ld hl,#050E
ld de,#0C20
ld ix,memBUFFER.Shared
CALL WIN_COPY
LD DE,#0C20 ; !HARDCODE
ld b,5
DI
.loop: push bc
push de
CALL LP_SET_PLACE
; ¯¥ç âì  âਡã⮢
LD E,COLORS.CGA.INC.RED
LD B,#0E
CALL LP_PRINT_ATR
pop de
inc d
pop bc
DJNZ .loop
CALL setFRAME.single
LD DE,#0C20 ;yx. y=0..1F, x=0..4F ª®®à¤¨­ âë «¥¢®£® ¢¥àå­¥£® 㣫 
LD BC,#050E ;yx. ¤«¨­  ¨ ¢ëá®â  «¨­¨¨
CALL PBORDER
CALL KEY
xor a
ld hl,#050E
ld de,#0C20
ld ix,memBUFFER.Shared
JP WIN_RESTORE
ENDIF
setXYpos: setXYpos:
JP RESCREEN JP RESCREEN

View File

@ -259,9 +259,10 @@ SHOW_LOGO: LD IX,win_descriptor.tab320x256
SAFE_PORTY SAFE_PORTY
DI DI
LD A,1 LD A,CNF_PORT.EXTENSION
OUT (SYS_PORT.ON),A OUT (CNF_PORT.vZX_ROM),A
OUT (ROM.SLOT0),A LD BC,#1FFD
LD A,#10 ;!HARDCODE
LD HL,MAIN_LOGO.Pallete LD HL,MAIN_LOGO.Pallete
LD DE,memBUFFER.Shared LD DE,memBUFFER.Shared
@ -269,8 +270,7 @@ SHOW_LOGO: LD IX,win_descriptor.tab320x256
LDIR LDIR
XOR A XOR A
OUT (ROM.SLOT0),A OUT (CNF_PORT.vBIOS),A
OUT (SYS_PORT.ON),A
EI EI
LD HL,memBUFFER.Shared LD HL,memBUFFER.Shared
@ -283,24 +283,15 @@ SHOW_LOGO: LD IX,win_descriptor.tab320x256
SAFE_PORTY SAFE_PORTY
DI DI
LD A,1 LD A,CNF_PORT.EXTENSION
OUT (SYS_PORT.ON),A OUT (CNF_PORT.vZX_ROM),A
;LD A,1
OUT (ROM.SLOT0),A
LD HL,MAIN_LOGO.Raster ; ­ ç «® ª à⨭ª¨ ¢ ¡ ­ª¥ <20>‡“ LD HL,MAIN_LOGO.Raster ; ­ ç «® ª à⨭ª¨ ¢ ¡ ­ª¥ <20>‡“
; CALL DECODE ; CALL DECODE
CALL LOGO_TO_SCREEN CALL LOGO_TO_SCREEN
;
;--------------[<5B> áå «ª ]--------------[]
IF Pashalki
_PASHALKI_CODE
ENDIF
;--------------------------------------[]
;
XOR A XOR A
OUT (SYS_PORT.ON),A OUT (CNF_PORT.vBIOS),A
OUT (ROM.SLOT0),A
EI EI
RET RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -411,59 +402,6 @@ LOGO_TO_SCREEN:
XOR A XOR A
RET RET
; IF !ROM_LOGO_TEST
; LOGPAL: ; palitre for logotype
; IF TEST_Build
; INCBIN './test/test2_pal.bin'
; ELSE
; INCBIN './original/logo_pal.bin'
; ENDIF
;
; IF ($-LOGPAL) < 1024
; BLOCK +(1024-($-LOGPAL)),0
; ENDIF
; ENDIF
; Original hardcoded pallete for Peters logotype
; B G R
; DB #FF,#FF,#FF,#00
; DB #8C,#A5,#A5,#00
; DB #42,#EF,#EF,#00
; DB #DE,#CE,#C6,#00
; DB #84,#39,#39,#00
; DB #CE,#8C,#84,#00
; DB #A5,#39,#31,#00
; DB #84,#7B,#7B,#00
; DB #63,#5A,#5A,#00
; DB #BD,#39,#39,#00
; DB #84,#08,#08,#00
; DB #AD,#08,#08,#00
; DB #18,#00,#00,#00
; DB #63,#08,#10,#00
; DB #94,#08,#18,#00
; DB #00,#00,#00,#00
; PALCOL:
; ; B G R
; DB #FF,#FF,#FF,#00
; DB #8C,#BD,#BD,#80
; DB #BD,#CE,#BD,#00
; DB #EF,#CE,#BD,#00
; DB #BC,#73,#73,#00
; DB #9C,#63,#63,#00
; DB #DE,#8C,#8C,#00
; DB #8C,#52,#52,#00
; DB #BD,#63,#63,#00
; DB #52,#10,#10,#00
; DB #21,#00,#00,#00
; DB #8C,#00,#00,#00
; DB #AD,#00,#00,#00
; DB #AD,#10,#21,#00
; DB #8C,#00,#10,#00
; DB #00,#00,#00,#00
SET_CGA: SET_CGA:
CALL SETPAL4 CALL SETPAL4
LD A,4 ; page_pal LD A,4 ; page_pal

View File

@ -57,8 +57,6 @@
"TrDosB", -- 3 "TrDosB", -- 3
"TrDosC", -- 4 "TrDosC", -- 4
"TrDosD", -- 5 "TrDosD", -- 5
"SetTime", -- 6 DEFINES.INC --> NEW_FEATURE
"HddWrPr", -- 7 DEFINES.INC --> HDDwriteProtect
-- 8 -- 8
-- 9 -- 9
-- 10 -- 10
@ -71,14 +69,10 @@
-- 17 -- 17
} }
} }
DeleteValueByDEFINE(SettingsTabsOrder,"NEW_FEATURE","SetTime")
DeleteValueByDEFINE(SettingsTabsOrder,"HDDwriteProtect","HddWrPr")
DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","MemTest") DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","MemTest")
DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","UpdBios") DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","UpdBios")
DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","TypRate") DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","TypRate")
DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","TypDelay") DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","TypDelay")
-- DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","")
-- DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","")
ENDLUA ENDLUA
; ;
@ -130,26 +124,6 @@
;----------------------------[Settings items table]----------------------------[v] ;----------------------------[Settings items table]----------------------------[v]
; ;
IF NEW_FEATURE
; New structure for procedure with IY reg
STRUCT MenusItem
Action WORD
Type BYTE
Column BYTE
Line BYTE
Name BYTE
CMOSreg BYTE
ValueMask BYTE
ValueMax BYTE
FirstString BYTE
ENDS
paramLine EQU 0
folderLine EQU 1
ENDIF
;
firstColumn EQU 03 ; ᬥ饭¨¥ ¯® X ¤«ï ¯¥à¢®£® á⮫¡æ  firstColumn EQU 03 ; ᬥ饭¨¥ ¯® X ¤«ï ¯¥à¢®£® á⮫¡æ 
secondColumn EQU 43 ; ᬥ饭¨¥ ¯® X ¤«ï ¢â®à®£® á⮫¡æ  secondColumn EQU 43 ; ᬥ饭¨¥ ¯® X ¤«ï ¢â®à®£® á⮫¡æ 
firstLine EQU 07 ; ᬥ饭¨¥ ¯® Y ¤«ï ¯¥à¢®© áâப¨ firstLine EQU 07 ; ᬥ饭¨¥ ¯® Y ¤«ï ¯¥à¢®© áâப¨
@ -158,7 +132,6 @@ SettingsItemsTabs:
_mSETitemParams Lang _mSETitemParams Lang
DW OnChangeAction.setLang ; ¤¥©á⢨¥ ¯à¨ ¨§¬¥­¥­¨¨ DW OnChangeAction.setLang ; ¤¥©á⢨¥ ¯à¨ ¨§¬¥­¥­¨¨
IF NEW_FEATURE : DB paramLine : ENDIF ; ⨯ ¯ à ¬¥âà  (áâப  á® §­ ç¥­¨¥¬ ¨«¨ ª â «®£)
DB columnNum,lineNum ; á⮫¡¥æ, áâப  DB columnNum,lineNum ; á⮫¡¥æ, áâப 
DB paramName ; <20> §¢ ­¨¥ ¯ à ¬¥âà  DB paramName ; <20> §¢ ­¨¥ ¯ à ¬¥âà 
DW CMOS_CELL.BootUpParams.Mask.Language : DB %0000'0100 ; CMOS : MASK DW CMOS_CELL.BootUpParams.Mask.Language : DB %0000'0100 ; CMOS : MASK
@ -169,7 +142,6 @@ SettingsItemsTabs:
IF UnusedSettingsFeatures ; !TODO IF UnusedSettingsFeatures ; !TODO
_mSETitemParams MemTest _mSETitemParams MemTest
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.BootUpParams.Mask.MemTest : DB %1000'0000 DW CMOS_CELL.BootUpParams.Mask.MemTest : DB %1000'0000
@ -179,7 +151,6 @@ SettingsItemsTabs:
_mSETitemParams SaveRAMdrvs _mSETitemParams SaveRAMdrvs
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.BootUpParams.Mask.SaveRAMdisks : DB %0100'0000 DW CMOS_CELL.BootUpParams.Mask.SaveRAMdisks : DB %0100'0000
@ -189,7 +160,7 @@ SettingsItemsTabs:
IF UnusedSettingsFeatures ; !TODO IF UnusedSettingsFeatures ; !TODO
_mSETitemParams UpdBios _mSETitemParams UpdBios
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.BootUpParams.Mask.UpdBios : DB %0010'0000 DW CMOS_CELL.BootUpParams.Mask.UpdBios : DB %0010'0000
@ -199,7 +170,6 @@ SettingsItemsTabs:
_mSETitemParams StartDelay _mSETitemParams StartDelay
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.BootUpParams.Mask.StartDelay : DB %0001'0000 DW CMOS_CELL.BootUpParams.Mask.StartDelay : DB %0001'0000
@ -210,7 +180,7 @@ SettingsItemsTabs:
IF UnusedSettingsFeatures ; !TODO IF UnusedSettingsFeatures ; !TODO
_mSETitemParams TypRate _mSETitemParams TypRate
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.Typematic.Mask.Rate : DB %0000'0111 DW CMOS_CELL.Typematic.Mask.Rate : DB %0000'0111
@ -227,7 +197,7 @@ SettingsItemsTabs:
IF UnusedSettingsFeatures ; !TODO IF UnusedSettingsFeatures ; !TODO
_mSETitemParams TypDelay _mSETitemParams TypDelay
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.Typematic.Mask.Delay : DB %0110'0000 DW CMOS_CELL.Typematic.Mask.Delay : DB %0110'0000
@ -239,7 +209,6 @@ SettingsItemsTabs:
_mSETitemParams RebootMsg _mSETitemParams RebootMsg
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.Options.Mask.RebootMSG : DB %0000'0010 DW CMOS_CELL.Options.Mask.RebootMSG : DB %0000'0010
@ -248,7 +217,6 @@ SettingsItemsTabs:
_mSETitemParams SysDsk _mSETitemParams SysDsk
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.BootDrives.Mask.SysDisk : DB %0000'0111 DW CMOS_CELL.BootDrives.Mask.SysDisk : DB %0000'0111
@ -263,7 +231,6 @@ SettingsItemsTabs:
_mSETitemParams AltSysDsk _mSETitemParams AltSysDsk
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.BootDrives.Mask.AltSysDisk : DB %0111'0000 DW CMOS_CELL.BootDrives.Mask.AltSysDisk : DB %0111'0000
@ -278,7 +245,6 @@ SettingsItemsTabs:
_mSETitemParams FddFirst _mSETitemParams FddFirst
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.DrivesSetup_1.Mask.FirstFDD : DB %0000'0000 DW CMOS_CELL.DrivesSetup_1.Mask.FirstFDD : DB %0000'0000
@ -289,7 +255,6 @@ SettingsItemsTabs:
_mSETitemParams FddSecond _mSETitemParams FddSecond
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.DrivesSetup_1.Mask.SecondFDD : DB %0000'0000 DW CMOS_CELL.DrivesSetup_1.Mask.SecondFDD : DB %0000'0000
@ -300,7 +265,6 @@ SettingsItemsTabs:
_mSETitemParams PriIdeMA _mSETitemParams PriIdeMA
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.DrivesSetup_1.Mask.PriIDEmaster : DB %0011'0000 DW CMOS_CELL.DrivesSetup_1.Mask.PriIDEmaster : DB %0011'0000
@ -311,7 +275,6 @@ SettingsItemsTabs:
_mSETitemParams PriIdeSl _mSETitemParams PriIdeSl
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.DrivesSetup_1.Mask.PriIDEslave : DB %1100'0000 DW CMOS_CELL.DrivesSetup_1.Mask.PriIDEslave : DB %1100'0000
@ -322,7 +285,6 @@ SettingsItemsTabs:
_mSETitemParams SecIdeMA _mSETitemParams SecIdeMA
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.DrivesSetup_2.Mask.SecIDEmaster : DB %0011'0000 DW CMOS_CELL.DrivesSetup_2.Mask.SecIDEmaster : DB %0011'0000
@ -333,7 +295,6 @@ SettingsItemsTabs:
_mSETitemParams SecIdeSl _mSETitemParams SecIdeSl
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.DrivesSetup_2.Mask.SecIDEslave : DB %1100'0000 DW CMOS_CELL.DrivesSetup_2.Mask.SecIDEslave : DB %1100'0000
@ -345,7 +306,7 @@ SettingsItemsTabs:
IF HDDwriteProtect IF HDDwriteProtect
_mSETitemParams HddWrPr _mSETitemParams HddWrPr
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.Options.Mask.HDDwriteProtect : DB %0000'0001 DW CMOS_CELL.Options.Mask.HDDwriteProtect : DB %0000'0001
@ -355,7 +316,6 @@ SettingsItemsTabs:
_mSETitemParams ScreenY _mSETitemParams ScreenY
DW OnChangeAction.setXYpos DW OnChangeAction.setXYpos
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.ScreenPosition.Mask.X : DB %1110'0000 DW CMOS_CELL.ScreenPosition.Mask.X : DB %1110'0000
@ -377,7 +337,6 @@ SettingsItemsTabs:
_mSETitemParams ScreenX _mSETitemParams ScreenX
DW OnChangeAction.setXYpos DW OnChangeAction.setXYpos
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.ScreenPosition.Mask.Y : DB %0000'1110 DW CMOS_CELL.ScreenPosition.Mask.Y : DB %0000'1110
@ -399,7 +358,6 @@ SettingsItemsTabs:
_mSETitemParams FrameInt _mSETitemParams FrameInt
DW OnChangeAction.setInt DW OnChangeAction.setInt
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.ScreenSET.Mask.Int : DB %0011'0000 DW CMOS_CELL.ScreenSET.Mask.Int : DB %0011'0000
@ -410,7 +368,6 @@ SettingsItemsTabs:
_mSETitemParams VSync _mSETitemParams VSync
DW OnChangeAction.setVsinc DW OnChangeAction.setVsinc
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.ScreenSET.Mask.Sinc : DB %1000'0000 DW CMOS_CELL.ScreenSET.Mask.Sinc : DB %1000'0000
@ -420,7 +377,6 @@ SettingsItemsTabs:
_mSETitemParams QuickStartROM _mSETitemParams QuickStartROM
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.BootUpParams.Mask.QuickStartROM : DB %0000'0001 DW CMOS_CELL.BootUpParams.Mask.QuickStartROM : DB %0000'0001
@ -429,7 +385,6 @@ SettingsItemsTabs:
_mSETitemParams TrDosA _mSETitemParams TrDosA
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.TRDOSmount.Mask.A : DB %0000'0010 DW CMOS_CELL.TRDOSmount.Mask.A : DB %0000'0010
@ -439,7 +394,6 @@ SettingsItemsTabs:
_mSETitemParams TrDosB _mSETitemParams TrDosB
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.TRDOSmount.Mask.B : DB %0000'1000 DW CMOS_CELL.TRDOSmount.Mask.B : DB %0000'1000
@ -449,7 +403,6 @@ SettingsItemsTabs:
_mSETitemParams TrDosC _mSETitemParams TrDosC
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.TRDOSmount.Mask.C : DB %0010'0000 DW CMOS_CELL.TRDOSmount.Mask.C : DB %0010'0000
@ -459,7 +412,6 @@ SettingsItemsTabs:
_mSETitemParams TrDosD _mSETitemParams TrDosD
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.TRDOSmount.Mask.D : DB %1000'0000 DW CMOS_CELL.TRDOSmount.Mask.D : DB %1000'0000
@ -469,23 +421,12 @@ SettingsItemsTabs:
_mSETitemParams LoadZXroms _mSETitemParams LoadZXroms
DW OnChangeAction.nothing DW OnChangeAction.nothing
IF NEW_FEATURE : DB paramLine : ENDIF
DB columnNum,lineNum DB columnNum,lineNum
DB paramName DB paramName
DW CMOS_CELL.Options.Mask.LoadZXroms : DB %0000'1000 DW CMOS_CELL.Options.Mask.LoadZXroms : DB %0000'1000
DB msgStrings.valLoadZXromsManually DB msgStrings.valLoadZXromsManually
DB msgStrings.valLoadZXromsFlag DB msgStrings.valLoadZXromsFlag
DB msgStrings.valLoadZXromsCAD DB msgStrings.valLoadZXromsCAD
IF NEW_FEATURE
_mSETitemParams SetTime
DW OnChangeAction.SetTime
DB folderLine
DB columnNum,lineNum
DB paramName
DB #00,%0000'0000,%0000'0000
DB msgStrings.valFolder
ENDIF
;--------------------[Items Addresses table]--------------------[] ;--------------------[Items Addresses table]--------------------[]
SettingsItemsTabsAddrs: SettingsItemsTabsAddrs:
_mCreateSettingsItemsTabsAddrs _mCreateSettingsItemsTabsAddrs
@ -666,10 +607,6 @@ msgStrings:
_mSetStr valLoadZXromsFlag, tmp_Counter : DZ 'By ZX flag' _mSetStr valLoadZXromsFlag, tmp_Counter : DZ 'By ZX flag'
_mSetStr valLoadZXromsCAD, tmp_Counter : DZ 'On restart' _mSetStr valLoadZXromsCAD, tmp_Counter : DZ 'On restart'
; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ 'On call ' ; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ 'On call '
IF NEW_FEATURE
_mSetStr parSetTime, tmp_Counter : DZ 'Date and time setup : '
_mSetStr valFolder, tmp_Counter : DB 16,'ENTER',17,0
ENDIF
IF BETA_BUILD > 0 IF BETA_BUILD > 0
_mSetStr testBIOSmsg, tmp_Counter : DZ 'Test build! ',BUILD_DATE,', ',__TIME__ _mSetStr testBIOSmsg, tmp_Counter : DZ 'Test build! ',BUILD_DATE,', ',__TIME__
ENDIF ENDIF
@ -824,10 +761,6 @@ msgRusStrings:
_mSetStrRus valLoadZXromsFlag, tmp_Counter : DZ '<EFBFBD>® ä« £ã ZX ' _mSetStrRus valLoadZXromsFlag, tmp_Counter : DZ '<EFBFBD>® ä« £ã ZX '
_mSetStrRus valLoadZXromsCAD, tmp_Counter : DZ '<EFBFBD>ਠà¥áâ àâ¥' _mSetStrRus valLoadZXromsCAD, tmp_Counter : DZ '<EFBFBD>ਠà¥áâ àâ¥'
; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ '<27>ਠ¢ë§®¢¥ ' ; _mSetStrRus valLoadZXromsAuto, tmp_Counter : DZ '<27>ਠ¢ë§®¢¥ '
IF NEW_FEATURE
_mSetStrRus parSetTime, tmp_Counter : DZ ' â  ¨ ¢à¥¬ï : '
_mSetStrRus valFolder, tmp_Counter : DB 16,'Ž',17,0
ENDIF
IF BETA_BUILD > 0 IF BETA_BUILD > 0
_mSetStrRus testBIOSmsg, tmp_Counter : DZ '¥á⮢ ï ᡮઠ! ',BUILD_DATE,', ',__TIME__ _mSetStrRus testBIOSmsg, tmp_Counter : DZ '¥á⮢ ï ᡮઠ! ',BUILD_DATE,', ',__TIME__
ENDIF ENDIF

View File

@ -140,7 +140,7 @@ MN_128_S:
;************************************** ;**************************************
MENU_128: MENU_128:
XOR A XOR A
OUT (SYS_PORT.RAM),A OUT (CNF_PORT.vZX_ROM),A
CALL ZX_VARS.PROG.SWAP_ROM CALL ZX_VARS.PROG.SWAP_ROM
CALL NEW_SP CALL NEW_SP
@ -166,8 +166,8 @@ SH_4: LD HL,MENU_DAT - MENU_128
EX AF,AF' EX AF,AF'
;LD A,0 ;LD A,0
;OUT (CNF_PORT),A ;OUT (CNF_PORT),A
LD A,SYS_PORT.EXTENSION LD A,vROM.EXTENSION
OUT (SYS_PORT.ROM),A ;!!!!! ¢¥àá¨ï ¤«ï <20>‡“ OUT (CNF_PORT.vBIOS),A ;!!!!! ¢¥àá¨ï ¤«ï <20>‡“
EX AF,AF' EX AF,AF'
RET RET
MENU_DAT: MENU_DAT:
@ -311,7 +311,7 @@ DOS_PROG:
//DOS_PROG: //DOS_PROG:
.Exec: PUSH AF .Exec: PUSH AF
XOR A XOR A
OUT (SYS_PORT.RAM),A OUT (CNF_PORT.vZX_ROM),A
POP AF POP AF
//DOS_PROG_A+1: //DOS_PROG_A+1:
.Patch+2: CALL #3D03 ;!HARDCODE .Patch+2: CALL #3D03 ;!HARDCODE
@ -319,8 +319,8 @@ DOS_PROG:
;!FIXIT ᤥ« âì ç¥à¥§ ãá«®¢¨¥ ª®¬¯¨«ï樨 ZX_ROM_BIOS ;!FIXIT ᤥ« âì ç¥à¥§ ãá«®¢¨¥ ª®¬¯¨«ï樨 ZX_ROM_BIOS
//LD A,0 //LD A,0
//OUT (CNF_PORT),A //OUT (CNF_PORT),A
LD A,SYS_PORT.EXTENSION LD A,vROM.EXTENSION
OUT (SYS_PORT.ROM),A ;!!!!! ¢¥àá¨ï ¤«ï <20>‡“ OUT (CNF_PORT.vBIOS),A ;!!!!! ¢¥àá¨ï ¤«ï <20>‡“
POP AF POP AF
RET RET
//DOS_PROG_LEN //DOS_PROG_LEN
@ -601,7 +601,7 @@ CONFIG_SET:
POP DE POP DE
LD A,E LD A,E
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
IM 1 IM 1
EI EI
@ -615,7 +615,7 @@ SPRINTER_reset:
_SET_CNF: _SET_CNF:
DI DI
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
RET RET
CNF_SC_312: CNF_SC_312:
@ -628,11 +628,6 @@ CNF_PN_320:
OUT (Port_VSYNC),A OUT (Port_VSYNC),A
RET RET
; LD A,CNF_0
; OUT (SYS_PORT.ROM),A
; CALL DOS_OFF
; JP 0
;***************************** ;*****************************
; *** MENU UTILITES *** ; *** MENU UTILITES ***
;***************************** ;*****************************

View File

@ -103,7 +103,7 @@
OUT (SLOT3),A OUT (SLOT3),A
XOR A XOR A
OUT (ROM.SLOT0),A OUT (ROM.SLOT0),A
OUT (SYS_PORT.ROM),A OUT (CNF_PORT.vBIOS),A
POP AF POP AF
JP PO,.noInterrupts JP PO,.noInterrupts
EI EI

View File

@ -1,12 +1,10 @@
;=======================[All shared EQUs]=======================; ;=======================[All shared EQUs]=======================;
BETA_BUILD EQU 6 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥­¨¥ ® â¥á⮢®© ᡮથ ­  áâ à⮢®¬ íªà ­¥ BETA_BUILD EQU 6 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥­¨¥ ® â¥á⮢®© ᡮથ ­  áâ à⮢®¬ íªà ­¥
;======================[All shared defines]=====================; ;======================[All shared defines]=====================;
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
DEFINE SP2000_Loader_Flag #0107 ; DEFINE SP2000_Loader_Flag #0107 ;
DEFINE IDE_Optimization 1 ; á«¥£ª  ®¯â¨¬¨§¨àã¥â ­¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD DEFINE IDE_Optimization 1 ; á«¥£ª  ®¯â¨¬¨§¨àã¥â ­¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
DEFINE NeedSafePort_Y 1 ; ¥á«¨ 0, â® ¢ ०¨¬¥ ¡¥§  ªá¥«ï ­¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà ­ DEFINE NeedSafePort_Y 1 ; ¥á«¨ 0, â® ¢ ०¨¬¥ ¡¥§  ªá¥«ï ­¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà ­
DEFINE Pashalki 0 ; DEFINE PICTURE_FILE './crazy bios/logo/use/brick.bmp' ;
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp' ;
DEFINE StandartCGApallete 1 ; <20>®¤ª«îç âì ¯ «¨âàã ¨§ standart_colors.inc DEFINE StandartCGApallete 1 ; <20>®¤ª«îç âì ¯ «¨âàã ¨§ standart_colors.inc
DEFINE BitStream_SizeInPages 4 ; DEFINE BitStream_SizeInPages 4 ;
DEFINE USE_E1_SCANCODE 0 ; DEFINE USE_E1_SCANCODE 0 ;
@ -15,8 +13,6 @@ BETA_BUILD EQU 6 ;
DEFINE LOGO_DELAY_NORM 100 ; DEFINE LOGO_DELAY_NORM 100 ;
DEFINE LOGO_DELAY_MAX 130 ; DEFINE LOGO_DELAY_MAX 130 ;
;----------------------------[ TEST ]---------------------------; ;----------------------------[ TEST ]---------------------------;
DEFINE TEST_INT 1 ; ’¥áâ®¢ë© ®¡à ¡®â稪 ¯®«ì§®¢ â¥«ì᪮£® INT
DEFINE NEW_FEATURE 0 ; !TODO ¯ã­ªâë ¢ á¥â ¯
DEFINE HDDwriteProtect 0 ; áâ à ï ä¨èª  ¤«ï ä㭪権 5x DEFINE HDDwriteProtect 0 ; áâ à ï ä¨èª  ¤«ï ä㭪権 5x
DEFINE RECOVERYmountTYPE 1 ; 1 - ¡ëáâàë© ­¥¬­®£® § å à¤ª®¦¥­ë© ¢ à¨ ­â. 2 - ¡®«¥¥ "¯à ¢¨«ì­ë©" DEFINE RECOVERYmountTYPE 1 ; 1 - ¡ëáâàë© ­¥¬­®£® § å à¤ª®¦¥­ë© ¢ à¨ ­â. 2 - ¡®«¥¥ "¯à ¢¨«ì­ë©"
DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤­ë© à ¬¤¨áª, ¥á«¨ ­¥â, â® ¢ 15-ë© DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤­ë© à ¬¤¨áª, ¥á«¨ ­¥â, â® ¢ 15-ë©

View File

@ -8,11 +8,11 @@ BIOS_ver_hex EQU EXP_ID.VER*256+EXP_ID.MOD
DEFINE BIOS_ver_string '0'+EXP_ID.VER, '.', '0'+EXP_ID.MOD/10, '0'+EXP_ID.MOD-(EXP_ID.MOD/10)*10 DEFINE BIOS_ver_string '0'+EXP_ID.VER, '.', '0'+EXP_ID.MOD/10, '0'+EXP_ID.MOD-(EXP_ID.MOD/10)*10
IF BETA_BUILD > 0 IF BETA_BUILD > 0
DEFINE BETA_str_ver "BETA ","0"+BETA_BUILD DEFINE BETA_str_ver "Crazy Beta ","0"+BETA_BUILD
ENDIF ENDIF
;--------------------------------------- ;---------------------------------------
DEFINE BoardID_start #5283 DEFINE BoardID_start 0 ;#5283
DEFINE BoardID_end #47E8 DEFINE BoardID_end 0 ;#47E8
DEFINE MotherBoardID #0000 DEFINE MotherBoardID #0000
DEFINE MotherBoardType #00 ; !TODO 0 - Legacy, 1 - DX, 2 - Max DEFINE MotherBoardType #00 ; !TODO 0 - Legacy, 1 - DX, 2 - Max
;======================================= ;=======================================
@ -29,8 +29,8 @@ Disk_subsystem_ver_hex EQU ROM_ID.VER*256+ROM_ID.MOD
;============[For CNF part]============= ;============[For CNF part]=============
CNF_ID: CNF_ID:
.VER EQU 3 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥­ïâì âãâ! .VER EQU 0 ;3 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥­ïâì âãâ!
.MOD EQU 05 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥­ïâì âãâ! .MOD EQU 00 ;05 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥­ïâì âãâ!
bitstream_ver_hex EQU CNF_ID.VER*256+CNF_ID.MOD bitstream_ver_hex EQU CNF_ID.VER*256+CNF_ID.MOD
DEFINE bitstream_ver_string '0'+CNF_ID.VER, '.', '0'+CNF_ID.MOD/10, '0'+CNF_ID.MOD-(CNF_ID.MOD/10)*10 DEFINE bitstream_ver_string '0'+CNF_ID.VER, '.', '0'+CNF_ID.MOD/10, '0'+CNF_ID.MOD-(CNF_ID.MOD/10)*10

View File

@ -1,19 +1,15 @@
; ;
;---------[All shared includes]--------- ;---------[All shared includes]---------
INCLUDE 'src/bios/shared/DEFINES.INC' ; Shared defines INCLUDE 'crazy bios/shared/DEFINES.INC' ; Shared defines
IF Pashalki
INCLUDE 'Shared_Includes/structures/EasterSprites.inc'
ENDIF
INCLUDE 'Shared_Includes/structures/FileSystem.inc' INCLUDE 'Shared_Includes/structures/FileSystem.inc'
INCLUDE 'src/bios/Loader/Loader.asm' ; Bitstream loader as macros INCLUDE 'crazy bios/shared/CompMacro.asm' ; ¬ ªà®áë
INCLUDE 'src/bios/shared/CompMacro.asm' ; ¬ ªà®áë
INCLUDE 'Shared_Includes/constants/SP2000.inc' ; ª®­áâ ­âë INCLUDE 'Shared_Includes/constants/SP2000.inc' ; ª®­áâ ­âë
INCLUDE 'Shared_Includes/constants/zx_char_codes.inc' ; ª®­áâ ­âë INCLUDE 'Shared_Includes/constants/zx_char_codes.inc' ; ª®­áâ ­âë
INCLUDE 'Shared_Includes/constants/zx_vars.inc' ; INCLUDE 'Shared_Includes/constants/zx_vars.inc' ;
INCLUDE 'Shared_Includes/macroses/macros.z80' INCLUDE 'Shared_Includes/macroses/macros.z80'
INCLUDE 'src/bios/ROM/MEM_MAP.inc' ; ª àâ  ¯ ¬ï⨠INCLUDE 'crazy bios/ROM/MEM_MAP.inc' ; ª àâ  ¯ ¬ïâ¨
INCLUDE 'src/bios/shared/VERSION.inc' ; ‚¥àá¨ï EXP ¨ ROM INCLUDE 'crazy bios/shared/VERSION.inc' ; ‚¥àá¨ï EXP ¨ ROM
INCLUDE 'Shared_Includes/constants/BIOS_EQU.inc' INCLUDE 'Shared_Includes/constants/BIOS_EQU.inc'
INCLUDE 'src/bios/ROM/BIOS.inc' INCLUDE 'crazy bios/ROM/BIOS.inc'
;--------------------------------------- ;---------------------------------------
; ;

View File

@ -107,7 +107,7 @@ program_start EQU Flasher_Start
MODULE expBIOS_Vars MODULE expBIOS_Vars
INCLUDE 'constants/BIOS_EXP.INC' INCLUDE '../Flasher/constants/BIOS_EXP.INC'
ENDMODULE ENDMODULE
INCLUDE 'Versions.inc' INCLUDE 'Versions.inc'

View File

@ -1,14 +1,13 @@
BOARD_INFO.number: EQU 0x00000003 BOARD_INFO.number: EQU 0x00000003
BOARD_INFO.type: EQU 0x00000005 BOARD_INFO.type: EQU 0x00000005
BoardID.start: EQU 0x0000008F BoardID.start: EQU 0x00000095
BoardID.end: EQU 0x00000091 BoardID.end: EQU 0x00000097
FN_CRIPT.cnf: EQU 0x000019EA ID_SPRINTER.bitstream_ver: EQU 0x0000008F
ID_SPRINTER.bitstream_ver: EQU 0x00000089 bitstream_ver_hex: EQU 0x00000000
bitstream_ver_hex: EQU 0x00000305
EXP_ID.VER: EQU 0x00000003 EXP_ID.VER: EQU 0x00000003
EXP_ID.MOD: EQU 0x00000006 EXP_ID.MOD: EQU 0x00000006
CNF_ID.VER: EQU 0x00000003 CNF_ID.VER: EQU 0x00000000
CNF_ID.MOD: EQU 0x00000005 CNF_ID.MOD: EQU 0x00000000
msgStrings.str_ACEX_MODEL: EQU 0x000024DD msgStrings.str_ACEX_MODEL: EQU 0x0000244B
msgRusStrings.str_ACEX_MODEL: EQU 0x00002EED msgRusStrings.str_ACEX_MODEL: EQU 0x00002E5B
BETA_BUILD: EQU 0x00000006 BETA_BUILD: EQU 0x00000006

View File

@ -14,7 +14,7 @@
LD A,1 ; enable CS0, disable CS1 LD A,1 ; enable CS0, disable CS1
OUT (C),A ; Z84.SYS.Data OUT (C),A ; Z84.SYS.Data
;ÛÛÛÛÛÛÛ ¨­¨æ¨ «¨§ æ¨ï DCP ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛ ¨­¨æ¨ «¨§ æ¨ï DCP ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
LD HL,INIT_SLOTS LD HL,ADD_PORTS.Code
DCP_INIT: LD C,XL DCP_INIT: LD C,XL
LD B,XH LD B,XH
LD E,YL LD E,YL
@ -102,11 +102,30 @@ DCP_INIT: LD C,XL
LD H,A ; ¤®¡ ¢¨âì ¨§¬¥­ï¥¬ãî ç áâì LD H,A ; ¤®¡ ¢¨âì ¨§¬¥­ï¥¬ãî ç áâì
JR .loop_parse JR .loop_parse
.return: JP (IX) .return: JP (IX)
;ÛÛÛÛÛÛÛ „®¡ ¢«¥­¨¥ ¯®à⮢ #4000..#4004 ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
ADD_PORTS: ; ¢­ãâ७­¨¥ ¯®àâë í¬ã«ïâ®à  <20>‡“ ¬ ¯ïâáï ­  ¢­¥è­¨¥
.Data: DB #EB ; ¢­¥è­¨© #4000
DB #EF ; ¢­¥è­¨© #4001
DB #E6 ; ¢­¥è­¨© #4002
DB #E7 ; ¢­¥è­¨© #4003
DB #E4 ; ¢­¥è­¨© #4004
.Data.Size EQU $ - .Data
;
.Code: LD HL,ADD_PORTS.Data
LD DE,#C480
LD BC,ADD_PORTS.Data.Size
LDIR
;ÛÛÛÛÛÛÛ ˆ­¨æ¨ «¨§ æ¨ï áâà ­¨æ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛ ˆ­¨æ¨ «¨§ æ¨ï áâà ­¨æ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
INIT_SLOTS: XOR A INIT_SLOTS: LD BC,#1FFD
LD A,1
OUT (C),A
LD B,#7F
OUT (C),A
;
XOR A
OUT (SLOT0),A OUT (SLOT0),A
OUT (SLOT1),A OUT (SLOT1),A
DEC A LD A,2
OUT (SLOT2),A OUT (SLOT2),A
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (SLOT3),A OUT (SLOT3),A
@ -125,9 +144,20 @@ INIT_SLOTS: XOR A
OUT (SYS_PORT.RAM),A OUT (SYS_PORT.RAM),A
INC A INC A
OUT (SLOT1),A OUT (SLOT1),A
;
IN A,(FastRAM.OFF) IN A,(FastRAM.OFF)
; ’“’ Œ› “†… އ“ ’ŽŒ †… ŠŽ„… ˆ €„<E282AC> ; ’“’ Œ› “†… އ“ ’ŽŒ †… ŠŽ„… ˆ €„<E282AC>
; áâà ­¨æë 0,1,2,#FE ; áâà ­¨æë 0,1,2,#FE
;ÛÛÛÛÛÛÛ ˆ­¨æ¨ «¨§ æ¨ï áâà ­¨æ vROM ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
vROM_MAP: LD BC,#4000
LD HL,RESERVED_PAGES.BIOS
LD A,RESERVED_PAGES.Size
.loop: LD E,(HL)
OUT (C),E
INC C
INC HL
DEC A
JR NZ,.loop
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
;ÛÛÛÛÛÛÛ <20> ¡®ç¨© ª®¤ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛ <20> ¡®ç¨© ª®¤ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
@ -141,35 +171,44 @@ INIT_SLOTS: XOR A
CALL Init_Mem CALL Init_Mem
;ÛÛÛÛÛÛ ‡ £à㧪  ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛ ‡ £à㧪  ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
; ¤®¯®«­¨â¥«ì­ë¥ ä㭪樨 ; ¤®¯®«­¨â¥«ì­ë¥ ä㭪樨
LOAD_FNs: LD A,(RESERVED_PAGES.SYS_FN) ; áâà ­¨æ  ¡ãä¥à , ¥á«¨  ¤à¥á ¢ ®ª­¥ #C000 (BLOCK_ID) CHECK_IMG: ;LD A,(RESERVED_PAGES.SYS_FN) ; áâà ­¨æ  ¡ãä¥à , ¥á«¨  ¤à¥á ¢ ®ª­¥ #C000 (BLOCK_ID)
LD B,sys_fn_in_sectors ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢ LD B,1 ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢
LD HL,bufer_adr ;  ¤à¥á ¡ãä¥à  ¤ ­­ëå LD HL,#8000 ;  ¤à¥á ¡ãä¥à  ¤ ­­ëå
LD IX,sec_high ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  áâ àè ï ç áâì LD IX,0 ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  áâ àè ï ç áâì
LD DE,sec_low ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  ¬« ¤è ï ç áâì LD DE,0 ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  ¬« ¤è ï ç áâì
PUSH HL PUSH HL
CALL FN_HDD_READ CALL FN_HDD_READ
; Ž¡à § BIOS
LOAD_DATA: LD B,4
LD IY,RESERVED_PAGES.BIOS
POP HL POP HL
CALL .LOADER ;ÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
; Š à⨭ª  ¨ €¯¤¥©â¥à LD DE,CHECKING_LABEL
LD B,2 LD B,CHECKING_LABEL.Size
CALL .LOADER .loop: LD A,(DE)
JP BEGIN_CB_IMG CP (HL)
.LOADER: ; § £à㧪  ¯® 128 ᥪâ®à®¢ RET NZ ; error
.loop: PUSH HL INC DE
PUSH BC INC HL
LD A,(IY) DJNZ .loop
LD B,128 ; Ž¡à § BIOS
LOAD_DATA: LD A,(RESERVED_PAGES.BIOS)
LD HL,#C000
LD B,RESERVED_PAGES.Size * #4000 / 512
LD DE,1 LD DE,1
CALL FN_HDD_READ_NEXT CALL FN_HDD_READ_NEXT
LD BC,4 XOR A
ADD IY,BC OUT (SLOT1),A
POP BC JP .IN_RAM + #4000
POP HL ; ªã᮪ ¢ 1 á«®â¥
DJNZ .loop .IN_RAM: LD BC,#1FFD
RET XOR A
OUT (C),A
;
XOR A ;CNF_PORT.BIOS
OUT (CNF_PORT.vBIOS),A
LD A,#40
OUT (SLOT3),A
;
RST 0
;JP BEGIN_CB_IMG
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
@ -469,6 +508,22 @@ ERROR: ;
XOR 1 XOR 1
JR .big_loop JR .big_loop
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°; ;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
RESERVED_PAGES: ; Ž¡à § <20>ˆŽ  ¤«ï à¥áâ àâ 
.BIOS: DB #46 ; BIOS Acex port: #EB
DB #47 ; EXTENSION Acex port: #EF
DB #48 ; Recovery_1 Acex port: #E6
DB #49 ; Recovery_2 Acex port: #E7
DB #4B ; LOGO Acex port: #E4
.Size EQU $-RESERVED_PAGES.BIOS
DB #FF ; End of the block
.Blocks EQU 1
CHECKING_LABEL: SET_IMG_LABEL
.Size EQU $ - CHECKING_LABEL
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
END_CB EQU $ END_CB EQU $
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
@ -675,19 +730,51 @@ DCP_DATA: DW %00'000'0'0100'0000
; DCP END MARKER ; DCP END MARKER
DW 0,0,0 DW 0,0,0
;-----------------------------------------------------------------------; ;-----------------------------------------------------------------------;
RESERVED_PAGES:; [x] Block #1 - ¬®¦­® ®á¢®¡®¤¨âì ¯® ID 1 ; RESERVED_PAGES:; [x] Block #1 - ¬®¦­® ®á¢®¡®¤¨âì ¯® ID 1
; „®¯®«­¨â¥«ì­ë¥ ¯à®æ¥¤ãàë ; ; „®¯®«­¨â¥«ì­ë¥ ¯à®æ¥¤ãàë
.SYS_FN: DB SYS_FN_PAGE ; .SYS_FN: DB SYS_FN_PAGE
; Ž¡à § <20>ˆŽ  ¤«ï ¯à®è¨¢ª¨ ; ; Ž¡à § <20>ˆŽ  ¤«ï ¯à®è¨¢ª¨
.BIOS: DB #10,#11,#12,#13 ; .BIOS: DB #10,#11,#12,#13
DB #14,#15,#16,#17 ; DB #14,#15,#16,#17
DB #18,#19,#1A,#1B ; DB #18,#19,#1A,#1B
DB #1C,#1D,#1E,#1F ; DB #1C,#1D,#1E,#1F
; Š à⨭ª  ; ; Š à⨭ª 
.PICTURE: DB 2,3,4,5,6 ; .PICTURE: DB 2,3,4,5,6
; Ž¡à § ¯ ¬ïâ¨ á ¯à®è¨¢ «ì騪®¬ ; ; Ž¡à § ¯ ¬ïâ¨ á ¯à®è¨¢ «ì騪®¬
.FLASHER_RAM: DB 7,8 ; .FLASHER_RAM: DB 7,8
DB #FF ; End of the block ; DB #FF ; End of the block
.Blocks EQU 1 ; .Blocks EQU 1
.Size EQU $-RESERVED_PAGES ; .Size EQU $-RESERVED_PAGES
;-----------------------------------------------------------------------;
; ;ÛÛÛÛÛÛ ‡ £à㧪  ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
; ; ¤®¯®«­¨â¥«ì­ë¥ ä㭪樨
; LOAD_FNs: LD A,(RESERVED_PAGES.SYS_FN) ; áâà ­¨æ  ¡ãä¥à , ¥á«¨  ¤à¥á ¢ ®ª­¥ #C000 (BLOCK_ID)
; LD B,sys_fn_in_sectors ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢
; LD HL,bufer_adr ;  ¤à¥á ¡ãä¥à  ¤ ­­ëå
; LD IX,sec_high ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  áâ àè ï ç áâì
; LD DE,sec_low ;  ¡á®«îâ­ë© ­®¬¥à ᥪâ®à  ¬« ¤è ï ç áâì
; PUSH HL
; CALL FN_HDD_READ
; ; Ž¡à § BIOS
; LOAD_DATA: LD B,4
; LD IY,RESERVED_PAGES.BIOS
; POP HL
; CALL .LOADER
; ; Š à⨭ª  ¨ €¯¤¥©â¥à
; LD B,2
; CALL .LOADER
; JP BEGIN_CB_IMG
; .LOADER: ; § £à㧪  ¯® 128 ᥪâ®à®¢
; .loop: PUSH HL
; PUSH BC
; LD A,(IY)
; LD B,128
; LD DE,1
; CALL FN_HDD_READ_NEXT
; LD BC,4
; ADD IY,BC
; POP BC
; POP HL
; DJNZ .loop
; RET
;-----------------------------------------------------------------------; ;-----------------------------------------------------------------------;

25
Crazy/BUILD_BIOS.a80 Normal file
View File

@ -0,0 +1,25 @@
;[--------------------------------------------------------------------------]
MACRO Set_Block text, blk_addr
.tmp equ $
BLOCK blk_addr-.tmp,#FF
DISPLAY text, /H, $-.tmp
ENDM
;[--------------------------------------------------------------------------]
ORG 0
DISPLAY '[ Building ROM for 1K30 ]'
OUTPUT 'Build/_SPRIN.BIN'
;PAGE 0
Set_Block 'ROM free space: ', #20000
;PAGE 8
INCBIN 'Build/CrazyBlaster.raw'
Set_Block 'EXP free space: ', #30000
;PAGE 12-15 (#0C, #0D, #0E, #0F)
INCBIN '../SP_Core/Build/Bin/LOADER_K30.BIN'
Set_Block 'Loader & Bitstream free space: ', #40000
;[--------------------------------------------------------------------------]
DISPLAY '[ Building ROM for 1K30 done ]'
;[--------------------------------------------------------------------------]
;'Build/Bin/LOADER_K30.BIN'

View File

@ -17,6 +17,10 @@
DEFINE image_size_in_sectors flasher_size_in_sectors + bios_size_in_sectros DEFINE image_size_in_sectors flasher_size_in_sectors + bios_size_in_sectros
DEFINE TYPE_OF_ACEX 3 ; 3 - 1K30, 5 - 1K50 DEFINE TYPE_OF_ACEX 3 ; 3 - 1K30, 5 - 1K50
MACRO SET_IMG_LABEL
.Crazy_IMG_Label: DB "Crazy Blaster Image"
ENDM
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[ FIRST SECTION - CONF ROM ]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[ FIRST SECTION - CONF ROM ]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
@ -35,10 +39,14 @@ END_FIRST_SECTION EQU $
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[ SECOND SECTION - IMAGE ON DRIVE ]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[ SECOND SECTION - IMAGE ON DRIVE ]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ; ;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
;OUTPUT './Build/CrazyBlasterIMG.raw' ;OUTPUT './Build/CrazyBlasterIMG.raw'
OUTPUT './Build/CB_BIOS_IMG.raw' OUTPUT './Build/CB_BIOS_IMG.IMG'
ORG #0000 ORG #0000
SET_IMG_LABEL
BLOCK 512 - $,#FF
;
;BEGIN_CB_IMG: INCLUDE 'Crazy/IMG_PART.ASM' ;BEGIN_CB_IMG: INCLUDE 'Crazy/IMG_PART.ASM'
BEGIN_CB_IMG: INCLUDE 'Crazy/IMG_PART.ASM' BEGIN_CB_IMG: INCBIN 'Build/CB_BIOS.RAW'
END_SECOND_SECTION EQU $ END_SECOND_SECTION EQU $
; ;
DISPLAY "IMG size = ",/A,END_SECOND_SECTION - BEGIN_CB_IMG DISPLAY "IMG size = ",/A,END_SECOND_SECTION - BEGIN_CB_IMG

@ -1 +1 @@
Subproject commit 4662474034c70f4b2627ff8eca10ccdf4a7d3525 Subproject commit d357c4cc2a8af41e47136c245161e11355612a96