...
This commit is contained in:
		
							parent
							
								
									895f85e04d
								
							
						
					
					
						commit
						ea26e1f584
					
				| @ -1 +1 @@ | ||||
| Subproject commit ba1bc48d1597637a512a5333d2a76f94b5b26231 | ||||
| Subproject commit 817bba0c1abebdb890f77ee129578ebe06fb5131 | ||||
| @ -26,48 +26,43 @@ CMOS_EMU_WR: | ||||
| ; | ||||
| 
 | ||||
| ; § ¯¨áì ¢ CMOS | ||||
| CMOS_WR: | ||||
| 	; [x] | ||||
| 	 _mCMOS_MAX_TEST | ||||
| 	; | ||||
| 	CALL CMOS_TEST | ||||
| 	JR C,CMOS_EMU_WR | ||||
| .WR:	LD BC,CMOS.Port.Address.Write | ||||
| 	OUT (C),D | ||||
| 	LD BC,CMOS.Port.Data.Write | ||||
| 	OUT (C),A | ||||
| 	RET | ||||
| CMOS_WR:	; [x] | ||||
| 		 _mCMOS_MAX_TEST | ||||
| 		; | ||||
| 		CALL CMOS_TEST | ||||
| 		JR C,CMOS_EMU_WR | ||||
| .WR:		LD BC,CMOS.Port.Address.Write | ||||
| 		OUT (C),D | ||||
| 		LD BC,CMOS.Port.Data.Write | ||||
| 		OUT (C),A | ||||
| 		RET | ||||
| ; | ||||
| 
 | ||||
| ;!FIXIT ¯® ¤®ª¥   äãªæ¨î ¤®«¦¥ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï | ||||
| CMOS_EMU_RD: | ||||
| 	PUSH	DE | ||||
| 
 | ||||
| 	LD	C,SLOT3 | ||||
| 	IN	B,(C) | ||||
| 	LD	E,SYS_PAGE | ||||
| 	OUT	(C),E | ||||
| 	LD	E,D | ||||
| 	LD	D, high SYS_PAGE.CMOS_EMULATOR | ||||
| 	LD	A,(DE) | ||||
| 	OUT	(C),B | ||||
| 
 | ||||
| 	POP	DE | ||||
| 	RET | ||||
| CMOS_EMU_RD:	PUSH	DE | ||||
| 		LD	C,SLOT3 | ||||
| 		IN	B,(C) | ||||
| 		LD	E,SYS_PAGE | ||||
| 		OUT	(C),E | ||||
| 		LD	E,D | ||||
| 		LD	D, high SYS_PAGE.CMOS_EMULATOR | ||||
| 		LD	A,(DE) | ||||
| 		OUT	(C),B | ||||
| 		POP	DE | ||||
| 		RET | ||||
| ; | ||||
| 
 | ||||
| ; ç⥨¥ ¨§ CMOS | ||||
| CMOS_RD: | ||||
| 	; [x] | ||||
| 	 _mCMOS_MAX_TEST | ||||
| 	; | ||||
| 	CALL	CMOS_TEST | ||||
| 	JR	C,CMOS_EMU_RD | ||||
| .RD:	LD	BC,CMOS.Port.Address.Write | ||||
| 	OUT	(C),D | ||||
| 	LD	BC,CMOS.Port.Data.Read | ||||
| 	IN	A,(C) | ||||
| 	RET | ||||
| CMOS_RD:	; [x] | ||||
| 		 _mCMOS_MAX_TEST | ||||
| 		; | ||||
| 		CALL	CMOS_TEST | ||||
| 		JR	C,CMOS_EMU_RD | ||||
| .RD:		LD	BC,CMOS.Port.Address.Write | ||||
| 		OUT	(C),D | ||||
| 		LD	BC,CMOS.Port.Data.Read | ||||
| 		IN	A,(C) | ||||
| 		RET | ||||
| ; | ||||
| 
 | ||||
