202 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			202 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| ; LAST UPDATE: 30.03.2024 savelij
 | |
| 
 | |
| ; ¤«ï ¢ë§ë¢®¢ BIOS
 | |
| ; RGC - ®¬¥à äãªæ¨¨ BIOS
 | |
| ; RGB - ॣ¨áâà B
 | |
| ; RGA - ॣ¨áâà A
 | |
| ; RGIX - ॣ¨áâà IX
 | |
| SPBIOS		MACRO RGC,RGB,RGA,RGIX
 | |
| 	IFNB RGIX
 | |
| 		LD IX,RGIX
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGA
 | |
| 	IF RGA = 0
 | |
| 		XOR A
 | |
| 	ELSE
 | |
| 		LD A,RGA
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGC
 | |
| 	IFNB RGB
 | |
| 		LD BC,RGB << 8 + RGC
 | |
| 	ELSE
 | |
| 		LD C,RGC
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 		RST 8
 | |
| 		ENDM
 | |
| 
 | |
| ; ¤«ï ¢ë§ë¢®¢ DSS
 | |
| ; RGC - ®¬¥à äãªæ¨¨ BIOS
 | |
| ; RGB - ॣ¨áâà B
 | |
| ; RGA - ॣ¨áâà A
 | |
| ; RGIX - ॣ¨áâà IX
 | |
| SPDSS		MACRO RGC,RGB,RGA,RGIX
 | |
| 	IFNB RGIX
 | |
| 		LD IX,RGIX
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGA
 | |
| 	IF RGA = 0
 | |
| 		XOR A
 | |
| 	ELSE
 | |
| 		LD A,RGA
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGC
 | |
| 	IFNB RGB
 | |
| 		LD BC,RGB << 8 + RGC
 | |
| 	ELSE
 | |
| 		LD C,RGC
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 		RST 0x10
 | |
| 		ENDM
 | |
| 
 | |
| ; ¤«ï à ¡®âë á MOUSE
 | |
| ; RGC - ®¬¥à äãªæ¨¨ BIOS
 | |
| ; RGB - ॣ¨áâà B
 | |
| ; RGA - ॣ¨áâà A
 | |
| ; RGIX - ॣ¨áâà IX
 | |
| SPMOUSE		MACRO RGC,RGB,RGA,RGIX
 | |
| 	IFNB RGIX
 | |
| 		LD IX,RGIX
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGA
 | |
| 	IF RGA = 0
 | |
| 		XOR A
 | |
| 	ELSE
 | |
| 		LD A,RGA
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGC
 | |
| 	IFNB RGB
 | |
| 		LD BC,RGB << 8 + RGC
 | |
| 	ELSE
 | |
| 		LD C,RGC
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 		RST 0x30
 | |
| 		ENDM
 | |
| 
 | |
| ; ¤«ï BIOS
 | |
| ; RGC - ®¬¥à äãªæ¨¨ BIOS
 | |
| ; RGB - ॣ¨áâà B
 | |
| ; RGA - ॣ¨áâà A
 | |
| BIOS18		MACRO RGC,RGB,RGA,RGIX
 | |
| 	IFNB RGIX
 | |
| 		LD IX,RGIX
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGA
 | |
| 	IF RGA = 0
 | |
| 		XOR A
 | |
| 	ELSE
 | |
| 		LD A,RGA
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGC
 | |
| 	IFNB RGB
 | |
| 		LD BC,RGB << 8 + RGC
 | |
| 	ELSE
 | |
| 		LD C,RGC
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 		RST 0x18
 | |
| 		ENDM
 | |
| 
 | |
| ; ¤«ï SYSTEM.DOS ¨ SYSTEM.EXE
 | |
| ; RSTNUM - ®¬¥à RST
 | |
| ; RGC - ®¬¥à äãªæ¨¨ BIOS
 | |
| ; RGB - ॣ¨áâà B
 | |
| ; RGA - ॣ¨áâà A
 | |
| SPSYSDOS	MACRO RSTNUM,RGC,RGB,RGA,RGIX
 | |
