diff --git a/param.txt b/param.txt new file mode 100644 index 0000000..d6afdb3 --- /dev/null +++ b/param.txt @@ -0,0 +1,10 @@ +Строка 1: Scorpion 256 +Строка 2: c:\zx\roms\SC_128.BIN +Строка 3: c:\zx\roms\SC__48.BIN +Строка 4: c:\zx\roms\SC_TRD.BIN +Строка 5: c:\zx\roms\SC_EXP.BIN +Строка 6: c:\zx\roms\SC_EXP.BIN +Строка 7: c:\zx\roms\SP_EXP2.BIN +Строка 8: /turbo /sprinter /7FFD /1FFD /ret-zx /load-pal +Строка 9: c:\zx\palette\komod.pal +Строка 10: ; \ No newline at end of file diff --git a/spectrum.asm b/spectrum.asm index d70f916..c2f5d5c 100644 --- a/spectrum.asm +++ b/spectrum.asm @@ -731,8 +731,6 @@ Get_RAM_Disk_E: LD A,D JR Z,ERROR_NO_MEM PUSH AF ;*************************************** -;!FIXIT безопасно занимать рамдиски, чтоб пользователь не страдал -; освободить ram-disk e: ; [ ] 04/11/2023 Отдельные рамдиски для режима спектрума и DSS .free_disk: DI ;!TEST @@ -871,6 +869,7 @@ EXIT_TO_DSS: DI LD A,Dss.SetVMod.txt80x32 ; OPEN_TXT LD BC,0*256+Dss.SetVMod RST ToDSS + ;!TEST; [ ] 05/11/2023 очищать рамдиски при выходе LD A,(RMD_Keep_+2) AND A @@ -884,11 +883,11 @@ EXIT_TO_DSS: DI POP BC DJNZ .loop ; -.next: - ;!TEST; [ ] 04/11/2023 Отдельные рамдиски для режима спектрума и DSS. BLK_TO_RAMD +.next: ;!TEST; [ ] 04/11/2023 Отдельные рамдиски для режима спектрума и DSS. BLK_TO_RAMD LD BC,BIOS.SWAP_RAM_DRIVES.Sp2000 RST ToBIOS ; + LD A,#20 LD DE,0 LD HL,#2050 @@ -900,17 +899,6 @@ EXIT_TO_DSS: DI ;!FIXIT переделать на функцию биоса SET_RELOAD_PROG: - ;!TEST; [ ] 04/11/2023 Отдельные рамдиски для режима спектрума и DSS. BLK_TO_RAMD - LD BC,BIOS.SWAP_RAM_DRIVES.ZX - RST ToBIOS - ; - LD A,(Load_IMAGE_File.MEM_BLK) - LD B,A - XOR A ; set disk e: - LD C,BIOS.BLK_TO_RAMD - RST ToBIOS - ; - DI LD A,Spec_Page OUT (SLOT3),A @@ -936,7 +924,31 @@ NO_RET_FN: LD (#FFF2),A ; программы для возврата IN A,(SLOT3) LD (#FFF3),A ; - +;******************************************** +;!TEST; [ ] 04/11/2023 Отдельные рамдиски для режима спектрума и DSS. BLK_TO_RAMD +SETUP_RAM_DRIVES: + LD BC,BIOS.SWAP_RAM_DRIVES.ZX + RST ToBIOS + ; запуск с файлом для рамдиска? + LD A,(Load_IMAGE_File.MEM_BLK) + OR A + JR Z,.skip + ; проверяем драйв перед переназначением + XOR A + LD C,BIOS.GET_RAMD_ST + RST ToBIOS + JR C,.set_block + ; освободить рамдиск + XOR A + LD C,BIOS.RAMD_CLEAR + RST ToBIOS + ; set disk e: +.set_block: LD A,(Load_IMAGE_File.MEM_BLK) + LD B,A + XOR A + LD C,BIOS.BLK_TO_RAMD + RST ToBIOS +.skip: ; ;******************************************** RESET_TO_ZX: DI