| ;<3B>஢¥àª   «¨ç¨ï CMOS | ||||
|  | ||||
| @ -408,38 +408,42 @@ EXIT_SETUP:	CALL	INT_OFF | ||||
| 		LD	A,B	 | ||||
| 		JR	NZ,.Set_Page41 | ||||
| 		CP	'X' | ||||
| 		;JR	Z,.vROMs_Installed | ||||
| 		; | ||||
| .Set_Page41:	CALL	NZ,ZXMODE_SETUP.Set_Page41 | ||||
| .vROMs_Installed: | ||||
| ; 		XOR	A | ||||
| ; 		LD	BC,4*256 + BIOS.ZX_MEMORY_MANAGER	; [ ] free zx pages! HARDCODE MANAGE_ZX_PAGES.GET_SCORP_RAM | ||||
| ; 		RST	ToBIOS_18			;!TODO  áâà ¨¢ âì ¢ BIOS zx mode | ||||
| ; 		JR	NC,.set_ZX_params | ||||
| ; 		; | ||||
| ; 		CALL	ScreenPOS.CRLF | ||||
| ; 		LD	A,msgStrings.noMemZX | ||||
| ; 		LD	E,COLORS.CGA.INK.RED | ||||
| ; 		CALL	POSTMSC | ||||
| ; .loop_di:	DI | ||||
| ; 		HALT | ||||
| ; 		JR	.loop_di | ||||
| 
 | ||||
| .set_ZX_params: LD	BC,CMOS_CELL.QuickStartSetUp.Mask.ZxRom | ||||
| 		CALL	GET_CMOS_VALUE | ||||
| 		LD	L,A | ||||
| 		LD	BC,CMOS_CELL.QuickStartSetUp.Mask.Hardware | ||||
| 		CALL	GET_CMOS_VALUE | ||||
| 		; | ||||
| .set_ZX_params:	;LD	H,A						; Block_ID.vRAM | ||||
| 		;LD	DE,256*0 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_0 | ||||
| 		;LD	A,(SYS_PAGE.Block_ID.vROM) | ||||
| 		;LD	L,A | ||||
| 		;LD	B,#FE						; !HARDCODE Port All Mode data | ||||
| 		;LD	A,%0000'0010 | ||||
| 		;EX	AF,AF' | ||||
| 		;XOR	A | ||||
| 		; | ||||
| 		LD	A,ROM.EXTENSION | ||||
| 		EX	AF,AF | ||||
| 		 LD	A,ROM.EXTENSION | ||||
| 		 OUT	(SYS_PORT.ROM),A | ||||
| 		EX	AF,AF | ||||
| 		OR	A | ||||
| 		JP	Z,SPRINTER_ZX.custom_ROM | ||||
| 		DEC	A | ||||
| 		JP	Z,Pentagon_48.custom_ROM | ||||
| 		DEC	A | ||||
| 		JP	Z,PENTAGON_128.custom_ROM | ||||
| 		DEC	A | ||||
| 		JP	Z,PENTAGON_512.custom_ROM | ||||
| 		DEC	A | ||||
| 		JP	Z,SCORPION_256.custom_ROM | ||||
| 		DEC	A | ||||
| 		JP	Z,ZX_Spectrum_48.custom_ROM | ||||
| 		DEC	A | ||||
| 		JP	Z,ZX_SPECTRUM_128.custom_ROM | ||||
| 		; error | ||||
| 		XOR	A | ||||
| 		OUT	(SYS_PORT.ROM),A | ||||
| 		;XOR	A | ||||
| 		;JP	GOTO_SPECTRUM.FN | ||||
| 		;!TODO  áâà ¨¢ âì ¢ BIOS zx mode | ||||
| 		JP	SPRINTER_ZX | ||||
| 		LD	D,CMOS_CELL.QuickStartSetUp | ||||
| 		CALL	CMOS_WR | ||||
| 		LD	A,SYS_PAGE | ||||
| 		OUT	(SLOT3),A | ||||
| 		RET | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -732,8 +732,8 @@ SETDEF:							;!TODO  | ||||
| 	LD	B,0 | ||||
| 	CALL	WRITCMS | ||||
| 
 | ||||
| 	LD	A,CMOS_CELL.ZX_RUN_ROM | ||||
| 	LD	B,CMOS_CELL.ZX_RUN_ROM.BASIC_128 | ||||
| 	LD	A,CMOS_CELL.QuickStartSetUp | ||||
| 	LD	B,CMOS_CELL.QuickStartSetUp.ZxRom.Basic128 | ||||
| 	CALL	WRITCMS | ||||
| 
 | ||||
| 	CALL	CHEKSUM | ||||
| @ -1014,10 +1014,10 @@ STYLES: | ||||
| 	DB	COLORS.CGA.PAPER.LGRAY   + COLORS.CGA.INK.RED | ||||
| 	DB	COLORS.CGA.PAPER.BLACK   + COLORS.CGA.INK.RED | ||||
| 
 | ||||