| 	IFNB RGIX
 | |
| 		LD IX,RGIX
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGA
 | |
| 	IF RGA = 0
 | |
| 		XOR A
 | |
| 	ELSE
 | |
| 		LD A,RGA
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 
 | |
| 	IFNB RGC
 | |
| 	IFNB RGB
 | |
| 		LD BC,RGB << 8 + RGC
 | |
| 	ELSE
 | |
| 		LD C,RGC
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 		RST RSTNUM
 | |
| 		ENDM
 | |
| 
 | |
| ; PORT -  ¤à¥á ¯®àâ 
 | |
| ; NUM - § ç¥¨¥ ¤«ï § ¯¨á¨
 | |
| ; FLAG - ¯à¨  «¨ç¨¨ ¢ ¯®àâ ¯¨è¥âáï ᮤ¥à¦¨¬®¥ ॣ¨áâà  A
 | |
| SETPORT		MACRO PORT,NUM,FLAG
 | |
| 	IFB FLAG				; ¥á«¨ FLAG ¥áâì, ¥ ¬¥ï¥¬ ॣ¨áâà A
 | |
| 	IF NUM = 0
 | |
| 		XOR A
 | |
| 	ELSE
 | |
| 		LD A,NUM
 | |
| 	ENDIF
 | |
| 	ENDIF
 | |
| 		OUT (PORT),A
 | |
| 		ENDM
 | |
| 
 | |
| GETPORT		MACRO PORT
 | |
| 		IN A,(PORT)
 | |
| 		ENDM
 | |
| 
 | |
| ; ¨¨â áç¥â稪  ¤«ï £¥¥à æ¨¨ ¨¬¥¨ ¬¥âª¨
 | |
| GEN_NAME_INIT	MACRO
 | |
| NAMENUM := 0
 | |
| 		ENDM
 | |
| 
 | |
| ; £¥¥à æ¨ï ¨¬¥¨ ¬¥âª¨ ¨ ¨ªà¨¬¥â áç¥â稪  ¨¬¥¨ ¬¥âª¨
 | |
| GEN_NAME	MACRO NAME,LABEL
 | |
| NAMENUMTXT := "\{NAMENUM}"
 | |
| NAME_{NAMENUMTXT} := $
 | |
| 	IFNB LABEL
 | |
| LABEL		EQU NAMENUM			; £¥¥à æ¨ï 㪠§ ®£® ¨¬¥¨ á ⥪ã騬 ®¬¥à®¬ á®®¡é¥¨ï
 | |
| 	ENDIF
 | |
| NAMENUM := NAMENUM + 1
 | |
| 		ENDM
 | |
| 
 | |
| ; £¥¥à æ¨ï â ¡«¨æë ¬¥â®ª (⮫쪮 á® ¢â®à®£® ¯à®å®¤ )
 | |
| GEN_TABL	MACRO NAME
 | |
| 	IF MOMPASS > 1
 | |
| CURRENT := 0
 | |
| 	REPT MAXITEM
 | |
| CURRENTTXT := "\{CURRENT}"
 | |
| 		DW NAME_{CURRENTTXT}
 | |
| CURRENT := CURRENT + 1
 | |
| 	ENDM
 | |
| 	ENDIF
 | |
| 		ENDM
 | |
| 
 | |
| ACCEL		MACRO BYTE
 | |
| 		DB BYTE
 | |
| 		ENDM
 | |
| 
 | |
| HDR_EXE		MACRO VERSION,OFFSET,PRIMARYLOADER,ADRLOAD,ADRSTART,ADRSTACK,RESERVED
 | |
| 		DB "EXE",VERSION
 | |
| 		DD OFFSET
 | |
| 		DW PRIMARYLOADER
 | |
| 		DW 0,0,0
 | |
| 		DW ADRLOAD,ADRSTART,ADRSTACK
 | |
| 	IF RESERVED > 0
 | |
| 		DB RESERVED DUP (0)
 | |
| 	ENDIF
 | |
| 		ENDM
 | 
