starting vBIOS
@ -16,7 +16,7 @@
|
||||
;---------------------------------------;
|
||||
|
||||
;-----------[Shared Includes]-----------
|
||||
INCLUDE 'src/bios/shared/includes.inc' ; Includes
|
||||
INCLUDE 'crazy bios/shared/includes.inc' ; Includes
|
||||
;---------------------------------------
|
||||
|
||||
|
||||
@ -30,50 +30,6 @@
|
||||
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
|
||||
;-----------------[EXP]-----------------
|
||||
MMU 0 e, 8 ; áâà ¨æ 8 ¢ ¡ ªã 0 ¨ ¯à®¢¥àª £à ¨æë
|
||||
@ -81,7 +37,7 @@
|
||||
DEFINE+ IsInBIOS 1
|
||||
OUTPUT 'Build/Bin/EXP.BIN'
|
||||
ShowInfo 'EXP block Start', 0 ; !!!!! test
|
||||
INCLUDE 'src/bios/EXP/EXP.asm'
|
||||
INCLUDE 'crazy bios/EXP/EXP.asm'
|
||||
ShowInfo 'EXP block End', 0 ; !!!!! test
|
||||
OUTEND
|
||||
;---------------------------------------
|
||||
@ -95,7 +51,7 @@
|
||||
DEFINE+ IsInBIOS 0
|
||||
OUTPUT 'Build/Bin/ROM.BIN'
|
||||
ShowInfo 'ROM block Start', 0 ; !!!!! test
|
||||
INCLUDE 'src/bios/ROM/ROM.asm'
|
||||
INCLUDE 'crazy bios/ROM/ROM.asm'
|
||||
ShowInfo 'ROM block End', 0 ; !!!!! test
|
||||
OUTEND
|
||||
UNDEFINE IsInBIOS
|
||||
@ -106,25 +62,25 @@
|
||||
|
||||
; Building page 12 of Sprinter ROM
|
||||
;------[Loader with bitstream K30]------
|
||||
MMU 0 3, 12 ; áâà ¨æë 12-15 ¢ ¡ ª¨ 0-3.
|
||||
ORG ROM_MAP.LOADER
|
||||
OUTPUT 'Build/Bin/LOADER_K30.BIN'
|
||||
Conf_loader K30
|
||||
BLOCK #10000-$,#FF
|
||||
OUTEND
|
||||
; MMU 0 3, 12 ; áâà ¨æë 12-15 ¢ ¡ ª¨ 0-3.
|
||||
; ORG ROM_MAP.LOADER
|
||||
; OUTPUT 'Build/Bin/LOADER_K30.BIN'
|
||||
; Conf_loader K30
|
||||
; BLOCK #10000-$,#FF
|
||||
; OUTEND
|
||||
;---------------------------------------
|
||||
|
||||
|
||||
|
||||
; Building page 22 of Sprinter ROM
|
||||
;------[Loader with bitstream K50]------
|
||||
MMU 0 3, 22 ; áâà ¨æë 22-25 ¢ ¡ ª¨ 0-3.
|
||||
ORG ROM_MAP.LOADER
|
||||
OUTPUT 'Build/Bin/LOADER_K50.BIN'
|
||||
;!TODO ᤥ« âì 㯠ª®¢é¨ª ¡¨âáâਬ âãâ LUA
|
||||
Conf_loader K50
|
||||
BLOCK #10000-$,#FF
|
||||
OUTEND
|
||||
; MMU 0 3, 22 ; áâà ¨æë 22-25 ¢ ¡ ª¨ 0-3.
|
||||
; ORG ROM_MAP.LOADER
|
||||
; OUTPUT 'Build/Bin/LOADER_K50.BIN'
|
||||
; ;!TODO ᤥ« âì 㯠ª®¢é¨ª ¡¨âáâਬ âãâ LUA
|
||||
; Conf_loader K50
|
||||
; BLOCK #10000-$,#FF
|
||||
; OUTEND
|
||||
;---------------------------------------
|
||||
;
|
||||
|
||||
@ -133,7 +89,7 @@
|
||||
MMU 1 e, 1 ; áâà ¨æ 1 ¢ ¡ ªã 1 ¨ ¯à®¢¥àª £à ¨æë.
|
||||
ORG ROM_MAP.LOGO
|
||||
OUTPUT 'Build/Bin/LOGO.BIN'
|
||||
INCLUDE 'src/bios/logo/Set_Pictures.asm'
|
||||
INCLUDE 'crazy bios/logo/Set_Pictures.asm'
|
||||
OUTEND
|
||||
;---------------------------------------
|
||||
;
|
||||
@ -142,7 +98,7 @@
|
||||
EXPORT BOARD_INFO.type
|
||||
EXPORT BoardID.start
|
||||
EXPORT BoardID.end
|
||||
EXPORT FN_CRIPT.cnf
|
||||
;EXPORT FN_CRIPT.cnf
|
||||
EXPORT ID_SPRINTER.bitstream_ver
|
||||
EXPORT bitstream_ver_hex
|
||||
;EXPORT ID_Version
|
||||
|
||||
@ -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'
|
||||
|
||||
DEFINE IMG_RECOVERY 'src/bios/shared/recovery.img'
|
||||
;DEFINE IMG_RECOVERY 'src/bios/shared/recovery_tst.img'
|
||||
|
||||
DEFINE IMG_RECOVERY 'crazy bios/shared/cb_sys.img'
|
||||
;
|
||||
;[--------------------------------------------------------------------------]
|
||||
MACRO Set_Block text, blk_addr
|
||||
@ -30,82 +8,30 @@
|
||||
BLOCK blk_addr-.tmp,#FF
|
||||
DISPLAY text, /H, $-.tmp
|
||||
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
|
||||
DISPLAY '[ Building ROM for 1K30 ]'
|
||||
OUTPUT 'Build/_SPRIN.BIN'
|
||||
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
|
||||
DISPLAY '[ Building CB_IMG file ]'
|
||||
OUTPUT 'Build/CB_BIOS.RAW'
|
||||
;[--------------------------------------------------------------------------]
|
||||
;
|
||||
;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!_____________]'
|
||||
;[--------------------------------------------------------------------------]
|
||||
@ -2,9 +2,13 @@
|
||||
CNF_PORT:
|
||||
.ON EQU #74
|
||||
.OFF EQU #24
|
||||
.vBIOS EQU .ON
|
||||
.vZX_ROM EQU .OFF
|
||||
; Data:
|
||||
.TURBO.ON EQU 3 ; ¤ ë¥ ¤«ï ¢ª«î票ï TURBO
|
||||
.BIOS EQU 0
|
||||
.EXTENSION EQU 1
|
||||
.TURBO.OFF EQU 2 ; ¤ ë¥ ¤«ï ¢ëª«î票ï TURBO
|
||||
.TURBO.ON EQU 3 ; ¤ ë¥ ¤«ï ¢ª«î票ï TURBO
|
||||
.CNF_0 EQU #04 ; ª àâ ¯®à⮢ 0
|
||||
.CNF_1 EQU #0C ; ª àâ ¯®à⮢ 1 (¤«ï ०¨¬ ¯®ç⨠ç¨á⮣® zx spectrum)
|
||||
.CNF_2 EQU #14 ; ª àâ ¯®à⮢ 2
|
||||
@ -34,7 +38,7 @@ SYS_PORT:
|
||||
.PENT_RESET EQU CNF_PORT.PENT_RESET
|
||||
.SCORP_RESET EQU CNF_PORT.SCORP_RESET
|
||||
.CNF_512 EQU CNF_PORT.CNF_512
|
||||
/*
|
||||
|
||||
---------------------------------------------------
|
||||
CNF_PORT ¢¨á¨â 4 ¢¥è¨å ¯®àâ å (#7C/#3C ¨ #74/#24) ç¥à¥§ ª àâã ¯®à⮢.
|
||||
SYS_PORT £¢®§¤ï¬¨ ¢ ª®ä¥ #7C/#C
|
||||
@ -67,21 +71,21 @@ ____________________________________________________
|
||||
|E1 (+dos_on) | 00 | | 0 | ... |
|
||||
|E2 | 00 | | 0 | 0 |
|
||||
|E3 | 00 | | 0 | 1 |
|
||||
|E4 | 01 | | 1 | ... |
|
||||
|E4 | 01 | | 1 | ... | LOGO #4B
|
||||
|E5 (+dos_on) | 01 | | 0 | ... |
|
||||
|E6 | 01 | | 0 | 0 |
|
||||
|E7 | 01 | | 0 | 1 |
|
||||
|EB | | 00 | ... | ... | BIOS
|
||||
|EF | | 01 | ... | ... | EXTENSION
|
||||
|E6 | 01 | | 0 | 0 | Recovery_1 #48
|
||||
|E7 | 01 | | 0 | 1 | Recovery_2 #49
|
||||
|EB | | 00 | ... | ... | BIOS #46
|
||||
|EF | | 01 | ... | ... | EXTENSION #47
|
||||
|_____________|____________|_________|______|______|
|
||||
... - § 票¥ ஫¨ ¥ ¨£à ¥â
|
||||
|
||||
‘â ¤ àâë¥ áâà ¨æë އ“ ¤«ï ®¡à §®¢ <20>‡“ ᯥªâà㬠:
|
||||
Page Name Int.Port Page Name Int.Port
|
||||
#42 BASIC 128 #E2 | ??? ??? ??? ??? #E6
|
||||
#43 BASIC 48 #E3 | ??? ??? ??? ??? #E7
|
||||
#44 TR-DOS #E1 | ??? ??? ??? ??? #E5
|
||||
#45 BIOS (ZX_EXP) #E0 | ??? ??? ??? ??? #E4
|
||||
#42 BASIC 128 #E2 | #48 ??? ??? ??? #E6
|
||||
#43 BASIC 48 #E3 | #49 ??? ??? ??? #E7
|
||||
#44 TR-DOS #E1 | #4A ??? ??? ??? #E5
|
||||
#45 BIOS (ZX_EXP) #E0 | #4B ??? ??? ??? #E4
|
||||
#46 BIOS (ZX_EXP) #EB
|
||||
#47 BIOS (ZX_EXP2) #EF
|
||||
|
||||
@ -111,5 +115,5 @@ bit7..bit3
|
||||
’ ª ¦¥ íâ®â ¯®àâ ¤ ñâ ¯àï¬ãî ã¬¥à æ¨î áâà ¨æ ¯à¨ ãáâ ®¢«¥®¬ bit4.
|
||||
----------------------------------------------------
|
||||
|
||||
|
||||
ROM.SLOT0
|
||||
;!TODO
|
||||
¯¤¥©â¥à ¤®«¦¥ á ¬ ¢áâ ¢«ïâì ®¬¥à ¯« âë ¨ ⨯ ¡¨âáâਬ
|
||||
@ -625,7 +625,7 @@ SET_PORTS:
|
||||
OUT (C),A
|
||||
LD A,(SYS_PAGE.CONFIG_DE-#4000)
|
||||
OUT (C),D ; ¢¥àãâì áâà ¨æã
|
||||
OUT (CNF_PORT.ROM),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
;
|
||||
CALL DOS_OFF
|
||||
;
|
||||
@ -648,7 +648,7 @@ SET_PORTS:
|
||||
CALL DOS_ON
|
||||
;
|
||||
LD A,CNF_PORT.CNF_0 + ROM.BIOS
|
||||
OUT (CNF_PORT.ROM),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
;
|
||||
LD C,SLOT2 ; ¯®«ãç¨âì áâà ¨æã
|
||||
IN D,(C)
|
||||
|
||||
@ -34,8 +34,8 @@ BOARD_INFO:
|
||||
;¯à®£à ¬¬ ¤«ï ¢ë§®¢ BIOS ç¥à¥§ RST8 ¨§ RAM0
|
||||
EXP_FNS_2_RET:
|
||||
PUSH AF
|
||||
LD A,ROM.BIOS
|
||||
OUT (CNF_PORT.ON),A
|
||||
LD A,vROM.BIOS
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
POP AF
|
||||
JR RST_18_1
|
||||
;=======================================
|
||||
@ -74,44 +74,9 @@ RST_30:
|
||||
;=======================================
|
||||
BLOCK #38-$,0
|
||||
; INTERUPT Point
|
||||
RST38: IF TEST_INT
|
||||
;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
|
||||
RST38: EI
|
||||
RETI
|
||||
ELSE
|
||||
|
||||
; PUSH AF
|
||||
; 1: DEC A
|
||||
; JR NZ,1B
|
||||
; POP AF
|
||||
EI
|
||||
RETI
|
||||
ENDIF
|
||||
;RST10:
|
||||
; CALL_48 10h
|
||||
; RET
|
||||
@ -119,7 +84,6 @@ NOINT: POP AF
|
||||
|
||||
|
||||
;=======================================
|
||||
IFN TEST_INT
|
||||
_mInfoALIGN #10,0
|
||||
; any adress < #C0 with mask %xxxx0000
|
||||
; â ¡«¨æ ¤«ï Sprinter POST-Tester-a
|
||||
@ -140,13 +104,11 @@ TABLE_X:
|
||||
.vD: DB 10110000b ; "D"
|
||||
.vE: DB 01100010b ; "E"
|
||||
.vF: DB 01100011b ; "F"
|
||||
ENDIF
|
||||
;=======================================
|
||||
;
|
||||
|
||||
;
|
||||
;=======================================
|
||||
IFN TEST_INT
|
||||
RESTARTS EQU #FFE0
|
||||
GLOBAL_RESET:
|
||||
DI
|
||||
@ -162,7 +124,6 @@ GLOBAL_RESET:
|
||||
INC DE
|
||||
DJNZ .compare
|
||||
JP RESTARTS
|
||||
ENDIF
|
||||
;=======================================
|
||||
_mInfoBLOCK #66-$,0
|
||||
NMI_Point:
|
||||
@ -244,59 +205,7 @@ BoardID:
|
||||
.start: WORD BoardID_start ; BoardID_start
|
||||
.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 ¥ á®áâ®ï«áï]-----
|
||||
@ -331,81 +240,6 @@ NO_RESTART:
|
||||
OUT (C),A ; Z84.SYS.Data
|
||||
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 =================
|
||||
@ -784,143 +618,8 @@ set_config:
|
||||
OUT (BorderColor),A
|
||||
CALL EMM.CheckColdInit ; ¨¨æ¨ «¨§ æ¨ï ¯ ¬ïâ¨
|
||||
POP HL ; ª®ä¨£ãà æ¨ï
|
||||
JR Reset_Handler.start
|
||||
; *************************************
|
||||
; ‘ç¨â ¥¬, çâ® ¢å®¤ ¢ SETUP ¢á¥£¤ !!!
|
||||
; *************************************
|
||||
|
||||
; LD A,H
|
||||
; CP #FF
|
||||
; JR NZ,NO_SETUP_1
|
||||
; LD A,L
|
||||
|
||||
|
||||
; JR NZ,NO_SETUP_2
|
||||
|
||||
;JR Reset_Handler.start
|
||||
;[---------------------------------------------------------------------]
|
||||
|
||||
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:
|
||||
; ¢ª«îç¨âì TURBO
|
||||
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
|
||||
OUT (CNF_PORT.ON),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
; ; RESET to ISA
|
||||
; LD BC,PORT_ISA
|
||||
; LD A,#FF
|
||||
@ -1068,9 +767,10 @@ PORTS_INIT:
|
||||
LD A,#FF
|
||||
OUT (C),A
|
||||
; £«ã訬 ª®¢®ªá
|
||||
XOR A
|
||||
OUT (CBL.SYS_PORT),A
|
||||
LD BC,CBL.OUT
|
||||
;XOR A
|
||||
;OUT (CBL.SYS_PORT),A
|
||||
;LD BC,CBL.OUT
|
||||
LD BC,0
|
||||
LD A,#80
|
||||
.CBL_MUTE: OUT (C),A
|
||||
DJNZ .CBL_MUTE
|
||||
@ -1081,7 +781,7 @@ PORTS_INIT:
|
||||
; ‘¡à®á ª®â஫«¥à ¤¨áª®¢®¤
|
||||
; ‚ª«îç¨âì ¤®áâ㯠ª ª®â஫«¥àã ¤¨áª (âà¥âìï ª®ä )
|
||||
LD A,CNF_PORT.CNF_3 + ROM.BIOS
|
||||
OUT (CNF_PORT.ON),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
push hl
|
||||
pop hl
|
||||
@ -1092,16 +792,16 @@ PORTS_INIT:
|
||||
XOR A
|
||||
OUT (FDC_93.Command),A
|
||||
; ‚몫îç¨âì ¤®áâ㯠ª ª®â஫«¥àã ¤¨áª
|
||||
LD A,CNF_PORT.CNF_0 + ROM.BIOS
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD A,CNF_PORT.CNF_0 + vROM.BIOS
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
; set HDD1/not-HDD2
|
||||
LD A,IDE.Chanel.Primary
|
||||
OUT (IDE.Chanel.Set),A
|
||||
LD BC,#7FFD
|
||||
LD A,#10
|
||||
XOR A
|
||||
OUT (C),A ; BASIC_48 mode
|
||||
LD B,#1F
|
||||
LD A,01
|
||||
LD A,2
|
||||
OUT (C),A ; RAM-0 mode !!!
|
||||
; ®ç¨á⪠¡ãä¥à®¢ ª« ¢¨ âãàë ¨ ¬ëè¨ ¢ SIO
|
||||
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_ ;
|
||||
|
||||
/*
|
||||
;
|
||||
;------------------------[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 § ¤¥©á⢮¢ âì
|
||||
GOTO_SPEC:
|
||||
IN A,(SLOT3)
|
||||
@ -1322,8 +940,8 @@ BASIC_128:
|
||||
;--------[ <20>à®£à ¬¬ , à §¬¥é ¥¬ ï á #5B00 ¤«ï § ¯ã᪠Spectrum ]--------;
|
||||
RES128_PROG:
|
||||
DISP ZX_VARS.PRINTER_BUFFER ;#5B00
|
||||
LD A,ROM.BIOS
|
||||
OUT (SYS_PORT.RAM),A ; ‚®§¢à â ¢ 128k ROM
|
||||
LD A,vROM.BIOS
|
||||
OUT (CNF_PORT.vZX_ROM),A ; ‚®§¢à â ¢ 128k ROM
|
||||
LD C,SLOT3
|
||||
IN B,(C)
|
||||
LD A,SYS_PAGE
|
||||
@ -1339,7 +957,7 @@ RES128_PROG:
|
||||
OUT (C),A ; 128 ¯®àâ
|
||||
|
||||
LD A,E ; ãáâ ®¢ª ª®ä¨£ãà æ¨¨ ¨ ०¨¬ TURBO
|
||||
OUT (SYS_PORT.RAM),A ; CONFIG_SET
|
||||
OUT (CNF_PORT.vZX_ROM),A ; CONFIG_SET
|
||||
|
||||
INC D
|
||||
DEC D
|
||||
@ -1402,46 +1020,31 @@ RESTARTS_PROG: ; !TODO LDConf
|
||||
|
||||
;----------------------------[Setup Starter]----------------------------;
|
||||
MODULE Setup_Starter
|
||||
; ¯à®£à ¬¬ , à §¬¥é ¥¬ ï ¯® ¤à¥áã 0C000h
|
||||
; ¯à®£à ¬¬ , à §¬¥é ¥¬ ï ¯® ¤à¥áã #C000
|
||||
; ¤«ï § ¯ã᪠Setup
|
||||
Start:
|
||||
DISP COMPILE_ADDR.SETUP_STARTER
|
||||
Exec:
|
||||
LD A,CNF_PORT.CNF_0 + ROM.EXTENSION
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD A,CNF_PORT.CNF_0 + vROM.EXTENSION
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
|
||||
LD HL,ROM_MAP.SETUP
|
||||
LD DE,MEM_MAP.SETUP
|
||||
LD BC,BLOCK_Setup.Length
|
||||
LDIR
|
||||
|
||||
LD A,CNF_PORT.CNF_0 + ROM.BIOS
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD A,CNF_PORT.CNF_0 + vROM.BIOS
|
||||
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 BC,Port_All_Mode
|
||||
OUT (C),A ; keyboard int & acc on, zx_screen & original waits off (for conf >= 3.05)
|
||||
|
||||
EX AF,AF'
|
||||
;----------------------[]
|
||||
DI
|
||||
POP HL ; ¤à¥á ¢®§¢à â ¢ EXP ¨§ SETUP
|
||||
LD SP,#8000 ;!HARDCODE
|
||||
PUSH HL
|
||||
PUSH AF
|
||||
JP SETUP_MAIN
|
||||
ENT
|
||||
Length EQU $-Setup_Starter.Start
|
||||
@ -1453,8 +1056,8 @@ Length EQU $-Setup_Starter.Start
|
||||
RAM_BIOS_PROG: ; for CALL BIOS in #41 page
|
||||
DISP Spec_Page.to_bios
|
||||
PUSH AF
|
||||
LD A,ROM.BIOS
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD A,vROM.BIOS
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
POP AF
|
||||
RET
|
||||
ENT
|
||||
@ -1565,8 +1168,8 @@ JP_HL_48: ;!FIXIT assert with ROM
|
||||
PUSH HL
|
||||
SW_ROM: ;!FIXIT assert with ROM
|
||||
PUSH AF
|
||||
LD A,ROM.BIOS ;!FIXIT ¥¯à ¢¨«ì®¥ §¢ ¨¥ ª®áâ âë
|
||||
OUT (SYS_PORT.RAM),A
|
||||
LD A,vROM.BIOS
|
||||
OUT (CNF_PORT.vZX_ROM),A
|
||||
POP AF
|
||||
RET
|
||||
;***************************************
|
||||
@ -1772,8 +1375,8 @@ ROM_DISK.Pages: ;
|
||||
; „«ï ¢ë§®¢ äãªæ¨© ¡¨®á ¨§ áâà ¨æë 0 <20>‡“ (Extension)
|
||||
RET_to_EXTENSION:
|
||||
PUSH AF
|
||||
LD A,ROM.EXTENSION
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD A,vROM.EXTENSION
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
POP AF
|
||||
RST ToBIOS_18
|
||||
JP RET_to_EXTENSION
|
||||
@ -1800,8 +1403,8 @@ RET_to_EXTENSION:
|
||||
_mInfoBLOCK #3FE8-$,#FF
|
||||
EXP_HDD:
|
||||
PUSH AF
|
||||
LD A,ROM.EXTENSION
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD A,vROM.EXTENSION
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
POP AF
|
||||
RET
|
||||
;---------------------------------------
|
||||
@ -1822,8 +1425,8 @@ EXP_HDD:
|
||||
; ’®çª ¢å®¤ /¢ë室 ¤«ï TR-DOS
|
||||
EXP_FNS_RET:
|
||||
PUSH AF
|
||||
LD A,ROM.BIOS
|
||||
OUT (SYS_PORT.RAM),A ; ’®çª ¢å®¤ /¢ë室 ¨§/¢ TR-DOS ¯à¨ ¢ë§®¢¥ äãªæ¨© BIOS #80..#FF
|
||||
LD A,vROM.BIOS
|
||||
OUT (CNF_PORT.vZX_ROM),A ; ’®çª ¢å®¤ /¢ë室 ¨§/¢ TR-DOS ¯à¨ ¢ë§®¢¥ äãªæ¨© BIOS #80..#FF
|
||||
JP EXP_FNS
|
||||
;---------------------------------------
|
||||
;
|
||||
|
||||
@ -594,14 +594,14 @@ WR_SEC: LD D,5 ;RETRY COUNT
|
||||
SET_DOS_ON:
|
||||
EX AF,AF'
|
||||
LD A,CNF_PORT.CNF_3 + ROM.BIOS
|
||||
OUT (CNF_PORT.ROM),A ; - OPEN
|
||||
OUT (CNF_PORT.vBIOS),A ; - OPEN
|
||||
EX AF,AF'
|
||||
RET
|
||||
; ‚àã¡ ¥â ã«¥¢ãî ª àâã ¯®à⮢
|
||||
SET_DOS_OFF:
|
||||
EX AF,AF'
|
||||
LD A,CNF_PORT.CNF_0 + ROM.BIOS
|
||||
OUT (CNF_PORT.ROM),A ; - CLOSE
|
||||
OUT (CNF_PORT.vBIOS),A ; - CLOSE
|
||||
EX AF,AF'
|
||||
RET
|
||||
|
||||
|
||||
@ -802,7 +802,7 @@ ROM_DISK:
|
||||
LD B,A
|
||||
XOR A
|
||||
OUT (ROM.SLOT0),A
|
||||
OUT (CNF_PORT.ON),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
LD A,B
|
||||
JP .readNext
|
||||
.stackDepth EQU 8 ; à ááâ®ï¨¥ ®â ª®æ ¯à®æ¥¤ãàë ¤® ¢¥àè¨ë á⥪ .
|
||||
|
||||
@ -95,7 +95,8 @@ RST_CONF:
|
||||
JR Z,.YES_CBL
|
||||
XOR A
|
||||
.YES_CBL:
|
||||
LD BC,CBL.SYS_PORT
|
||||
;LD BC,CBL.SYS_PORT
|
||||
LD BC,0
|
||||
OUT (C),A
|
||||
|
||||
LD A,E ; config-byte
|
||||
@ -141,7 +142,7 @@ RST_CONF:
|
||||
DI
|
||||
; ãáâ ¢«¨¢ ¥¬ ã«¥¢ãî ª àâã ¯®à⮢
|
||||
LD A,CNF_PORT.CNF_0
|
||||
OUT (CNF_PORT.ON),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
; ¨ â ª ¯®ïâ® çâ® ¤¥« ¥â
|
||||
IN A,(SLOT3) ; á®åà 塞 ®¬¥à ¢®âªã⮩ áâà ¨æë
|
||||
PUSH AF
|
||||
@ -223,7 +224,7 @@ RST_CONF:
|
||||
DI
|
||||
; ãáâ ¢«¨¢ ¥¬ ã«¥¢ãî ª àâã ¯®à⮢
|
||||
LD A,CNF_PORT.CNF_0
|
||||
OUT (CNF_PORT.ON),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
; ¨ â ª ¯®ïâ® çâ® ¤¥« ¥â
|
||||
IN A,(SLOT3) ; á®åà 塞 ®¬¥à ¢®âªã⮩ áâà ¨æë
|
||||
PUSH AF
|
||||
@ -418,7 +419,7 @@ REINIT: DEC B
|
||||
LD A,RESET_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,CNF_PORT.TURBO.OFF
|
||||
OUT (SYS_PORT.ROM),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
.loop2: LD (#C000),A ; Soft RESET !!!
|
||||
JR .loop2
|
||||
;
|
||||
|
||||
@ -58,7 +58,7 @@ FN_VERSION:
|
||||
;----------------------------------------------------------------------;
|
||||
; [x] 28/01/24 ¤®¡ ¢«¥ ¯®¤äãªæ¨ï ¢ë¤ ç¨ ¨äë ¯à® Acex
|
||||
FN_CRIPT:
|
||||
DJNZ .Acex_ver
|
||||
DJNZ .error
|
||||
;
|
||||
; BoardID_start old address #312A
|
||||
; BoardID_end old address #312D
|
||||
@ -73,74 +73,6 @@ FN_CRIPT:
|
||||
.error: LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
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.CheckColdInit:
|
||||
@ -349,7 +281,7 @@ FN_TURBO:
|
||||
LD (SYS_PAGE.CONFIG_DE),A
|
||||
AND 3
|
||||
;
|
||||
OUT (CNF_PORT.ROM),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
LD A,B
|
||||
OUT (SLOT3),A
|
||||
AND A
|
||||
|
||||
@ -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
|
||||
;
|
||||
@ -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
|
||||
;
|
||||
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 8.9 KiB |
@ -51,149 +51,4 @@ Pallete:
|
||||
Raster:
|
||||
INCBIN 'Build/Bin/LOGO_DAT.BIN'
|
||||
.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
|
||||
|
||||
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
@ -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>y¡׀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ו~׳7־›µֱ‘ְְ~™\\־÷~¢<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׳Kּˆ<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>¹ְ־~y›yT<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’ױ־¸ױ׳±¸n־›<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>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
@ -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>
|
||||
@ -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
|
||||
;
|
||||
BIN
Crazy BIOS/logo/use/brick.bmp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
Crazy BIOS/logo/use/pfathers.bmp
Normal file
|
After Width: | Height: | Size: 10 KiB |
@ -11,11 +11,7 @@ ROM_MAP:
|
||||
.ROM EQU 0
|
||||
.LOADER EQU 0
|
||||
.LOGO EQU 0
|
||||
IF PACKED_MAIN
|
||||
.SETUP EQU #1000
|
||||
ELSE
|
||||
.SETUP EQU BLOCK_Setup
|
||||
ENDIF
|
||||
;
|
||||
|
||||
;
|
||||
@ -45,27 +41,3 @@ COMPILE_ADDR:
|
||||
.SETUP EQU #8000
|
||||
.DEPACK EQU #D000
|
||||
.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
|
||||
|
||||
@ -15,32 +15,8 @@ Check_Sum:
|
||||
RET
|
||||
;---------------------------------------
|
||||
|
||||
;!TODO ¯à¨ªàãâ¨âì ª ROM.BIOS
|
||||
;----------------[int]------------------
|
||||
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
|
||||
RETI
|
||||
;---------------------------------------
|
||||
@ -50,93 +26,6 @@ Check_Sum:
|
||||
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_ ;
|
||||
@ -160,49 +49,11 @@ NMI: RETN
|
||||
|
||||
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
|
||||
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
|
||||
ENT
|
||||
ENDIF
|
||||
|
||||
|
||||
ShowInfo 'Setup block of ROM end', 0 ; !!!!! test
|
||||
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
|
||||
;SW_ROM_1:
|
||||
@ -263,24 +90,14 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
|
||||
PUSH HL
|
||||
;SW_ROM:
|
||||
PUSH AF
|
||||
LD A,ROM.BIOS
|
||||
OUT (SYS_PORT.RAM),A
|
||||
LD A,vROM.BIOS
|
||||
OUT (CNF_PORT.vZX_ROM),A
|
||||
POP AF
|
||||
RET
|
||||
;***************************************
|
||||
;----------------------------------------------------------------------;
|
||||
;
|
||||
|
||||
;!TODO ᯥªâà㬮¢áª¨¥ ã⨫¨âë
|
||||
;----------------------------------------------------------------------;
|
||||
; _mInfoBLOCK #3CFA-$,#FF
|
||||
; LD A,0 ;!HARDCODE
|
||||
; OUT (SYS_PORT.OFF),A
|
||||
; POP AF
|
||||
;----------------------------------------------------------------------;
|
||||
;
|
||||
|
||||
|
||||
;
|
||||
;----------------------------------------------------------------------;
|
||||
_mInfoBLOCK #3D00-$,#FF
|
||||
@ -289,12 +106,6 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
|
||||
RET
|
||||
;***************************************
|
||||
|
||||
;***************************************
|
||||
; BLOCK #3D02-$,FF
|
||||
; !TODO ¬®¦® ®¯à¨å®¤®¢ âì âãâ 17 ¡ ©â®¢
|
||||
;
|
||||
;***************************************
|
||||
|
||||
;***************************************
|
||||
_mInfoBLOCK #3D13-$,#FF
|
||||
NOP
|
||||
@ -302,12 +113,6 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
|
||||
JP DOS_OFF
|
||||
;***************************************
|
||||
|
||||
;***************************************
|
||||
; BLOCK #3D17-$,FF
|
||||
; !TODO ¬®¦® ®¯à¨å®¤®¢ âì âãâ 233 ¡ ©â
|
||||
;
|
||||
;***************************************
|
||||
|
||||
;***************************************
|
||||
_mInfoBLOCK #3E00-$,#FF
|
||||
;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]--------------
|
||||
; call BIOS from EXTENSION
|
||||
_mInfoBLOCK #3FD0-$,#FF ; ToBIOS_FromEXT
|
||||
PUSH AF
|
||||
LD A,ROM.BIOS ; set BIOS to slot0
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD A,vROM.BIOS ; set BIOS to slot0
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
POP AF
|
||||
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
|
||||
;-------[ From TR-DOS to API 4x ]-------
|
||||
_mInfoBLOCK #3FF0-$,#FF
|
||||
RET_TO_TRDOS:
|
||||
PUSH AF
|
||||
DI
|
||||
LD A,ROM.BIOS
|
||||
OUT (SYS_PORT.RAM),A
|
||||
LD A,vROM.BIOS
|
||||
OUT (CNF_PORT.vZX_ROM),A
|
||||
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
|
||||
;=======================================
|
||||
|
||||
|
||||
@ -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'
|
||||
;---------------------------------------
|
||||
;
|
||||
@ -48,7 +48,7 @@
|
||||
; ENCODING "DOS"
|
||||
DEVICE ZXSPECTRUM4096 ; ¬®¤¥«ì á 4 ¬¥âà ¬¨ ¯ ¬ïâ¨
|
||||
MMU 2 e, 0 ; áâà ¨æ 0 ¢ ¡ ªã 2 ¨ ¯à®¢¥àª £à ¨æë.
|
||||
INCLUDE 'src/bios/shared/includes.inc'
|
||||
INCLUDE 'crazy bios/shared/includes.inc'
|
||||
ORG COMPILE_ADDR.MAIN
|
||||
OUTPUT 'Build/Bin/temp/MAIN.BIN'
|
||||
ENDIF
|
||||
@ -82,13 +82,11 @@ TPOINTD EQU TEMP - SYS_PAGE.RAMD_KEYS.NUM - SYS_PAGE.Sp_RAMD_KEYS.NUM ; [x] 4/11
|
||||
;=======================================
|
||||
;SETUP_MAIN:
|
||||
MAIN_START:
|
||||
POP AF
|
||||
POP HL
|
||||
LD SP,STACK
|
||||
PUSH HL
|
||||
LD (RET_TO_EXP_ADDR),hl
|
||||
JP START
|
||||
; DB "(C) 2002 PETERS PLUS LTD "
|
||||
RET_TO_EXP_ADDR: WORD 0000 ; place for save ret address to exp
|
||||
|
||||
;
|
||||
@ -372,8 +370,8 @@ EXIT_SETUP:
|
||||
; JR Z,XFLEX
|
||||
; LD A,#EA ;SPECTRUM
|
||||
;XFLEX:
|
||||
LD A,ROM.BIOS
|
||||
OUT (SYS_PORT.ROM),A
|
||||
LD A,vROM.BIOS
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
POP HL ; ¯¨å ¥âáï ¢ EXP.ASM ¢ ¯à®æ¥¤ãà¥
|
||||
JP (HL)
|
||||
; LD (JMPHL),HL
|
||||
@ -457,7 +455,6 @@ Start_again:
|
||||
ld sp,STACK-2
|
||||
START:
|
||||
DI
|
||||
PUSH AF
|
||||
XOR A
|
||||
LD (ERRSUM),A
|
||||
LD (ERRSUM.ErrDateTime),A
|
||||
@ -527,10 +524,6 @@ START:
|
||||
;R06
|
||||
LD BC,CMOS_CELL.BootUpParams.Mask.QuickStartROM ;#010E
|
||||
CALL G_VALUE
|
||||
POP BC
|
||||
INC B
|
||||
DEC B
|
||||
JR NZ,QIGNORE ; १ã«ìâ ⠯஢¥àª¨ Space ¨§ exp.asm [space_check]
|
||||
PUSH AF
|
||||
LD C,SLOT3
|
||||
IN B,(C)
|
||||
@ -1305,32 +1298,8 @@ ZXCLS: LD HL,#4000
|
||||
RET
|
||||
|
||||
GET_ID: LD HL,memBUFFER.ID
|
||||
;LD C,BIOS.FN_VERSION
|
||||
;JP_to_BIOS
|
||||
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:
|
||||
LD E,L
|
||||
LDI
|
||||
@ -1584,49 +1553,6 @@ ZXMODE_SETUP: IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,Spec_Page
|
||||
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 ¢á直© ¯®¦ àë©
|
||||
.init_41h: LD HL,PROG_NO_ROM
|
||||
LD DE,#C000 + Spec_Page.no_zx_rom
|
||||
@ -1642,78 +1568,8 @@ ZXMODE_SETUP: IN A,(SLOT3)
|
||||
OUT (SLOT3),A
|
||||
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]-----'
|
||||
MMU 1 e, 0 ; áâà ¨æ 0 ¢ ¡ ªã 0 ¨ ¯à®¢¥àª £à ¨æë.
|
||||
ORG ROM_MAP.LOGO
|
||||
INCLUDE 'src/bios/logo/Set_Pictures.asm'
|
||||
INCLUDE 'crazy bios/logo/Set_Pictures.asm'
|
||||
DISPLAY '-----[Set_Pictures Prebuild done ]-----'
|
||||
ELSE
|
||||
DISPLAY '------------------[Main.asm]------------------'
|
||||
|
||||
@ -68,20 +68,6 @@ SETTINGS:
|
||||
CALL POSTMSG
|
||||
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
|
||||
LD (ITEM),A
|
||||
PUSH BC
|
||||
@ -136,15 +122,6 @@ AGAIN: LD HL,AGAIN
|
||||
JP Z,INCVAL
|
||||
CP "-"
|
||||
JP Z,DECVAL
|
||||
|
||||
IF NEW_FEATURE
|
||||
; ENTER
|
||||
LD HL,#280D
|
||||
AND A
|
||||
SBC HL,DE
|
||||
JP Z,pressedEnter
|
||||
ENDIF
|
||||
|
||||
; F2
|
||||
LD HL,#3C00
|
||||
AND A
|
||||
@ -288,36 +265,6 @@ PTEXT: call Get_Item_Address
|
||||
JP PITEM
|
||||
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[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:
|
||||
call Get_Item_Address
|
||||
LD E,(HL)
|
||||
@ -350,7 +297,6 @@ LocateCursor:
|
||||
SUB C
|
||||
LD B,A
|
||||
ret
|
||||
ENDIF
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^]
|
||||
|
||||
PCURSOR:
|
||||
@ -393,68 +339,6 @@ WRMCLR: DB COLORS.CGA.PAPER.BLUE + COLORS.CGA.INC.WHITE
|
||||
|
||||
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[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
|
||||
INC HL
|
||||
INC HL
|
||||
@ -508,8 +392,6 @@ DECVAL: call Get_Item_Address
|
||||
OVERD:
|
||||
OR (HL)
|
||||
JR OVER
|
||||
|
||||
ENDIF
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^]
|
||||
|
||||
; B - MASK
|
||||
@ -524,48 +406,6 @@ ADDV2: RLC B
|
||||
RET
|
||||
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[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 ¢ë§®¢ë ¯à®æ¥¤ãà ¡¨®á ¤¥îâáï â®, çâ® ¥ª®â®àë¥ à¥£¨áâàë ¥ ¯®àâïâáï
|
||||
; HL - item's address
|
||||
PITEM: LD E,(HL) ; x-coordinate
|
||||
@ -600,7 +440,6 @@ PITEM: LD E,(HL) ; x-coordinate
|
||||
.printParameter:
|
||||
ld a,(hl)
|
||||
jp POSTMSG
|
||||
ENDIF
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^]
|
||||
|
||||
; <20>¥ ¯®àâ¨â HL
|
||||
@ -743,24 +582,6 @@ SETDEF: ;!TODO
|
||||
RET
|
||||
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[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:
|
||||
LD A,(ITEM)
|
||||
LD L,A
|
||||
@ -775,7 +596,6 @@ Get_Item_Address:
|
||||
INC HL
|
||||
INC HL
|
||||
RET
|
||||
ENDIF
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^]
|
||||
;
|
||||
MODULE OnChangeAction
|
||||
@ -784,44 +604,6 @@ nothing:
|
||||
|
||||
; !TODO New Feature
|
||||
; !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:
|
||||
JP RESCREEN
|
||||
|
||||
|
||||
@ -259,9 +259,10 @@ SHOW_LOGO: LD IX,win_descriptor.tab320x256
|
||||
SAFE_PORTY
|
||||
|
||||
DI
|
||||
LD A,1
|
||||
OUT (SYS_PORT.ON),A
|
||||
OUT (ROM.SLOT0),A
|
||||
LD A,CNF_PORT.EXTENSION
|
||||
OUT (CNF_PORT.vZX_ROM),A
|
||||
LD BC,#1FFD
|
||||
LD A,#10 ;!HARDCODE
|
||||
|
||||
LD HL,MAIN_LOGO.Pallete
|
||||
LD DE,memBUFFER.Shared
|
||||
@ -269,8 +270,7 @@ SHOW_LOGO: LD IX,win_descriptor.tab320x256
|
||||
LDIR
|
||||
|
||||
XOR A
|
||||
OUT (ROM.SLOT0),A
|
||||
OUT (SYS_PORT.ON),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
EI
|
||||
|
||||
LD HL,memBUFFER.Shared
|
||||
@ -283,24 +283,15 @@ SHOW_LOGO: LD IX,win_descriptor.tab320x256
|
||||
SAFE_PORTY
|
||||
|
||||
DI
|
||||
LD A,1
|
||||
OUT (SYS_PORT.ON),A
|
||||
;LD A,1
|
||||
OUT (ROM.SLOT0),A
|
||||
LD A,CNF_PORT.EXTENSION
|
||||
OUT (CNF_PORT.vZX_ROM),A
|
||||
|
||||
LD HL,MAIN_LOGO.Raster ; ç «® ª à⨪¨ ¢ ¡ ª¥ <20>‡“
|
||||
; CALL DECODE
|
||||
CALL LOGO_TO_SCREEN
|
||||
;
|
||||
;--------------[<5B> áå «ª ]--------------[]
|
||||
IF Pashalki
|
||||
_PASHALKI_CODE
|
||||
ENDIF
|
||||
;--------------------------------------[]
|
||||
;
|
||||
|
||||
XOR A
|
||||
OUT (SYS_PORT.ON),A
|
||||
OUT (ROM.SLOT0),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
EI
|
||||
RET
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -411,59 +402,6 @@ LOGO_TO_SCREEN:
|
||||
XOR A
|
||||
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:
|
||||
CALL SETPAL4
|
||||
LD A,4 ; page_pal
|
||||
|
||||
@ -57,8 +57,6 @@
|
||||
"TrDosB", -- 3
|
||||
"TrDosC", -- 4
|
||||
"TrDosD", -- 5
|
||||
"SetTime", -- 6 DEFINES.INC --> NEW_FEATURE
|
||||
"HddWrPr", -- 7 DEFINES.INC --> HDDwriteProtect
|
||||
-- 8
|
||||
-- 9
|
||||
-- 10
|
||||
@ -71,14 +69,10 @@
|
||||
-- 17
|
||||
}
|
||||
}
|
||||
DeleteValueByDEFINE(SettingsTabsOrder,"NEW_FEATURE","SetTime")
|
||||
DeleteValueByDEFINE(SettingsTabsOrder,"HDDwriteProtect","HddWrPr")
|
||||
DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","MemTest")
|
||||
DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","UpdBios")
|
||||
DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","TypRate")
|
||||
DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","TypDelay")
|
||||
-- DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","")
|
||||
-- DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","")
|
||||
ENDLUA
|
||||
;
|
||||
|
||||
@ -130,26 +124,6 @@
|
||||
;----------------------------[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 ¤«ï ¯¥à¢®£® á⮫¡æ
|
||||
secondColumn EQU 43 ; ᬥ饨¥ ¯® X ¤«ï ¢â®à®£® á⮫¡æ
|
||||
firstLine EQU 07 ; ᬥ饨¥ ¯® Y ¤«ï ¯¥à¢®© áâப¨
|
||||
@ -158,7 +132,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams Lang
|
||||
DW OnChangeAction.setLang ; ¤¥©á⢨¥ ¯à¨ ¨§¬¥¥¨¨
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF ; ⨯ ¯ à ¬¥âà (áâப á® § 票¥¬ ¨«¨ ª â «®£)
|
||||
DB columnNum,lineNum ; á⮫¡¥æ, áâப
|
||||
DB paramName ; <20> §¢ ¨¥ ¯ à ¬¥âà
|
||||
DW CMOS_CELL.BootUpParams.Mask.Language : DB %0000'0100 ; CMOS : MASK
|
||||
@ -169,7 +142,6 @@ SettingsItemsTabs:
|
||||
IF UnusedSettingsFeatures ; !TODO
|
||||
_mSETitemParams MemTest
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.BootUpParams.Mask.MemTest : DB %1000'0000
|
||||
@ -179,7 +151,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams SaveRAMdrvs
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.BootUpParams.Mask.SaveRAMdisks : DB %0100'0000
|
||||
@ -189,7 +160,7 @@ SettingsItemsTabs:
|
||||
IF UnusedSettingsFeatures ; !TODO
|
||||
_mSETitemParams UpdBios
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.BootUpParams.Mask.UpdBios : DB %0010'0000
|
||||
@ -199,7 +170,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams StartDelay
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.BootUpParams.Mask.StartDelay : DB %0001'0000
|
||||
@ -210,7 +180,7 @@ SettingsItemsTabs:
|
||||
IF UnusedSettingsFeatures ; !TODO
|
||||
_mSETitemParams TypRate
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.Typematic.Mask.Rate : DB %0000'0111
|
||||
@ -227,7 +197,7 @@ SettingsItemsTabs:
|
||||
IF UnusedSettingsFeatures ; !TODO
|
||||
_mSETitemParams TypDelay
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.Typematic.Mask.Delay : DB %0110'0000
|
||||
@ -239,7 +209,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams RebootMsg
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.Options.Mask.RebootMSG : DB %0000'0010
|
||||
@ -248,7 +217,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams SysDsk
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.BootDrives.Mask.SysDisk : DB %0000'0111
|
||||
@ -263,7 +231,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams AltSysDsk
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.BootDrives.Mask.AltSysDisk : DB %0111'0000
|
||||
@ -278,7 +245,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams FddFirst
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.DrivesSetup_1.Mask.FirstFDD : DB %0000'0000
|
||||
@ -289,7 +255,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams FddSecond
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.DrivesSetup_1.Mask.SecondFDD : DB %0000'0000
|
||||
@ -300,7 +265,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams PriIdeMA
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.DrivesSetup_1.Mask.PriIDEmaster : DB %0011'0000
|
||||
@ -311,7 +275,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams PriIdeSl
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.DrivesSetup_1.Mask.PriIDEslave : DB %1100'0000
|
||||
@ -322,7 +285,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams SecIdeMA
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.DrivesSetup_2.Mask.SecIDEmaster : DB %0011'0000
|
||||
@ -333,7 +295,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams SecIdeSl
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.DrivesSetup_2.Mask.SecIDEslave : DB %1100'0000
|
||||
@ -345,7 +306,7 @@ SettingsItemsTabs:
|
||||
IF HDDwriteProtect
|
||||
_mSETitemParams HddWrPr
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.Options.Mask.HDDwriteProtect : DB %0000'0001
|
||||
@ -355,7 +316,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams ScreenY
|
||||
DW OnChangeAction.setXYpos
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.ScreenPosition.Mask.X : DB %1110'0000
|
||||
@ -377,7 +337,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams ScreenX
|
||||
DW OnChangeAction.setXYpos
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.ScreenPosition.Mask.Y : DB %0000'1110
|
||||
@ -399,7 +358,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams FrameInt
|
||||
DW OnChangeAction.setInt
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.ScreenSET.Mask.Int : DB %0011'0000
|
||||
@ -410,7 +368,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams VSync
|
||||
DW OnChangeAction.setVsinc
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.ScreenSET.Mask.Sinc : DB %1000'0000
|
||||
@ -420,7 +377,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams QuickStartROM
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.BootUpParams.Mask.QuickStartROM : DB %0000'0001
|
||||
@ -429,7 +385,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams TrDosA
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.TRDOSmount.Mask.A : DB %0000'0010
|
||||
@ -439,7 +394,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams TrDosB
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.TRDOSmount.Mask.B : DB %0000'1000
|
||||
@ -449,7 +403,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams TrDosC
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.TRDOSmount.Mask.C : DB %0010'0000
|
||||
@ -459,7 +412,6 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams TrDosD
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.TRDOSmount.Mask.D : DB %1000'0000
|
||||
@ -469,23 +421,12 @@ SettingsItemsTabs:
|
||||
|
||||
_mSETitemParams LoadZXroms
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.Options.Mask.LoadZXroms : DB %0000'1000
|
||||
DB msgStrings.valLoadZXromsManually
|
||||
DB msgStrings.valLoadZXromsFlag
|
||||
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]--------------------[]
|
||||
SettingsItemsTabsAddrs:
|
||||
_mCreateSettingsItemsTabsAddrs
|
||||
@ -666,10 +607,6 @@ msgStrings:
|
||||
_mSetStr valLoadZXromsFlag, tmp_Counter : DZ 'By ZX flag'
|
||||
_mSetStr valLoadZXromsCAD, tmp_Counter : DZ 'On restart'
|
||||
; _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
|
||||
_mSetStr testBIOSmsg, tmp_Counter : DZ 'Test build! ',BUILD_DATE,', ',__TIME__
|
||||
ENDIF
|
||||
@ -824,10 +761,6 @@ msgRusStrings:
|
||||
_mSetStrRus valLoadZXromsFlag, tmp_Counter : DZ '<EFBFBD>® ä« £ã ZX '
|
||||
_mSetStrRus valLoadZXromsCAD, tmp_Counter : DZ '<EFBFBD>ਠà¥áâ àâ¥'
|
||||
; _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
|
||||
_mSetStrRus testBIOSmsg, tmp_Counter : DZ '’¥á⮢ ï ᡮઠ! ',BUILD_DATE,', ',__TIME__
|
||||
ENDIF
|
||||
|
||||
@ -140,7 +140,7 @@ MN_128_S:
|
||||
;**************************************
|
||||
MENU_128:
|
||||
XOR A
|
||||
OUT (SYS_PORT.RAM),A
|
||||
OUT (CNF_PORT.vZX_ROM),A
|
||||
CALL ZX_VARS.PROG.SWAP_ROM
|
||||
CALL NEW_SP
|
||||
|
||||
@ -166,8 +166,8 @@ SH_4: LD HL,MENU_DAT - MENU_128
|
||||
EX AF,AF'
|
||||
;LD A,0
|
||||
;OUT (CNF_PORT),A
|
||||
LD A,SYS_PORT.EXTENSION
|
||||
OUT (SYS_PORT.ROM),A ;!!!!! ¢¥àá¨ï ¤«ï <20>‡“
|
||||
LD A,vROM.EXTENSION
|
||||
OUT (CNF_PORT.vBIOS),A ;!!!!! ¢¥àá¨ï ¤«ï <20>‡“
|
||||
EX AF,AF'
|
||||
RET
|
||||
MENU_DAT:
|
||||
@ -311,7 +311,7 @@ DOS_PROG:
|
||||
//DOS_PROG:
|
||||
.Exec: PUSH AF
|
||||
XOR A
|
||||
OUT (SYS_PORT.RAM),A
|
||||
OUT (CNF_PORT.vZX_ROM),A
|
||||
POP AF
|
||||
//DOS_PROG_A+1:
|
||||
.Patch+2: CALL #3D03 ;!HARDCODE
|
||||
@ -319,8 +319,8 @@ DOS_PROG:
|
||||
;!FIXIT ᤥ« âì ç¥à¥§ ãá«®¢¨¥ ª®¬¯¨«ï樨 ZX_ROM_BIOS
|
||||
//LD A,0
|
||||
//OUT (CNF_PORT),A
|
||||
LD A,SYS_PORT.EXTENSION
|
||||
OUT (SYS_PORT.ROM),A ;!!!!! ¢¥àá¨ï ¤«ï <20>‡“
|
||||
LD A,vROM.EXTENSION
|
||||
OUT (CNF_PORT.vBIOS),A ;!!!!! ¢¥àá¨ï ¤«ï <20>‡“
|
||||
POP AF
|
||||
RET
|
||||
//DOS_PROG_LEN
|
||||
@ -601,7 +601,7 @@ CONFIG_SET:
|
||||
|
||||
POP DE
|
||||
LD A,E
|
||||
OUT (SYS_PORT.ROM),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
|
||||
IM 1
|
||||
EI
|
||||
@ -615,7 +615,7 @@ SPRINTER_reset:
|
||||
_SET_CNF:
|
||||
DI
|
||||
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
|
||||
OUT (SYS_PORT.ROM),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
RET
|
||||
|
||||
CNF_SC_312:
|
||||
@ -628,11 +628,6 @@ CNF_PN_320:
|
||||
OUT (Port_VSYNC),A
|
||||
RET
|
||||
|
||||
; LD A,CNF_0
|
||||
; OUT (SYS_PORT.ROM),A
|
||||
; CALL DOS_OFF
|
||||
; JP 0
|
||||
|
||||
;*****************************
|
||||
; *** MENU UTILITES ***
|
||||
;*****************************
|
||||
|
||||
@ -103,7 +103,7 @@
|
||||
OUT (SLOT3),A
|
||||
XOR A
|
||||
OUT (ROM.SLOT0),A
|
||||
OUT (SYS_PORT.ROM),A
|
||||
OUT (CNF_PORT.vBIOS),A
|
||||
POP AF
|
||||
JP PO,.noInterrupts
|
||||
EI
|
||||
|
||||
@ -1,12 +1,10 @@
|
||||
;=======================[All shared EQUs]=======================;
|
||||
BETA_BUILD EQU 6 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥¨¥ ® â¥á⮢®© ᡮથ áâ à⮢®¬ íªà ¥
|
||||
;======================[All shared defines]=====================;
|
||||
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
||||
DEFINE SP2000_Loader_Flag #0107 ;
|
||||
DEFINE IDE_Optimization 1 ; á«¥£ª ®¯â¨¬¨§¨àã¥â ¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
|
||||
DEFINE NeedSafePort_Y 1 ; ¥á«¨ 0, â® ¢ ०¨¬¥ ¡¥§ ªá¥«ï ¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà
|
||||
DEFINE Pashalki 0 ;
|
||||
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp' ;
|
||||
DEFINE PICTURE_FILE './crazy bios/logo/use/brick.bmp' ;
|
||||
DEFINE StandartCGApallete 1 ; <20>®¤ª«îç âì ¯ «¨âàã ¨§ standart_colors.inc
|
||||
DEFINE BitStream_SizeInPages 4 ;
|
||||
DEFINE USE_E1_SCANCODE 0 ;
|
||||
@ -15,8 +13,6 @@ BETA_BUILD EQU 6 ;
|
||||
DEFINE LOGO_DELAY_NORM 100 ;
|
||||
DEFINE LOGO_DELAY_MAX 130 ;
|
||||
;----------------------------[ TEST ]---------------------------;
|
||||
DEFINE TEST_INT 1 ; ’¥áâ®¢ë© ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ì᪮£® INT
|
||||
DEFINE NEW_FEATURE 0 ; !TODO ¯ãªâë ¢ á¥â ¯
|
||||
DEFINE HDDwriteProtect 0 ; áâ à ï ä¨èª ¤«ï äãªæ¨© 5x
|
||||
DEFINE RECOVERYmountTYPE 1 ; 1 - ¡ëáâàë© ¥¬®£® § å प®¦¥ë© ¢ ਠâ. 2 - ¡®«¥¥ "¯à ¢¨«ìë©"
|
||||
DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤ë© à ¬¤¨áª, ¥á«¨ ¥â, â® ¢ 15-ë©
|
||||
|
||||
@ -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
|
||||
|
||||
IF BETA_BUILD > 0
|
||||
DEFINE BETA_str_ver "BETA ","0"+BETA_BUILD
|
||||
DEFINE BETA_str_ver "Crazy Beta ","0"+BETA_BUILD
|
||||
ENDIF
|
||||
;---------------------------------------
|
||||
DEFINE BoardID_start #5283
|
||||
DEFINE BoardID_end #47E8
|
||||
DEFINE BoardID_start 0 ;#5283
|
||||
DEFINE BoardID_end 0 ;#47E8
|
||||
DEFINE MotherBoardID #0000
|
||||
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]=============
|
||||
CNF_ID:
|
||||
.VER EQU 3 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥ïâì âãâ!
|
||||
.MOD EQU 05 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥ïâì âãâ!
|
||||
.VER EQU 0 ;3 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥ïâì âãâ!
|
||||
.MOD EQU 00 ;05 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥ïâì âãâ!
|
||||
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
|
||||
|
||||
@ -1,19 +1,15 @@
|
||||
;
|
||||
;---------[All shared includes]---------
|
||||
INCLUDE 'src/bios/shared/DEFINES.INC' ; Shared defines
|
||||
IF Pashalki
|
||||
INCLUDE 'Shared_Includes/structures/EasterSprites.inc'
|
||||
ENDIF
|
||||
INCLUDE 'crazy bios/shared/DEFINES.INC' ; Shared defines
|
||||
INCLUDE 'Shared_Includes/structures/FileSystem.inc'
|
||||
INCLUDE 'src/bios/Loader/Loader.asm' ; Bitstream loader as macros
|
||||
INCLUDE 'src/bios/shared/CompMacro.asm' ; ¬ ªà®áë
|
||||
INCLUDE 'crazy bios/shared/CompMacro.asm' ; ¬ ªà®áë
|
||||
INCLUDE 'Shared_Includes/constants/SP2000.inc' ; ª®áâ âë
|
||||
INCLUDE 'Shared_Includes/constants/zx_char_codes.inc' ; ª®áâ âë
|
||||
INCLUDE 'Shared_Includes/constants/zx_vars.inc' ;
|
||||
INCLUDE 'Shared_Includes/macroses/macros.z80'
|
||||
INCLUDE 'src/bios/ROM/MEM_MAP.inc' ; ª àâ ¯ ¬ïâ¨
|
||||
INCLUDE 'src/bios/shared/VERSION.inc' ; ‚¥àá¨ï EXP ¨ ROM
|
||||
INCLUDE 'crazy bios/ROM/MEM_MAP.inc' ; ª àâ ¯ ¬ïâ¨
|
||||
INCLUDE 'crazy bios/shared/VERSION.inc' ; ‚¥àá¨ï EXP ¨ ROM
|
||||
INCLUDE 'Shared_Includes/constants/BIOS_EQU.inc'
|
||||
INCLUDE 'src/bios/ROM/BIOS.inc'
|
||||
INCLUDE 'crazy bios/ROM/BIOS.inc'
|
||||
;---------------------------------------
|
||||
;
|
||||
|
||||
@ -107,7 +107,7 @@ program_start EQU Flasher_Start
|
||||
|
||||
|
||||
MODULE expBIOS_Vars
|
||||
INCLUDE 'constants/BIOS_EXP.INC'
|
||||
INCLUDE '../Flasher/constants/BIOS_EXP.INC'
|
||||
ENDMODULE
|
||||
|
||||
INCLUDE 'Versions.inc'
|
||||
|
||||
@ -1,14 +1,13 @@
|
||||
BOARD_INFO.number: EQU 0x00000003
|
||||
BOARD_INFO.type: EQU 0x00000005
|
||||
BoardID.start: EQU 0x0000008F
|
||||
BoardID.end: EQU 0x00000091
|
||||
FN_CRIPT.cnf: EQU 0x000019EA
|
||||
ID_SPRINTER.bitstream_ver: EQU 0x00000089
|
||||
bitstream_ver_hex: EQU 0x00000305
|
||||
BoardID.start: EQU 0x00000095
|
||||
BoardID.end: EQU 0x00000097
|
||||
ID_SPRINTER.bitstream_ver: EQU 0x0000008F
|
||||
bitstream_ver_hex: EQU 0x00000000
|
||||
EXP_ID.VER: EQU 0x00000003
|
||||
EXP_ID.MOD: EQU 0x00000006
|
||||
CNF_ID.VER: EQU 0x00000003
|
||||
CNF_ID.MOD: EQU 0x00000005
|
||||
msgStrings.str_ACEX_MODEL: EQU 0x000024DD
|
||||
msgRusStrings.str_ACEX_MODEL: EQU 0x00002EED
|
||||
CNF_ID.VER: EQU 0x00000000
|
||||
CNF_ID.MOD: EQU 0x00000000
|
||||
msgStrings.str_ACEX_MODEL: EQU 0x0000244B
|
||||
msgRusStrings.str_ACEX_MODEL: EQU 0x00002E5B
|
||||
BETA_BUILD: EQU 0x00000006
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
LD A,1 ; enable CS0, disable CS1
|
||||
OUT (C),A ; Z84.SYS.Data
|
||||
;ÛÛÛÛÛÛÛ ¨¨æ¨ «¨§ æ¨ï DCP ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
LD HL,INIT_SLOTS
|
||||
LD HL,ADD_PORTS.Code
|
||||
DCP_INIT: LD C,XL
|
||||
LD B,XH
|
||||
LD E,YL
|
||||
@ -102,11 +102,30 @@ DCP_INIT: LD C,XL
|
||||
LD H,A ; ¤®¡ ¢¨âì ¨§¬¥ï¥¬ãî ç áâì
|
||||
JR .loop_parse
|
||||
.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 (SLOT1),A
|
||||
DEC A
|
||||
LD A,2
|
||||
OUT (SLOT2),A
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
@ -125,9 +144,20 @@ INIT_SLOTS: XOR A
|
||||
OUT (SYS_PORT.RAM),A
|
||||
INC A
|
||||
OUT (SLOT1),A
|
||||
;
|
||||
IN A,(FastRAM.OFF)
|
||||
; ’“’ Œ› “†… ‚ އ“ ‚ ’ŽŒ †… ŠŽ„… ˆ €„<E282AC>…‘…
|
||||
; áâà ¨æë 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> ¡®ç¨© ª®¤ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
@ -141,35 +171,44 @@ INIT_SLOTS: XOR A
|
||||
CALL Init_Mem
|
||||
;ÛÛÛÛÛÛ ‡ £à㧪 ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
; ¤®¯®«¨â¥«ìë¥ äãªæ¨¨
|
||||
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 ; ¡á®«îâë© ®¬¥à ᥪâ®à ¬« ¤è ï ç áâì
|
||||
CHECK_IMG: ;LD A,(RESERVED_PAGES.SYS_FN) ; áâà ¨æ ¡ãä¥à , ¥á«¨ ¤à¥á ¢ ®ª¥ #C000 (BLOCK_ID)
|
||||
LD B,1 ; ç¨á«® ç¨â ¥¬ëå ᥪâ®à®¢
|
||||
LD HL,#8000 ; ¤à¥á ¡ãä¥à ¤ ëå
|
||||
LD IX,0 ; ¡á®«îâë© ®¬¥à ᥪâ®à áâ àè ï ç áâì
|
||||
LD DE,0 ; ¡á®«îâë© ®¬¥à ᥪâ®à ¬« ¤è ï ç áâì
|
||||
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,CHECKING_LABEL
|
||||
LD B,CHECKING_LABEL.Size
|
||||
.loop: LD A,(DE)
|
||||
CP (HL)
|
||||
RET NZ ; error
|
||||
INC DE
|
||||
INC HL
|
||||
DJNZ .loop
|
||||
; Ž¡à § BIOS
|
||||
LOAD_DATA: LD A,(RESERVED_PAGES.BIOS)
|
||||
LD HL,#C000
|
||||
LD B,RESERVED_PAGES.Size * #4000 / 512
|
||||
LD DE,1
|
||||
CALL FN_HDD_READ_NEXT
|
||||
LD BC,4
|
||||
ADD IY,BC
|
||||
POP BC
|
||||
POP HL
|
||||
DJNZ .loop
|
||||
RET
|
||||
XOR A
|
||||
OUT (SLOT1),A
|
||||
JP .IN_RAM + #4000
|
||||
; ªã᮪ ¢ 1 á«®â¥
|
||||
.IN_RAM: LD BC,#1FFD
|
||||
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
|
||||
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 $
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
|
||||
@ -675,19 +730,51 @@ DCP_DATA: DW %00'000'0'0100'0000
|
||||
; DCP END MARKER
|
||||
DW 0,0,0
|
||||
;-----------------------------------------------------------------------;
|
||||
RESERVED_PAGES:; [x] Block #1 - ¬®¦® ®á¢®¡®¤¨âì ¯® ID 1
|
||||
; „®¯®«¨â¥«ìë¥ ¯à®æ¥¤ãàë
|
||||
.SYS_FN: DB SYS_FN_PAGE
|
||||
; Ž¡à § <20>ˆŽ‘ ¤«ï ¯à®è¨¢ª¨
|
||||
.BIOS: DB #10,#11,#12,#13
|
||||
DB #14,#15,#16,#17
|
||||
DB #18,#19,#1A,#1B
|
||||
DB #1C,#1D,#1E,#1F
|
||||
; Š à⨪
|
||||
.PICTURE: DB 2,3,4,5,6
|
||||
; Ž¡à § ¯ ¬ïâ¨ á ¯à®è¨¢ «ì騪®¬
|
||||
.FLASHER_RAM: DB 7,8
|
||||
DB #FF ; End of the block
|
||||
.Blocks EQU 1
|
||||
.Size EQU $-RESERVED_PAGES
|
||||
; RESERVED_PAGES:; [x] Block #1 - ¬®¦® ®á¢®¡®¤¨âì ¯® ID 1
|
||||
; ; „®¯®«¨â¥«ìë¥ ¯à®æ¥¤ãàë
|
||||
; .SYS_FN: DB SYS_FN_PAGE
|
||||
; ; Ž¡à § <20>ˆŽ‘ ¤«ï ¯à®è¨¢ª¨
|
||||
; .BIOS: DB #10,#11,#12,#13
|
||||
; DB #14,#15,#16,#17
|
||||
; DB #18,#19,#1A,#1B
|
||||
; DB #1C,#1D,#1E,#1F
|
||||
; ; Š à⨪
|
||||
; .PICTURE: DB 2,3,4,5,6
|
||||
; ; Ž¡à § ¯ ¬ïâ¨ á ¯à®è¨¢ «ì騪®¬
|
||||
; .FLASHER_RAM: DB 7,8
|
||||
; DB #FF ; End of the block
|
||||
; .Blocks EQU 1
|
||||
; .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
@ -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'
|
||||
@ -17,6 +17,10 @@
|
||||
DEFINE image_size_in_sectors flasher_size_in_sectors + bios_size_in_sectros
|
||||
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 ]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
@ -35,10 +39,14 @@ END_FIRST_SECTION EQU $
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[ SECOND SECTION - IMAGE ON DRIVE ]ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
;OUTPUT './Build/CrazyBlasterIMG.raw'
|
||||
OUTPUT './Build/CB_BIOS_IMG.raw'
|
||||
OUTPUT './Build/CB_BIOS_IMG.IMG'
|
||||
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: INCBIN 'Build/CB_BIOS.RAW'
|
||||
|
||||
END_SECOND_SECTION EQU $
|
||||
;
|
||||
DISPLAY "IMG size = ",/A,END_SECOND_SECTION - BEGIN_CB_IMG
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 4662474034c70f4b2627ff8eca10ccdf4a7d3525
|
||||
Subproject commit d357c4cc2a8af41e47136c245161e11355612a96
|
||||