| DEFVAL: DB	SAVERAM+EXTBIOS+SDELAY1					;#0E - OPTIONS | ||||
| 	DB	TDL250+TRATE30						;#0F - KEYBOARD | ||||
| 	DB	SDIDE1+SDFDD1						;#10 - SYSTEM DISKS | ||||
| 	DB	FD1720+FD2720+HD1AUTO+HD2AUTO				;#11 - FDD & Primary HDD's | ||||
| DEFVAL: DB	SAVERAM + EXTBIOS + SDELAY1				;#0E - OPTIONS | ||||
| 	DB	TDL250 + TRATE30					;#0F - KEYBOARD | ||||
| 	DB	SDIDE1 + SDFDD1						;#10 - SYSTEM DISKS | ||||
| 	DB	FD1720 + FD2720+HD1AUTO+HD2AUTO				;#11 - FDD & Primary HDD's | ||||
| 	DB	0							;#12 - CYLINDERS LOW MASTER | ||||
| 	DB	0							;#13 - CYLINDERS HIGH MASTER | ||||
| 	DB	0							;#14 - HEADS MASTER | ||||
| @ -1027,12 +1027,12 @@ DEFVAL: DB	SAVERAM+EXTBIOS+SDELAY1					;#0E - OPTIONS | ||||
| 	DB	0							;#18 - HEADS SLAVE | ||||
| 	DB	0							;#19 - SECTORS SLAVE | ||||
| 	DB	0							;#1A - Int conf, Screen sync, COLOR STYLE | ||||
| 	DB	TURBON+SPRIN						;#1B - HARDARE CONF | ||||
| 	DB	CNF_PORT.TURBO.ON + CNF_PORT.CNF_0			;#1B - HARDARE CONF | ||||
| 	DB	BAS128							;#1C - RESET MODE | ||||
| 	DB	REBOOTM + 4						;#1D - REBOOT + LoadZXroms by ZX flag | ||||
| 	DB	0							;#1E - TRDOS | ||||
| 	DB	#77							;#1F - SCREEN POSITION | ||||
| 	DB	HD1AUTO+HD2AUTO						;#20 - Secondary HDD's | ||||
| 	DB	HD1AUTO + HD2AUTO					;#20 - Secondary HDD's | ||||
| .Size	EQU	$-DEFVAL | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -50,23 +50,23 @@ | ||||
| 			"TypDelay",	 -- 	DEFINES.INC --> UnusedSettingsFeatures  | ||||
| 		}, | ||||
| 		[2]={ | ||||
| 			"LoadZXroms",	 -- 1 | ||||
| 			"TrDosA",	 -- 2 | ||||
| 			"TrDosB",	 -- 3 | ||||
| 			"TrDosC",	 -- 4 | ||||
| 			"TrDosD",	 -- 5 | ||||
|                         "SetTime",	 -- 6	DEFINES.INC --> NEW_FEATURE | ||||
| 			"HddWrPr",	 -- 7	DEFINES.INC --> HDDwriteProtect | ||||
| 					 -- 8 | ||||
| 					 -- 9 | ||||
| 					 -- 10 | ||||
| 					 -- 11 | ||||
| 					 -- 12 | ||||
| 					 -- 13 | ||||
| 					 -- 14 | ||||
| 					 -- 15 | ||||
| 					 -- 16 | ||||
| 					 -- 17 | ||||
| 			"LoadZXroms",		-- 1 | ||||
| 			"QS_SetUpHardware",	-- 2 | ||||
| 			"QS_SetUpZxRom",	-- 3 | ||||
| 			"TrDosA",		-- 4 | ||||
| 			"TrDosB",		-- 5 | ||||
| 			"TrDosC",		-- 6 | ||||
| 			"TrDosD",		-- 7 | ||||
|                         "SetTime",		-- 8	DEFINES.INC --> NEW_FEATURE | ||||
| 			"HddWrPr",		-- 9	DEFINES.INC --> HDDwriteProtect | ||||
| 						-- 10 | ||||
| 						-- 11 | ||||
| 						-- 12 | ||||
| 						-- 13 | ||||
| 						-- 14 | ||||
| 						-- 15 | ||||
| 						-- 16 | ||||
| 						-- 17 | ||||
| 		} | ||||
| 	} | ||||
| 	DeleteValueByDEFINE(SettingsTabsOrder,"NEW_FEATURE","SetTime") | ||||
| @ -422,8 +422,37 @@ SettingsItemsTabs: | ||||
| 	DB	columnNum,lineNum | ||||
| 	DB	paramName | ||||
| 	DW	CMOS_CELL.BootUpParams.Mask.QuickStartROM : DB %0000'0001 | ||||
| 	DB	msgStrings.parQuickStartSP | ||||
| 	DB	msgStrings.parQuickStartZX | ||||
| 	DB	msgStrings.valQuickStartSP | ||||
| 	DB	msgStrings.valSpectrum | ||||
| 
 | ||||
