-bug with zx_screen in func_ram_rom_drv.asm
This commit is contained in:
		
							parent
							
								
									fe3456f584
								
							
						
					
					
						commit
						6d2385871e
					
				| @ -711,23 +711,24 @@ FN_5x_Parser: | ||||
| 
 | ||||
| ; ‚室 ¢ äãªæ¨¨ <20>ˆŽ‘ ¨§ TR-DOS | ||||
| EXP_FNS:; ®âª«îç ¥¬ § ¯¨áì ¢ íªà  ᯥªâà㬠 | ||||
| 	EX	(SP),HL | ||||
| 	IN	A,(RGADR) | ||||
| 	LD	L,A | ||||
| 	LD	A,#C0 | ||||
| 	OUT	(PORT_Y),A | ||||
| 	LD	A,H | ||||
| 	EX	(SP),HL		; (SP) = port_y | ||||
| 	 ;EX	(SP),HL | ||||
| 	 ;IN	A,(RGADR) | ||||
| 	 ;LD	L,A | ||||
| 	 ;LD	A,#C0 | ||||
| 	 ;OUT	(PORT_Y),A | ||||
| 	 ;LD	A,H | ||||
| 	 ;EX	(SP),HL		; (SP) = port_y | ||||
| 	 POP	AF | ||||
| 	; | ||||
|         CALL    EXP_FNS_RST18 | ||||
| 	CALL    DOS_ON | ||||
| 	; ¢®§¢à é ¥¬ § ¯¨áì ¢ íªà  ᯥªâà㬠 | ||||
| 	EX	(SP),HL | ||||
| 	PUSH	AF | ||||
| 	LD	A,L | ||||
| 	OUT	(RGADR),A | ||||
| 	POP	AF | ||||
| 	POP	HL | ||||
| 	 ;EX	(SP),HL | ||||
| 	 ;PUSH	AF | ||||
| 	 ;LD	A,L | ||||
| 	 ;OUT	(RGADR),A | ||||
| 	 ;POP	AF | ||||
| 	 ;POP	HL | ||||
| 	; ¢®§¢à â | ||||
| 	JP      EXP_FNS_RET | ||||
| 
 | ||||
|  | ||||
| @ -30,18 +30,18 @@ EMM.GetMemSize: | ||||
| 
 | ||||
| 
 | ||||
| ; | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR + | ||||
| ;               ˆ¨æ¨ «¨§ æ¨ï à á¯à¥¤¥«¥¨ï ¯ ¬ïâ¨. | ||||
| EMM.InitMem: | ||||
| 	PUSH	BC | ||||
| 	PUSH	HL | ||||
| 	PUSH	DE | ||||
| 
 | ||||
| 	IN	A,(SLOT1) | ||||
| 	IN	A,(SLOT3) | ||||
| 	LD	C,A | ||||
| 	LD	A,SYS_PAGE | ||||
| 	OUT	(SLOT1),A | ||||
| 	LD	HL,SYS_PAGE.RAMD_FAT - #4000 - #4000			; €¤à¥á FAT އ“. | ||||
| 	OUT	(SLOT3),A | ||||
| 	LD	HL,SYS_PAGE.RAMD_FAT; - #4000 - #4000			; €¤à¥á FAT އ“. | ||||
| 	; ®¡ã«ï¥¬ â ¡«¨æã | ||||
| 	XOR	A | ||||
| .loopFree: | ||||
| @ -68,20 +68,20 @@ EMM.InitMem: | ||||
|         LD	(HL),A | ||||
| 	; ˆ¨æ¨ «¨§ æ¨ï ª«î祩 RAM-Disks | ||||
| 	XOR	A | ||||
| 	LD	HL,SYS_PAGE.RAMD_KEYS - #4000 - #4000 | ||||
| 	LD	HL,SYS_PAGE.RAMD_KEYS; - #4000 - #4000 | ||||
| 	LD	B,SYS_PAGE.RAMD_KEYS.NUM | ||||
| .loop2:	LD	(HL),A | ||||
| 	INC	L | ||||
| 	DJNZ	.loop2 | ||||
| 	; [x] 4/11/23 | ||||
| 	 LD	HL,SYS_PAGE.Sp_RAMD_KEYS - #4000 - #4000	 | ||||
| 	 LD	HL,SYS_PAGE.Sp_RAMD_KEYS; - #4000 - #4000	 | ||||
| 	 LD	B,SYS_PAGE.Sp_RAMD_KEYS.NUM | ||||
| .loop3:	 LD	(HL),A | ||||
| 	 INC	L | ||||
| 	 DJNZ	.loop3 | ||||
| 	; | ||||
| 	LD	A,C | ||||
| 	OUT	(SLOT1),A | ||||
| 	OUT	(SLOT3),A | ||||
| 	POP	DE | ||||
| 	POP	HL | ||||
| 	POP	BC | ||||
| @ -115,7 +115,7 @@ RESERVED_PAGES: | ||||
| 
 | ||||
