From 7b6fc127c7c09b86164deac105c0974d5103b1e2 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Fri, 24 May 2024 19:52:52 +1000 Subject: [PATCH] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=B4=D0=BB=D0=B8=D0=BD=D0=B0=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B1=D0=B8=D1=82=D1=81=D1=82=D1=80=D0=B8=D0=BC=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Shared_Includes | 2 +- src/bios/exp/EXP.asm | 12 ++++++------ src/bios/exp/FUNC_RAM_ROM_DRV.ASM | 2 +- src/bios/loader/bitstream_header.inc | 4 ++-- src/bios/shared/RECOVERY.IMG | Bin 98304 -> 98304 bytes 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Shared_Includes b/Shared_Includes index 646d25e..5797b0c 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 646d25e0b6b9341ca9d6c6ade133edce3f38b362 +Subproject commit 5797b0c5804320f86d263997f624cb8b6bb69385 diff --git a/src/bios/exp/EXP.asm b/src/bios/exp/EXP.asm index a3560a4..1fab850 100644 --- a/src/bios/exp/EXP.asm +++ b/src/bios/exp/EXP.asm @@ -224,7 +224,7 @@ ID_SPRINTER: DB 'Firmware v' .Record1_Size EQU $-ID_SPRINTER ; запись 2 DB 'Sprinter',0 - ; запись 3 + ; запись 3 ; [ ] 24.02.2024 .bitstream_ver: DB bitstream_ver_string,0 DB 0 ; @@ -655,7 +655,7 @@ POST_4_PAGES: POST_4_OK: LD A,(TABLE_X.v4) ;rdlow-ok - OUT (Z84.PIO.Port_A.Data),A ; высветить "4" + OUT (Z84.PIO.Port_A.Data),A ; высветить "4" ;= проверка чистоты шины данных Z84C15 = POST_5_DATA_BUS: @@ -933,11 +933,11 @@ Set_ALL_Mode: OUT (C),A Set_Default_Screen: - CALL FN_SYNC.INT_DEF ; set default int - ld a,128+4 ; !HARDCODE + CALL FN_SYNC.INT_DEF ; set default int + ld a,128+4 ; !HARDCODE ;ld c,BIOS.FN_SYNC - ;RST_to_BIOS_18 ; set default vsync - CALL FN_SYNC ; set default vsync + ;RST_to_BIOS_18 ; set default vsync + CALL FN_SYNC ; set default vsync Setup_to_RAM: LD HL,Setup_Starter.Start LD DE,COMPILE_ADDR.SETUP_STARTER diff --git a/src/bios/exp/FUNC_RAM_ROM_DRV.ASM b/src/bios/exp/FUNC_RAM_ROM_DRV.ASM index 8164131..d85fb65 100644 --- a/src/bios/exp/FUNC_RAM_ROM_DRV.ASM +++ b/src/bios/exp/FUNC_RAM_ROM_DRV.ASM @@ -89,7 +89,7 @@ EMM.InitMem: RET ;---------------------------------------------------------------------[] RESERVED_PAGES: - ;; Block #1 - можно освободить по ID 1 + ; [x] Block #1 - можно освободить по ID 1 DB 1,3,4,6,7,8,9,10,11,12,13,14,15 ; for Spectrum ; эмулятор ПЗУ ;!FIXIT ROM-Emulator сделать динамические страницы DB #42,#43,#44,#45,#46,#47;,#48,#49,#4A,#4B ; For (BASIC128, BASIC48, TRDOS, SCORP_ROM)*2, vBIOS, vEXTENSION diff --git a/src/bios/loader/bitstream_header.inc b/src/bios/loader/bitstream_header.inc index 8259c16..6093006 100644 --- a/src/bios/loader/bitstream_header.inc +++ b/src/bios/loader/bitstream_header.inc @@ -1,5 +1,5 @@ ; Header of bitstream which non packed - DB #FF,#FF,#62,#7B,#39,#00,#FF,#FF ; 1k30 + DB #FF,#FF,#62,#7B,#39,#00;,#FF,#FF ; 1k30 ; Packed: - ;DB #FF,#FF,#62,#7B,#3C,#00,#01,#FF ; 1k50 + ;DB #FF,#FF,#62,#7B,#3C,#00;,#01,#FF ; 1k50 ; \ No newline at end of file diff --git a/src/bios/shared/RECOVERY.IMG b/src/bios/shared/RECOVERY.IMG index 8711a681b4dcef9b048bac4a943dcbf101ecfd20..92a28c23c23d4e84569c3902774f12a40326180a 100755 GIT binary patch delta 11602 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 K9G1TS6Zb!|N)Sc> delta 10650 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