| 
 | ||||
| 	_mSETitemParams QS_SetUpZxRom | ||||
| 	DW	OnChangeAction.nothing | ||||
| 	IF NEW_FEATURE :     DB paramLine : ENDIF | ||||
| 	DB	columnNum,lineNum | ||||
| 	DB	paramName | ||||
| 	DW	CMOS_CELL.QuickStartSetUp.Mask.ZxRom : DB %0000'0101 | ||||
| 	DB	msgStrings.valQS_SetUpBasic128 | ||||
| 	DB	msgStrings.valQS_SetUpBasic48p | ||||
| 	DB	msgStrings.valQS_SetUpTrDos | ||||
| 	DB	msgStrings.valQS_SetUpExp | ||||
| 	DB	msgStrings.valQS_SetUpTrDos48 | ||||
| 	DB	msgStrings.valQS_SetUpBasic48 | ||||
| 
 | ||||
| 	_mSETitemParams  QS_SetUpHardware | ||||
| 	DW	OnChangeAction.nothing | ||||
| 	IF NEW_FEATURE :     DB paramLine : ENDIF | ||||
| 	DB	columnNum,lineNum | ||||
| 	DB	paramName | ||||
| 	DW	CMOS_CELL.QuickStartSetUp.Mask.Hardware : DB %0011'0000 | ||||
| 	DB	msgStrings.valSprinterZX | ||||
| 	DB	msgStrings.valPentagon48 | ||||
| 	DB	msgStrings.valPentagon128 | ||||
| 	DB	msgStrings.valPentagon512 | ||||
| 	DB	msgStrings.valScorpion256 | ||||
| 	DB	msgStrings.valZXSpectrum48 | ||||
| 	DB	msgStrings.valZXSpectrum128 | ||||
| 
 | ||||
| 
 | ||||