| 
 | ||||
| ; | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR + | ||||
| ;                  <20>®«ãç¨âì ¡«®ª ¯ ¬ï⨠N bytes, | ||||
| ;               ‚室:   B - ç¨á«® ¥®¡å®¤¨¬ëå ¡«®ª®¢ | ||||
| ;               ‚ë室:  L,A - Š‹ž— RAM-Disk/ª®¤ ®è¨¡ª¨ | ||||
| @ -124,12 +124,12 @@ RESERVED_PAGES: | ||||
| EMM.GetMem: | ||||
| 	;PUSH DE | ||||
| 	PUSH BC | ||||
| 	IN A,(SLOT1) | ||||
| 	IN A,(SLOT3) | ||||
| 	EX AF,AF' | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	LD C,B		; á®åà ¨âì ç¨á«® ã¦ëå ¡«®ª®¢ | ||||
| 	LD HL,SYS_PAGE.RAMD_FAT - #4000 - #4000 | ||||
| 	LD HL,SYS_PAGE.RAMD_FAT; - #4000 - #4000 | ||||
| ; –¨ª« ¯à®¢¥àª¨  «¨ç¨ï ã¦ëå ¡«®ª®¢. | ||||
| .loop:	DEC L | ||||
| 	JR Z,.noRAM | ||||
| @ -141,7 +141,7 @@ EMM.GetMem: | ||||
|         ; Œ¥áâ® ¥áâì ! | ||||
| 	LD B,C		; ‚®ááâ ®¢¨âì ã¦ë© ®¡ê¥¬ ¤¨áª  | ||||
| 	LD C,#FF	; Œ…’Š€ ŠŽ<C5A0>–€ RAM-Disk | ||||
| 	LD HL,SYS_PAGE.RAMD_FAT - #4000 - #4000 | ||||
| 	LD HL,SYS_PAGE.RAMD_FAT; - #4000 - #4000 | ||||
| 
 | ||||
| ; ‡ ¯®«¨âì RAMD_FAT | ||||
| .loop2:	DEC L | ||||
| @ -154,7 +154,7 @@ EMM.GetMem: | ||||
| 
 | ||||
|         ; L - 㪠§ â¥«ì 楯®çª¨. | ||||
| 	EX AF,AF' | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	LD A,L | ||||
| 	AND A | ||||
| 	POP BC | ||||
| @ -163,7 +163,7 @@ EMM.GetMem: | ||||
| 
 | ||||