| 	_mSETitemParams TrDosA | ||||
| 	DW	OnChangeAction.nothing | ||||
| @ -652,8 +681,7 @@ msgStrings: | ||||
|  _mSetStr val312_50, tmp_Counter		:	DZ	'312/50Hz' | ||||
|  _mSetStr val320_49, tmp_Counter		:	DZ	'320/49Hz' | ||||
|  _mSetStr parQuickStartROM, tmp_Counter		:	DZ	'Run in mode                : ' | ||||
|  _mSetStr parQuickStartZX, tmp_Counter		:	DZ	'Spectrum' | ||||
|  _mSetStr parQuickStartSP, tmp_Counter		:	DZ	'Sprinter' | ||||
|  _mSetStr valQuickStartSP, tmp_Counter		:	DZ	'Sprinter' | ||||
|  _mSetStr valDefault, tmp_Counter		:	DZ	'Default' | ||||
|  _mSetStr valFDD, tmp_Counter			:	DZ	'FDD    '		; ????? ¯®¤ã¬ âì ª ª¨¥ ¢ à¨ âë ¢®§¬®¦ë | ||||
|  _mSetStr valHDD, tmp_Counter			:	DZ	'HDD    '		; ????? ¯®¤ã¬ âì ª ª¨¥ ¢ à¨ âë ¢®§¬®¦ë | ||||
| @ -665,6 +693,23 @@ msgStrings: | ||||
|  _mSetStr valLoadZXromsManually, tmp_Counter	:	DZ	'Manually  ' | ||||
|  _mSetStr valLoadZXromsFlag, tmp_Counter	:	DZ	'By ZX flag' | ||||
|  _mSetStr valLoadZXromsCAD, tmp_Counter		:	DZ	'On restart' | ||||
| ; | ||||
|  _mSetStr parQS_SetUpHardware, tmp_Counter	:	DZ	'ZX Mode             : ' | ||||
|  _mSetStr valSprinterZX, tmp_Counter		:	DZ	'SprinterZX' | ||||
|  _mSetStr valPentagon48, tmp_Counter		:	DZ	'Pent. 48  ' | ||||
|  _mSetStr valPentagon128, tmp_Counter		:	DZ	'Pent. 128 ' | ||||
|  _mSetStr valPentagon512, tmp_Counter		:	DZ	'Pent. 512 ' | ||||
|  _mSetStr valScorpion256, tmp_Counter		:	DZ	'Scorp 256 ' | ||||
|  _mSetStr valZXSpectrum48, tmp_Counter		:	DZ	'Speccy 48 ' | ||||
|  _mSetStr valZXSpectrum128, tmp_Counter		:	DZ	'Speccy 128' | ||||
| ; | ||||
|  _mSetStr parQS_SetUpZxRom, tmp_Counter		:	DZ	'Start in ZX mode    : ' | ||||
|  _mSetStr valQS_SetUpBasic128, tmp_Counter	:	DZ	'Basic 128 ' | ||||
|  _mSetStr valQS_SetUpBasic48p, tmp_Counter	:	DZ	'Basic 48+ ' | ||||
|  _mSetStr valQS_SetUpTrDos, tmp_Counter		:	DZ	'TR-DOS    ' | ||||
|  _mSetStr valQS_SetUpExp, tmp_Counter		:	DZ	'Expansion ' | ||||
|  _mSetStr valQS_SetUpTrDos48, tmp_Counter	:	DZ	'TR-DOS 48 ' | ||||
|  _mSetStr valQS_SetUpBasic48, tmp_Counter	:	DZ	'Basic 48+ ' | ||||
| ; _mSetStrRus valLoadZXromsAuto, tmp_Counter	:	DZ	'On call   ' | ||||
|  IF NEW_FEATURE | ||||
|   _mSetStr parSetTime, tmp_Counter		:       DZ      'Date and time setup : ' | ||||
| @ -812,8 +857,7 @@ msgRusStrings: | ||||
|  _mSetStrRus val312_50, tmp_Counter		:	DZ	'312/50ľ' | ||||
|  _mSetStrRus val320_49, tmp_Counter		:	DZ	'320/49ľ' | ||||
|  _mSetStrRus parQuickStartROM, tmp_Counter	:	DZ	'‡ ¯ã᪠¢ ०¨¬¥            : ' | ||||
|  _mSetStrRus parQuickStartZX, tmp_Counter	:	DZ	'‘¯¥ªâàã¬' | ||||
|  _mSetStrRus parQuickStartSP, tmp_Counter	:	DZ	'‘¯à¨â¥à' | ||||
|  _mSetStrRus valQuickStartSP, tmp_Counter	:	DZ	'‘¯à¨â¥à' | ||||
|  _mSetStrRus valDefault, tmp_Counter		:	DZ	'<EFBFBD>® 㬮«ç ¨î' | ||||
|  _mSetStrRus valFDD, tmp_Counter		:	DZ	'FDD         ' | ||||
|  _mSetStrRus valHDD, tmp_Counter		:	DZ	'HDD         ' | ||||
| @ -825,6 +869,23 @@ msgRusStrings: | ||||
|  _mSetStrRus valLoadZXromsManually, tmp_Counter	:	DZ	'‚àãçãî     ' | ||||
|  _mSetStrRus valLoadZXromsFlag, tmp_Counter	:	DZ	'<EFBFBD>® ä« £ã ZX ' | ||||
|  _mSetStrRus valLoadZXromsCAD, tmp_Counter	:	DZ	'<EFBFBD>ਠà¥áâ àâ¥' | ||||
| ; | ||||
|  _mSetStrRus parQS_SetUpHardware, tmp_Counter	:	DZ	'<EFBFBD>¥¦¨¬ ZX            : ' | ||||
|  _mSetStrRus valSprinterZX, tmp_Counter		:	DZ	'‘¯à¨â¥à ZX ' | ||||
|  _mSetStrRus valPentagon48, tmp_Counter		:	DZ	'<EFBFBD>¥â £® 48 ' | ||||
|  _mSetStrRus valPentagon128, tmp_Counter	:	DZ	'<EFBFBD>¥â £® 128' | ||||
|  _mSetStrRus valPentagon512, tmp_Counter	:	DZ	'<EFBFBD>¥â £® 512' | ||||
|  _mSetStrRus valScorpion256, tmp_Counter	:	DZ	'‘ª®à¯¨® 256' | ||||
|  _mSetStrRus valZXSpectrum48, tmp_Counter	:	DZ	'‘¯¥ªâà㬠48 ' | ||||
|  _mSetStrRus valZXSpectrum128, tmp_Counter	:	DZ	'‘¯¥ªâà㬠128' | ||||
| ; | ||||
|  _mSetStrRus parQS_SetUpZxRom, tmp_Counter	:	DZ	'‘â àâ ०¨¬  ZX ¢   : ' | ||||
|  _mSetStrRus valQS_SetUpBasic128, tmp_Counter	:	DZ	'Basic 128   ' | ||||
|  _mSetStrRus valQS_SetUpBasic48p, tmp_Counter	:	DZ	'Basic 48+   ' | ||||
|  _mSetStrRus valQS_SetUpTrDos, tmp_Counter	:	DZ	'TR-DOS      ' | ||||
|  _mSetStrRus valQS_SetUpExp, tmp_Counter	:	DZ	'Expansion   ' | ||||
|  _mSetStrRus valQS_SetUpTrDos48, tmp_Counter	:	DZ	'TR-DOS 48   ' | ||||
|  _mSetStrRus valQS_SetUpBasic48, tmp_Counter	:	DZ	'Basic 48+   ' | ||||
| ; _mSetStrRus valLoadZXromsAuto, tmp_Counter	:	DZ	'<27>ਠ¢ë§®¢¥  ' | ||||
|  IF NEW_FEATURE | ||||
|  _mSetStrRus parSetTime, tmp_Counter		:	DZ	'„ â  ¨ ¢à¥¬ï        : ' | ||||
|  | ||||
| @ -425,7 +425,7 @@ CLEAR_RAM: | ||||
| 	 LD	BC,BIOS.REINIT.FREE_NO_ZX_MEM | ||||
| 	 ;LD	C,BIOS.FullInit | ||||
| 	; | ||||
| 	RST_to_BIOS | ||||
| 	CALL	ToBIOS_FromEXT | ||||
| 	; ¯à¨ ®ç¨á⪥ ¯ ¬ï⨠¨§ ¬¥î ᯥªâà㬠 ¢®§¢à â ¢ DSS ¯® CAD | ||||
| 	;  ¡ã¤¥â ®¯ áë¬ (RAM Blocks ®á¢®¡®¤¨«¨áì), | ||||
| 	;  ¯®í⮬㠮⪫îç ¥¬ ¯¥à¥å¢ â à¥á¥â . | ||||
| @ -433,7 +433,7 @@ CLEAR_RAM: | ||||
| 	LD	BC,BIOS.SET_PORTS | ||||
| 	;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23 | ||||
| 	 ;CALL	ToBIOS_3D13 | ||||
| 	 RST_to_BIOS | ||||
| 	 CALL	ToBIOS_FromEXT | ||||
| 	; | ||||
| 	EI | ||||
| 	RET | ||||
| @ -518,106 +518,50 @@ Hardware_Menu_STR: | ||||
| ;****************************** | ||||
| 
 | ||||
| 
 | ||||
| ;************************************************** | ||||
| ;Sprinter ZX | ||||
| ;[ ] free zx pages! | ||||
| 
 | ||||
| /* | ||||
| 
 | ||||
| 		LD	H,A						; Block_ID.vRAM | ||||
| 		;!TODO  áâà ¨¢ âì ¢ BIOS zx mode | ||||
| 		 LD	DE,256*0 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_0 | ||||
| 		 LD	A,(SYS_PAGE.Block_ID.vROM) | ||||
| 		 LD	L,A | ||||
| 		 LD	B,#FE						; !HARDCODE Port All Mode data | ||||
| 		 LD	A,%0000'0010 | ||||
| 		 EX	AF,AF' | ||||
| 		 XOR	A | ||||
| 		; | ||||
| 		;POP	HL	; <20>… 㦥.  ¤à¥á ¢®§¢à â  ¢ EXP ¨§ SETUP | ||||
| 		LD	A,ROM.EXTENSION | ||||
| 		OUT	(SYS_PORT.ROM),A | ||||
| 		XOR	A | ||||
| 		JP	GOTO_SPECTRUM.FN | ||||
| 
 | ||||
| ; ‚室:	D: 0 - BASIC 128, 1 - BASIC 48, 2 - TR-DOS 128, | ||||
| ; 	   3 - EXPANSION. C § ªàëâ묨 128-¬¨ ¯®àâ ¬¨: | ||||
| ; 	   4 - TR-DOS, 5 - BASIC 48 | ||||
| ;	E: § ç¥¨¥ ¤«ï SYS_PORT/CNF_PORT | ||||
| ;	H: ;!TODO Block_ID.vROM | ||||
| ;	L: Block_ID.vRAM | ||||
| ;	A: TASK Number = 0 | ||||
| ;	B: Port All Mode | ||||
| ;A'[1..0]: 1 - int scorp, 2 - int pent, 3 - int ZX  | ||||
| ;   A'[2]: 0 - set default palette, 1 - don't change palette | ||||
| ;   A'[7]: 0 - 320, 1 - 312 áâப | ||||
| 
 | ||||
| ;		    1 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon  48k. 3 áâà ¨æë | ||||
| ;		    2 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 128k. 2+6 áâà ¨æë | ||||
| ;		    3 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 512k. 2+30 áâà ¨æë | ||||
| ;		    4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë | ||||
| 
 | ||||
| */ | ||||
| 
 | ||||