| .noRAM:	LD L,1		; <20>…’ <20>€ŒŸ’ˆ | ||||
| 	EX AF,AF' | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	LD A,L | ||||
| 	SCF | ||||
| 	POP BC | ||||
| @ -212,13 +212,14 @@ EMM.FreeMemRMD: | ||||
| 	SCF | ||||
| 	RET Z | ||||
| 	LD C,A | ||||
| 	IN A,(SLOT1) | ||||
| 	IN A,(SLOT3) | ||||
| 	LD B,A | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	LD H,high SYS_PAGE.RAMD_FAT; - #4000 - #4000 | ||||
| 	LD (HL),0 | ||||
| 	LD A,B | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	LD A,C | ||||
| 	;JR EMM.FreeMem | ||||
| ;------[ | ||||
| @ -231,12 +232,12 @@ EMM.FreeMem: | ||||
| 	RET Z | ||||
| 
 | ||||
| 	LD L,A | ||||
| 	IN A,(SLOT1) | ||||
| 	IN A,(SLOT3) | ||||
| 	EX AF,AF' | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000)			;	!FIXIT SAFE_RGADR | ||||
| 	LD H,high (SYS_PAGE.RAMD_FAT); - #4000 - #4000)			;	!FIXIT SAFE_RGADR + | ||||
| 	LD A,L | ||||
| EMM_F3M_L1: | ||||
| 	LD L,A | ||||
| @ -248,14 +249,14 @@ EMM_F3M_L1: | ||||
| 	JR NZ,EMM_F3M_L1 ; ¯à®¤®«¦ âì | ||||
| 
 | ||||
| 	EX AF,AF' | ||||
| 	OUT (SLOT1),A | ||||
| 	LD A,0          ;!FIXIT ¥¤®ªã¬¥â¨à®¢ ®  | ||||
| 	AND A | ||||
| 	OUT (SLOT3),A | ||||
| 	XOR A          ;!FIXIT ¥¤®ªã¬¥â¨à®¢ ®  | ||||
| 	;AND A | ||||
| 	RET | ||||
| 
 | ||||
| EMM_FN3M_ERR: | ||||
| 	EX AF,AF' | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	LD A,2          ;!FIXIT ¥¤®ªã¬¥â¨à®¢ ®  | ||||
| 	SCF | ||||
| 	RET | ||||
| @ -446,11 +447,20 @@ BLK_RD_WR: | ||||
|         LD      C,A | ||||
|         LD      A,R | ||||
|         PUSH    AF | ||||
| 	; á®åà ï¥¬ PORT_Y | ||||
| 	IN	A,(PORT_Y) | ||||
| 	PUSH	AF | ||||
| 	LD	A,#C0 | ||||
| 	OUT	(PORT_Y),A | ||||
| 	; | ||||
|         LD      A,C | ||||
|         DI | ||||
|         CALL    .start | ||||
|         ; ¢®ááâ  ¢«¨¢ ¥¬ á®áâ®ï¨¥ ¯à¥à뢠¨© | ||||
|         EX      AF,AF' | ||||
|         ; ¢®ááâ  ¢«¨¢ ¥¬ PORT_Y | ||||
| 	POP	AF | ||||
| 	OUT	(PORT_Y),A | ||||
| 	; ¢®ááâ  ¢«¨¢ ¥¬ á®áâ®ï¨¥ ¯à¥à뢠¨© | ||||
|         POP     AF | ||||
|         JP PO,.noInterrupts | ||||
|         EI | ||||
| @ -931,7 +941,7 @@ GET_RAMD_ST: | ||||
| 
 | ||||
| 
 | ||||
| ; | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR + | ||||
| ;               RAM-Disk A, BLK - B | ||||
| BLK_TO_RAMD: | ||||
| 	CP SYS_PAGE.RAMD_KEYS.NUM | ||||
| @ -941,12 +951,12 @@ BLK_TO_RAMD: | ||||
| 	PUSH HL | ||||
| 	LD L,A | ||||
| 
 | ||||
| 	IN A,(SLOT1) | ||||
| 	IN A,(SLOT3) | ||||
| 	LD C,A | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	LD A,L | ||||
| 	LD HL,SYS_PAGE.RAMD_KEYS - #4000 - #4000 | ||||
| 	LD HL,SYS_PAGE.RAMD_KEYS; - #4000 - #4000 | ||||
| 	ADD A,L | ||||
| 	LD L,A | ||||
| 	LD A,(HL)	; ª«îç ¡«®ª  | ||||
| @ -955,17 +965,16 @@ BLK_TO_RAMD: | ||||
| 	LD (HL),B | ||||
| 
 | ||||
| 	LD A,C | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	LD A,B | ||||
| 	AND A | ||||
| 	POP HL | ||||
| 	RET | ||||
| 
 | ||||
| 	; | ||||
| BLK_BUSY: | ||||
| 	LD A,C | ||||
| 	OUT (SLOT1),A | ||||
| 
 | ||||
| 	OUT (SLOT3),A | ||||
| 	SCF | ||||
| 	POP HL | ||||
| 	RET | ||||
| @ -975,7 +984,7 @@ BLK_BUSY: | ||||
| 
 | ||||
| 
 | ||||
| ; | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR + | ||||
| ; RAM-Disk A | ||||
| RAMD_CLEAR: | ||||
| 	CP SYS_PAGE.RAMD_KEYS.NUM | ||||
| @ -985,12 +994,12 @@ RAMD_CLEAR: | ||||
| 	PUSH HL | ||||
| 	LD L,A | ||||
| 
 | ||||
| 	IN A,(SLOT1) | ||||
| 	IN A,(SLOT3) | ||||
| 	LD C,A | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	LD A,L | ||||
| 	LD HL,SYS_PAGE.RAMD_KEYS - #4000 - #4000	; RAM-Disk ᢮¡®¤¥ | ||||
| 	LD HL,SYS_PAGE.RAMD_KEYS; - #4000 - #4000	; RAM-Disk ᢮¡®¤¥ | ||||
| 	ADD A,L | ||||
| 	LD L,A | ||||
| 	LD B,A		; § ¯®¬¨âì 㤠«ï¥¬ë© à ¬¤¨áª | ||||
| @ -999,7 +1008,7 @@ RAMD_CLEAR: | ||||
| 	JR Z,BLK_BUSY	; ¢®§¢à â á ®è¨¡ª®© | ||||
| 	LD (HL),0 | ||||
| 	LD A,C | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	AND A | ||||
| 	POP HL | ||||
| @ -1010,7 +1019,7 @@ RAMD_CLEAR: | ||||
| 
 | ||||
| 
 | ||||
| ; | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR + | ||||
| ; à §¤¥«¨âì ¡«®ª ¯ ¬ï⨠  ¤¢  ¡«®ª  | ||||
| ; A - ¡«®ª, B - ¤«¨  ¯¥à¢®£® ¡«®ª  ¯®á«¥ à §¤¥«¥¨ï | ||||
| ; ¢ë室: A - ¡«®ª 1, B - ¡«®ª 2 | ||||
| @ -1025,19 +1034,19 @@ EMM.DivMemBlocks: | ||||
| 	RET C | ||||
| 	LD D,A | ||||
| 
 | ||||
| 	IN A,(SLOT1) | ||||
| 	IN A,(SLOT3) | ||||
| 	EX AF,AF' | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000) | ||||
| 	LD H,high (SYS_PAGE.RAMD_FAT); - #4000 - #4000) | ||||
| 	LD L,D | ||||
| 	LD A,(HL) | ||||
| 	LD (HL),#FF | ||||
| 	LD B,A | ||||
| 
 | ||||
| 	EX AF,AF' | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 
 | ||||
| 	LD A,E | ||||
| 	AND A | ||||
| @ -1048,17 +1057,17 @@ EMM.DivMemBlocks: | ||||
| 
 | ||||
| 
 | ||||
| ; | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR | ||||
| ;----------------------------------------------------------------------;	!FIXIT SAFE_RGADR + | ||||
| ; ᫨âì ¤¢  ¡«®ª  ¯ ¬ï⨠¢ ®¤¨ | ||||
| ; € - ¡«®ª 1, B - ¡«®ª 2 | ||||
| ; ¢ë室: € - ¡«®ª | ||||
| EMM.MergeMemBlocks: | ||||
| 	LD E,A | ||||
| 	IN A,(SLOT1) | ||||
| 	IN A,(SLOT3) | ||||
| 	EX AF,AF' | ||||
| 	LD A,SYS_PAGE | ||||
| 	OUT (SLOT1),A | ||||
| 	LD H,high (SYS_PAGE.RAMD_FAT - #4000 - #4000) | ||||
| 	OUT (SLOT3),A | ||||
| 	LD H,high (SYS_PAGE.RAMD_FAT); - #4000 - #4000) | ||||
| 	LD L,E | ||||
| 	LD C,B | ||||
| 	LD B,0 | ||||
| @ -1073,7 +1082,7 @@ EMM.MergeMemBlocks: | ||||
| 
 | ||||
| .EMM_ADD_ERR: | ||||
| 	EX AF,AF' | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	SCF | ||||
| 	RET | ||||
| 
 | ||||
| @ -1083,7 +1092,7 @@ EMM.MergeMemBlocks: | ||||
| 	JR Z,.EMM_ADD_ERR | ||||
| 	LD (HL),A | ||||
| 	EX AF,AF' | ||||
| 	OUT (SLOT1),A | ||||
| 	OUT (SLOT3),A | ||||
| 	AND A | ||||
| 	LD A,E | ||||
| 	RET | ||||
|  | ||||
| @ -421,8 +421,9 @@ TURBO_ON: | ||||
| 
 | ||||
| CLEAR_RAM: | ||||
| 	DI | ||||
| 	LD      C,BIOS.FullInit | ||||
| 	LD	C,BIOS.FullInit | ||||
| 	RST_to_BIOS | ||||
| 	;CALL    ToBIOS_3D13 | ||||
|         ; ¯à¨ ®ç¨á⪥ ¯ ¬ï⨠¨§ ¬¥î ᯥªâà㬠 ¢®§¢à â ¢ DSS ¯® CAD | ||||
|         ;  ¡ã¤¥â ®¯ áë¬ (RAM Blocks ®á¢®¡®¤¨«¨áì), | ||||
|         ;  ¯®í⮬㠮⪫îç ¥¬ ¯¥à¥å¢ â à¥á¥â . | ||||
|  | ||||
| @ -63,6 +63,7 @@ CLEAR_RAM: | ||||
| 	DI | ||||
| 	LD      C,BIOS.FullInit | ||||
| 	RST_to_BIOS | ||||
| 	;CALL    ToBIOS_3D13 | ||||
|         ; ¯à¨ ®ç¨á⪥ ¯ ¬ï⨠¨§ ¬¥î ᯥªâà㬠 ¢®§¢à â ¢ DSS ¯® CAD | ||||
|         ;  ¡ã¤¥â ®¯ áë¬ (RAM Blocks ®á¢®¡®¤¨«¨áì), | ||||
|         ;  ¯®í⮬㠮⪫îç ¥¬ ¯¥à¥å¢ â à¥á¥â . | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Anatoliy Belyanskiy
						Anatoliy Belyanskiy