| SPRINTER_ZX:	;DI | ||||
| 		;LD	A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON | ||||
| 		;OUT	(SYS_PORT.ROM),A | ||||
| 		;LD	SP,SYS_PAGE.SYS_SP | ||||
| 		;LD	A,SYS_PAGE | ||||
| 		;OUT	(SLOT3),A | ||||
| 		; | ||||
| 		LD	A,BIOS.RST_CONF.SP97_1 | ||||
| ;************************************************** | ||||
| SPRINTER_ZX:	LD	L,0						; â®çª  ¢å®¤  ¢ <20>‡“ | ||||
| .custom_ROM:	LD	H,BIOS.RST_CONF.SP97_1 | ||||
| 		LD	DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_0	; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë | ||||
| 		LD	BC,#FE*256 + %0000'0010				; !HARDCODE Port All Mode data. int pent, set default palette, 320 áâப | ||||
| 		JR	PREPARE_TO_START_ZX | ||||
| ; | ||||
| ZX_SPECTRUM_128: | ||||
| 		;DI | ||||
| 		;LD	SP,SYS_PAGE.SYS_SP | ||||
| 		;LD	A,SYS_PAGE | ||||
| 		;OUT	(SLOT3),A | ||||
| 		; | ||||
| 		LD	A,BIOS.RST_CONF.AY8910 | ||||
| ZX_SPECTRUM_128: | ||||
| 		LD	L,0						; â®çª  ¢å®¤  ¢ <20>‡“ | ||||
| .custom_ROM:	LD	H,BIOS.RST_CONF.AY8910 | ||||
| 		LD	DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET	; !HARDCODE 2 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 128 | ||||
| 		LD	BC,#FA*256 + %1000'0011	 | ||||
| 		JR	PREPARE_TO_START_ZX | ||||
| 
 | ||||
| SCORPION_256:	;DI | ||||
| 		;LD	SP,SYS_PAGE.SYS_SP | ||||
| 		;LD	A,SYS_PAGE | ||||
| 		;OUT	(SLOT3),A | ||||
| 		; | ||||
| 		LD	A,BIOS.RST_CONF.AY8910 | ||||
| SCORPION_256:	LD	L,0						; â®çª  ¢å®¤  ¢ <20>‡“ | ||||
| .custom_ROM:	LD	H,BIOS.RST_CONF.AY8910 | ||||
| 		LD	DE,4*256 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_1	; !HARDCODE 4 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Scorpion 256k. 2+6+8 áâà ¨æë | ||||
| 		LD	BC,#FE*256 + %1000'0001	 | ||||
| 		;JR	PREPARE_TO_START_ZX | ||||
| PREPARE_TO_START_ZX: | ||||
| 		DI | ||||
| 		EX	AF,AF' | ||||
| 		 LD	A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON | ||||
| 		 OUT	(SYS_PORT.ROM),A | ||||
| 		 LD	A,SYS_PAGE | ||||
| 		 OUT	(SLOT3),A | ||||
| 		EX	AF,AF' | ||||
| 		LD	A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON | ||||
| 		OUT	(SYS_PORT.ROM),A | ||||
| 		LD	A,SYS_PAGE | ||||
| 		OUT	(SLOT3),A | ||||
| 		; | ||||
| 		PUSH	HL | ||||
| 		PUSH	BC | ||||
| 		PUSH	DE | ||||
| 		PUSH	DE | ||||
| 		; | ||||
| 		LD	C,A | ||||
| 		RST_to_BIOS | ||||
| 		LD	C,H | ||||
| 		CALL	ToBIOS_FromEXT | ||||
| 		; | ||||
| 		POP	DE | ||||
| 		LD	B,D | ||||
| 		;LD	C,BIOS.ZX_MEMORY_MANAGER | ||||
| 		;RST_to_BIOS | ||||
| 		CALL	MANAGE_ZX_PAGES.FN_ENTRANCE.API | ||||
| 		JR	C,.loop_rst | ||||
| 		; | ||||
| 		POP	DE | ||||
| 		POP	BC | ||||
| 		POP	HL | ||||
| 		; | ||||
| 		LD	D,0						; !HARDCODE â®çª  ¢å®¤  ¢ <20>‡“ ᯥªâà㬠 | ||||
| 		LD	D,L						; !HARDCODE â®çª  ¢å®¤  ¢ <20>‡“ ᯥªâà㬠 | ||||
| 		LD	H,A | ||||
| 		LD	A,(SYS_PAGE.Block_ID.vROM) | ||||
| 		LD	L,A | ||||
| @ -627,26 +571,17 @@ PREPARE_TO_START_ZX: | ||||
| 		JP	GOTO_SPECTRUM.FN | ||||
| 		; | ||||
| .loop_rst:	LD	BC,BIOS.REINIT.HARD_RESET | ||||
| 		RST_to_BIOS | ||||
| 		CALL	ToBIOS_FromEXT | ||||
| 		JR	.loop_rst | ||||
| 
 | ||||
| 
 | ||||
| PENTAGON_128:	;DI | ||||
| 		;LD	SP,SYS_PAGE.SYS_SP | ||||
| 		;LD	A,SYS_PAGE | ||||
| 		;OUT	(SLOT3),A | ||||
| 		; | ||||
| 		LD	A,BIOS.RST_CONF.AY8910 | ||||
| PENTAGON_128:	LD	L,0						; â®çª  ¢å®¤  ¢ <20>‡“ | ||||
| .custom_ROM:	LD	H,BIOS.RST_CONF.AY8910 | ||||
| 		LD	DE,2*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.SCORP_RESET	; !HARDCODE 2 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 128 | ||||
| 		LD	BC,#FE*256 + %0000'0010	 | ||||
| 		JR	PREPARE_TO_START_ZX		 | ||||
| 
 | ||||
| PENTAGON_512:	;DI | ||||
| 		;LD	SP,SYS_PAGE.SYS_SP | ||||
| 		;LD	A,SYS_PAGE | ||||
| 		;OUT	(SLOT3),A | ||||
| 		; | ||||
| 		LD	A,BIOS.RST_CONF.AY8910 | ||||
| PENTAGON_512:	LD	L,0						; â®çª  ¢å®¤  ¢ <20>‡“ | ||||
| .custom_ROM:	LD	H,BIOS.RST_CONF.AY8910 | ||||
| 		LD	DE,3*256 + CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_512 + CNF_PORT.SCORP_RESET	; !HARDCODE 3 - ¢ë¤¥«¥¨¥ ¯ ¬ï⨠Pentagon 512 | ||||
| 		LD	BC,#FE*256 + %0000'0010	 | ||||
| 		JR	PREPARE_TO_START_ZX		 | ||||
| @ -676,17 +611,17 @@ PENTAGON_512:	;DI | ||||
| 
 | ||||
| ;         LD      A,L | ||||
| ;         LD      C,BIOS.FN_SYNC | ||||
| ; 	RST_to_BIOS | ||||
| ; 	CALL	ToBIOS_FromEXT | ||||
| 
 | ||||
| ; 	LD      HL,#4104                        ;!HARDCODE | ||||
| ; 	LD      E,0 | ||||
| ; 	LD      BC,256*4 + BIOS.LP_OPEN_S       ;!HARDCODE | ||||
| ; 	RST_to_BIOS | ||||
| ; 	CALL	ToBIOS_FromEXT | ||||
| 
 | ||||
| ; 	LD      HL,#5104                        ;!HARDCODE | ||||
| ; 	LD      E,0 | ||||
| ; 	LD      BC,256*4 + BIOS.LP_OPEN_S | ||||
| ; 	RST_to_BIOS | ||||
| ; 	CALL	ToBIOS_FromEXT | ||||
| 
 | ||||
| ; 	POP     DE | ||||
| ; 	LD      A,E | ||||
| @ -736,7 +671,7 @@ UTILIT: | ||||
| 	;LD A,0		; DETECT_HDD | ||||
| 	;CALL EXP_HDD | ||||
| 	LD     C,BIOS.HDD_INIT | ||||
| 	RST_to_BIOS | ||||
| 	CALL	ToBIOS_FromEXT | ||||
| 	;CALL DOS_OFF | ||||
| 
 | ||||
| 
 | ||||
| @ -748,14 +683,14 @@ UTILIT: | ||||
| UTIL_DISK: | ||||
|         XOR     A | ||||
|         LD     C,BIOS.FreeMemRMD | ||||
|         RST_to_BIOS | ||||
|         CALL	ToBIOS_FromEXT | ||||
| 
 | ||||
|         LD HL,C_DEMO6 | ||||
|         CALL CALL_DOS1 | ||||
| 
 | ||||
|         XOR     A | ||||
|         LD     C,BIOS.GET_RAMD_ST | ||||
|         RST_to_BIOS | ||||
|         CALL	ToBIOS_FromEXT | ||||
| 
 | ||||
| 	JR C,UTIL_DISK_L1 | ||||
| 	JR Z,UTIL_DISK_L1 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Tolik
						Tolik