mirror of
				https://github.com/romychs/DemoN.git
				synced 2025-10-31 00:06:02 +03:00 
			
		
		
		
	initial commit
This commit is contained in:
		
						commit
						4c6b0a25fb
					
				
							
								
								
									
										36
									
								
								CLOCK.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								CLOCK.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                             ‚뢮¤ ç á®¢                                 [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 01.02.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| Clock: | ||||
|                 ld      a,(ClockOn)             ;ä« £ ¢ë¢®¤  ç á®¢ | ||||
|                 inc     a | ||||
|                 ret     nz | ||||
|                 ld      c,Dss.SysTime | ||||
|                 rst     DssRst                  ;¯à®ç¨â âì ¤ ë¥ ® ¢à¥¬¥¨ | ||||
|                 ld      de,.String | ||||
|                 push    de | ||||
|                 push    bc | ||||
|                 push    hl | ||||
|                 ld      l,h                     ;ç áë | ||||
|                 ld      h,0 | ||||
|                 call    ConvDecStr8_1 | ||||
|                 inc     de | ||||
|                 pop     hl                      ;¬¨ãâë | ||||
|                 ld      h,0 | ||||
|                 call    ConvDecStr8_1 | ||||
|                 inc     de | ||||
|                 pop     hl | ||||
|                 ld      l,h                     ;ᥪã¤ë | ||||
|                 ld      h,0 | ||||
|                 call    ConvDecStr8_1 | ||||
|                 ld      de,71 | ||||
|                 ld      c,Bios.Lp_Set_Place     ;ãáâ ®¢ª  ¯®§¨æ¨¨ ¯¥ç â¨ | ||||
|                 rst     BiosRst : di | ||||
|                 pop     hl | ||||
|                 ld      bc,8*256+Bios.Lp_Print_Ln2 ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 rst     BiosRst : di | ||||
|                 ret | ||||
| 
 | ||||
| .String         db      "00:00:00" | ||||
| 
 | ||||
							
								
								
									
										22
									
								
								CMDLINE.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								CMDLINE.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]          Ž¡à ¡®âª  ª®¬ ¤®© áâப¨ ¬®¨â®à -®â« ¤ç¨ª  DemoN            [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 08.06.2006                                  [] | ||||
| ;[] ‚室:   á⥪¥  ¤à¥á  ç «  ª®¬ ¤®© áâப¨ ¢ ¯ ¬ï⨠                  [] | ||||
| ;[] ‚ë室: CF=1 - ¥â ¯ à ¬¥â஢, CF=0 - ¥áâì ¯ à ¬¥âàë                     [] | ||||
| ;[]=========================================================================[] | ||||
| CmdLine: | ||||
|                 pop     hl                      ; ç «® | ||||
|                 ld      a,(hl)                  ;¤«¨  ª®¬ ¤®© áâப¨ | ||||
|                 or      a | ||||
|                 scf | ||||
|                 jr      z,.L1                   ;¥â ¯ à ¬¥â஢ | ||||
| 
 | ||||
|                 ld      de,FDebug               ;¡ãä¥à | ||||
|                 inc     hl | ||||
|                 ld      c,Dss.GSwitch           ;¢ë¤¥«¥¨¥ ¯ à ¬¥âà  | ||||
|                 rst     DssRst | ||||
| 
 | ||||
|                 or      a                       ;CF=0 | ||||
| .L1 | ||||
|                 ;ret | ||||
| 
 | ||||
							
								
								
									
										116
									
								
								DATA.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								DATA.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,116 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                       „ ë¥ ¬®¨â®à -®â« ¤ç¨ª  DemoN                   [] | ||||
| ;[] v0.01 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 10.10.2004                                  [] | ||||
| ;[] v0.02 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 11.03.2005                                  [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 05.02.2006                                  [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 10.09.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| SymbolNoPrint   db      #b0;"."                     ;ᨬ¢®«ë < ¯à®¡¥«  | ||||
| ClockOn         db      On                      ;¯à¨§ ª ¢ë¢®¤  ç á®¢ | ||||
| DemonScreen     db      0                       ;®¬¥à íªà   ®â« ¤ç¨ª  | ||||
| OSScreen	db	0			;<3B>®¬¥à íªà   Ž‘¨ | ||||
| OSGrafMode	db	0			;ƒà ä¨ç¥áª¨© ०¨¬ ®á¨ | ||||
| BufPage		db	255			;<3B>®¬¥à áâà ¨æë á ®ª®ë¬ ¡ãä¥à®¬ | ||||
| 
 | ||||
| Hello           db      13,10 | ||||
| ;                db      "‚¥àá¨ï ®âª®¬¯¨«¨à®¢   ᯥ樠«ì® ¤«ï ‚ á¨«¨ï ˆ¢ ®¢ !",13,10,10 | ||||
|                 db      "DemoN v" | ||||
|                 incbin  "VERSION\major.bin" | ||||
|                 db      "." | ||||
|                 incbin  "VERSION\minor.bin" | ||||
|                 db      " build " | ||||
|                 incbin  "VERSION\build.bin" | ||||
|                 db      " (alpha) <Created by Alpha Studio>",13,10 | ||||
|                 db      "Last edition " | ||||
|                 incbin  "VERSION\date.bin" | ||||
|                 db      " (BLR " | ||||
|                 incbin  "VERSION\time.bin" | ||||
|                 db      ")",13,10 | ||||
|                 db      "FidoNet: Igor Zhadinets 2:454/5.18; " | ||||
|                 db      "e-mail: igor_ast@tut.by",13,10,10,0 | ||||
| Str: | ||||
| .Load           db      "Load file ...",0x0D,0x0A,0 | ||||
| .DA             db      0x0d,0x0A,0 | ||||
| 
 | ||||
| PauseFlash      equ     16                      ;ç áâ®â  ¬¨£ ¨ï ¯à®£à.ªãàá®à  | ||||
| 
 | ||||
| Color: | ||||
| .Screen         db      00000111b              ;®á®¢®© 梥â íªà   | ||||
| .Border         db      00000011b              ;梥â à ¬ª¨ | ||||
| .TextStrReg     db      00000010b              ;梥â ॣ¨áâ஢ëå ¯ à | ||||
| .TextStrWin     db      00000101b              ;梥⠮¬¥à®¢ ®ª® | ||||
| ._SP            db      00000110b              ;¯®¤á¢¥âª  ¢¥àè¨ë á⥪  | ||||
| ._PC            db      01110001b              ;¯®¤á¢¥âª  ¢ë¯®«ï¥¬®© áâà. | ||||
| .RezArea        db      00001110b              ;¯®¤á¢¥âª  १¨¤¥â  | ||||
| .TextStrLogo    db      00000100b              ;梥⠫®£® ¯à®£à ¬¬ë | ||||
| .Cursor         db      00011101b              ;梥⠪ãàá®à -㪠§ â¥«ï | ||||
| .InLine         db      00111111b              ;梥â áâப¨ ¢¢®¤  | ||||
| .InLineEd       db      00110001b              ;梥â áâப¨ ¢¢®¤  ¯à¨ ।. | ||||
| 
 | ||||
| StackDebug      ds      2                       ; ¤à¥á á⥪  ®â« ¤ç¨ª  | ||||
| BankDebug       ds      1                       ;®¬¥à ¡ ª¨ ®â« ¤ç¨ª  | ||||
| BankOS          ds      1                       ;®¬¥à ¡ ª¨ á OS | ||||
| RezAdr          dw      0x7000                  ; ¤à¥á ¯®á ¤ª¨ १¨¤¥â  | ||||
| StackDown       ds      1                       ;£«ã¡¨  á⥪  | ||||
| StackDump       dw      0x800A                  ; ç «® ¤ ¬¯  á⥪  | ||||
| 
 | ||||
| Reg:                                            ;§ ç¥¨¥ ॣ¨áâ஢ëå ¯ à | ||||
| ._IX            dw      0 | ||||
| ._IY            dw      0 | ||||
| ._HL            dw      0 | ||||
| ._DE            dw      0 | ||||
| ._BC            dw      0 | ||||
| ._AF            dw      0 | ||||
| ._HL_           dw      0 | ||||
| ._DE_           dw      0 | ||||
| ._BC_           dw      0 | ||||
| ._AF_           dw      0 | ||||
| ._IR            dw      0 | ||||
| ._SP            dw      0x7FFE | ||||
| ._PC            dw      0 | ||||
| 
 | ||||
| WinPage:        db      0xFF,0xFF,0xFF,0xFF     ; ¤à¥á  ¯®¤ª«îç¥ëå áâà ¨æ | ||||
| 
 | ||||
| Dump1           dw      0x4000                  ; ¤à¥á  ç «  ¤¨ ¬¨ç¥áª®£® ¤ ¬¯  | ||||
| Dump:                                           ; ¤à¥á   ç «  áâப ¤ ¬¯  | ||||
|                 dw      InputLine.Buffer;0x4100 | ||||
|                 dw      InputLine.Buffer+16;0x8100 | ||||
|                 dw      PutCode.Buffer;0xC100 | ||||
|                 dw      0x5280 | ||||
|                 dw      0x9280 | ||||
|                 dw      0xD280 | ||||
|                 dw      0x6000 | ||||
|                 dw      0xA000 | ||||
| 
 | ||||
| ListAdr:        ds      40                      ;¡ãä¥à åà ¥¨ï  ¤à¥á®¢ «¨á⨣  | ||||
| ListFormat:     db      -1                      ;ä®à¬ âë© ¢ë¢®¤ «¨á⨣  | ||||
|                                                 ;-1 - ¤ ; 0 - ¥â | ||||
| 
 | ||||
| DecHex          db      0                       ;0-HEX FF-DEC á¨á⥬  | ||||
| 
 | ||||
| ;======== Š®áâ ââë ====== | ||||
| On              equ     0xFF | ||||
| Off             equ     0 | ||||
| Ins             equ     0 | ||||
| Ovr             equ     0xFF | ||||
| SysSymb         equ     0x1B                    ;á¨áâ¥¬ë© § ª®£¥¥à â®à | ||||
| 
 | ||||
| ;¯¥ç âì ç¥à¥§ ¯/¯ ¡¨®á  | ||||
| 	ifdef D_PRINTCH_BIOS | ||||
| Demon.Bios_Win	db	0			;¨¤¥â¨ä¨ª â®à ®ª  ¡¨®á  | ||||
| MainWin		db	80,32,0,0,00110000b,0,0,0 | ||||
| 		ds	26,0 | ||||
| 	endif | ||||
| 
 | ||||
| ;-------------------------------------- | ||||
| ;„¨ «®£®¢®¥ ®ª® ¤«ï ¯¯ ¢ë室  | ||||
| ;-------------------------------------- | ||||
| ExitDlg		db	6,22,13,32,6,#40 | ||||
| 		db	"Confirmation",0 | ||||
| 		db	"  You really want to quit?" | ||||
| 		db	0x16,32,17,"OK      Cancel",0 | ||||
| 		db	2 | ||||
| 		db	29,17,8,2	;Ok | ||||
| 		dw	0,0 | ||||
| 		db	39,17,8,2	;Cancel | ||||
| 		dw	0,Keyb.NoExit | ||||
							
								
								
									
										389
									
								
								DEMON.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										389
									
								
								DEMON.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,389 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                        Œ®¨â®à-®â« ¤ç¨ª DemoN                           [] | ||||
| ;[] v0.01 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 10.10.2004                                  [] | ||||
| ;[] v0.02 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 07.02.2005                                  [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 11.03.2006                                  [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 27.08.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| 
 | ||||
| 		DEVICE	ZXSPECTRUM128 | ||||
| 
 | ||||
| ;		define	DEBUG		1	;®âªàë⨥ ¤¥¡ ££¥àëå § £«ã襪 | ||||
| ;		define	D_PRINTCH_BIOS	1 | ||||
| 
 | ||||
| 	        org #8100-512 | ||||
| STARTPRG | ||||
| 		DB	"EXE"	;EXE ID | ||||
| 		DB	#00	;EXE VERSION | ||||
| 		DW	#0200	;CODE OFFSET LOW | ||||
| 		DW	#0000	;CODE OFFSET HIGH | ||||
| 		DW	#0000	;END-BEG ;PRIMARY LOADER | ||||
| 		DW	#0000	; | ||||
| 		DW	#0000	;RESERVED | ||||
| 		DW	#0000	; | ||||
| 		DW	OrgAdr	;LOAD ADDRESS | ||||
| 		DW	OrgAdr	;START ADDRESS | ||||
| 		DW	#C001	;STACK ADDRESS | ||||
| 
 | ||||
| 
 | ||||
| OrgAdr          equ     0x8100 | ||||
|                 org     OrgAdr | ||||
| ;                stack   0xC001 | ||||
| 
 | ||||
|                 push    ix                      ; ¤à¥á ª®¬ ¤®© áâப¨ | ||||
|                 in      a,(EmmWin.P2)           ;¡ ª  á ®â« ¤ç¨ª®¬ | ||||
|                 ld      (BankDebug),a | ||||
|                 in      a,(EmmWin.P0)           ;¡ ª  á OS | ||||
|                 ld      (BankOS),a | ||||
| ;                ld      (WinPage),a | ||||
| 
 | ||||
| ;                ld      (Reg._SP),sp            ; ¤à¥á á⥪  | ||||
|                 call    SaveAllRegs             ;á®åà ¥¨¥ ॣ¨áâ஢ëå ¯ à | ||||
| ;                ld      a,(BankDebug) | ||||
|                 ld      a,0xFF                  ;áªà뢠¥¬ ¡ ªã á ®â« ¤ç¨ª®¬ | ||||
|                 ld      (WinPage+2),a | ||||
|                 include "cmdline.asm" | ||||
|                 call    nc,LoadFile | ||||
|                 jp      Start                                               | ||||
| 
 | ||||
| HorizLine       db      8                       ;ª®«¨ç¥á⢮ «¨¨© | ||||
|                 ;1-¤«¨  2-á⮫¡¥æ 3-áâப  4-ᨬ¢®« | ||||
|                 db      0x4E,0x01,0x00,0xCD, 0x17,0x01,0x03,0xC4 | ||||
|                 db      0x17,0x01,0x09,0xC4, 0x17,0x01,0x0F,0xC4 | ||||
|                 db      0x17,0x01,0x11,0xCD, 0x4E,0x01,0x15,0xCD | ||||
|                 db      0x4E,0x01,0x1E,0xCD, 0x17,0x01,0x13,0xCD | ||||
| 
 | ||||
| VerticalLine    db      5                       ;ª®«¨ç¥á⢮ «¨¨© | ||||
|                 ;1-¢ëá®â  2-á⮫¡¥æ 3-áâப  4-ᨬ¢®« | ||||
|                 db      0x1D,0x00,0x01,0xBA, 0x10,0x09,0x01,0xB3 | ||||
|                 db      0x08,0x0C,0x16,0xBA, 0x14,0x18,0x01,0xBA | ||||
|                 db      0x1D,0x4F,0x01,0xBA | ||||
| 
 | ||||
| Corner          db      41                      ;㣫ë à ¬®ª | ||||
|                 ;1-á⮫¡¥æ 2-áâப  3-ᨬ¢®«  | ||||
|                 db      0x00,0x00,0xC9, 0x00,0x03,0xC7, 0x00,0x09,0xC7 | ||||
|                 db      0x00,0x0F,0xC7, 0x00,0x11,0xCC, 0x00,0x15,0xCC | ||||
|                 db      0x00,0x1E,0xC8, 0x06,0x11,0xD1, 0x06,0x13,0xCF | ||||
|                 db      0x09,0x00,0xD1, 0x09,0x03,0xC5, 0x09,0x09,0xC5 | ||||
|                 db      0x09,0x0F,0xC5, 0x0C,0x11,0xD1, 0x0C,0x15,0xCB | ||||
|                 db      0x0C,0x1E,0xCA, 0x12,0x0F,0xC2, 0x12,0x11,0xD8 | ||||
|                 db      0x12,0x13,0xCF, 0x18,0x00,0xCB, 0x18,0x03,0xB6 | ||||
|                 db      0x18,0x09,0xB6, 0x18,0x0F,0xB6, 0x18,0x15,0xCA | ||||
|                 db      0x00,0x13,0xCC, 0x0C,0x13,0xCF, 0x4F,0x00,0xBB | ||||
|                 db      0x18,0x13,0xB9, 0x4F,0x15,0xB9, 0x4F,0x1E,0xBC | ||||
|                 db      0x18,0x11,0xB9, 0x06,0x12,0xB3, 0x12,0x10,0xB3 | ||||
|                 db      0x12,0x12,0xB3, 0x09,0x13,0xD1, 0x09,0x14,0xB3 | ||||
|                 db      0x09,0x15,0xCF, 0x0C,0x12,0xB3, 0x0E,0x13,0xCB | ||||
|                 db      0x0E,0x14,0xBA, 0x0E,0x15,0xCA | ||||
| 
 | ||||
| TextStrReg      db      0x16,0x01,0x01,"IX", 0x16,0x01,0x02,"IY" | ||||
|                 db      0x16,0x01,0x04,"HL", 0x16,0x01,0x05,"DE" | ||||
|                 db      0x16,0x01,0x06,"BC", 0x16,0x01,0x07,"AF" | ||||
|                 db      0x16,0x01,0x0A,"HL'", 0x16,0x01,0x0B,"DE'" | ||||
|                 db      0x16,0x01,0x0C,"BC'", 0x16,0x01,0x0D,"AF'" | ||||
|                 db      0x16,0x01,0x10,"PC", 0x16, 0x0A,0x10,"IR" | ||||
|                 db      0x16,0x01,0x14,"SP",0 | ||||
| TextStrLogo     db      0x016,0x01,0x1F,0xC4,0xCD,0xCD | ||||
|                 db      " DemoN v" | ||||
|                 incbin  "VERSION\major.bin" | ||||
|                 db      "." | ||||
|                 incbin  "VERSION\minor.bin" | ||||
|                 db      " build " | ||||
|                 incbin  "VERSION\build.bin" | ||||
|                 db      " (alpha)-" | ||||
|                 incbin  "VERSION\date.bin" | ||||
| 		db	" Igor by AlphA Studio, Hard/WCG" | ||||
|                 db      0x20,0xCD,0xCD,0xC4,0x00 | ||||
| TextStrWin      db      0x16,0x02,0x11," 0 ",0x16,0x08,0x11," 1 " | ||||
|                 db      0x16,0x0E,0x11," 2 ",0x16,0x14,0x11," 3 ",0 | ||||
| TextStrRez      db      0x16,0x0F,0x14,"REZ",0 | ||||
| 
 | ||||
| 
 | ||||
|                 ;<3B>à®æ¥¤ãà  ¯à®à¨á®¢ª¨ «¨¨© | ||||
|                 ;HL -  ¤à¥á  ç «  â ¡«¨æë | ||||
| DrawLine        ld      c,(hl)                  ;ª®«¨ç¥á⢮ «¨¨© | ||||
|                 inc     hl | ||||
|                 ld      b,(hl)                  ;¤«¨  «¨¨¨ | ||||
|                 inc     hl | ||||
|                 ld      e,(hl)                  ;á⮫¡¥æ | ||||
|                 inc     hl | ||||
|                 ld      d,(hl)                  ;áâப  | ||||
|                 inc     hl | ||||
|                 ld      a,(hl)                  ;ᨬ¢®« | ||||
|                 push    hl | ||||
| .L1             push    bc | ||||
|                 push    af | ||||
|                 ld      bc,Dss.WrChar           ;梥⠢ ॣ.B | ||||
|                 rst     DssRst | ||||
|                 inc     d                       ; à é¨¢ ¨¥ ª®®à¤¨ âë | ||||
|                 pop     af | ||||
|                 pop     bc | ||||
|                 djnz    .L1 | ||||
|                 pop     hl | ||||
|                 dec     c | ||||
|                 jr      nz,DrawLine+1 | ||||
|                 ret | ||||
| 
 | ||||
|                 ;<3B> ç «® ¯à®£à ¬¬ë | ||||
| Start: | ||||
|                 ld      hl,Hello                ;á®®¡é¥¨¥ ¯à®£à ¬¬ë | ||||
|                 ld      c,Dss.PChars            ;¢ë¢¥á⨠áâபã | ||||
|                 rst     DssRst | ||||
| 		ld	c,Dss.GetVMod		;’¥ªã騩 £à ä ०¨¬ | ||||
| 		rst	DssRst | ||||
| 		jp	c,Exit | ||||
| 		ld	(OSGrafMode),a | ||||
| 		ld	a,b | ||||
| 		ld	(OSScreen),a		;¨ ⥪ãé ï áâà ¨æ  íªà   | ||||
| 		push	bc | ||||
| 		ld	bc,#0100+Dss.GetMem	;१¥à¢¨à㥬 1 áâà ¨æã ¤«ï ®ª®®£® ¡ãä¥à  | ||||
| 		rst	DssRst | ||||
| 		pop	de			;‚ D - ®¬¥à áâà ¨æë íªà   - OSScreen | ||||
| 		jp	c,Exit			;Žè¨¡ª  ¢ë¤¥«¥¨ï ¡«®ª  ¯ ¬ï⨠| ||||
| 		ld	(BufPage),a		;‘®åà ¨¬ áâà ¨æã ¢ ¯¥à¥¬¥®© | ||||
| 		ld	b,a | ||||
| 		ld	a,(DemonScreen) | ||||
| 		cp	d			;¥á«¨ íªà ë Ž‘ ¨ „¥¬®  ¥ ᮢ¯ ¤ îâ | ||||
| 		jr	nz,StartNext		;â® ¨ ¥ á®åà ï¥¬ íªà  Ž‘¨ | ||||
| 		ld	de,0			;‘®åà ï¥¬ íªà  ¢ ¤®¯.áâà ¨æ¥ | ||||
| 		ld	hl,#2050 | ||||
| 		ld	ix,#c000 | ||||
| 		ld	c,Dss.WinCopy | ||||
| 		rst	DssRst | ||||
| 		 | ||||
| StartNext	ld      a,(DemonScreen)         ;íªà  ®â« ¤ç¨ª  | ||||
|                 ld      b,a | ||||
| 		ld	a,3			;ãáâ ®¢¨âì ०¨¬ 80å32 | ||||
|                 ld      c,Dss.SetVMod		;Dss.SelPage | ||||
| ;                ld      bc,0x0054 | ||||
|                 rst     DssRst | ||||
| 	ifdef D_PRINTCH_BIOS | ||||
| 		ld	ix,MainWin		;Žâªàë⨥ ®ª  ç/§ ¡¨®á | ||||
| 		ld	e,00010001b | ||||
| 		rst	BiosRst | ||||
| 		ld	(Demon.Bios_Win),a | ||||
| ;		jr	nc,.lp1 | ||||
| ;		ld	c,Dss.EchoKey		;¤¥¡ã££¥à ï § £«ã誠 | ||||
| ;		rst	DssRst | ||||
| 
 | ||||
| 	endif | ||||
| .lp1		 | ||||
| ;                ld      a,(Color._SP)           ;¯®¤á¢¥âª  ¢¥àè¨ë á⥪  | ||||
| ;                ld      b,a | ||||
| ;                ld      de,0x1C01 | ||||
| ;                ld      hl,0x010B | ||||
| ;                ld      a," " | ||||
| ;                ld      c,Dss.Clear | ||||
| ;                rst     DssRst | ||||
| 		call	ClearScreen | ||||
| 		call	DrawDemonScreen | ||||
| 	 | ||||
| ;		ld	c,Dss.EchoKey		;¤¥¡ã££¥à ï § £«ã誠 | ||||
| ;		rst	DssRst | ||||
| 
 | ||||
|                 jp      Start1 | ||||
| ;Ž¡®¢«¥¨¥ íªà   ¤¥¬®  | ||||
| RefreshScreen	call	CursorRes | ||||
| 		call	ClearScreen | ||||
| 		call	DrawDemonScreen | ||||
| 		call	Refresh | ||||
|                 call    Cursor                  ;¢ª« ªãàá®à | ||||
|                 jp    CursorSet | ||||
| 
 | ||||
| ClearScreen	ld      a,(Color.Screen) | ||||
|                 ld      b,a                     ;®ç¨á⪠ íªà   | ||||
|                 ld      de,0 | ||||
|                 ld      hl,0x2050 | ||||
|                 ld      c,Bios.Lp_Cls_Win | ||||
|                 rst     BiosRst | ||||
| 		ret		 | ||||
| DrawDemonScreen | ||||
|                 ld      a,(Color.Border)        ;ãáâ ®¢ª  æ¢¥â  à ¬ª¨ | ||||
|                 ld      (DrawLine.L1+4),a | ||||
|                 ld      (DrawCorner+10),a | ||||
|                 ld      a,0x14                  ;ª®¤ ¬¥¬®¨ª¨ INC D | ||||
|                 ld      (DrawLine.L1+6),a | ||||
| 
 | ||||
|                 ld      hl,VerticalLine         ;¢¥à⨪ «ìë¥ «¨¨¨ | ||||
|                 call    DrawLine | ||||
| 
 | ||||
|                 ld      hl,HorizLine            ;£®à¨§®â «ìë¥ «¨¨¨ | ||||
|                 ld      a,0x1C                  ;ª®¤ ¬¥¬®¨ª¨ INC E | ||||
|                 ld      (DrawLine.L1+6),a | ||||
|                 call    DrawLine | ||||
| 
 | ||||
|                 ld      hl,Corner | ||||
|                 ld      b,(hl)                  ;ª®«¨ç¥á⢮ 㣫®¢ | ||||
| DrawCorner      push    bc | ||||
|                 inc     hl | ||||
|                 ld      e,(hl)                  ;á⮫¡¥æ | ||||
|                 inc     hl | ||||
|                 ld      d,(hl)                  ;áâப  | ||||
|                 inc     hl | ||||
|                 ld      a,(hl)                  ;ᨬ¢®« | ||||
|                 push    hl | ||||
|                 ld      bc,Dss.WrChar           ;梥⠢ ॣ.B | ||||
|                 rst     DssRst | ||||
|                 pop     hl | ||||
|                 pop     bc | ||||
|                 djnz    DrawCorner | ||||
| 
 | ||||
|                 ld      hl,TextStrReg | ||||
|                 ld      a,(Color.TextStrReg)    ;梥â ॣ¨áâ஢ëå ¯ à | ||||
|                 ld      (PrnStrColor.L1+5),a | ||||
|                 call    PrnStrColor | ||||
|                 ld      hl,TextStrWin | ||||
|                 ld      a,(Color.TextStrWin)    ;梥⠮¬¥à®¢ ®ª® | ||||
|                 ld      (PrnStrColor.L1+5),a | ||||
|                 call    PrnStrColor | ||||
|                 ld      hl,TextStrLogo | ||||
|                 ld      a,(Color.TextStrLogo)   ;梥⠫®£® ¯à®£à ¬¬ë | ||||
|                 ld      (PrnStrColor.L1+5),a | ||||
|                 call    PrnStrColor | ||||
|                 ld      hl,TextStrRez | ||||
|                 ld      a,(Color.RezArea)       ;梥â १¨¤¥â  | ||||
|                 ld      (PrnStrColor.L1+5),a | ||||
|                 call    PrnStrColor | ||||
| 		ret | ||||
|                 ds      OrgAdr+0x700-$ | ||||
| Start1: | ||||
|                 call    PreparChar              ;¯®¤£®â®¢ª  ¯à®£à ¬¬®£® ªãàá®à  ¢¢®¤  | ||||
| ;                ld      hl,(Reg._PC) | ||||
| ;                ld      hl,0 | ||||
| ;                ld      (ListAdr),hl | ||||
| 
 | ||||
|                 call    Refresh | ||||
|                 call    Keyb | ||||
| 
 | ||||
| Exit: | ||||
|                 ld      hl,(Rst38.Vect+1)       ;¢®ááâ ®¢«¥¨¥ ¢¥ªâ®à  DSS | ||||
|                 ld      (0039h),hl | ||||
| 
 | ||||
| 		ld	a,(OSScreen)		;¨ ⥪ãé ï áâà ¨æ  íªà   | ||||
| 		ld	b,a | ||||
| 		push	bc | ||||
| 		ld	a,(OSGrafMode) | ||||
| 		ld	c,Dss.SetVMod | ||||
| 		 | ||||
| ;                ld      bc,0x0100+Dss.SelPage   ;¢®ááâ ®¢«¥¨¥ íªà   DSS | ||||
|                 rst     DssRst | ||||
| 		pop	bc | ||||
| 		ld	a,(DemonScreen) | ||||
| 		cp	b | ||||
| 		jr	nz,ExitNext | ||||
| 		ld	de,0			;‚®ááâ  ¢«¨¢ ¥¬ íªà  ¨§ ¤®¯.áâà ¨æë | ||||
| 		ld	hl,#2050 | ||||
| 		ld	ix,#c000 | ||||
| 		ld	c,Dss.WinRest | ||||
| 		ld	a,(BufPage) | ||||
| 		push	af | ||||
| 		ld	b,a | ||||
| 		rst	DssRst | ||||
| 		pop	af | ||||
| 		ld	c,Dss.FreeMem		;Žâ¤ ¥¬ áâà ¨æã ¡ãä¥à  ®¡à â® Ž‘¨ | ||||
| 		rst	DssRst | ||||
| 		 | ||||
| ExitNext	 | ||||
| 		ld      bc,Dss.Exit             ;®à¬ «ì®¥ § ¢¥à襨¥ | ||||
|                 rst     DssRst                 | ||||
| Return		ret | ||||
| 
 | ||||
| Refresh: | ||||
|                 di | ||||
|                 ld      de,0x0104               ;¢ë¢®¤ § ç¥¨© ॣ¨áâ஢ | ||||
|                 ld      hl,(Reg._IX) | ||||
|                 call    PrintStrReg | ||||
|                 ld      de,0x0204 | ||||
|                 ld      hl,(Reg._IY) | ||||
|                 call    PrintStrReg | ||||
|                 ld      de,0x0404 | ||||
|                 ld      hl,(Reg._HL) | ||||
|                 call    PrintStrReg | ||||
|                 ld      de,0x0504 | ||||
|                 ld      hl,(Reg._DE) | ||||
|                 call    PrintStrReg | ||||
|                 ld      de,0x0604 | ||||
|                 ld      hl,(Reg._BC) | ||||
|                 call    PrintStrReg | ||||
|                 ld      de,0x0A04 | ||||
|                 ld      hl,(Reg._HL_) | ||||
|                 call    PrintStrReg | ||||
|                 ld      de,0x0B04 | ||||
|                 ld      hl,(Reg._DE_) | ||||
|                 call    PrintStrReg | ||||
|                 ld      de,0x0C04 | ||||
|                 ld      hl,(Reg._BC_) | ||||
|                 call    PrintStrReg | ||||
|                 ld      de,0x0704 | ||||
|                 ld      hl,(Reg._AF) | ||||
|                 call    PrintStrAF | ||||
|                 ld      de,0x0D04 | ||||
|                 ld      hl,(Reg._AF_) | ||||
|                 call    PrintStrAF | ||||
|                 ld      de,0x1004 | ||||
|                 ld      hl,(Reg._PC) | ||||
|                 call    PrintReg | ||||
|                 ld      de,0x100D | ||||
|                 ld      hl,(Reg._IR) | ||||
|                 call    PrintReg | ||||
|                 ld      de,0x1404 | ||||
|                 ld      hl,(Reg._SP) | ||||
|                 call    PrintReg | ||||
|                 call    PrintSPDn | ||||
|                 ld      de,0x1413 | ||||
|                 ld      hl,(RezAdr) | ||||
|                 call    PrintReg | ||||
| 
 | ||||
|                 call    PrintStrWin             ;¢ë¢®¤ ®¬¥à®¢ ¡ ®ª ¢ ®ª å | ||||
| 
 | ||||
|                 call    PrintStrSP              ;¢ë¢®¤ ¤ ¬¯  á⥪  | ||||
| 
 | ||||
|                 call    PrintDump | ||||
|                 ei | ||||
|                 jp      DisAsm | ||||
| 
 | ||||
| DemonHelp	call	CursorRes | ||||
| 		ld	ix,HelpWnd | ||||
| 		jp	DialogWindow | ||||
| 		 | ||||
| ;		ld	hl,HelpWndDlg | ||||
| ;		jp	WinDialog | ||||
| HelpWnd		db	6,16,11,42,7,#27 | ||||
| 		db	"DemoN Help Page",0 | ||||
|                 db      " DemoN v" | ||||
|                 incbin  "VERSION\major.bin" | ||||
|                 db      "." | ||||
|                 incbin  "VERSION\minor.bin" | ||||
|                 db      " build " | ||||
|                 incbin  "VERSION\build.bin" | ||||
|                 db      " (alpha)-" | ||||
|                 incbin  "VERSION\date.bin" | ||||
| 		db	0x0D | ||||
| 		db	"    Igor by AlphA Studio, Hard/WCG",0x0D,0x0D | ||||
| 		db	"                  OK",0 | ||||
| HelpWndDlg	db	1			;ޝ¨á â¥«ì ¤¨ «®£®¢®£® ®ª  | ||||
| 		db	16+19,16,4,2 | ||||
| 		dw	0,0 | ||||
| 
 | ||||
|                 include "EQU\dss_equ.asm";"D:\WORKAST\EQU\dss_equ" | ||||
|                 include "EQU\bios_equ.asm";"D:\WORKAST\EQU\bios_equ" | ||||
|                 include "EQU\port.asm";"D:\WORKAST\EQU\port" | ||||
|                 include "disasm.asm";"D:\WORKAST\DEMON\disasm" | ||||
|                 include "util.asm";"D:\WORKAST\DEMON\util" | ||||
|                 include "file.asm";"D:\WORKAST\DEMON\file" | ||||
|                 include "error.asm";"D:\WORKAST\DEMON\error" | ||||
|                 include "clock.asm";"D:\WORKAST\DEMON\clock" | ||||
|                 include "keyb.asm";"D:\WORKAST\DEMON\keyb" | ||||
|                 include "kreg.asm";"D:\WORKAST\DEMON\kreg" | ||||
|                 include "kstack.asm";"D:\WORKAST\DEMON\kstack" | ||||
|                 include "kdump.asm";"D:\WORKAST\DEMON\kdump" | ||||
|                 include "rez.asm";"D:\WORKAST\DEMON\rez" | ||||
|                 include "step.asm";"D:\WORKAST\DEMON\step" | ||||
|                 include "savescr.asm";"D:\WORKAST\DEMON\savescr" | ||||
|                 include "data.asm";"D:\WORKAST\DEMON\data" | ||||
|                 include "tabl.asm";"D:\WORKAST\DEMON\tabl" | ||||
| 		include	"loadbin.asm" | ||||
| 		include	"windows.asm" | ||||
| 
 | ||||
| EndOfDaemon	 | ||||
| 		savebin	"demon.exe",STARTPRG,EndOfDaemon-STARTPRG | ||||
							
								
								
									
										377
									
								
								DEMON.TXT
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										377
									
								
								DEMON.TXT
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,377 @@ | ||||
| <EFBFBD>®ä¨ªá¥ ï (  ®è¨¡ª¨) ¤®ª . | ||||
| <EFBFBD>¥¬®£® ¨§¬¥¥® ®¯¨á ¨¥ ¢ "2.4. „ ¬¯ ¯ ¬ïâ¨". | ||||
| 
 | ||||
| ƒ«îª¨. | ||||
| 1. <20>¥ à ¡®â ¥â Ctrl+S. | ||||
| 
 | ||||
| 2. <20>¥à¥©¤¨ ¢ ¯®«¥ ॣ¨áâà  "PC" ¨ ¢¢¥¤¨  ¤à¥á #C000. <20>®á«¥ ¯¥à¥©¤¨ ¢  á¬- | ||||
| «¨á⨣ (  íâ®â  ¤à¥á, ï ¯¥à¥å®¤¨« ¯® Ctrl+~) ¨ ¨¤¨ ¯®-áâà®ç® ¢¢¥àå | ||||
| (â.¥. ª ¬« ¤è¨¬  ¤à¥á ¬). “¢¨¤¨èì £«îª¨ á ¢ë¢®¤®¬ ¢  á¬-«¨á⨣¥. <20>¥à¥©â¨ | ||||
| ¬®¦¥èì   ¤à㣮©  ¤à¥á, £«îª ¥ ¯à®¯ ¤ ¥â. <20>ਠáâࠨ箬 «¨áâ ¨¨ ¢¢¥àå, | ||||
| íâ®â £«îª ¢à®¤¥ ª ª ¥ § ¬¥â¥. | ||||
| Šáâ , ⮫쪮 é á ¯à®¢¥à¨«   íâ®â ¦¥ £«îª. ‡ ¯ãáª î „¥¬® , ¯¥à¥å®¦ã ¯® | ||||
| Ctrl+~   #C000 ¨ ¨¤ã ¯®-áâà®ç® ¢¢¥àå - £«îª. ’® ¦¥ á ¬®¥ á  ¤à¥á  #4000. | ||||
| ’.¥. ï å®çã ᪠§ âì, çâ® ¯à ¢ª  ॣ¨áâà  PC âãâ ¨ ¯à¨ 祬. | ||||
| 
 | ||||
| <EFBFBD>®¦¥« ¨¥. Š ª ¡ë ¡ëáâà® ¯¥à¥å®¤¨âì ¢ «î¡®¥ ®ª® „¨¬ë ?. € â® ªà㣮¢®¥ ¯® | ||||
| ’ ¡ã ã⮬«ï¥â - ¯®ª  ¤®©¤¥èì ¤® 㦮£® ®ª ... Œ®¦¥â ª ¦¤®¬ã ®ªã ¯à¨á¢®¨âì | ||||
| á¢®î ®â-ª« ¢¨èã, ⨯  Alt+1,2,... –¨äàã ª ¦¤®¬ã ®ªã ¬®¦® ¯®áâ ¢¨âì   ¥£® | ||||
| £à ¨æã, ® ⮫쪮 ¤à㣨¬ 梥⮬,  ¯à¨¬¥à ᨨ¬, çâ®¡ë ¢ £« § å ¥ â ª | ||||
| ¬ ï稫®. ’¨¯  (¯®à浪®¢ë¥ ®¬¥à  ⮫쪮 ¤«ï í⮣® ¯à¨¬¥à ) | ||||
| 
 | ||||
| 1ÍÍÍÍÍÍÍÍÑÍ | ||||
| ºIX #8080³0 | ||||
| ºIY #1637³0 | ||||
| 2ÄÄÄÄÄÄÄÄÅÄ | ||||
| ºHL #8100³0 | ||||
| ºDE #2C40³C | ||||
| ºBC #C089³D | ||||
| ºAF #FB82³% | ||||
| ºSz.h.pNc³  | ||||
| 3ÄÄÄÄÄÄÄÄÅÄ | ||||
| ºHL'#0000³C | ||||
| ºDE'#2E07³3 | ||||
| ºBC'#0200³D | ||||
| ºAF'#FB44³% | ||||
| ºsZ.h.Pnc³  | ||||
| 4ÄÄÄÄÄÄÄÄÅÄ | ||||
| ºPC #0000³I | ||||
| ÌÍ 0 ÍÑÍ 1  | ||||
| º #FB ³ #FF | ||||
| 5ÍÍÍÍÍÏÍÍÑÍ | ||||
| ºSP #7FFE³  | ||||
| 6ÍÍÍÍÍÍÍÍÏÍ | ||||
| º#800A #FF0 | ||||
| º#8008 #FF0 | ||||
| º#8006 #100 | ||||
| º#8004 #103 | ||||
| º#8002 #7E6 | ||||
| º#8000 #007 | ||||
| º#7FFE #2CE | ||||
| º#7FFC #434 | ||||
| ÈÍÍÍÍÍÍÍÍÍÍ | ||||
| 
 | ||||
| ‹®¦ª  ¤¥£âï ;). “ â¥¡ï ¥¬®£® ªà¨¢®¢ â ï  ¢¨£ æ¨ï ¢ hex-®ª¥ ¬¥¦¤ã hex/ascii | ||||
| ¤ ¬¯ ¬¨. …᫨ ¯¥à¥å®¤¨èì ¨§ ®¤®£® ¤ ¬¯    ¤à㣮©, â® ¯¥à¥å®¤¨   â®â ¦¥ | ||||
| á ¬ë©  ¤à¥á - íâ® «®£¨ç¥áª¨ ¯à ¢¨«ì®. Ѝ¤ î ⥡¥ hex-। ªâ®à QVIEW, ï ¨¬ | ||||
|   PC-å¥ â®«ìª® ¨ ¯®«ì§ãîáì. | ||||
| <EFBFBD>¥à¥¤¥«ë¢ âì ¬®£® ¯®âॡã¥âáï, ¥á«¨ ¢ hex-®ª¥ áࠧ㠯ਪàãâ¨âì ०¨¬ । ª- | ||||
| â¨à®¢ ¨ï ?. | ||||
| 
 | ||||
| <EFBFBD>® íâ® â ª, ¬¥çâë   ¡ã¤ã饥. | ||||
| ----------------------------------------------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|         DemoN - ¬®¨â®à-®â« ¤ç¨ª ¤«ï DSS Estex | ||||
| 
 | ||||
| 1. <20> § ç¥¨¥ ¯à®£à ¬¬ë. | ||||
| 
 | ||||
| Demon ¯à¥¤ § ç¥ ¤«ï ®â« ¤ª¨ ¯à®£à ¬,  ¯¨á ëå    áᥬ¡«¥à¥ Z80. Ž | ||||
| ¯®§¢®«ï¥â âà áá¨à®¢ âì ª®¤ ¯à®£à ¬¬ë á ®âá«¥¦¨¢ ¨¥¬ á®áâ®ï¨ï ¢á¥å ॣ¨áâ஢ | ||||
| ¯à®æ¥áá®à  ¨ ï祥ª ¯ ¬ï⨠®â« ¦¨¢ ¥¬®© ¯à®£à ¬¬ë. | ||||
| 
 | ||||
| 2. ‚¥è¨© ¢¨¤ ¯à®£à ¬¬ë. | ||||
| 
 | ||||
| Demon ¨á¯®«ì§ã¥â ⥪áâ®¢ë© à¥¦¨¬ íªà  . | ||||
| 
 | ||||
|                                                       ’¥ªã饥 ¢à¥¬ï ÄÄÄÄÄÄÄ¿ | ||||
|                                                                        ÚÄÄÄÁÄÄ¿ | ||||
| ÉÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ18:41:03» | ||||
| ºIX #8080³0EFC F8FC .üøüº #06CC                34       INC (HL)               º | ||||
| ºIY #1637³0045 4D4F .EMOº #06CD                CBB6     RES 6,(HL)             º | ||||
| ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄĶ #06CF                6F       LD L,A                 º | ||||
| ºHL #8100³0081 FFFE .<2E>.þº #06D0                2606     LD H,#06               º | ||||
| ºDE #2C40³C34A 2D21 ÃJ-!º #06D2                73       LD (HL),E              º | ||||
| ºBC #C089³D6C6 06C6 ÖÆ.ƺ #06D3                2C       INC L                  º | ||||
| ºAF #FB82³%11111011 "û" º #06D4                72       LD (HL),D              º | ||||
| ºSz.h.pNc³              º #06D5                2C       INC L                  º | ||||
| ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄĶ #06D6                70       LD (HL),B              º | ||||
| ºHL'#0000³C34A 2DFF ÃJ-.º #06D7                2C       INC L                  º | ||||
| ºDE'#2E07³3045 5845 0EXEº #06D8                71       LD (HL),C              º | ||||
| ºBC'#0200³DCE6 0106 Üæ..º #06D9                C9       RET                    º | ||||
| ºAF'#FB44³%11111011 "û" º #06DA                214106   LD HL,#0641            º | ||||
| ºsZ.h.Pnc³              º #06DD                3A4006   LD A,(#0640)           º | ||||
| ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÂÄÄÄÄĶ #06E0                BE       CP (HL)                º | ||||
| ºPC #0000³IR #8059³     º #06E1                C8       RET Z                  º | ||||
| ÌÍ 0 ÍÑÍ 1 ÍÑÍ 2 ÍØÍ 3 ͹ #06E2                7E       LD A,(HL)              º | ||||
| º #FB ³ #FF ³ #E8 ³ #FF º #06E3                34       INC (HL)               º | ||||
| ÌÍÍÍÍÍÏÍÍÑÍÍÏÍËÍÍÍÏÍÍÍÍ͹ #06E4                34       INC (HL)               º | ||||
| ºSP #7FFE³   0ºREZ #7000º #06E5                34       INC (HL)               º | ||||
| ÌÍÍÍÍÍÍÍÍÏÍÍËÍÊÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ | ||||
| º#800A #FF0Fº #4000  007E 7E6C 1038 1000 FF00 FF0F 3C3F 7F18  .~~l.8......<?.. º | ||||
| º#8008 #FF00º #4010  8002 1866 7F3E 0018 1818 0000 0000 0000  €..f.>.......... º | ||||
| º#8006 #1000º #4020  0030 6C6C 3000 3860 1860 0000 0000 0006  .0ll0.8`.`...... º | ||||
| º#8004 #1038º #4030  7C30 7878 1CFC 38FC 7878 0000 1800 6078  |0xx.ü8üxx....`x º | ||||
| º#8002 #7E6Cº #4040  7C30 FC3C F8FE FE3C CC78 1EE6 F0C6 C638  |0ü<øþþ<Ìx.æðÆÆ8 º | ||||
| º#8000 #007Eº #4050  FC78 FC78 FCCC CCC6 C6CC FE78 C078 1000  üxüxüÌÌÆÆÌþxÀx.. º | ||||
| º#7FFE #2CE4º #4060  3000 E000 1C00 3800 E030 0CE0 7000 0000  0.à...8.à0.àp... º | ||||
| º#7FFC #4340º #4070  0000 0000 1000 0000 0000 001C 18E0 7600  .............àv. º | ||||
| ÈÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ | ||||
|       ÄÍÍ DemoN v0.10 build 65 (alpha) Igor by AlphA Studio, 2006 ÍÍÄ | ||||
| 
 | ||||
| ‚¥áì íªà  à §¡¨â   á«¥¤ãî騥 ®¡« áâ¨: | ||||
|   - ®ª® ॣ¨áâ஢; | ||||
|   - ¤ ¬¯ á⥪ ; | ||||
|   - ®ª® «¨á⨣ ; | ||||
|   - ¤ ¬¯ ¯ ¬ïâ¨. | ||||
| 
 | ||||
| 2.1. Žª® ॣ¨áâ஢. | ||||
| 
 | ||||
| Žª® ॣ¨áâ஢ à §¡¨â®   ¡®«¥¥ ¬¥«ª¨¥ ®ª  (ãá«®¢ë¥ ®¡« áâ¨): | ||||
| - ®¡« áâì ¨¤¥ªáëå ॣ¨áâ஢ëå ¯ à; | ||||
| - ®¡« áâì ®á®¢®£®  ¡®à  ॣ¨áâ஢; | ||||
| - ®¡« áâì  «ìâ¥à â¨¢®£®  ¡®à  ॣ¨áâ஢; | ||||
| - ¨¦ïï ®¡« áâì (®á⠢訥áï âਠáâப¨); | ||||
| 
 | ||||
| 2.1.1. ‘®áâ®ï¨¥ ¨¤¥ªáëå ॣ¨áâ஢ëå ¯ à. | ||||
| 
 | ||||
|      ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ‘®áâ®ï¨¥ ॣ¨áâ஢®© ¯ àë | ||||
|      ³          ÚÄÄÄÄÄÄ Œ¨¨-¤ ¬¯ | ||||
|  ÚÄÄÄÁÄÄ¿ ÚÄÄÄÄÄÁÄÄÄÄÄÄ¿ | ||||
| ÉÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍ | ||||
| ºIX #8080³0EFC F8FC .üøüº | ||||
| ºIY #1637³0045 4D4F .EMOº | ||||
| ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄĶ | ||||
|  À´ ÀÄÂÄÙ ÀÂÄÙ ÀÂÄÙ ÀÂÄÙ | ||||
|   ³   ³    ÀÄÄÂÄÙ    ÀÄ ASCII ¯à¥¤áâ ¢«¥¨¥ ¯ ¬ï⨠| ||||
|   ³   ³       ÀÄÄÄÄÄÄÄÄ <20> ©âë ¨§ ¯ ¬ïâ¨,   ª®â®àãî ááë« ¥âáï ॣ¨áâ஢ ï ¯ à  | ||||
|   ³   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ‡ ç¥¨¥ ॣ¨áâ஢®© ¯ àë | ||||
|   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ <20>¥£¨áâ஢ ï ¯ à  | ||||
| 
 | ||||
| 
 | ||||
| 2.1.2. ‘®áâ®ï¨¥ ®á®¢®£® ¨ a«ìâ¥à â¨¢®£®  ¡®à®¢ ॣ¨áâ஢ ¯à®æ¥áá®à . | ||||
| 
 | ||||
| ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄĶ | ||||
| ºHL #8100³0081 FFFE .<2E>.þº | ||||
| ºDE #2C40³C34A 2D21 ÃJ-!º | ||||
| ºBC #C089³D6C6 06C6 ÖÆ.ƺ | ||||
| ºAF #FB82³%11111011 "û" º | ||||
| ºSz.h.pNc³              º | ||||
| ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄĶ | ||||
| ºHL'#0000³C34A 2DFF ÃJ-.º | ||||
| ºDE'#2B18³DD21 082E Ý!..º | ||||
| ºBC'#0200³DCE6 0106 Üæ..º | ||||
| ºAF'#FB44³%11111011 "û" º | ||||
| ºsZ.h.Pnc³              º | ||||
| ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÂÄÄÄÄĶ | ||||
| 
 | ||||
| ‘®áâ®ï¨¥ áâப á ॣ¨áâ஢묨 ¯ à ¬¨ HL, DE, BC ¨ HL', DE', BC' ¯®«®áâìî | ||||
|   «®£¨ç® áâப ¬ á ¨¤¥ªá묨 ॣ¨áâ஢묨 ¯ à ¬¨. „ «¥¥ ¢ ¤¢ãå áâப å | ||||
| ®â®¡à ¦ ¥âáï á®áâ®ï¨¥  ªªã¬ã«ïâ®à  ¨ ä« £®¢ ¯à®æ¥áá®à : | ||||
| 
 | ||||
|   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ <20>¥£¨áâ஢ ï ¯ à  | ||||
|   ³   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ‡ ç¥¨¥  ªªã¬ã«ïâ®à  | ||||
|   ³   ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ‡ ç¥¨¥ ä« £®¢®£® ॣ¨áâà  | ||||
|   ³   ³ ³     ÚÄÄÄÄÄÄÄÄ „¢®¨ç®¥ ¯à¥¤áâ ¢«¥¨¥  ªªã¬ã«ïâ®à  | ||||
|   ³   ³ ³     ³      ÚÄ ASCII ¯à¥¤áâ ¢«¥¨¥  ªªã¬ã«ïâ®à  | ||||
|  Ú´  Ú´Ú´ ÚÄÄÄÁÄÄÄ¿  ³ | ||||
| 
 | ||||
| ºAF #FB82³%11111011 "û" º | ||||
| ºSz.h.pNc³              º | ||||
| ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄĶ | ||||
|  ³³ ³ ³³³ | ||||
|  ³³ ³ ³³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ‘   - ä« £ ¯¥à¥®á  | ||||
|  ³³ ³ ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ N   - ä« £ ®¯¥à æ¨¨ ¢ëç¨â ¨ï | ||||
|  ³³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ P/V - ä« £ ç¥â®£® १ã«ìâ â  / ¯¥à¥¯®«¥¨ï | ||||
|  ³³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ H   - ä« £ ¢á¯®¬®£ â¥«ì®£® ¯¥à¥®á  | ||||
|  ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Z   - ä« £ ã«ï | ||||
|  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ S   - ä« £ § ª  | ||||
| ‡ £« ¢ ï ¡ãª¢  ᮮ⢥âáâ¢ã¥â ãáâ ®¢«¥®¬ã ä« £ã, ¯à®¯¨á ï - á¡à®è¥®¬ã. | ||||
| 
 | ||||
| 2.1.3. ‘®áâ®ï¨¥ áç¥â稪  ª®¬ ¤ ¨ ॣ¨áâ஢  ¤à¥á  ॣ¥¥à æ¨¨ ¨ â ¡«¨æë | ||||
|        ¯à¥à뢠¨©. | ||||
| 
 | ||||
| ÇÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÂÄÄÄÄĶ | ||||
| ºPC #00CF³IR #8045³     º | ||||
| 
 | ||||
|  À´ ÀÄÂÄÙ À´  À´À´ | ||||
|   ³   ³    ³   ³ ÀÄÄÄÄÄ ‡ ç¥¨¥ ॣ¨áâà   ¤à¥á  ॣ¥¥à æ¨¨ | ||||
|   ³   ³    ³   ÀÄÄÄÄÄÄÄ ‡ ç¥¨¥ ॣ¨áâà   ¤à¥á  â ¡«¨æë ¯à¥à뢠¨© | ||||
|   ³   ³    ÀÄÄÄÄÄÄÄÄÄÄÄ <20>¥£¨áâ஢ ï ¯ à  | ||||
|   ³   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ‡ ç¥¨¥ áç¥â稪  ª®¬ ¤ | ||||
|   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ <20>¥£¨áâ஢ ï ¯ à  | ||||
| 
 | ||||
| 2.1.4. <20>®¬¥à  ¡ ®ª ¯ ¬ïâ¨, ¢ª«îç¥ëå ¢ ®ª  ¯à®æ¥áá®à . | ||||
| 
 | ||||
|    ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 0-¥ ®ª®  ¤à¥á®£® ¯à®áâà á⢠ (#0000...#3FFF) | ||||
|    ³     ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ 1-¥ ®ª®  ¤à¥á®£® ¯à®áâà á⢠ (#4000...#7FFF) | ||||
|    ³     ³     ÚÄÄÄÄÄÄÄ 2-¥ ®ª®  ¤à¥á®£® ¯à®áâà á⢠ (#8000...#BFFF) | ||||
|    ³     ³     ³     ÚÄ 3-¥ ®ª®  ¤à¥á®£® ¯à®áâà á⢠ (#C000...#FFFF) | ||||
| 
 | ||||
| ÌÍ 0 ÍÑÍ 1 ÍÑÍ 2 ÍØÍ 3 ͹ | ||||
| º #FB ³ #FF ³ #E8 ³ #FF º | ||||
| ÌÍÍÍÍÍÏÍÍÑÍÍÏÍËÍÍÍÏÍÍÍÍ͹ | ||||
| 
 | ||||
|   ÀÂÙ   ÀÂÙ   ÀÂÙ   ÀÂÙ | ||||
|    ³     ³     ³     ÀÄ ”¨§¨ç¥áª¨© ®¬¥à ¡ ª¨ ¯ ¬ï⨠¢ª«î祮© ¢ 0-¥ ®ª® | ||||
|    ³     ³     ÀÄÄÄÄÄÄÄ ”¨§¨ç¥áª¨© ®¬¥à ¡ ª¨ ¯ ¬ï⨠¢ª«î祮© ¢ 1-¥ ®ª® | ||||
|    ³     ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ ”¨§¨ç¥áª¨© ®¬¥à ¡ ª¨ ¯ ¬ï⨠¢ª«î祮© ¢® 2-¥ ®ª® | ||||
|    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ”¨§¨ç¥áª¨© ®¬¥à ¡ ª¨ ¯ ¬ï⨠¢ª«î祮© ¢ 3-¥ ®ª® | ||||
| 
 | ||||
| 2.1.5. ‘®áâ®ï¨¥ 㪠§ â¥«ï á⥪  ¨  ¤à¥á à á¯®«®¦¥¨ï १¨¤¥â . | ||||
| 
 | ||||
| ÌÍÍÍÍÍÏÍÍÑÍÍÏÍËÍÍÍÏÍÍÍÍ͹ | ||||
| ºSP #7FF6³   4ºREZ #7000º | ||||
| ÌÍÍÍÍÍÍÍÍÏÍÍËÍÊÍÍÍÍÍÍÍÍÍÊÍ | ||||
| 
 | ||||
|  À´ ÀÄÂÄÙ ÀÄÂÙ ÀÂÙ ÀÄÂÄÙ | ||||
|   ³   ³     ³   ³    ÀÄ €¤à¥á à §¬¥é¥¨ï १¨¤¥â  | ||||
|   ³   ³     ³   ÀÄÄÄÄÄÄ <20>¥§¨¤¥â | ||||
|   ³   ³     ÀÄÄÄÄÄÄÄÄÄÄ ˆá¯®«ì§®¢  ï £«ã¡¨  á⥪  | ||||
|   ³   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ‡ ç¥¨¥ 㪠§ â¥«ï á⥪  | ||||
|   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ <20>¥£¨áâ஢ ï ¯ à  | ||||
| 
 | ||||
| ‘¯à ¢  ®â ¯ àë SP ¢ë¢®¤¨âáï £«ã¡¨  ¨á¯®«ì§®¢ ®£® á⥪ . ’ ª ª®¬ ¤ë PUSH, | ||||
| CALL ¨ RST ¯à¨¢®¤ïâ ª 㢥«¨ç¥¨î í⮣® ç¨á« ,   ª®¬ ¤ë POP ¨ RET - | ||||
| ᮮ⢥âá⢥® ª 㬥ì襨î. —¨á«® ¢á¥£¤  ®â®¡à ¦¥® ¢ ¤¥áïâ¨ç®¬ ä®à¬ â¥ ¨ | ||||
| ¬®¦¥â ¡ëâì ®âà¨æ â¥«ìë¬. | ||||
| 
 | ||||
| 2.2. „ ¬¯ á⥪ . | ||||
| 
 | ||||
| ÌÍÍÍÍÍÍÍÍÏÍÍË   ‚¥à訠 á⥪  ¯®¤á¢¥ç¥ . <20>¨¦¥ ¯®¤á¢¥ç¥®© áâப¨  å®¤ïâáï | ||||
| º#8002 #6C7Eº   § ç¥¨ï áïâë¥ á® á⥪ , ¢ëè¥ - § ç¥¨ï ¢ á⥪¥. | ||||
| º#8000 #7E00º | ||||
| º#7FFE #302Cº | ||||
| º#7FFC #FB82º | ||||
| º#7FFA #FB82º | ||||
| º#7FF8 #FB82º | ||||
| º#7FF6 #2C40º | ||||
| º#7FF4 #1637º | ||||
| ÈÍÍÍÍÍÍÍÍÍÍÍÊ | ||||
|  ÀÄÂÄÙ ÀÄÂÄÙ | ||||
|    ³     ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ ‡ ç¥¨¥ ¯ ¬ï⨠| ||||
|    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ €¤à¥á ¯ ¬ï⨠| ||||
| 
 | ||||
| 2.3. Žª® «¨á⨣ . | ||||
| 
 | ||||
|                               ’¥ªã饥 ¢à¥¬ï ÄÄÄÄÄÄÄ¿ | ||||
|                                                ÚÄÄÄÁÄÄ¿ | ||||
| 
 | ||||
| ËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ01:58:36» | ||||
| º #A000                7A       LD A,D                 º | ||||
| º #A001                FE20     CP #20                 º | ||||
| ¶ #A003                20E2     JR NZ,#9FE7            º | ||||
| º #A005                2128A0   LD HL,#A028            º | ||||
| º #A008                AF       XOR A                  º | ||||
| º #A009                0E0A     LD C,#0A               º | ||||
| º #A00B                D7       RST #10                º | ||||
| º #A00C                380E     JR C,#A01C             º | ||||
| ¶ #A00E                F5       PUSH AF                º | ||||
| º #A00F                2100C0   LD HL,#C000            º | ||||
| º #A012                11400A   LD DE,#0A40            º | ||||
| º #A015                0E14     LD C,#14               º | ||||
| º #A017                D7       RST #10                º | ||||
| º #A018                F1       POP AF                 º | ||||
| ¶ #A019                0E12     LD C,#12               º | ||||
| º #A01B                D7       RST #10                º | ||||
| ¹ #A01C                3A32A0   LD A,(#A032)           º | ||||
| º #A01F                0E3C     LD C,#3C               º | ||||
| ¹ #A021                D7       RST #10                º | ||||
| º #A022                3A33A0   LD A,(#A033)           º | ||||
| ÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ | ||||
|   ÀÄÂÄÙ ÀÄÄÄÄÄÄÂÄÄÄÄÄÙ ÀÄÄÄÂÄÄÙ ÀÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||||
|     ³          ³           ³          ÀÄÄ Œ¥¬®¨ª  ª®¬ ¤ë | ||||
|     ³          ³           ÀÄÄÄÄÄÄÄÄÄÄÄÄÄ <20>®«¥ ª®¤  ª®¬ ¤ë | ||||
|     ³          ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ <20>®«¥ ¬¥âª¨ | ||||
|     ³                                     (¢ ⥪ã饩 ¢¥àᨨ ¥ ॠ«¨§®¢ ®) | ||||
|     ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ €¤à¥á ª®¬ ¤ë | ||||
| 
 | ||||
| ’¥ªãé ï ª®¬ ¤  ¯à®æ¥áá®à  (  ª®â®àãî 㪠§ë¢ ¥â PC) ¢ë¤¥«¥  ¯®«®á®©. | ||||
| 
 | ||||
| 2.4. „ ¬¯ ¯ ¬ïâ¨. | ||||
| 
 | ||||
|                   ASCII ¯à¥¤áâ ¢«¥¨¥ ¯ ¬ï⨠ÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||||
|                                                   ÚÄÄÄÄÄÄÄÁÄÄÄÄÄÄ¿ | ||||
| ËÍÊÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ | ||||
| º #4000  007E 7E6C 1038 1000 FF00 FF0F 3C3F 7F18  .~~l.8......<?.. º | ||||
| º #4010  8002 1866 7F3E 0018 1818 0000 0000 0000  €..f.>.......... º | ||||
| º #4020  0030 6C6C 3000 3860 1860 0000 0000 0006  .0ll0.8`.`...... º | ||||
| º #4030  7C30 7878 1CFC 38FC 7878 0000 1800 6078  |0xx.ü8üxx....`x º | ||||
| º #4040  7C30 FC3C F8FE FE3C CC78 1EE6 F0C6 C638  |0ü<øþþ<Ìx.æðÆÆ8 º | ||||
| º #4050  FC78 FC78 FCCC CCC6 C6CC FE78 C078 1000  üxüxüÌÌÆÆÌþxÀx.. º | ||||
| º #4060  3000 E000 1C00 3800 E030 0CE0 7000 0000  0.à...8.à0.àp... º | ||||
| º #4070  0000 0000 1000 0000 0000 001C 18E0 7600  .............àv. º | ||||
| ÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ | ||||
|   ÀÄÂÄÙ  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ | ||||
|     ³                       ÀÄÄÄÄÄÄÄÄÄÄÄÄ HEX ¯à¥¤áâ ¢«¥¨¥ ¯ ¬ï⨠| ||||
|     ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ €¤à¥á  ¯ ¬ï⨠¤ ¬¯  | ||||
| 
 | ||||
| 3. “¯à ¢«¥¨¥. | ||||
| 
 | ||||
| “¯à ¢«¥¨¥ ¢ ¯à®£à ¬¬¥ ®áãé¥á⢫ï¥âáï ¯à¨ ¯®¬®é¨ ª« ¢¨ âãàë. | ||||
| 
 | ||||
| 3.1. ޡ饥 ã¯à ¢«¥¨¥. | ||||
| 
 | ||||
| <EFBFBD>⨠¯®á«¥¤®¢ â¥«ì®á⨠ª« ¢¨ âãàëå ª®¬ ¤ ®¡à ¡ â뢠îâáï ¢ ¥§ ¢¨á¨¬®á⨠®â | ||||
| ⮣®, ¢ ª ª®¬ ®ª¥  å®¤¨âáï ªãàá®à ¯à®£à ¬¬ë: | ||||
| 
 | ||||
| TAB             - ¯¥à¥å®¤ ¢ á«¥¤ãî饥 ®ª® ¯à®£à ¬¬ë; | ||||
| SHIFT+TAB       - ¯¥à¥å®¤ ¢ ¯à¥¤ë¤ã饥 ®ª® ¯à®£à ¬¬ë; | ||||
| CTRL+E          - ¯¥à¥ª«î票¥ dEc/hEc á¨áâ¥¬ë ¢ë¢®¤  ç¨á¥«   íªà ¥; | ||||
| CTRL+R          - ¨§¬¥¥¨¥  ¤à¥á  à §¬¥é¥¨ï १¨¤¥â ; | ||||
| F7 ¨«¨ CTRL+Z   - ¢ë¯®«¥¨¥ ⥪ã饩 ª®¬ ¤ë ¯à®æ¥ác®à ; | ||||
| F8 ¨«¨ CTRL+C   - ¢ë¯®«¥¨¥ ⥪ã饩 ª®¬ ¤ë ¯à®æ¥ác®à  á  ¢â®¬ â¨ç¥áª¨¬ | ||||
|                   ¢ë¯®«¥¨¥¬ ¯®¤¯à®£à ¬¬ ¨ 横«  DJNZ; | ||||
| F9 ¨«¨ CTRL+V   - ¯à®¯ã᪠⥪ã饩 ª®¬ ¤ë ¯à®æ¥ác®à ,  ¤à¥á ¢ ॣ¨áâ஢®© ¯ à¥ | ||||
|                   PC ãáâ  ¢«¨¢ ¥âáï   á«¥¤ãîéãî ª®¬ ¤ã ¡¥§ ¨á¯®«¥¨ï | ||||
|                   ¯à¥¤ë¤ã饩; | ||||
| ESC             - ¯à®á¬®âà á¨á⥬®£® íªà  ; | ||||
| F10 ¨«¨ ALT+X   - ¢ë室 ¨§ ¯à®£à ¬¬ë. | ||||
| 
 | ||||
| ‚ ¯à®£à ¬¬¥ ॠ«¨§®¢   ¯®«®æ¥ ï áâப  ¢¢®¤ . „ ë¥ ¬®¦® ¢¢®¤¨âì ª ª ¢ | ||||
| HEX, â ª ¨ ¢ DEC á¨á⥬ å ¨áç¨á«¥¨ï, ¯à¨ç¥¬ HEX-ç¨á«® ¤®«¦®  ç¨ âìáï á | ||||
| ¯à¥ä¨ªá  #, « â¨áª®© «¨â¥àë x ¨«¨ X. | ||||
| 
 | ||||
| 3.2. Žª® ॣ¨áâ஢. | ||||
| 
 | ||||
| HOME            - ¢  ç «® ⥪ã饩 áâப¨; | ||||
| END             - ¢ ª®¥æ ⥪ã饩 áâப¨; | ||||
| PAGE UP         -   ¯¥à¢ãî áâபã ãá«®¢®© ®¡« áâ¨; | ||||
| PAGE DOWN       -   ¯®á«¥¤îî áâபã ãá«®¢®© ®¡« áâ¨; | ||||
| ENTER           -  ç «® । ªâ¨à®¢ ¨ï § ç¥¨ï ॣ¨áâ஢ëå ¯ à, ¡ ©â ¯ ¬ï⨠| ||||
|                   ¨ ASCII ¯à¥¤áâ ¢«¥¨ï ¯ ¬ï⨠¨  ªªã¬ã«ïâ®à ,   â ª¦¥ ®¬¥à®¢ | ||||
|                   ¡ ®ª, ¢ª«îç¥ëå ¢ ®ª  ¯à®æ¥áá®à ; | ||||
|                 - ¨¢¥àâ¨à®¢ ¨¥ ¡¨â®¢ ¤¢®¨ç®£® ¯à¥¤áâ ¢«¥¨ï  ªªã¬ã«ïâ®à  ¨ | ||||
|                   ãáâ ®¢ª  / á¡à®á ä« £®¢,   â ª¦¥ ®¡ã«¥¨¥ § ç¥¨ï £«ã¡¨ë | ||||
|                   á⥪ . | ||||
| 
 | ||||
| 3.3. „ ¬¯ á⥪ . | ||||
| 
 | ||||
| PAGE UP         - ¯®-áâà ¨çë© ¯à®á¬®âà á⥪ ; | ||||
| PAGE DOWN       - ¯®-áâà ¨çë© ¯à®á¬®âà á⥪ ; | ||||
| HOME            - ¢¥àãâì ¢¥àè¨ã á⥪  ¢ 䮪ãá; | ||||
| CTRL+X          - ãáâ ®¢¨âì á⥪   ⥪ãéãî áâபã; | ||||
| ENTER           - ¢¢®¤ ®¢®£®  ¤à¥á  ¨«¨ ¤ ëå; | ||||
|                 - ¢¢®¤  ¤à¥á  ¢ ¯®¤á¢¥ç¥®© áâப¥ (  ¢¥à訥 á⥪ ) ¯à¨¢®¤¨â | ||||
|                   ª ¨§¬¥¥¨î ॣ¨áâ஢®© ¯ àë SP. | ||||
| 
 | ||||
| 3.4. Žª® «¨á⨣ . | ||||
| 
 | ||||
| PAGE UP         -   áâà ¨æã «¨á⨣  ¢¢¥àå; | ||||
| PAGE DOWN       -   áâà ¨æã «¨á⨣  ¢¨§; | ||||
| HOME            - ¯¥à¥å®¤ ¢ ª®«®ªã  ¤à¥á ; | ||||
| END             - ¯¥à¥å®¤ ¢ ª®«®ªã ¬¥¬®¨ª¨; | ||||
| CTRL+X          - ãáâ ®¢¨âì § ç¥¨¥ áç¥â稪  ª®¬ ¤   ⥪ãéãî áâபã; | ||||
| RCTRL+æ¨äà      - § ¯®¬¨ ¨¥ ⥪ã饣®  ¤à¥á  «¨á⨣  (§ ¯®¬¨âì § ª« ¤ªã); | ||||
| LCTRL+æ¨äà      - ¡ëáâàë© ¯¥à¥å®¤    ¤à¥á «¨á⨣  (  á®åà. à ¥¥ § ª« ¤ªã); | ||||
| LCTRL+~         - ¡ëáâàë© æ¨ª«¨ç¥áª¨© ¯¥à¥å®¤ (®â®¡à ¦¥¨¥ «¨á⨣ ) | ||||
|                   ¢  ç «® 0..3 ®ª® ¯ ¬ï⨠¯à®æ¥áá®à ; | ||||
| ENTER           - । ªâ¨à®¢ ¨¥  ¤à¥á  ¨«¨ ª®¤  ª®¬ ¤ë, ¯à¨ç¥¬ ª®¤ ª®¬ ¤ë | ||||
|                   ¢¢®¤¨âáï ⮫쪮 ¢ HEX á¨á⥬¥ ¨áç¨á«¥¨ï. | ||||
| 
 | ||||
| 3.5. „ ¬¯ ¯ ¬ïâ¨. | ||||
| 
 | ||||
| PAGE UP         -   áâà ¨æã ¤ ¬¯  ¢¢¥àå; | ||||
| PAGE DOWN       -   áâà ¨æã ¤ ¬¯  ¢¨§; | ||||
| HOME            - ¯¥à¥å®¤ ª ª®«®ª¥  ¤à¥á ; | ||||
| END             - ¯¥à¥å®¤ ª ¯®á«¥¤¥© ª®«®ª¥ ®ª ; | ||||
| CTRL+HOME       - ¯¥à¥å®¤ ¯®á«¥¤®¢ â¥«ì® (¥á«¨ ªãàá®à ãáâ ®¢«¥ ¢ ª®æ¥ | ||||
|                   áâப¨ ¤ ¬¯ ) ª ¯¥à¢®© ª®«®ª¥ ASCII ¯à¥¤áâ ¢«¥¨ï ¯ ¬ïâ¨, | ||||
|                   ¤ «¥¥ ª ¯¥à¢®© ª®«®ª¥ ¡ ©â ¯ ¬ï⨠¨  ª®¥æ ª  ¤à¥áã; | ||||
| CTRL+END        - ¯¥à¥å®¤ ª ¯®á«¥¤¥© ª®«®ª¥ ¡ ©â ¯ ¬ï⨠¨ ¤ «¥¥ ª ¯®á«¥¤¥© | ||||
|                   ª®«®ª¥ ASCII ¯à¥¤áâ ¢«¥¨ï ¯ ¬ïâ¨; | ||||
| ENTER           - । ªâ¨à®¢ ¨¥  ¤à¥á  ¨«¨ ⥪ãé¨å ¤ ëå, ¯à¨ç¥¬ | ||||
|                   । ªâ¨à®¢ ¨¥ ¢ ¯®«¥ ¤ ëå ¨ ¢ ¯®«¥ ASCII ¯à¥¤áâ ¢«¥¨ï | ||||
|                   ¯ ¬ï⨠¥áª®«ìª® ®â«¨ç ¥âáï - ªãàá®à ¯®á«¥ ¢¢®¤  ®ç¥à¥¤®£® | ||||
|                   ¡ ©â   ¢â®¬ â¨ç¥á¨ ¯¥à¥å®¤¨â ª á«¥¤ãî饬ã. | ||||
							
								
								
									
										
											BIN
										
									
								
								DEMON_old.EXE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								DEMON_old.EXE
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										786
									
								
								DISASM.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										786
									
								
								DISASM.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,786 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                   „¨§ áᥬ¡«¥à ¬®¨â®à -®â« ¤ç¨ª  DemoN                 [] | ||||
| ;[] v0.01 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 10.10.2004                                  [] | ||||
| ;[] v0.02 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 20.03.2005                                  [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 16.02.2006                                  [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 10.09.2006                                  [] | ||||
| ;[]                                                                         [] | ||||
| ;[] DisAsm         - ¢ë¢®¤ «¨á⨣                                          [] | ||||
| ;[] AttrList       - ¢ë¢®¤  âਡã⮢ áâப¨ «¨á⨣                         [] | ||||
| ;[] UpAdres        - à áç¥â ¯à¥¤ë¤ã饣®  ¤à¥á  áâப¨ «¨á⨣               [] | ||||
| ;[] List           - ä®à¬¨à®¢ ¨¥ áâப¨ «¨á⨣                            [] | ||||
| ;[]=========================================================================[] | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                            ‚뢮¤ «¨á⨣                                [] | ||||
| ;[]=========================================================================[] | ||||
| DisAsm: | ||||
|                 ld      hl,(ListAdr)            ; ¤à¥á ¯¥à¢®© áâப¨ «¨á⨣  | ||||
|                 ld      de,0x011A               ;ª®®à¤¨ âë ¯¥ç â¨ | ||||
| .L1             push    de | ||||
|                 push    hl | ||||
|                 push    de   | ||||
|                 ld      a,d | ||||
|                 dec     a | ||||
|                 add     a,a | ||||
|                 ld      c,a | ||||
|                 ld      b,0 | ||||
|                 ex      de,hl | ||||
|                 ld      hl,ListAdr | ||||
|                 add     hl,bc | ||||
|                 ld      (hl),e                  ; ¤à¥á áâப¨ «¨á⨣  | ||||
|                 inc     hl | ||||
|                 ld      (hl),d | ||||
|                 ex      de,hl   | ||||
|                 pop     de | ||||
| 
 | ||||
|                 call    AttrList                ;®ªà á¨âì áâபã | ||||
| 
 | ||||
| .L2             call    PrintReg | ||||
|                 pop     hl | ||||
|                 call    List | ||||
|                 pop     de | ||||
| 
 | ||||
| ;                push    af                      ;¤«¨  ª®¤  ¢à¥¬¥® | ||||
| 
 | ||||
|                 ld      a,(ListFormat)          ;ä®à¬ âë© ¢ë¢®¤ | ||||
|                 or      a | ||||
|                 call    nz,LFormat | ||||
| 
 | ||||
|                 push    de | ||||
|                 push    hl | ||||
|                 di | ||||
|                 ld      a,21 | ||||
|                 add     a,e | ||||
|                 ld      e,a                     ;®¢ ï ª®®à¤¨ â  X | ||||
|                 ld      c,Bios.Lp_Set_Place     ;ãáâ ®¢ª  ¯®§¨æ¨¨ ¯¥ç â¨ | ||||
|                 rst     BiosRst | ||||
| ;                ld      c,Dss.Locate | ||||
| ;                rst     DssRst | ||||
|                 ld      hl,List.String | ||||
|                 ld      bc,32*256+Bios.Lp_Print_Ln2 ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 rst     BiosRst | ||||
|                 ei | ||||
| ;                ld      c,Dss.PChars | ||||
| ;                rst     DssRst | ||||
|                 pop     hl | ||||
|                 pop     de | ||||
| 
 | ||||
|                 ;¯¥ç âì ¤«¨ë ª®¤  ¢ ¯®«¥ ¬¥âª¨ (¢à¥¬¥®) | ||||
| ;                pop     af | ||||
| ;                push    de | ||||
| ;                push    hl | ||||
| ;                ld      e,0x24 | ||||
| ;                push    de | ||||
| ;                ld      h,0 | ||||
| ;                ld      l,a | ||||
| ;                ld      de,.Buf | ||||
| ;                call    NumToStr8 | ||||
| ;                pop     de | ||||
| ;                ld      c,Dss.Locate | ||||
| ;                rst     DssRst | ||||
| ;                ld      hl,.Buf | ||||
| ;                ld      c,Dss.PChars | ||||
| ;                rst     DssRst | ||||
| ;                pop     hl | ||||
| ;                pop     de | ||||
| ;                jr      $+5 | ||||
| ;.Buf            db      "123",0 | ||||
|                 ;end (¢à¥¬¥®) | ||||
| 
 | ||||
|                 inc     d                       ;á«¥¤ãîé ï áâப  | ||||
|                 ld      a,(KList.Descript)      ;ª®«-¢® áâப «¨á⨣  | ||||
|                 cp      d | ||||
|                 jr      nc,.L1 | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                     ‚뢮¤  âਡã⮢ áâப¨ «¨á⨣                      [] | ||||
| ;[] ‚室:  DE - ª®®à¤¨ âë ¯®¤á¢¥âª¨                                        [] | ||||
| ;[]        HL - ⥪ã騩  ¤à¥á «¨á⨣                                       [] | ||||
| ;[]=========================================================================[] | ||||
| AttrList: | ||||
|                 di | ||||
|                 push    hl                      ;⥪ã騩  ¤à¥á «¨á⨣  | ||||
|                 push    de                      ;⥪ã騥 ª®®à¤¨ âë | ||||
| 
 | ||||
|                 push    hl | ||||
|                 ld      bc,(Reg._PC)            ; ¤à¥á ¯à®£à ¬¬®£® áç¥â稪  | ||||
|                 or      a                       ;á¡à®á ä« £  C | ||||
|                 sbc     hl,bc | ||||
|                 pop     hl | ||||
|                 jr      nz,.L2 | ||||
|                 ld      a,(Color._PC)           ;梥⠯ணࠬ¬®£® ªãàá®à  | ||||
|                 jr      .L0 | ||||
| 
 | ||||
| .L2             push    hl | ||||
|                 push    de | ||||
|                 push    hl | ||||
|                 ld      bc,Rezident.End-Rezident;¤«¨  १¨¤¥â  | ||||
|                 ld      hl,(RezAdr)             ; ç «® १¨¤¥â  | ||||
|                 push    hl | ||||
|                 add     hl,bc                   ;ª®¥çë©  ¤à¥á १¨¤¥â  | ||||
|                 pop     de | ||||
|                 dec     de | ||||
|                 dec     de | ||||
|                 dec     de | ||||
|                 dec     de | ||||
|                 pop     bc | ||||
| 
 | ||||
|                 call    AdrArea | ||||
|                 pop     de | ||||
|                 pop     hl | ||||
|                 jr      c,.L3 | ||||
|                 ld      a,(Color.RezArea)       ;梥⠮¡« á⨠ࠧ¬¥é¥¨ï १¨¤¥â  | ||||
|                 jr      .L0 | ||||
| 
 | ||||
| .L3             ld      a,(Color.Screen)        ;®á®¢®© 梥â | ||||
| 
 | ||||
| .L0             ld      (.L1+1),a | ||||
|                 dec     e | ||||
|                 ld      c,Bios.Lp_Set_Place     ;ãáâ ®¢ª  ¯®§¨æ¨¨ ¯¥ç â¨ | ||||
|                 rst     BiosRst | ||||
| .L1             ld      e,0                     ;梥⠯®¤á¢¥âª¨ | ||||
|                 ld      bc,54*256+Bios.Lp_Print_Atr ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 rst     BiosRst | ||||
|                 pop     de | ||||
|                 pop     hl | ||||
|                 ei | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                  <20> áç¥â ¯à¥¤ë¤ã饣®  ¤à¥á  áâப¨ «¨á⨣               [] | ||||
| ;[] ‚室:  HL -  ¤à¥á ⥪ã饩 áâப¨                                        [] | ||||
| ;[] ‚ë室: HL -  ¤à¥á ¯à¥¤ë¤ã饩 áâப¨                                     [] | ||||
| ;[]=========================================================================[] | ||||
| UpAdres: | ||||
|                 ld      de,-4 | ||||
|                 add     hl,de                   ;4-å ¡ ©â ï ª®¬ ¤ ? | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl) | ||||
|                 cp      0xDD                    ;¯à¥ä¨ªá 0xDD | ||||
|                 jr      z,$+8 | ||||
|                 or      00110000b              ;¬ áª  ¤«ï ¯à¥ä¨ªá®¢ 0xED,0xFD | ||||
|                 cp      0xFD | ||||
|                 jr      nz,.L1 | ||||
|                 push    hl | ||||
|                 call    List | ||||
|                 pop     hl | ||||
|                 cp      4 | ||||
|                 ret     z | ||||
| 
 | ||||
| .L1             inc     hl | ||||
|                 push    hl                      ;3-å ¡ ©â ï ª®¬ ¤ ? | ||||
|                 call    List | ||||
|                 pop     hl | ||||
|                 cp      3 | ||||
|                 ret     z | ||||
| 
 | ||||
|                 inc     hl | ||||
|                 push    hl                      ;2-å ¡ ©â ï ª®¬ ¤ ? | ||||
|                 call    List | ||||
|                 pop     hl | ||||
|                 cp      2 | ||||
|                 ret     z | ||||
| 
 | ||||
|                 inc     hl | ||||
|                 ret                             ;1-® ¡ ©â ï ª®¬ ¤ ! | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                     ”®à¬ â¨à®¢ ¨¥ áâப¨ «¨á⨣                       [] | ||||
| ;[]=========================================================================[] | ||||
| LFormat: | ||||
|                 push    hl | ||||
|                 ld      hl,List.String+11       ; ç «® áâப¨ | ||||
|                 ld      bc,2                    ;¬ ªá ª®«-¢® ¢áâ ¢«ï¥¬ëå ¯à®¡¥«®¢ | ||||
| .L2             ld      a,(hl) | ||||
|                 or      a | ||||
|                 jr      z,.Exit | ||||
|                 cp      0x20                    ;¯à®¡¥« | ||||
|                 jr      z,.L1 | ||||
|                 inc     hl | ||||
|                 dec     c | ||||
|                 jr      nz,.L2 | ||||
| 
 | ||||
| .Exit           pop     hl | ||||
|                 ret | ||||
| 
 | ||||
| .L1             push    de | ||||
|                 push    bc | ||||
|                 push    hl | ||||
|                 ld      hl,List.String+30       ;ª®¥æ áâப¨ | ||||
|                 ld      d,h | ||||
|                 ld      e,l | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
|                 pop     bc | ||||
|                 push    bc | ||||
|                 push    hl | ||||
|                 sbc     hl,bc                   ;ª®«-¢® ¡ ©â | ||||
|                 ld      b,h | ||||
|                 ld      c,l | ||||
|                 pop     hl | ||||
|                 lddr | ||||
|                 pop     hl | ||||
|                 pop     bc                      ;ª®«-¢® ¯à®¡¥«®¢ | ||||
|                 ld      b,c | ||||
| .L3             inc     hl                      ; ¤à¥á ¢áâ ¢ª¨ | ||||
|                 ld      a,0x20 | ||||
|                 ld      (hl),a | ||||
|                 djnz    .L3 | ||||
|                 pop     de | ||||
|                 pop     hl | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                      ”®à¬¨à®¢ ¨¥ áâப¨ «¨á⨣                        [] | ||||
| ;[] ‚室:  HL -  ¤à¥á ¯ ¬ï⨠¤¨§ áᥬ¡«¨à®¢ ¨ï                             [] | ||||
| ;[] ‚ë室: HL - á«¥¤ãî騩 §  ¤¨§ áᥬ¡«¨à®¢ ®© ª®¬ ¤®©  ¤à¥á ¯ ¬ï⨠     [] | ||||
| ;[]        A  - ¤«¨  ª®¤  ª®¬ ¤ë                                          [] | ||||
| ;[]=========================================================================[] | ||||
| List: | ||||
|                 xor     a                       ;¤«¨  ª®¤  ª®¬ ¤ë | ||||
|                 ld      (.Byte),a | ||||
|                 push    hl | ||||
|                 ld      d,h | ||||
|                 ld      e,l | ||||
| 
 | ||||
|                 ld      hl,.String              ;®ç¨á⪠ ¡ãä¥à  áâப¨ | ||||
| ;                di                              ;á ¨á¯®«ì§®¢ ¨¥¬  ªá¥«ï | ||||
| ;                ld      d,d                     ;¢ª«îç¨âì  ªá¥«ì | ||||
| ;                ld      a,32                    ;¤«¨  ¡ãä¥à  ¨ ¡ ©â § ¯®«¨â¥«ì | ||||
| ;                ld      c,c                     ;ª®¬ ¤  § ¯®«¥¨ï | ||||
| ;                ld      (hl),a                  ;§ ¯®«¨âì | ||||
| ;                ld      b,b                     ;¢ëª«îç¨âì  ªá¥«ì | ||||
| ;                ei | ||||
|                 ld      a,32                    ;¤«¨  ¡ãä¥à  ¨ ¡ ©â § ¯®«¨â¥«ì | ||||
|                 ld      b,a | ||||
|                 ld      (hl),a | ||||
|                 inc     hl | ||||
|                 djnz    $-2 | ||||
| 
 | ||||
|                 ld      ix,.String+2            ; ¤à¥á ¢ áâப¥ ¤«ï á«¥¤.ª®¤  | ||||
|                 ex      de,hl | ||||
| ;                ld      a,(hl)                  ;¡ ©â ¨§ ¯ ¬ï⨠| ||||
|                 call    Ld_a_hl | ||||
| 
 | ||||
|                 ;=============================== | ||||
|                 cp      0xDD                    ;¯à¥ä¨ªá #DD | ||||
|                 jr      z,.L43 | ||||
|                 cp      0xFD                    ;¯à¥ä¨ªá #FD | ||||
|                 jp      nz,.L30 | ||||
| 
 | ||||
|                 ld      de,"DF" | ||||
|                 ld      a,"Y" | ||||
|                 jr      .L42 | ||||
| 
 | ||||
| .L43            ld      de,"DD" | ||||
|                 ld      a,"X" | ||||
| 
 | ||||
| .L42            ld      (.String),de            ;¯à¥ä¨ªá ¢ áâபã | ||||
|                 ld      (.IRS1+1),a             ;ª®à४â¨à®¢ª  ॣ.¯ àë | ||||
|                 ld      (.L9+1),a | ||||
|                 ld      (.L13+6),a | ||||
|                 ld      a,1 | ||||
|                 ld      (.Byte),a               ;¤«¨  ª®¤  ª®¬ ¤ë | ||||
|                 pop     hl | ||||
|                 inc     hl | ||||
| ;                ld      a,(hl)                  ;á«¥¤ãî騩 ¡ ©â ª®¬ ¤ë | ||||
|                 call    Ld_a_hl | ||||
|                 push    hl | ||||
|                 cp      0xCB | ||||
|                 jr      z,.L40                  ;ª®¬ ¤ë #DD(#FD)#CB | ||||
| 
 | ||||
|                 ld      hl,CodeDDFD             ;â ¡«¨æ  ª®¤®¢ | ||||
|                 ld      bc,85                   ;à §¬¥à â ¡«¨æë | ||||
|                 cpir                            ;¯®¨áª ª®¤  | ||||
|                 jr      z,.L45 | ||||
|                 pop     hl | ||||
|                 ld      bc,ED00 | ||||
|                 ld      de,.String+9            ;ª®¯¨à®¢ ¨¥ ¬¥¬®¨ª¨ NOP * | ||||
|                 ld      a,(bc) | ||||
|                 or      a | ||||
|                 ret     z | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
|                 inc     bc | ||||
|                 jr      $-6 | ||||
| 
 | ||||
| .L45            ld      hl,84                   ;à §¬¥à â ¡«¨æë | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
|                 ld      de,TablDDFD | ||||
|                 jp      .L_12+3 | ||||
|                  | ||||
| .L40            ld      ix,.String+4            ; ¤à¥á ¢ áâப¥ ¤«ï á«¥¤.ª®¤  | ||||
|                 ld      de,"BC"                 ;¯à¥ä¨ªá ¢ áâபã | ||||
|                 ld      (.String+2),de | ||||
|                 ld      a,4                     ;¤«¨  ª®¤  | ||||
|                 ld      (.Byte),a | ||||
|                 pop     hl | ||||
|                 inc     hl | ||||
|                 call    Ld_a_hl | ||||
|                 ld      b,a | ||||
| ;                ld      b,(hl)                  ;¡ ©â-ᬥ饨¥ | ||||
|                 inc     hl | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;á«¥¤ãî騩 ¡ ©â ª®¬ ¤ë | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 ld      c,a | ||||
|                 ld      h,0 | ||||
|                 cp      0x40                    ;®â 0 ¤® 0x3F (ᤢ¨£¨) | ||||
|                 jr      c,.L44 | ||||
| 
 | ||||
|                 call    .ComCBBit               ;¬¥¬®¨ª  BIT,SET,RES | ||||
|                 ld      a,c | ||||
|                 cp      0x80                    ;ª®¬ ¤  BIT | ||||
|                 jr      nc,.L41 | ||||
|                 call    .NomBit                 ;®¬¥à ¡¨â  | ||||
|                 call    .IndexRegSh             ;¨¤¥ªá ï ¯ à  ᮠᬥ饨¥¬ | ||||
|                 jr      .L46 | ||||
| 
 | ||||
| .L41            call    .NomBit                 ;®¬¥à ¡¨â  | ||||
|                 jr      .L44+3 | ||||
| 
 | ||||
| .L44            call    .ComCBSh                ;¬¥¬®¨ª  | ||||
|                 call    .RegName                ;ॣ¨áâà | ||||
|                 jr      nz,$+6 | ||||
|                 ld      a,","                   ;à §¤¥«¨â¥«ì | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
|                 call    .IndexRegSh             ;¨¤¥ªá ï ¯ à  ᮠᬥ饨¥¬ | ||||
| 
 | ||||
| .L46            ld      a,c | ||||
|                 call    ConvHexStr | ||||
|                 ld      (ix+2),l | ||||
|                 ld      (ix+3),h | ||||
|                 pop     hl | ||||
|                 ret | ||||
| 
 | ||||
|                 ;=============================== | ||||
| .L30            cp      0xCB                    ;¯à¥ä¨ªá #CB | ||||
|                 jp      nz,.L20 | ||||
|                 ld      de,"BC"                 ;¯à¥ä¨ªá ¢ áâபã | ||||
|                 ld      (.String),de | ||||
|                 pop     hl | ||||
|                 inc     hl | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;á«¥¤ãî騩 ¡ ©â ª®¬ ¤ë | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 ld      c,a | ||||
|                 ld      h,0 | ||||
|                 cp      0x40                    ;®â 0 ¤® 0x3F (ᤢ¨£¨) | ||||
|                 jr      nc,.L31 | ||||
|                 call    .ComCBSh                ;¬¥¬®¨ª  | ||||
|                 jr      .L31+6 | ||||
| .L31            call    .ComCBBit               ;¬¥¬®¨ª  | ||||
|                 call    .NomBit                 ;®¬¥à ¡¨â  | ||||
|                 call    .RegName                ;ॣ¨áâà | ||||
|                 call    nz,.HLReg | ||||
|                 ld      a,c | ||||
|                 call    ConvHexStr | ||||
|                 ld      (ix+0),l | ||||
|                 ld      (ix+1),h | ||||
|                 pop     hl | ||||
|                 ld      a,2                     ;¤«¨  ª®¤  ª®¬ ¤ë | ||||
|                 ret | ||||
| 
 | ||||
|                 ;=============================== | ||||
| .L20            cp      0xED                    ;¯à¥ä¨ªá #ED | ||||
|                 jr      nz,.L10 | ||||
|                 ld      a,1 | ||||
|                 ld      (.Byte),a               ;¤«¨  ª®¤  | ||||
|                 ld      de,"DE"                 ;¯à¥ä¨ªá ¢ áâபã | ||||
|                 ld      (.String),de | ||||
|                 pop     hl | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;á«¥¤ãî騩 ¡ ©â ª®¬ ¤ë | ||||
|                 cp      0x40                    ;®â 0 ¤® 0x3F | ||||
|                 jr      c,.L21 | ||||
|                 ld      de,TablED-0x40*2 | ||||
|                 cp      0x7F                    ;®â 0x40 ¤® 0x7E ¨§ â ¡«¨æë | ||||
|                 jr      c,.L_12 | ||||
|                 cp      0xA0                    ;®â 0x7F ¤® 0x9F | ||||
|                 jr      c,.L21 | ||||
|                 ld      de,TablED-0xA0*2+0x40*2-2 | ||||
|                 cp      0xBC                    ;®â 0xBC ¤® 0xFF | ||||
|                 jr      c,.L_12 | ||||
| .L21            ld      hl,ED00                 ;ª®¬ ¤  "NOP *" | ||||
|                 jr      .L_2-3 | ||||
| 
 | ||||
|                 ;=============================== | ||||
| .L10            ld      ix,.String | ||||
|                 ld      de,Tabl00_3F            ;â ¡«¨æ  ᬥ饨© | ||||
|                 cp      0x40                    ;ª®¬ ¤ë 0x00...0x3F | ||||
|                 jr      c,.L_12 | ||||
|                 ld      de,TablC0_FF            ;â ¡«¨æ  ᬥ饨© | ||||
|                 ld      c,a | ||||
|                 sub     0xC0                    ;ª®¬ ¤ë 0xC0...0xFF | ||||
|                 jr      nc,.L_12 | ||||
| 
 | ||||
|                 ld      a,c | ||||
|                 cp      0x80 | ||||
|                 jr      nc,.L8 | ||||
|                 ld      hl,MHALT | ||||
|                 cp      0x76                    ;ª®¤ ª®¬ ¤ë HALT | ||||
|                 jr      z,.L_2-3 | ||||
| 
 | ||||
|                 ld      hl,.String+9 | ||||
|                 ld      (hl),"L"                ;¬¥¬®¨ª  LD | ||||
|                 inc     hl | ||||
|                 ld      (hl),"D" | ||||
|                 inc     hl | ||||
|                 ld      (hl)," " | ||||
|                 inc     hl | ||||
|                 rrca | ||||
|                 rrca | ||||
|                 rrca | ||||
|                 ex      de,hl | ||||
|                 call    .RegName+1              ;¯¥ç âì ॣ¨áâà  | ||||
|                 call    nz,.HLReg | ||||
|                 ld      a,","                   ;à §¤¥«¨â¥«ì | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
|                 call    .RegName                ;¯¥ç âì ॣ¨áâà  | ||||
|                 call    nz,.HLReg | ||||
|                 xor     a | ||||
|                 jr      .L1 | ||||
| 
 | ||||
| .L8             and     00111000b              ;ADD,ADC,SUB,SBC,AND,XOR,OR,CP | ||||
|                 rrca | ||||
|                 rrca | ||||
|                 ld      l,a | ||||
|                 ld      h,0 | ||||
|                 ld      de,TablM | ||||
|                 add     hl,de                   ;ᬥ饨¥ ¢ â ¡«¨æ¥ | ||||
|                 ld      a,(hl) | ||||
|                 inc     hl | ||||
|                 ld      h,(hl) | ||||
|                 ld      l,a | ||||
|                 ld      de,.String+9            ;ª®¯¨à®¢ ¨¥ ¢ áâபã-¡ãä¥à | ||||
|                 ld      a,(hl) | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
|                 inc     hl | ||||
|                 or      a | ||||
|                 jr      nz,$-5 | ||||
|                 dec     de | ||||
|                 call    .RegName                ;¯¥ç âì ॣ¨áâà  | ||||
|                 call    nz,.HLReg | ||||
|                 xor     a | ||||
|                 jr      .L1 | ||||
| 
 | ||||
| .L_12           ld      l,a                     ;à áç¥â  ¤à¥á  ¢ â ¡«¨æ¥ | ||||
|                 ld      h,0 | ||||
|                 add     hl,hl                   ;*2 | ||||
|                 add     hl,de | ||||
|                 ld      a,(hl) | ||||
|                 inc     hl | ||||
|                 ld      h,(hl) | ||||
|                 ld      l,a                     ; ¤à¥á áâப¨-¬¥¬®¨ª¨ | ||||
| 
 | ||||
|                 ld      de,.String+9            ;ª®¯¨à®¢ ¨¥ ¢ áâபã-¡ãä¥à | ||||
| .L_2            ld      a,(hl) | ||||
|                 cp      0x20 | ||||
|                 jr      c,.L1 | ||||
|                 cp      "x"                     ;¨¤¥ªáë© à¥£¨áâà | ||||
|                 jr      nz,$+4 | ||||
| .L9             ld      a,"X" | ||||
|                 ld      (de),a | ||||
|                 cp      ")" | ||||
|                 jr      nz,$+9 | ||||
|                 ld      (.TablAdr),hl | ||||
|                 ld      (.StrAdr),de | ||||
|                 inc     hl | ||||
|                 inc     de | ||||
|                 jr      .L_2 | ||||
| 
 | ||||
| .L1             exa | ||||
|                 pop     hl                      ;¯¥ç âì ¡ ©â  | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl) | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 call    ConvHexStr | ||||
|                 ld      (ix+0),l | ||||
|                 ld      (ix+1),h | ||||
|                 exa | ||||
|                 jp      z,.LE | ||||
| 
 | ||||
|                 dec     a                       ;2-å ¡ ©â ï ª®¬ ¤  (1) | ||||
|                 jr      nz,.L3 | ||||
|                 call    .TwoByteCom | ||||
|                 pop     hl | ||||
|                 ld      a,(.Byte) | ||||
|                 inc     a | ||||
|                 inc     a                       ;¤«¨  ª®¤  | ||||
|                 ret | ||||
| 
 | ||||
| .L3             dec     a                       ;3-å ¡ ©â ï ª®¬ ¤  (2) | ||||
|                 jr      nz,.L4 | ||||
|                 call    .ThreeByteCom | ||||
|                 pop     hl | ||||
|                 ld      a,(.Byte) | ||||
|                 add     a,3                     ;¤«¨  ª®¤     | ||||
|                 ret | ||||
| 
 | ||||
| .L4             dec     a                       ;ª®¬ ¤ë ®â®á¨â¥«ì®£® ¯¥à¥å®¤  (3) | ||||
|                 jr      nz,.L7 | ||||
|                 pop     hl | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;2-© ¡ ©â ª®¬ ¤ë | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 ld      c,a | ||||
|                 call    ConvHexStr | ||||
|                 ld      (ix+2),l | ||||
|                 ld      (ix+3),h | ||||
|                 ld      a,c | ||||
|                 ld      b,0 | ||||
|                 pop     hl | ||||
|                 push    hl                      ;⥪ã騩  ¤à¥á | ||||
|                 bit     7,a                     ;§ ª ç¨á«  | ||||
|                 jr      z,$+10 | ||||
|                 neg | ||||
|                 or      a                       ;á¡à®á ä« £  C | ||||
|                 ld      c,a | ||||
|                 sbc     hl,bc                   ;®âà¨æ â¥«ì®¥ ᬥ饨¥ | ||||
|                 jr      $+3 | ||||
|                 add     hl,bc                   ;¯®«®¦¨â¥«ì®¥ ᬥ饨¥ | ||||
|                 call    NumToStr16 | ||||
|                 pop     hl | ||||
|                 ld      a,2                     ;¤«¨  ª®¤  | ||||
|                 ret | ||||
| 
 | ||||
| .L7             dec     a                       ;ª®¬ ¤ë à ¡®âë á ¯®àâ ¬¨ (4) | ||||
|                 jr      nz,.L5 | ||||
|                 inc     a | ||||
|                 ld      (.Byte),a               ;¤«¨  ª®¤  | ||||
|                 ld      de,(.StrAdr)            ; ¤à¥á ¢áâ ¢ª¨ | ||||
|                 call    .TwoByteCom | ||||
|                 jr      .L6 | ||||
| 
 | ||||
| .L5             dec     a                       ;3-å ¡ ©âë¥ ª®á¢¥®©  ¤à¥á æ¨¨ (5) | ||||
|                 jr      nz,.L11 | ||||
|                 ld      a,(.Byte) | ||||
|                 inc     a | ||||
|                 inc     a | ||||
|                 ld      (.Byte),a               ;¤«¨  ª®¤  | ||||
|                 ld      de,(.StrAdr)            ; ¤à¥á ¢áâ ¢ª¨ | ||||
|                 call    .ThreeByteCom | ||||
|                 jr      .L6 | ||||
| 
 | ||||
| .L11            dec     a                       ;¨¤¥ªáë¥ à¥£¨áâàë ᮠᬥ饨¥¬ (6) | ||||
|                 jr      nz,.LE | ||||
|                 ld      a,2 | ||||
|                 ld      (.Byte),a               ;¤«¨  ª®¤  | ||||
|                 ld      de,(.StrAdr)            ; ¤à¥á ¢áâ ¢ª¨ | ||||
|                 pop     hl | ||||
|                 call    Ld_a_hl | ||||
|                 ld      b,a | ||||
| ;                ld      b,(hl) | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 ld      ix,.String+4 | ||||
|                 call    .IndexRegSh | ||||
| .L6             ld      hl,(.TablAdr)           ; ¤à¥á ¢ â ¡«¨æ¥ ¬¥¬®¨ª | ||||
|                 ld      a,(hl) | ||||
|                 cp      0x20 | ||||
|                 jr      nc,.L13 | ||||
|                 ld      a,b | ||||
|                 cp      ","                     ;¬¥¬®¨ª  ®ª ç.   "," | ||||
|                 jr      nz,.LE | ||||
|                 call    .TwoByteCom | ||||
|                 pop     hl | ||||
|                 ld      a,4                     ;¤«¨  ª®¤  | ||||
|                 ret | ||||
| 
 | ||||
| .L13            ld      b,a | ||||
|                 cp      "x"                     ;¨¤¥ªáë© à¥£¨áâà | ||||
|                 jr      nz,$+4 | ||||
|                 ld      a,"X" | ||||
|                 ld      (de),a | ||||
|                 inc     hl | ||||
|                 inc     de | ||||
|                 jr      .L6+3 | ||||
| 
 | ||||
| .LE             pop     hl | ||||
|                 ld      a,(.Byte)               ;¤«¨  ª®¤  | ||||
|                 inc     a | ||||
|                 ret | ||||
| 
 | ||||
| ;======== ¯¥ç âì ¢â®à®£® ª®¤  ¤¢ãå¡ ©â®© ª®¬ ¤ë ======== | ||||
| .TwoByteCom: | ||||
|                 pop     bc                      ; ¤à¥á ¢®§¢à â  | ||||
|                 pop     hl | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;2-© ¡ ©â ª®¬ ¤ë | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 push    bc | ||||
|                 ld      c,a | ||||
|                 call    ConvHexStr | ||||
|                 ld      (ix+2),l | ||||
|                 ld      (ix+3),h | ||||
|                 ld      l,c | ||||
|                 ld      h,0 | ||||
|                 jp      NumToStr8 | ||||
| 
 | ||||
| ;======== ¯¥ç âì ¢â®à®£® ¨ âà¥â쥣® ª®¤  âà¥å¡ ©â®© ª®¬ ¤ë ======== | ||||
| .ThreeByteCom: | ||||
|                 pop     bc                      ; ¤à¥á ¢®§¢à â  | ||||
|                 pop     hl | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;2-© ¡ ©â ª®¬ ¤ë | ||||
|                 inc     hl | ||||
|                 exa | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;3-© ¡ ©â ª®¬ ¤ë | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 push    bc | ||||
|                 ld      b,a | ||||
|                 call    ConvHexStr | ||||
|                 ld      (ix+4),l | ||||
|                 ld      (ix+5),h | ||||
|                 exa | ||||
|                 ld      c,a | ||||
|                 call    ConvHexStr | ||||
|                 ld      (ix+2),l | ||||
|                 ld      (ix+3),h | ||||
|                 ld      h,b                     ;¢ HL - ç¨á«® | ||||
|                 ld      l,c | ||||
|                 jp      NumToStr16 | ||||
| 
 | ||||
| ;======== ¯¥ç âì ¬¥¬®¨ª ª®¬ ¤ á ¯à¥ä¨ªá®¬ 0xCB (ᤢ¨£¨, ¡¨â®¢ë¥) ======== | ||||
| ;A - ¡ ©â ª®¬ ¤ë | ||||
| ;DE -  ¤à¥á ¢ áâப¥ | ||||
| .ComCBBit: | ||||
|                 and     11000000b | ||||
|                 rlca | ||||
|                 rlca | ||||
|                 rlca | ||||
|                 rlca | ||||
|                 ld      l,a | ||||
|                 ld      de,CB40-4 | ||||
|                 add     hl,de | ||||
|                 jr      .ComCBSh1 | ||||
| .ComCBSh: | ||||
|                 and     00111000b              ;ᬥ饨¥ ¢ â ¡«¨æ¥ | ||||
|                 rrca | ||||
|                 rrca | ||||
|                 ld      l,a | ||||
|                 ld      de,TablCB | ||||
|                 add     hl,de | ||||
|                 ld      a,(hl) | ||||
|                 inc     hl | ||||
|                 ld      h,(hl) | ||||
|                 ld      l,a | ||||
| .ComCBSh1       ld      de,.String+9            ;ª®¯¨à®¢ ¨¥ ¢ áâபã-¡ãä¥à | ||||
|                 ld      a,(hl) | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
|                 inc     hl | ||||
|                 cp      " "                     ;¯®á«¥¤¨© ᨬ¢®« ¬¥¬®¨ª¨ | ||||
|                 jr      nz,$-6 | ||||
|                 ret | ||||
| 
 | ||||
| ;======== ¢ëç¨á«¥¨¥ ®¬¥à  ¡¨â  ¢ ¡¨â®¢ëå ª®¬ ¤ å BIT, SET, RES ======== | ||||
| ;C - ¡ ©â ª®¬ ¤ë | ||||
| ;DE -  ¤à¥á ¢ áâப¥ | ||||
| .NomBit: | ||||
|                 ld      a,c | ||||
|                 and     00111000b              ;®¬¥à ¡¨â  | ||||
|                 rrca | ||||
|                 rrca | ||||
|                 rrca | ||||
|                 add     a,"0" | ||||
|                 ld      (de),a | ||||
|                 ld      a,"," | ||||
|                 inc     de | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
|                 ret | ||||
| 
 | ||||
| ;======== ¯¥ç âì ¨¬¥¨ ॣ¨áâà  ======== | ||||
| ;C - ª®¬ ¤  | ||||
| ;DE -  ¤à¥á ¢ áâப¥ | ||||
| .RegName: | ||||
|                 ld      a,c | ||||
|                 and     00000111b              ;ॣ¨áâà | ||||
|                 add     a,"B" | ||||
|                 cp      "F"                     ;B,C,D,E | ||||
|                 jr      c,.RN1 | ||||
|                 inc     a | ||||
|                 inc     a | ||||
|                 cp      "H" | ||||
|                 jr      z,.RN1 | ||||
|                 add     a,3 | ||||
|                 cp      "L" | ||||
|                 jr      z,.RN1 | ||||
|                 sub     13 | ||||
|                 cp      "A" | ||||
|                 ret     nz                      ;®â®á¨â¥«ì ï  ¤à¥á æ¨ï | ||||
| .RN1            ld      (de),a | ||||
|                 inc     de | ||||
|                 xor     a | ||||
|                 ret | ||||
| 
 | ||||
| ;======== ¯¥ç âì (HL) ======== | ||||
| ;DE -  ¤à¥á ¢ áâப¥ | ||||
| .HLReg: | ||||
|                 ex      de,hl | ||||
|                 ld      (hl),"(" | ||||
|                 inc     hl | ||||
|                 ld      (hl),"H" | ||||
|                 inc     hl | ||||
|                 ld      (hl),"L" | ||||
|                 inc     hl | ||||
|                 ld      (hl),")" | ||||
|                 inc     hl | ||||
|                 ex      de,hl | ||||
|                 ret | ||||
| 
 | ||||
| ;======== ¯¥ç âì ¨¤¥ªá®© ॣ¨áâ஢®© ¯ àë ᮠᬥ饨¥¬ ======== | ||||
| ;B - ᬥ饨¥ | ||||
| ;DE -  ¤à¥á ¢ áâப¥ | ||||
| .IndexRegSh: | ||||
|                 ld      a,b | ||||
|                 call    ConvHexStr | ||||
|                 ld      (ix+0),l | ||||
|                 ld      (ix+1),h | ||||
|                 ex      de,hl | ||||
|                 ld      (hl),"(" | ||||
|                 inc     hl | ||||
|                 ld      (hl),"I" | ||||
|                 inc     hl | ||||
| .IRS1           ld      (hl),"X" | ||||
|                 inc     hl | ||||
|                 ld      a,"+"                   ;¯®«®¦¨â¥«ì®¥ ᬥ饨¥ | ||||
|                 ld      (hl),a | ||||
|                 ld      a,b                     ;ᬥ饨¥ | ||||
|                 bit     7,b | ||||
|                 jr      z,$+8 | ||||
|                 ld      a,"-"                   ;®âà¨æ â¥«ì®¥ ᬥ饨¥ | ||||
|                 ld      (hl),a | ||||
|                 ld      a,b                     ;ᬥ饨¥ | ||||
|                 neg | ||||
|                 inc     hl | ||||
|                 ex      de,hl | ||||
|                 ld      l,a | ||||
|                 ld      h,0 | ||||
|                 call    NumToStr8 | ||||
|                 ld      a,")" | ||||
|                 ld      (de),a | ||||
|                 ret | ||||
| 
 | ||||
| 
 | ||||
| .String         db      "00112233 01234567890123456789012" | ||||
| .Byte           db      0 | ||||
| .TablAdr        dw      0 | ||||
| .StrAdr         dw      0 | ||||
| 
 | ||||
							
								
								
									
										71
									
								
								EQU/DOS_EQU.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								EQU/DOS_EQU.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | ||||
| 
 | ||||
| VERSION	EQU	#00 | ||||
| CHDISK	EQU	#01 | ||||
| CURDISK	EQU	#02 | ||||
| DSKINFO	EQU	#03 | ||||
| G_ENTRY	EQU	#04 | ||||
| 
 | ||||
| BOOTDSK	EQU	#09 | ||||
| CREATE	EQU	#0A | ||||
| CREAT_N	EQU	#0B | ||||
| ERASE	EQU	#0D | ||||
| DELETE	EQU	#0E | ||||
| MOVE	EQU	#0F | ||||
| RENAME	EQU	#10 | ||||
| OPEN	EQU	#11 | ||||
| CLOSE	EQU	#12 | ||||
| READ	EQU	#13 | ||||
| WRITE	EQU	#14 | ||||
| MOVE_FP	EQU	#15 | ||||
| ATTRIB	EQU	#16 | ||||
| GET_D_T	EQU	#17 | ||||
| PUT_D_T	EQU	#18 | ||||
| F_FIRST	EQU	#19 | ||||
| F_NEXT	EQU	#1A | ||||
| MKDIR	EQU	#1B | ||||
| RMDIR	EQU	#1C | ||||
| CHDIR	EQU	#1D | ||||
| CURDIR	EQU	#1E | ||||
| SYSTIME	EQU	#21 | ||||
| SETTIME	EQU	#22 | ||||
| 
 | ||||
| WAITKEY	EQU	#30 | ||||
| SCANKEY	EQU	#31 | ||||
| ECHOKEY	EQU	#32 | ||||
| CTRLKEY	EQU	#33 | ||||
| EDIT	EQU	#34 | ||||
| K_CLEAR	EQU	#35 | ||||
| 
 | ||||
| SETWIN	EQU	#38 | ||||
| SETWIN1	EQU	#39 | ||||
| SETWIN2	EQU	#3A | ||||
| SETWIN3	EQU	#3B | ||||
| FREEMEM	EQU	#3C | ||||
| GETMEM	EQU	#3D | ||||
| RETMEM	EQU	#3E | ||||
| SETMEM	EQU	#3F | ||||
| 
 | ||||
| EXEC	EQU	#40 | ||||
| EXIT	EQU	#41 | ||||
| WAIT	EQU	#42 | ||||
| 
 | ||||
| GSWITCH	EQU	#43 | ||||
| DOSNAME	EQU	#44 | ||||
| 
 | ||||
| SETVMOD	EQU	#50 | ||||
| GETVMOD	EQU	#51 | ||||
| LOCATE	EQU	#52 | ||||
| CURSOR	EQU	#53 | ||||
| SELPAGE	EQU	#54 | ||||
| SCROLL	EQU	#55 | ||||
| CLEAR	EQU	#56 | ||||
| RDCHAR	EQU	#57 | ||||
| WRCHAR	EQU	#58 | ||||
| WINCOPY	EQU	#59 | ||||
| WINREST	EQU	#5A | ||||
| PUTCHAR	EQU	#5B | ||||
| PCHARS	EQU	#5C | ||||
| RES_PRN	EQU	#5D | ||||
| CTRLPRN	EQU	#5E | ||||
| PRINT	EQU	#5F | ||||
| 
 | ||||
							
								
								
									
										104
									
								
								EQU/DSS.INC
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								EQU/DSS.INC
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,104 @@ | ||||
| 
 | ||||
| DSS_VERSION	EQU	#00 | ||||
| DSS_CHDISK	EQU	#01 | ||||
| DSS_CURDISK	EQU	#02 | ||||
| DSS_DSKINFO	EQU	#03 | ||||
| ;DSS_G_ENTRY	EQU	#04 | ||||
| ;		EQU	#05 | ||||
| ;		EQU	#06 | ||||
| ;		EQU	#07 | ||||
| ;		EQU	#08 | ||||
| DSS_BOOTDSK	EQU	#09 | ||||
| ;File io | ||||
| DSS_CREATE	EQU	#0A | ||||
| DSS_CREAT_N	EQU	#0B | ||||
| ;		EQU	#0C | ||||
| ;DSS_ERASE	EQU	#0D | ||||
| DSS_DELETE	EQU	#0E | ||||
| ;DSS_MOVE	EQU	#0F | ||||
| DSS_RENAME	EQU	#10 | ||||
| DSS_OPEN	EQU	#11 | ||||
| DSS_CLOSE	EQU	#12 | ||||
| DSS_READ	EQU	#13 | ||||
| DSS_WRITE	EQU	#14 | ||||
| DSS_MOVE_FP	EQU	#15 | ||||
| DSS_ATTRIB	EQU	#16 | ||||
| DSS_GET_D_T	EQU	#17 | ||||
| DSS_PUT_D_T	EQU	#18 | ||||
| DSS_F_FIRST	EQU	#19 | ||||
| DSS_F_NEXT	EQU	#1A | ||||
| DSS_MKDIR	EQU	#1B | ||||
| DSS_RMDIR	EQU	#1C | ||||
| DSS_CHDIR	EQU	#1D | ||||
| DSS_CURDIR	EQU	#1E | ||||
| ;		EQU	#1F | ||||
| ;		EQU	#20 | ||||
| DSS_SYSTIME	EQU	#21 | ||||
| DSS_SETTIME	EQU	#22 | ||||
| ;		EQU	#23 | ||||
| ;		EQU	#24 | ||||
| ;		EQU	#25 | ||||
| ;		EQU	#26 | ||||
| ;		EQU	#27 | ||||
| ;		EQU	#28 | ||||
| ;		EQU	#29 | ||||
| ;		EQU	#2A | ||||
| ;		EQU	#2B | ||||
| ;		EQU	#2C | ||||
| ;		EQU	#2D | ||||
| ;		EQU	#2E | ||||
| ;		EQU	#2F | ||||
| ;Keyboard | ||||
| DSS_WAITKEY	EQU	#30 | ||||
| DSS_SCANKEY	EQU	#31 | ||||
| DSS_ECHOKEY	EQU	#32 | ||||
| DSS_CTRLKEY	EQU	#33 | ||||
| ;DSS_EDIT	EQU	#34 | ||||
| DSS_K_CLEAR	EQU	#35 | ||||
| DSS_K_SETUP	EQU	#36 | ||||
| DSS_TESTKEY	EQU	#37 | ||||
| ;Memory | ||||
| DSS_SETWIN	EQU	#38 | ||||
| DSS_SETWIN1	EQU	#39 | ||||
| DSS_SETWIN2	EQU	#3A | ||||
| DSS_SETWIN3	EQU	#3B | ||||
| DSS_INFOMEM	EQU	#3C | ||||
| DSS_GETMEM	EQU	#3D | ||||
| DSS_FREEMEM	EQU	#3E | ||||
| DSS_SETMEM	EQU	#3F | ||||
| ;Execution | ||||
| DSS_EXEC	EQU	#40 | ||||
| DSS_EXIT	EQU	#41 | ||||
| DSS_WAIT	EQU	#42 | ||||
| 
 | ||||
| DSS_GSWITCH	EQU	#43 | ||||
| DSS_DOSNAME	EQU	#44 | ||||
| DSS_EX_PATH	EQU	#45 | ||||
| DSS_ENVIRON	EQU	#46 | ||||
| DSS_APPINFO	EQU	#47 | ||||
| ;		EQU	#48 | ||||
| ;		EQU	#49 | ||||
| ;		EQU	#4A | ||||
| ;		EQU	#4B | ||||
| ;		EQU	#4C | ||||
| ;		EQU	#4D | ||||
| ;		EQU	#4E | ||||
| ;		EQU	#4F | ||||
| 
 | ||||
| DSS_SETVMOD	EQU	#50 | ||||
| DSS_GETVMOD	EQU	#51 | ||||
| DSS_LOCATE	EQU	#52 | ||||
| DSS_CURSOR	EQU	#53 | ||||
| DSS_SELPAGE	EQU	#54 | ||||
| DSS_SCROLL	EQU	#55 | ||||
| DSS_CLEAR	EQU	#56 | ||||
| DSS_RDCHAR	EQU	#57 | ||||
| DSS_WRCHAR	EQU	#58 | ||||
| DSS_WINCOPY	EQU	#59 | ||||
| DSS_WINREST	EQU	#5A | ||||
| DSS_PUTCHAR	EQU	#5B | ||||
| DSS_PCHARS	EQU	#5C | ||||
| ;DSS_RES_PRN	EQU	#5D | ||||
| ;DSS_CTRLPRN	EQU	#5E | ||||
| DSS_PRINT	EQU	#5F | ||||
| ; | ||||
							
								
								
									
										59
									
								
								EQU/bios_equ.asm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								EQU/bios_equ.asm
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | ||||
| BiosRst			EQU	#08 | ||||
| 
 | ||||
| ;”ãªæ¨¨ à ¡®âë á ¯ ¬ïâìî | ||||
| Bios.Emm_Fn0		EQU	#C0 | ||||
| Bios.Emm_Fn1		EQU	#C1 | ||||
| Bios.Emm_Fn2		EQU	#C2 | ||||
| Bios.Emm_Fn3		EQU	#C3 | ||||
| Bios.Emm_Fn4		EQU	#C4 | ||||
| Bios.Emm_Fn5		EQU	#C5 | ||||
| Bios.Emm_Fn6		EQU	#C6 | ||||
| Bios.Emm_Fn7		EQU	#C7 | ||||
| Bios.Emm_Fn8		EQU	#C8 | ||||
| Bios.Emm_Fn9		EQU	#C9 | ||||
| 
 | ||||
| 
 | ||||
| ;”ãªæ¨¨ ã¯à ¢«¥¨ï ®ª ¬¨ ¨ ०¨¬ ¬¨ íªà   | ||||
| Bios.Win_Open		EQU	#B0 | ||||
| Bios.Win_Close		EQU	#B1 | ||||
| Bios.Win_Copy_Win	EQU	#B2 | ||||
| Bios.Win_Restore_Win	EQU	#B3 | ||||
| Bios.Win_Get_Sym	EQU	#B4 | ||||
| Bios.Win_Put_Sym	EQU	#B5 | ||||
| Bios.Win_Set_ZG		EQU	#B6 | ||||
| Bios.Win_Move_Win	EQU	#B7 | ||||
| Bios.Win_Get_ZG		EQU	#B8 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ;”ãªæ¨¨ ¢ë¢®¤  ⥪áâ    íªà  | ||||
| Bios.Lp_Print_All	EQU	#81 | ||||
| Bios.Lp_Print_Sym	EQU	#82 | ||||
| Bios.Lp_Print_Atr	EQU	#83 | ||||
| Bios.Lp_Set_Place	EQU	#84 | ||||
| Bios.Lp_Print_Ln	EQU	#85 | ||||
| Bios.Lp_Print_Ln2	EQU	#86 | ||||
| Bios.Lp_Print_Ln3	EQU	#87 | ||||
| Bios.Lp_Print_Ln4	EQU	#88 | ||||
| Bios.Lp_Cls_Win		EQU	#89 | ||||
| Bios.Lp_Scroll_Up	EQU	#8A | ||||
| Bios.Lp_Print_Ln5	EQU	#8B | ||||
| Bios.Lp_Print_Ln6	EQU	#8C | ||||
| Bios.Lp_Cls_Win2	EQU	#8D | ||||
| Bios.Lp_Get_Place	EQU	#8E | ||||
| 
 | ||||
| ;”ãªæ¨¨ à ¡®âë á ¦¥á⪨¬¨ ¤¨áª ¬¨ ¨ ¤¨áª®¢®¤ ¬¨ | ||||
| Bios.Drv_Reset		EQU	#51 | ||||
| Bios.Drv_Verify		EQU	#54 | ||||
| Bios.Drv_Read		EQU	#55 | ||||
| Bios.Drv_Write		EQU	#56 | ||||
| Bios.Drv_Detect		EQU	#57 | ||||
| Bios.Drv_Get_Par	EQU	#58 | ||||
| Bios.Drv_Set_Par	EQU	#59 | ||||
| Bios.Ext_Version	EQU	#5A | ||||
| Bios.Drv_List		EQU	#5F | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
							
								
								
									
										105
									
								
								EQU/dss_equ.asm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								EQU/dss_equ.asm
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,105 @@ | ||||
| DssRst		EQU	#10 | ||||
| 
 | ||||
| Dss.Version	EQU	#00 | ||||
| Dss.ChDisk	EQU	#01 | ||||
| Dss.CurDisk	EQU	#02 | ||||
| Dss.DskInfo	EQU	#03 | ||||
| ;Dss.G_ENTRY	EQU	#04 | ||||
| ;		EQU	#05 | ||||
| ;		EQU	#06 | ||||
| ;		EQU	#07 | ||||
| ;		EQU	#08 | ||||
| Dss.BOOTDSK	EQU	#09 | ||||
| ;File io | ||||
| Dss.Create	EQU	#0A | ||||
| Dss.Creat_N	EQU	#0B | ||||
| ;		EQU	#0C | ||||
| ;Dss.ERASE	EQU	#0D | ||||
| Dss.Delete	EQU	#0E | ||||
| ;Dss.Move	EQU	#0F | ||||
| Dss.Rename	EQU	#10 | ||||
| Dss.Open	EQU	#11 | ||||
| Dss.Close	EQU	#12 | ||||
| Dss.Read	EQU	#13 | ||||
| Dss.Write	EQU	#14 | ||||
| Dss.Move_FP	EQU	#15 | ||||
| Dss.Attrib	EQU	#16 | ||||
| Dss.Get_D_T	EQU	#17 | ||||
| Dss.Put_D_T	EQU	#18 | ||||
| Dss.F_First	EQU	#19 | ||||
| Dss.F_Next	EQU	#1A | ||||
| Dss.MkDir	EQU	#1B | ||||
| Dss.RmDir	EQU	#1C | ||||
| Dss.ChDir	EQU	#1D | ||||
| Dss.CurDir	EQU	#1E | ||||
| ;		EQU	#1F | ||||
| ;		EQU	#20 | ||||
| Dss.SysTime	EQU	#21 | ||||
| Dss.SetTime	EQU	#22 | ||||
| ;		EQU	#23 | ||||
| ;		EQU	#24 | ||||
| ;		EQU	#25 | ||||
| ;		EQU	#26 | ||||
| ;		EQU	#27 | ||||
| ;		EQU	#28 | ||||
| ;		EQU	#29 | ||||
| ;		EQU	#2A | ||||
| ;		EQU	#2B | ||||
| ;		EQU	#2C | ||||
| ;		EQU	#2D | ||||
| ;		EQU	#2E | ||||
| ;		EQU	#2F | ||||
| ;Keyboard | ||||
| Dss.WaitKey	EQU	#30 | ||||
| Dss.ScanKey	EQU	#31 | ||||
| Dss.EchoKey	EQU	#32 | ||||
| Dss.CTRLKey	EQU	#33 | ||||
| ;Dss.EDIT	EQU	#34 | ||||
| Dss.K_CLEAR	EQU	#35 | ||||
| Dss.K_SETUP	EQU	#36 | ||||
| Dss.TESTKEY	EQU	#37 | ||||
| ;Memory | ||||
| Dss.SetWin	EQU	#38 | ||||
| Dss.SetWin1	EQU	#39 | ||||
| Dss.SetWin2	EQU	#3A | ||||
| Dss.SetWin3	EQU	#3B | ||||
| Dss.INFOMEM	EQU	#3C | ||||
| Dss.GetMem	EQU	#3D | ||||
| Dss.FreeMem	EQU	#3E | ||||
| Dss.SetMem	EQU	#3F | ||||
| ;Execution | ||||
| Dss.Exec	EQU	#40 | ||||
| Dss.Exit	EQU	#41 | ||||
| Dss.Wait	EQU	#42 | ||||
| 
 | ||||
| Dss.GSwitch	EQU	#43 | ||||
| Dss.DosName	EQU	#44 | ||||
| Dss.EX_Path	EQU	#45 | ||||
| Dss.Environ	EQU	#46 | ||||
| Dss.AppInfo	EQU	#47 | ||||
| ;		EQU	#48 | ||||
| ;		EQU	#49 | ||||
| ;		EQU	#4A | ||||
| ;		EQU	#4B | ||||
| ;		EQU	#4C | ||||
| ;		EQU	#4D | ||||
| ;		EQU	#4E | ||||
| ;		EQU	#4F | ||||
| 
 | ||||
| Dss.SetVMod	EQU	#50 | ||||
| Dss.GetVMod	EQU	#51 | ||||
| Dss.Locate	EQU	#52 | ||||
| Dss.Cursor	EQU	#53 | ||||
| Dss.SelPage	EQU	#54 | ||||
| Dss.Scroll	EQU	#55 | ||||
| Dss.Clear	EQU	#56 | ||||
| Dss.RdChar	EQU	#57 | ||||
| Dss.WrChar	EQU	#58 | ||||
| Dss.WinCopy	EQU	#59 | ||||
| Dss.WinRest	EQU	#5A | ||||
| Dss.PutChar	EQU	#5B | ||||
| Dss.PChars	EQU	#5C | ||||
| ;Dss.RES_PRN	EQU	#5D | ||||
| ;Dss.CTRLPRN	EQU	#5E | ||||
| Dss.Print	EQU	#5F | ||||
| ; | ||||
							
								
								
									
										4
									
								
								EQU/port.asm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								EQU/port.asm
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| EmmWin.P0	EQU	#82 | ||||
| EmmWin.P1	EQU	#A2 | ||||
| EmmWin.P2	EQU	#C2 | ||||
| EmmWin.P3	EQU	#E2 | ||||
							
								
								
									
										86
									
								
								ERROR.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								ERROR.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,86 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                Ž¡à ¡®âª  ®è¨¡®ª ¬®¨â®à -®â« ¤ç¨ª  DemoN                [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 27.08.2006                                  [] | ||||
| ;[]                                                                         [] | ||||
| ;[] ErDss          - ®¯à¥¤¥«¥¨¥ ®è¨¡ª¨ DSS ¯® ¥¥ ª®¤ã                      [] | ||||
| ;[]=========================================================================[] | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                              Žè¨¡ª¨ DSS                                 [] | ||||
| ;[] ‚室:  A  - ª®¤ ®è¨¡ª¨                                                  [] | ||||
| ;[] ‚ë室: A  - ª®¤ ®è¨¡ª¨                                                  [] | ||||
| ;[]        HL - áâப -®¯¨á ¨¥ ®è¨¡ª¨                                      [] | ||||
| ;[]=========================================================================[] | ||||
| PrErDss: | ||||
|                 call    ErDss | ||||
|                 ld      c,Dss.PChars            ;¢ë¢¥á⨠ᮮ¡é¥¨¥ ®¡ ®è¨¡ª¥ | ||||
|                 rst     DssRst | ||||
|                 ld      hl,Str.DA               ;¯¥à¥¢®¤ áâப¨ | ||||
|                 ld      c,Dss.PChars | ||||
|                 rst     DssRst | ||||
|                 ret | ||||
| 
 | ||||
| ErDss: | ||||
| .MaxError       equ     0x26 | ||||
|                 cp      .MaxError+1             ;¬ ªá¨¬ «ìë© ª®¤ ®è¨¡ª¨ + 1 | ||||
|                 jr      c,$+4 | ||||
|                 ld      a,.MaxError | ||||
| 
 | ||||
|                 push    af | ||||
|                 add     a,a | ||||
|                 ld      hl,.Tabl | ||||
|                 ld      d,0 | ||||
|                 ld      e,a | ||||
|                 add     hl,de | ||||
|                 ld      a,(hl) | ||||
|                 inc     hl | ||||
|                 ld      h,(hl) | ||||
|                 ld      l,a | ||||
|                 pop     af | ||||
|                 ret | ||||
| 
 | ||||
| .e01            db      "Invalid function",0 | ||||
| .e02            db      "Invalid drive number",0 | ||||
| .e03            db      "File not found",0 | ||||
| .e04            db      "Path not found",0 | ||||
| .e05            db      "Invalid handle",0 | ||||
| .e06            db      "Too many open files",0 | ||||
| .e07            db      "File already exists",0 | ||||
| .e08            db      "File read only",0 | ||||
| .e09            db      "Root overflow",0 | ||||
| .e0A            db      "No free space",0 | ||||
| .e0B            db      "Directory not empty",0 | ||||
| .e0C            db      "Can't delete current directory",0 | ||||
| .e0D            db      "Invalid media",0 | ||||
| .e0E            db      "Unknown operation",0   ;(¥¢®§¬. ®¯¥à æ¨ï) | ||||
| .e0F            db      "Directory exist",0 | ||||
| .e10            db      "Invalid filename",0 | ||||
| .e11            db      "Invalid EXE-file",0 | ||||
| .e12            db      "Not supported EXE-file",0 | ||||
| .e13            db      "Access denied",0 | ||||
| .e14            db      "Not ready",0 | ||||
| .e15            db      "Seek error",0 | ||||
| .e16            db      "Sector not found",0 | ||||
| .e17            db      "CRC error",0 | ||||
| .e18            db      "Write protect",0 | ||||
| .e19            db      "Read error",0 | ||||
| .e1A            db      "Write error",0 | ||||
| .e1B            db      "Drive failure",0 | ||||
| .e1C            db      "Extended error: 28",0 | ||||
| .e1D            db      "Extended error: 29",0 | ||||
| .e1E            db      "Not enough memory",0 | ||||
| .e1F            db      "Invalid memory block",0 | ||||
| .e20            db      "Extended error: 32",0 | ||||
| .e21            db      "Extended error: 33",0 | ||||
| .e22            db      "Extended error: 34",0 | ||||
| .e23            db      "Too many files",0      ;(ᯨ᮪ ä ©«®¢) | ||||
| .e24            db      "(᫨誮¬ ¡®«ìè ï ¢«®¦. ¯ ¯®ª ¨«¨ >= 1024 ¯ ¯®ª)",0 | ||||
| .e25            db      "User abort",0          ;(®¯¥à æ¨ï ¯à¥à¢   ¯®«ì§®¢ â¥«¥¬) | ||||
| .e26            db      "Unknown error: 38..255",0      ;38 | ||||
| 
 | ||||
| .Tabl           dw      .e01,.e02,.e03,.e04,.e05,.e06,.e07,.e08 | ||||
|                 dw      .e09,.e0A,.e0B,.e0C,.e0D,.e0E,.e0F,.e10 | ||||
|                 dw      .e11,.e12,.e13,.e14,.e15,.e16,.e17,.e18 | ||||
|                 dw      .e19,.e1A,.e1B,.e1C,.e1D,.e1E,.e1F,.e20 | ||||
|                 dw      .e21,.e22,.e23,.e24,.e25,.e26 | ||||
| 
 | ||||
							
								
								
									
										274
									
								
								FILE.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										274
									
								
								FILE.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,274 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                ” ©«®¢ë¥ ¯à®æ¥¤ãàë ¬®¨â®à -®â« ¤ç¨ª  DemoN              [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 27.08.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| LoadFile: | ||||
|                 xor     a                       ;¢ëª« ç á®¢ | ||||
|                 ld      (ClockOn),a | ||||
|                 ld      bc,0x0100+Dss.SelPage   ;á¨áâ¥¬ë© íªà  | ||||
|                 rst     DssRst | ||||
| 
 | ||||
|                 ld      hl,Str.Load             ;á®®¡é¥¨¥ ® § £à㧪¥ ä ©«  | ||||
|                 ld      c,Dss.PChars | ||||
|                 rst     DssRst | ||||
| 
 | ||||
|                 call    LoadExe | ||||
| 
 | ||||
|                 ld      a,(DemonScreen) | ||||
|                 ld      b,a | ||||
|                 ld      c,Dss.SelPage | ||||
|                 rst     DssRst | ||||
|                 ld      a,On                    ;¢ª« ç á®¢ | ||||
|                 ld      (ClockOn),a | ||||
|                 ret | ||||
| 
 | ||||
| LoadExe: | ||||
|                 ld      hl,FDebug               ;¨¬ï ä ©«  | ||||
|                 ld      a,1                     ;®âªàëâì ¤«ï ç⥨ï | ||||
|                 ld      c,Dss.Open | ||||
|                 rst     DssRst | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
| 
 | ||||
|                 ld      (FId),a                 ;§ ¯®¬¨âì ä ©«®¢ë© ¬ ¨¯ã«ïâ®à | ||||
| 
 | ||||
|                 ld      hl,FDebug               ;¡ãä¥à ¤«ï § £à㧪¨ § £®«®¢ª  | ||||
|                 ld      de,0x7F                 ;ª®«-¢® áç¨â뢠¥¬ëå ¡ ©â | ||||
|                 ld      c,Dss.Read              ;ç⥨¥ | ||||
|                 rst     DssRst | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
| 
 | ||||
|                 ld      hl,(FDebug)             ;§ £®«®¢®ª EXE-ä ©«  | ||||
|                 ld      de,0x5845               ;'EX' ¯à®¢¥àª  ¨¤¥â¨ä¨ª â®à  | ||||
|                 sbc     hl,de | ||||
|                 jr      nz,.L1 | ||||
|                 ld      hl,FDebug+3 | ||||
|                 ld      a,(hl)                  ;¢¥àá¨ï EXE-ä ©«  | ||||
|                 or      a | ||||
|                 jr      nz,.L1 | ||||
|                 inc     hl | ||||
|                 ld      e,(hl)                  ; ç «® ¨á¯®«ï¥¬®£® ª®¤  | ||||
|                 inc     hl | ||||
|                 ld      d,(hl) | ||||
|                 ld      bc,11                   ;¯à®¯ã᪠¥¬ ä« £ § £àã§ç¨ª  ¨ § à¥§¥à¢¨à®¢ ë¥ ¡ ©âë | ||||
|                 add     hl,bc | ||||
|                 ld      a,(hl)                  ;¬«.¡ ©â à á¯®«®¦¥¨ï ª®¤  ¢ ¯ ¬ï⨠| ||||
|                 ld      (FRam),a | ||||
|                 inc     hl | ||||
|                 ld      a,(hl)                  ;áâ.¡ ©â à á¯®«®¦¥¨ï ª®¤  ¢ ¯ ¬ï⨠| ||||
|                 ld      (FRam+1),a | ||||
|                 inc     hl | ||||
|                 ld      a,(hl)                  ;¬«.¡ ©â  ¤à¥á  § ¯ã᪠ | ||||
|                 ld      (Reg._PC),a | ||||
|                 ld      (ListAdr),a             ;¬«.¡ ©â  ¤à¥á  «¨á⨣  | ||||
|                 inc     hl | ||||
|                 ld      a,(hl)                  ;áâ.¡ ©â  ¤à¥á  § ¯ã᪠ | ||||
|                 ld      (Reg._PC+1),a | ||||
|                 ld      (ListAdr+1),a           ;áâ.¡ ©â  ¤à¥á  «¨á⨣  | ||||
|                 inc     hl | ||||
|                 ld      a,(hl)                  ;¬«.¡ ©â á⥪  ¯à®£à ¬¬ë | ||||
|                 ld      (Reg._SP),a | ||||
|                 inc     hl | ||||
|                 ld      a,(hl)                  ;áâ.¡ ©â á⥪  ¯à®£à ¬¬ë | ||||
|                 ld      (Reg._SP+1),a | ||||
|                 ld      a,e | ||||
|                 ld      (.L2+2),a | ||||
|                 ld      a,d | ||||
|                 ld      (.L2+3),a | ||||
| 
 | ||||
| .L1             ld      hl,0 | ||||
|                 ld      ix,0                    ;ᬥ饨¥ ¢ ä ©«¥ | ||||
|                 ld      bc,2*256+Dss.Move_FP    ;®â®á¨â¥«ì® ª®æ  | ||||
|                 rst     DssRst | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
| 
 | ||||
|                 push    hl | ||||
|                 ld      de,(FRam)               ; ¤à¥á à á¯®«®¦¥¨ï ª®¤  | ||||
|                 set     6,d | ||||
|                 res     7,d                     ;£à㧨¬ ç¥à¥§ 1-¥ ®ª® | ||||
|                 ld      hl,0x8000 | ||||
|                 or      a                       ;á¡à®á¨âì ä« £ C | ||||
|                 sbc     hl,de                   ;ª®«-¢® áç¨â뢠¥¬ëå ¡ ©â | ||||
|                 ld      (.L6+1),hl | ||||
|                 ex      de,hl | ||||
|                 ld      (.L6+4),hl | ||||
|                 pop     hl | ||||
|                 call    NBank                   ;®¯à¥¤¥«¨âì ª®«-¢® ¡ ®ª | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
| 
 | ||||
|                 ld      (MemId+1),a             ;ª®«-¢® ¢ë¤¥«ï¥¬ëå áâà ¨æ | ||||
|                 ld      b,a | ||||
|                 ld      c,Dss.GetMem            ;¢ë¤¥«¥¨¥ ¯ ¬ï⨠| ||||
|                 rst     DssRst | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
|                 ld      (MemId),a               ;id ¡«®ª  ¯ ¬ï⨠| ||||
| 
 | ||||
|                 ld      a,(FId)                 ;ä ©«®¢ë© ¬ ¨¯ã«ïâ®à | ||||
|                 ld      hl,0 | ||||
| .L2             ld      ix,0                    ;ᬥ饨¥ ¢ ä ©«¥ | ||||
|                 ld      bc,Dss.Move_FP          ;®â®á¨â¥«ì®  ç «  | ||||
|                 rst     DssRst | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
| 
 | ||||
|                 ld      a,(MemId)               ;id ¡«®ª  ¯ ¬ï⨠| ||||
|                 ld      bc,Dss.SetWin1          ;¢ª« 1-î ¡ ªã ¢ 1-¥ ®ª® | ||||
|                 rst     DssRst | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
| 
 | ||||
| .L6             ld      de,0x3FFF               ;ª®«-¢® áç¨â뢠¥¬ëå ¡ ©â | ||||
|                 ld      hl,0x4000               ; ¤à¥á § £à㧪¨ ª®¤  | ||||
|                 ld      a,1                     ;áç¥â稪 ¡ ®ª | ||||
|                 ld      (MemId+2),a | ||||
| .L5             ld      a,(FId)                 ;ä ©«®¢ë© ¬ ¨¯ã«ïâ®à | ||||
|                 ld      c,Dss.Read              ;ç⥨¥ | ||||
|                 rst     DssRst | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
| 
 | ||||
|                 ld      bc,(MemId+1) | ||||
|                 ld      a,b | ||||
|                 cp      c                       ;§ £à§¨«¨ ¢¥áì ä ©«? | ||||
|                 jr      z,.L4                   ;¯¥à¥å®¤, ¥á«¨ ¤  | ||||
| 
 | ||||
|                 inc     a | ||||
|                 ld      (MemId+2),a             ;㢥«¨ç¨âì áç¥â稪 ¡ ®ª | ||||
|                 ld      a,(MemId)               ;id ¡«®ª  ¯ ¬ï⨠| ||||
|                 ld      c,Dss.SetWin1           ;¢ª« ¡ ªã ¢ 1-¥ ®ª® | ||||
|                 rst     DssRst | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
| 
 | ||||
|                 ld      hl,0x4000               ; ¤à¥á ¢ ¯ ¬ï⨠¤«ï § £à㧪¨ | ||||
|                 ld      de,0x3FFF               ;ª®«-¢® § £à㦠¥¬ëå ¡ ©â | ||||
|                 jr      .L5 | ||||
| 
 | ||||
| .L4             ld      a,(FId)                 ;ä ©«®¢ë© ¬ ¨¯ã«ïâ®à | ||||
|                 ld      c,Dss.Close             ;§ ªàëâì ä ©« | ||||
|                 rst     DssRst | ||||
|                 jp      c,PrErDss               ;¢ë室 á ®è¨¡ª®© | ||||
| 
 | ||||
|                 ld      a,(MemId)               ;id ¡«®ª  ¯ ¬ï⨠| ||||
|                 ld      bc,Bios.Emm_Fn4         ;¢ëç¨á«¨âì 䨧 ®¬¥à 1-© ¡ ª¨ | ||||
|                 rst     BiosRst | ||||
|                 ret     c                       ;¢ë室 á ®è¨¡ª®© | ||||
|                 ld      (BankP),a | ||||
|                 ld      a,(MemId+1)             ;ª®«-¢® ¢ë¤¥«¥ëå áâà ¨æ | ||||
|                 dec     a | ||||
|                 jr      z,.L7 | ||||
| 
 | ||||
|                 ld      a,(MemId)               ;id ¡«®ª  ¯ ¬ï⨠| ||||
|                 ld      bc,1*256+Bios.Emm_Fn4   ;¢ëç¨á«¨âì 䨧 ®¬¥à 2-© ¡ ª¨ | ||||
|                 rst     BiosRst | ||||
|                 ret     c                       ;¢ë室 á ®è¨¡ª®© | ||||
|                 ld      (BankP+1),a | ||||
|                 ld      a,(MemId+1)             ;ª®«-¢® ¢ë¤¥«¥ëå áâà ¨æ | ||||
|                 cp      2 | ||||
|                 jr      z,.L7 | ||||
| 
 | ||||
|                 ld      a,(MemId)               ;id ¡«®ª  ¯ ¬ï⨠| ||||
|                 ld      bc,2*256+Bios.Emm_Fn4   ;¢ëç¨á«¨âì 䨧 ®¬¥à 3-© ¡ ª¨ | ||||
|                 rst     BiosRst | ||||
|                 ret     c                       ;¢ë室 á ®è¨¡ª®© | ||||
|                 ld      (BankP+2),a | ||||
|                 ld      a,(MemId+1)             ;ª®«-¢® ¢ë¤¥«¥ëå áâà ¨æ | ||||
|                 cp      3 | ||||
|                 jr      z,.L7 | ||||
| 
 | ||||
|                 ld      a,(MemId)               ;id ¡«®ª  ¯ ¬ï⨠| ||||
|                 ld      bc,3*256+Bios.Emm_Fn4   ;¢ëç¨á«¨âì 䨧 ®¬¥à 4-© ¡ ª¨ | ||||
|                 rst     BiosRst | ||||
|                 ret     c                       ;¢ë室 á ®è¨¡ª®© | ||||
|                 ld      (BankP+3),a | ||||
| 
 | ||||
| .L7             ld      hl,WinPage | ||||
|                 ld      de,BankP | ||||
|                 ld      a,(MemId+1)             ;ª®«-¢® ¢ë¤¥«¥ëå áâà ¨æ | ||||
|                 ld      b,a | ||||
|                 cp      5 | ||||
|                 jr      c,$+4 | ||||
|                 ld      b,4                     ;¯®¤ª«îç ¥¬ ¥ ¡®«¥¥ 4 ¡ ®ª | ||||
|                 ld      a,(FRam+1)              ;áâ. ¤à¥á à á¯®«®¦¥¨ï ª®¤  | ||||
|                 and     0xC0                    ;®ª® á à á¯®«®¦¥¨¥¬ ª®¤  | ||||
|                 or      a                       ;0-¥ ®ª® | ||||
|                 jr      nz,.L8 | ||||
|                 ld      c,a | ||||
|                 ld      a,(de) | ||||
|                 ld      (hl),a                  ;¯®¤ª«îç¨âì ¡ ªã ¯à®£à ¬¬ë | ||||
|                 dec     b | ||||
|                 ret     z                       ;¢ë室, ¥á«¨ ¡®«ìè¥ ¥â ¡ ®ª | ||||
| 
 | ||||
|                 ld      a,c | ||||
|                 inc     de | ||||
| .L8             inc     hl | ||||
|                 cp      0x40                    ;1-¥ ®ª® | ||||
|                 jr      nz,.L9 | ||||
|                 ld      c,a | ||||
|                 ld      a,(de) | ||||
|                 ld      (hl),a                  ;¯®¤ª«îç¨âì ¡ ªã ¯à®£à ¬¬ë | ||||
|                 dec     b | ||||
|                 ret     z                       ;¢ë室, ¥á«¨ ¡®«ìè¥ ¥â ¡ ®ª | ||||
| 
 | ||||
|                 ld      a,c | ||||
|                 inc     de | ||||
| .L9             inc     hl | ||||
|                 cp      0x80                    ;2-¥ ®ª® | ||||
|                 jr      nz,.L10 | ||||
|                 ld      c,a | ||||
|                 ld      a,(de) | ||||
|                 ld      (hl),a                  ;¯®¤ª«îç¨âì ¡ ªã ¯à®£à ¬¬ë | ||||
|                 dec     b | ||||
|                 ret     z                       ;¢ë室, ¥á«¨ ¡®«ìè¥ ¥â ¡ ®ª | ||||
| 
 | ||||
|                 ld      a,c | ||||
|                 inc     de | ||||
| .L10            inc     hl                      ;¨ ç¥ 3-¥ ®ª® | ||||
|                 ld      a,(de) | ||||
|                 ld      (hl),a                  ;¯®¤ª«îç¨âì ¡ ªã ¯à®£à ¬¬ë | ||||
| 
 | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]   ‚ëç¨á«¥¨¥ ¥®¡å®¤¨¬®£® ª®«-¢  ¡ ®ª ¤«ï § £à㧪¨ ä ©«  ¢ ¯ ¬ïâì      [] | ||||
| ;[] ‚室:  HL:IX - ¤«¨  ä ©«  ¢ ¡ ©â å                                     [] | ||||
| ;[]        DE - ª®«-¢® ¡ ©â ¤«ï § £à㧪¨ ¢ 1-î ¡ ªã                        [] | ||||
| ;[] ‚ë室: A - ª®«-¢® ¥®¡å®¤¨¬ëå ¡ ®ª                                     [] | ||||
| ;[]        ä« £ C - ®è¨¡ª , ª®¤ ®è¨¡ª¨ ¢ A                                  [] | ||||
| ;[]=========================================================================[] | ||||
| NBank: | ||||
|                 push    ix | ||||
|                 ld      b,h | ||||
|                 ld      c,l | ||||
|                 pop     hl | ||||
|                 inc     bc | ||||
|                 xor     a | ||||
|                 inc     a | ||||
|                 sbc     hl,de | ||||
|                 jr      nc,$+4 | ||||
|                 jr      .L5 | ||||
|                 ld      de,16384                ;à §¬¥à ¡ ª¨ | ||||
|                 push    af | ||||
| .L2             pop     af | ||||
| .L1             inc     a | ||||
|                 jr      z,.L3 | ||||
|                 sbc     hl,de | ||||
|                 jr      nc,.L1 | ||||
| .L5             dec     bc | ||||
|                 push    af | ||||
|                 ld      a,b | ||||
|                 or      c | ||||
|                 jr      nz,.L2 | ||||
|                 pop     af | ||||
|                 or      a                       ;á¡à®á¨âì ä« £ C | ||||
|                 ret | ||||
| 
 | ||||
| .L3             ld      a,0x1E                  ;"<22>¥¤®áâ â®ç® ¯ ¬ïâ¨" | ||||
| ;                JP      ErrorDSS | ||||
|                 ret | ||||
| 
 | ||||
| BankP           ds      4                       ;®¬¥à  ¡ ®ª § £à㦠¥¬®© ¯à®£¨ | ||||
| MemId           ds      3                       ;id-¡«®ª  ¯ ¬ï⨠¯®¤ ä ©«, | ||||
|                                                 ;ª®«-¢® ¢ë¤¥«¥ëå ¡ ®ª, | ||||
|                                                 ;áç¥â稪 § £à㦥ëå ¡ ®ª | ||||
| FId             db      0                       ;ä ©«®¢ë© ¬ ¨¯ã«ïâ®à | ||||
| FDebug          ds      128 | ||||
|                 db      0 | ||||
| FStart          dw      0x4200 | ||||
| FRam            dw      0                       ; ¤à¥á à á¯®«®¦¥¨ï ª®¤  ¢ ¯ ¬ï⨠| ||||
| 
 | ||||
							
								
								
									
										246
									
								
								KDUMP.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										246
									
								
								KDUMP.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,246 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                    Ž¡à ¡®âª  ª« ¢¨ âãàë ¢ ®ª¥ ¤ ¬¯                     [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 31.03.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| KDump: | ||||
|                 ld      a,b                     ;á®áâ®ï¨¥ <Shift><Alt><Ctrl> | ||||
|                 and     11110000b | ||||
|                 jr      z,.L100 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ª®¬¡¨ æ¨¨ Ctrl + ᨬ¢®« | ||||
| .L10            cp      00100000b              ;<Ctrl> | ||||
|                 jp      nz,.L100 | ||||
|                 ld      a,d                     ;¯®§¨æ¨®ë© ª®¤ | ||||
| 
 | ||||
|                 cp      0x80+0x51               ;<Ctrl>+<End) | ||||
|                 jr      nz,.L11 | ||||
|                 ld      hl,.Coordinate          ;⥪ãé ï ª®«®ª  | ||||
|                 ld      a,16 | ||||
|                 cp      (hl) | ||||
|                 jr      nc,$+4 | ||||
|                 ld      a,32 | ||||
|                 inc     a | ||||
|                 ld      (hl),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L11            cp      0x80+0x57               ;<Ctrl>+<Home) | ||||
|                 jp      nz,Keyb-3 | ||||
| ;                jr      nz,.L11 | ||||
|                 ld      hl,.Coordinate          ;⥪ãé ï ª®«®ª  | ||||
|                 ld      a,18 | ||||
|                 cp      (hl) | ||||
|                 jr      c,$+8 | ||||
|                 ld      a,2 | ||||
|                 cp      (hl) | ||||
|                 jr      c,$+3 | ||||
|                 dec     a | ||||
|                 ld      (hl),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ¯®§¨æ¨®®£® ª®¤  | ||||
| .L100           ld      a,e                     ;ASCII ª®¤ | ||||
|                 ld      (.L200+1),a | ||||
|                 ld      a,d                     ;¯®§¨æ¨®ë© ª®¤ | ||||
| 
 | ||||
|                 ld      de,(.Coordinate)        ;⥪ã騥 ª®®à¤¨ âë ªãàá®à  | ||||
|                 cp      0x56                    ;<Right> | ||||
|                 jr      nz,.L101 | ||||
|                 ld      a,(.Descript+2)         ;ª®«-¢® ª®«®®ª | ||||
|                 cp      e | ||||
|                 ld      a,e | ||||
|                 jr      nz,$+3 | ||||
|                 xor     a | ||||
|                 inc     a | ||||
|                 ld      (.Coordinate),a         ;⥪ãé ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L101           cp      0x54                    ;<Left> | ||||
|                 jr      nz,.L102 | ||||
|                 ld      a,e                     ;⥪ãé ï ª®«®ª  | ||||
|                 cp      1 | ||||
|                 jr      nz,$+6 | ||||
|                 ld      a,(.Descript+2)         ;ª®«-¢® ª®«®®ª | ||||
|                 inc     a | ||||
|                 dec     a | ||||
|                 ld      (.Coordinate),a         ;⥪ãé ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L102           ld      hl,(.Descript) | ||||
|                 cp      0x52                    ;<Down> | ||||
|                 jr      nz,.L103 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      l | ||||
|                 jr      nz,.L104 | ||||
|                 ld      hl,(Dump1) | ||||
|                 ld      bc,16 | ||||
|                 add     hl,bc | ||||
|                 ld      (Dump1),hl | ||||
|                 jp      Keyb-11 | ||||
| .L104           inc     a | ||||
|                 ld      (.Coordinate+1),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L103           cp      0x58                    ;<Up> | ||||
|                 jr      nz,.L105 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      h | ||||
|                 jr      nz,.L107 | ||||
|                 ld      hl,(Dump1) | ||||
|                 ld      bc,16 | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
|                 ld      (Dump1),hl | ||||
|                 jp      Keyb-11 | ||||
| .L107           dec     a | ||||
|                 ld      (.Coordinate+1),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L105           cp      0x53                    ;<PgDown> | ||||
|                 jr      nz,.L108 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      l | ||||
|                 jr      nz,.L106 | ||||
|                 ld      hl,(Dump1) | ||||
|                 ld      bc,16*7 | ||||
|                 add     hl,bc | ||||
|                 ld      (Dump1),hl | ||||
|                 jp      Keyb-11 | ||||
| .L106           ld      a,l                     ;  ¯®á«¥¤îî áâபã | ||||
|                 ld      (.Coordinate+1),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L108           cp      0x59                    ;<PgUp> | ||||
|                 jr      nz,.L110 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      h | ||||
|                 jr      nz,.L109 | ||||
|                 ld      hl,(Dump1) | ||||
|                 ld      bc,16*7 | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
|                 ld      (Dump1),hl | ||||
|                 jp      Keyb-11 | ||||
|                 jr      nz,.L109 | ||||
| .L109           ld      a,h                     ;  ¯¥à¢ãî áâபã | ||||
|                 ld      (.Coordinate+1),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L110           cp      0x57                    ;<Home> | ||||
|                 jr      nz,.L111 | ||||
|                 ld      a,1 | ||||
|                 ld      (.Coordinate),a         ;¯¥à¢ ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L111           cp      0x51                    ;<End> | ||||
|                 jr      nz,.L200 | ||||
|                 ld      a,(.Descript+2) | ||||
|                 ld      (.Coordinate),a         ;¯¥à¢ ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ASCII ª®¤®¢ | ||||
| .L200           ld      a,0                     ;ASCII ª®¤ | ||||
|                 cp      0x0D                    ;<Enter> | ||||
|                 jp      nz,Keyb+6 | ||||
| .L201           ld      b,0                     ;¤«¨  áâப¨ ¢¢®¤  | ||||
|                 ld      hl,0                    ;ª®®à¤¨ âë áâப¨ ¢¢®¤  | ||||
| 
 | ||||
|                 ld      a,b | ||||
|                 dec     a | ||||
|                 jr      z,.L202 | ||||
|                 dec     a | ||||
|                 jr      z,.L203 | ||||
| 
 | ||||
|                 call    InputLine               ;¢¢®¤  ¤à¥á  | ||||
|                 jp      c,Keyb-3                ;§ ¢¥à襨¥ ¢¢®¤  ¯® <ESC> | ||||
|                 call    PutAdres | ||||
|                 jp      c,.L201                 ;®è¨¡ª  ¢ ¢¥¤¥ëå ¤ ëå | ||||
|                 ld      de,16                   ;ª®«-¢® ¡ ©â ¢ áâப¥ | ||||
|                 ld      a,(.Coordinate+1)       ;®¬¥à áâப¨ | ||||
|                 sub     0x16                    ;ª®®à¤¨ â  ¯¥à¢®© áâப¨ | ||||
|                 jr      z,$+8 | ||||
|                 ld      b,a | ||||
|                 or      a | ||||
|                 sbc     hl,de | ||||
|                 djnz    $-3 | ||||
|                 ld      (Dump1),hl | ||||
|                 jp      Keyb-11 | ||||
| 
 | ||||
| .L202           call    InputLineEd             ;¢¢®¤ ᨬ¢®«  | ||||
|                 jp      c,Keyb-3                ;§ ¢¥à襨¥ ¢¢®¤  ¯® <ESC> | ||||
|                 call    .L299 | ||||
|                 ld      a,c | ||||
|                 sub     18                      ;¯¥à¢ ï ª®«®ª  ¢ ¯®«¥ ¤ ëå | ||||
|                 ld      c,a | ||||
|                 ld      a,(InputLine.Buffer) | ||||
|                 ld      de,256*18+34            ;1-ï ¨ ¯®á«¥¤ïï+1 ª®«®ª¨ | ||||
|                 jr      .L204 | ||||
| 
 | ||||
| .L203           call    InputLineEd             ;¢¢®¤ ª®¤  ᨬ¢®«  | ||||
|                 jp      c,Keyb-3                ;§ ¢¥à襨¥ ¢¢®¤  ¯® <ESC> | ||||
|                 call    PutCode | ||||
|                 jp      c,.L201                 ;®è¨¡ª  ¢ ¢¥¤¥ëå ¤ ëå | ||||
|                 call    .L299 | ||||
|                 ld      a,c | ||||
|                 sub     2                       ;¯¥à¢ ï ª®«®ª  ¢ ¯®«¥ ¤ ëå | ||||
|                 ld      c,a | ||||
|                 ld      a,(PutCode.Buffer)      ;§ ¯¨á뢠¥¬ë© ¡ ©â | ||||
|                 ld      de,256*2+18             ;1-ï ¨ ¯®á«¥¤ïï+1 ª®«®ª¨ | ||||
| .L204           add     hl,bc | ||||
|                 call    Ld_hl_a | ||||
|                 ld      a,(InputLine.EntEnd)    ;¢¢®¤ § ª®ç¥ ENTER | ||||
|                 or      a | ||||
|                 jp      nz,Keyb-11              ;¤  | ||||
|                 ld      hl,.Coordinate          ;⥪ã騥 ª®®à¤¨ âë ªãàá®à  | ||||
|                 inc     (hl) | ||||
|                 ld      a,e                     ;¯¥à¢ ï ª®«®ª  ¤ ëå | ||||
|                 cp      (hl) | ||||
|                 jr      nz,.L205 | ||||
|                 ld      a,d | ||||
|                 ld      (hl),a                  ;¢  ç «® áâப¨ ª®¤  | ||||
|                 inc     hl | ||||
|                 ld      a,0x1D                  ;¯®á«¥¤ïï áâப  ¤ ¬¯  | ||||
|                 cp      (hl) | ||||
|                 jr      nz,.L205-1 | ||||
|                 ld      hl,(Dump1)              ;ᤢ¨ãâì ¤ ¬¯ | ||||
|                 ld      bc,16 | ||||
|                 add     hl,bc | ||||
|                 ld      (Dump1),hl | ||||
|                 jr      .L205 | ||||
|                 inc     (hl) | ||||
| .L205           call    CursorRes               ;¢ëª« ªãàá®à | ||||
|                 call    Refresh                 ;®¡®¢«¥¨¥ íªà   | ||||
|                 call    Cursor                  ;¢ª« ªãàá®à | ||||
|                 call    CursorSet | ||||
|                 jp      .L201 | ||||
| 
 | ||||
| .L299           ld      de,16                   ;ª®«-¢® ¡ ©â ¢ áâப¥ | ||||
|                 ld      hl,(Dump1)              ; ¤à¥á ¢ ¯¥à¢®© áâப¥ | ||||
|                 ld      bc,(.Coordinate) | ||||
|                 ld      a,b | ||||
|                 sub     0x16                    ;ª®®à¤¨ â  ¯¥à¢®© áâப¨ | ||||
|                 ld      b,a | ||||
|                 ret     z | ||||
|                 add     hl,de | ||||
|                 djnz    $-1 | ||||
|                 ret | ||||
| 
 | ||||
| .Coordinate     dw      0x1601                  ;ªãàá®à (áâà/ª®« ªãàá®à ) | ||||
| .Descript: | ||||
|                 dw      0x161D                  ;¯¥à¢ ï/¯®á«¥¤ïï áâப  ®ª  | ||||
|                 db      33                      ;ª®«-¢® ª®«®®ª | ||||
| 
 | ||||
|                 db      0x0E                    ;N á⮫¡æ  ª®«®ª¨ | ||||
|                 db      5                       ;è¨à¨  ª®«®ª¨ | ||||
|                 db      0x15,2,0x17,2 | ||||
|                 db      0x1A,2,0x1C,2 | ||||
|                 db      0x1F,2,0x21,2 | ||||
|                 db      0x24,2,0x26,2 | ||||
|                 db      0x29,2,0x2B,2 | ||||
|                 db      0x2E,2,0x30,2 | ||||
|                 db      0x33,2,0x35,2 | ||||
|                 db      0x38,2,0x3A,2 | ||||
|                 db      0x3E,1,0x3F,1,0x40,1,0x41,1 | ||||
|                 db      0x42,1,0x43,1,0x44,1,0x45,1 | ||||
|                 db      0x46,1,0x47,1,0x48,1,0x49,1 | ||||
|                 db      0x4A,1,0x4B,1,0x4C,1,0x4D,1 | ||||
| 
 | ||||
							
								
								
									
										440
									
								
								KREG.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										440
									
								
								KREG.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,440 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                  Ž¡à ¡®âª  ª« ¢¨ âãàë ¢ ®ª¥ ॣ¨áâ஢                  [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 11.03.2006                                  [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 14.05.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| KReg: | ||||
| ;                ld      a,b                     ;á®áâ®ï¨¥ <Shift><Alt><Ctrl> | ||||
| ;                and     0b11110000 | ||||
| ;                jr      z,.L100 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ª®¬¡¨ æ¨¨ Shift + ᨬ¢®« | ||||
| ;                and     0b11000000              ;<Shift> | ||||
| ;                or      a | ||||
| ;                jp      z,Keyb+6 | ||||
| ;                ld      a,d | ||||
| ;                cp      0x80+0x0F               ;Shift+Tab | ||||
| ;                jp      nz,Keyb+6 | ||||
| ;                ld      a,2                     ;®¬¥à ®ª  ¤ ¬¯  | ||||
| ;                ld      (Keyb.WinScreen),a | ||||
| ;                jp      Keyb-3 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ¯®§¨æ¨®®£® ª®¤  | ||||
| .L100           ld      a,e                     ;ASCII ª®¤ | ||||
|                 ld      (.L200+1),a | ||||
|                 ld      a,d                     ;¯®§¨æ¨®ë© ª®¤ | ||||
| 
 | ||||
|                 cp      0x56                    ;<Right> | ||||
|                 jr      nz,.L101 | ||||
|                 call    .DescCalc | ||||
|                 ld      a,(hl)                  ;ª®«-¢® ª®«®®ª | ||||
|                 cp      e | ||||
|                 ld      a,e | ||||
|                 jr      nz,$+3 | ||||
|                 xor     a | ||||
|                 inc     a | ||||
|                 ld      (.Coordinate),a         ;⥪ãé ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L101           cp      0x54                    ;<Left> | ||||
|                 jr      nz,.L102 | ||||
|                 call    .DescCalc | ||||
|                 ld      a,e                     ;⥪ãé ï ª®«®ª  | ||||
|                 cp      1 | ||||
|                 jr      nz,$+4 | ||||
|                 ld      a,(hl)                  ;ª®«-¢® ª®«®®ª | ||||
|                 inc     a | ||||
|                 dec     a | ||||
|                 ld      (.Coordinate),a         ;⥪ãé ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L102           ld      hl,(.Descript) | ||||
|                 ld      de,(.Coordinate) | ||||
|                 cp      0x52                    ;<Down> | ||||
|                 jr      nz,.L103 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      l | ||||
|                 jr      nz,.L104 | ||||
|                 ld      a,h                     ;1-ï áâப  | ||||
|                 dec     a | ||||
| .L104           inc     a | ||||
|                 jr      .L107+1 | ||||
| 
 | ||||
| .L103           cp      0x58                    ;<Up> | ||||
|                 jr      nz,.L105 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      h | ||||
|                 jr      nz,.L107 | ||||
|                 ld      a,l                     ; ¤à¥á ¯®á«¥¤¥© áâப¨ | ||||
|                 inc     a | ||||
| .L107           dec     a | ||||
|                 ld      h,a | ||||
|                 ld      l,1 | ||||
|                 ld      (.Coordinate),hl | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L105           ld      b,3 | ||||
|                 cp      0x53                    ;<PgDown> | ||||
|                 jr      nz,.L108 | ||||
|                 ld      hl,.PgDown | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      (hl) | ||||
|                 jr      c,$+5 | ||||
|                 inc     hl | ||||
|                 djnz    $-4 | ||||
|                 ld      a,(hl) | ||||
|                 jr      .L107+1 | ||||
| 
 | ||||
| .L108           cp      0x59                    ;<PgUp> | ||||
|                 jr      nz,.L110 | ||||
|                 ld      hl,.PgUp | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      (hl) | ||||
|                 jr      nc,$+5 | ||||
|                 inc     hl | ||||
|                 djnz    $-4 | ||||
|                 ld      a,(hl) | ||||
|                 dec     a | ||||
|                 jr      .L107+1 | ||||
| 
 | ||||
| .L110           cp      0x57                    ;<Home> | ||||
|                 jr      nz,.L111 | ||||
|                 ld      a,1 | ||||
|                 ld      (.Coordinate),a         ;¯¥à¢ ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L111           cp      0x51                    ;<End> | ||||
|                 jr      nz,.L200 | ||||
|                 call    .DescCalc | ||||
|                 ld      a,(hl)                  ;¯®á«¥¤ïï ª®«®ª  | ||||
|                 ld      (.Coordinate),a         ;¯¥à¢ ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| ;.L112           cp      0x0F                    ;<Tab> | ||||
| ;                jr      nz,.L200 | ||||
| ;                ld      a,4                     ;®¬¥à ®ª  «¨á⨣  | ||||
| ;                ld      (Keyb.WinScreen),a | ||||
| ;                jp      Keyb-3 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ASCII ª®¤®¢ | ||||
| .L200           ld      a,0                     ;ASCII ª®¤ | ||||
|                 cp      0x0D                    ;<Enter> | ||||
|                 jp      nz,Keyb+6 | ||||
| .L201           ld      b,0                     ;¤«¨  áâப¨ ¢¢®¤  | ||||
|                 ld      hl,0                    ;ª®®à¤¨ âë áâப¨ ¢¢®¤  | ||||
| 
 | ||||
|                 ld      a,b | ||||
|                 dec     a | ||||
|                 jp      nz,.L205 | ||||
|                 ld      de,(.Coordinate) | ||||
|                 ld      a,d                     ;®¬¥à áâப¨ | ||||
|                 ld      c,e                     ;®¬¥à ª®«®ª¨ | ||||
|                 ex      de,hl                   ;ª®®à¤¨ âë | ||||
|                 ld      hl,Reg._AF+1            ;ॣ A | ||||
|                 cp      6                       ;áâப  á ¯ à®© AF? | ||||
|                 jr      z,.L207 | ||||
|                 ld      hl,Reg._AF_+1           ;ॣ A' | ||||
|                 cp      11                      ;áâப  á ¯ à®© AF'? | ||||
|                 jr      z,.L207 | ||||
|                 ld      hl,Reg._AF              ;ॣ F | ||||
|                 cp      7                       ;áâப  á ¯ à®© AF? | ||||
|                 jr      z,$+9 | ||||
|                 ld      hl,Reg._AF_             ;ॣ F' | ||||
|                 cp      12                      ;áâப  á ¯ à®© AF'? | ||||
|                 jr      nz,.L206 | ||||
|                 ld      a,c                     ;ª®à४æ¨ï ®¬¥à®¢ ¡¨â | ||||
|                 cp      4                       ;ª®«®ª  4..6? | ||||
|                 jr      c,$+5 | ||||
|                 inc     c | ||||
|                 jr      .L207-4 | ||||
|                 cp      3                       ;ª®«®ª  3? | ||||
|                 jr      z,.L207-4 | ||||
|                 dec     c | ||||
|                 ld      a,7 | ||||
|                 jr      .L208 | ||||
| .L207           ld      a,10                    ;ª®«®ª¨ á ¡¨â ¬¨ | ||||
|                 cp      c | ||||
|                 jr      z,.L206 | ||||
|                 dec     a | ||||
| .L208           sub     c                       ;®¬¥à ¡¨â  | ||||
|                 rlca | ||||
|                 rlca | ||||
|                 rlca                            ;§ £®â®¢ª  ¤«ï ¡¨â®¢ëå ®¯¥à æ¨© | ||||
|                 ld      b,a | ||||
|                 or      01000110b              ;¤«ï BIT | ||||
|                 ld      ($+16),a | ||||
|                 ld      a,b | ||||
|                 or      11000110b              ;¤«ï SET | ||||
|                 ld      ($+14),a | ||||
|                 ld      a,b | ||||
|                 or      10000110b              ;¤«ï RES | ||||
|                 ld      ($+13),a | ||||
|                 bit     0,(hl)                  ;á®áâ®ï¨¥ ¡¨â  | ||||
|                 jr      nz,$+7 | ||||
|                 set     0,(hl)                  ;ãáâ ®¢ª  ¡¨â  | ||||
|                 jp      Keyb-11 | ||||
|                 res     0,(hl)                  ;á¡à®á ¡¨â  | ||||
|                 jp      Keyb-11 | ||||
| 
 | ||||
| .L206           ex      de,hl                   ;ª®®à¤¨ âë | ||||
|                 call    InputLine               ;¢¢®¤ ᨬ¢®«  | ||||
|                 jp      c,Keyb-3                ;§ ¢¥à襨¥ ¢¢®¤  ¯® <ESC> | ||||
|                 ld      de,.L204-5 | ||||
|                 push    de | ||||
|                 ld      de,(.Coordinate) | ||||
|                 ld      hl,Reg._AF+1 | ||||
|                 ld      a,d | ||||
|                 ld      de,0 | ||||
|                 cp      6                       ;áâப  á ¯ à®© AF | ||||
|                 ret     z | ||||
|                 ld      hl,Reg._AF_+1 | ||||
|                 cp      11                      ;áâப  á ¯ à®© AF'? | ||||
|                 ret     z | ||||
|                 ld      de,(.Coordinate) | ||||
|                 ld      a,e | ||||
|                 sub     6 | ||||
|                 ld      e,a | ||||
|                 jr      .L209 | ||||
| 
 | ||||
| .L205           dec     a                       ;¡ ©âë ¢ ¬¨¨¤ ¬¯¥ | ||||
|                 jr      nz,.L202 | ||||
|                 call    InputLine               ;¢¢®¤ ç¨á«  | ||||
|                 jp      c,Keyb-3                ;§ ¢¥à襨¥ ¢¢®¤  ¯® <ESC> | ||||
|                 call    PutCode | ||||
|                 jp      c,.L201                 ;®è¨¡ª  ¢ ¢¥¤¥ëå ¤ ëå | ||||
|                 ld      de,.L204 | ||||
|                 push    de | ||||
|                 ld      de,(.Coordinate) | ||||
| .L209           dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      hl,(Reg._IX) | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      hl,(Reg._IY) | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      hl,(Reg._HL) | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      hl,(Reg._DE) | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      hl,(Reg._BC) | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 dec     d | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      hl,(Reg._HL_) | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      hl,(Reg._DE_) | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 ld      hl,(Reg._BC_) | ||||
|                 ret | ||||
| 
 | ||||
|                 ld      a,(InputLine.Buffer) | ||||
|                 jr      $+7 | ||||
| .L204           ld      a,(PutCode.Buffer)      ;§ ¯¨á뢠¥¬ë© ¡ ©â | ||||
|                 dec     e | ||||
|                 dec     e                       ;ᬥ饨¥ ¢ ¬¨¨¤ ¬¯¥ | ||||
|                 add     hl,de                   ; ¤à¥á ¢ ¯ ¬ï⨠| ||||
|                 call    Ld_hl_a                 ;§ ¯¨á «¨ | ||||
|                 jp      Keyb-11 | ||||
| 
 | ||||
| .L202           dec     a                       ;®¤®¡ ©â®¥ ç¨á«® (®¬¥à ¡ ª¨) | ||||
|                 jr      nz,.L203 | ||||
|                 call    InputLine               ;¢¢®¤ ç¨á«  | ||||
|                 jp      c,Keyb-3                ;§ ¢¥à襨¥ ¢¢®¤  ¯® <ESC> | ||||
|                 call    PutAdres | ||||
|                 jp      c,.L201                 ;®è¨¡ª  ¢ ¢¥¤¥ëå ¤ ëå | ||||
|                 ld      de,Keyb-11 | ||||
|                 push    de | ||||
|                 ld      a,l | ||||
|                 ld      de,(.Coordinate) | ||||
|                 dec     e                       ;ª®«®ª  ¢ áâப¥ | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (WinPage),a             ;0-¥ ®ª® | ||||
|                 ret | ||||
|                 dec     e | ||||
|                 jr      nz,$+8 | ||||
|                 ld      (WinPage+1),a           ;1-¥ ®ª® | ||||
|                 out     (EmmWin.P1),a | ||||
|                 ret | ||||
|                 dec     e | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (WinPage+2),a           ;2-¥ ®ª® | ||||
|                 ret | ||||
|                 ld      (WinPage+3),a           ;3-¥ ®ª® | ||||
|                 out     (EmmWin.P3),a | ||||
|                 ret | ||||
| 
 | ||||
| .L203           dec     a                       ;£«ã¡¨  á⥪  | ||||
|                 jr      nz,.L210 | ||||
|                 xor     a                       ;®¡ã«¨âì | ||||
|                 ld      (StackDown),a | ||||
|                 jp      Keyb-11 | ||||
|             | ||||
| .L210           ;dec     a                       ;¤¢ãå¡ ©â®¥ ç¨á«® | ||||
|                 ;jp      nz,Keyb+6 | ||||
|                 call    InputLine               ;¢¢®¤ ç¨á«  ¢ ॣ ¯ àë | ||||
|                 jp      c,Keyb-3                ;§ ¢¥à襨¥ ¢¢®¤  ¯® <ESC> | ||||
|                 call    PutAdres | ||||
|                 jp      c,.L201                 ;®è¨¡ª  ¢ ¢¥¤¥ëå ¤ ëå | ||||
|                 ld      de,Keyb-11 | ||||
|                 push    de | ||||
|                 ld      de,(.Coordinate) | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._IX),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._IY),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._HL),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._DE),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._BC),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._AF),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._HL_),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._DE_),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._BC_),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 jr      nz,$+6 | ||||
|                 ld      (Reg._AF_),hl | ||||
|                 ret | ||||
|                 dec     d | ||||
|                 dec     d | ||||
|                 jr      nz,$+13 | ||||
|                 dec     e | ||||
|                 jr      z,$+6 | ||||
|                 ld      (Reg._IR),hl | ||||
|                 ret | ||||
|                 ld      (Reg._PC),hl | ||||
|                 ret | ||||
|                 dec     e | ||||
|                 jr      z,.L211 | ||||
| .Rez            ld      bc,Rezident.End-Rezident;¤«¨  १¨¤¥â  | ||||
|                 push    hl                      ;®¢®¥  ç «® १¨¤¥â  | ||||
|                 add     hl,bc                   ;®¢ë© ª®¥çë©  ¤à¥á १¨¤¥â  | ||||
|                 ld      a,h | ||||
|                 and     11000000b | ||||
|                 ld      d,a | ||||
|                 pop     hl | ||||
|                 ld      a,h | ||||
|                 and     11000000b | ||||
|                 cp      d                       ;१¨¤¥â ¯¥à¥á¥ª ¥â ®ª®? | ||||
|                 jr      z,.L212 | ||||
|                 ld      h,d | ||||
|                 ld      l,0 | ||||
|                 dec     hl                      ;¯®á«¥¤¨©  ¤à¥á ®ª  á १¨¤¥â®¬ | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
| .L212           ld      (RezAdr),hl | ||||
|                 ret | ||||
| .L211           ld      (Reg._SP),hl | ||||
|                 ret | ||||
| 
 | ||||
|                 ;<3B> áç¥â ¤¥áªà¨¯â®à  áâப¨ ¢ ®ª¥ ॣ¨áâ஢ | ||||
| .DescCalc       ld      de,(.Coordinate)        ;⥪ã騥 ª®®à¤¨ âë | ||||
|                 ld      hl,.Descript+1 | ||||
|                 ld      b,d                     ;®¬¥à áâப¨ | ||||
|                 inc     hl                      ;¤¥áªà¨¯â®à áâப¨ | ||||
|                 inc     hl | ||||
|                 djnz    $-2 | ||||
|                 ld      a,(hl)                  ;®¬¥à ¤¥áªà¨¯â®à  áâப¨ | ||||
|                 add     a,a | ||||
|                 ld      c,a | ||||
|                 dec     hl | ||||
|                 ld      b,(hl) | ||||
|                 push    bc | ||||
|                 ld      b,0 | ||||
|                 ld      hl,.DTabl | ||||
|                 add     hl,bc | ||||
|                 ld      a,(hl)                  ; ç «® ¤¥áªà¨¯â®à  | ||||
|                 inc     hl | ||||
|                 ld      h,(hl) | ||||
|                 ld      l,a | ||||
|                 pop     bc | ||||
|                 ret | ||||
| 
 | ||||
| .PgDown         db      2,7,12,15 | ||||
| .PgUp           db      14,9,4,2 | ||||
| 
 | ||||
| .Coordinate     dw      0x0101                  ;ªãàá®à (áâà/ª®« ªãàá®à ) | ||||
| 
 | ||||
| .Descript: | ||||
|                 dw      0x010F                  ;¯¥à¢ ï/ª®«-¢® áâப ®ª  | ||||
| 
 | ||||
|                 db      0x01,0                  ;®¬¥à áâப¨, ®¬¥à ¤¥áªà¨¯â®à  | ||||
|                 db      0x02,0,0x04,0 | ||||
|                 db      0x05,0,0x06,0,0x07,1 | ||||
|                 db      0x08,2,0x0A,0,0x0B,0 | ||||
|                 db      0x0C,0,0x0D,1,0x0E,2 | ||||
|                 db      0x10,3,0x12,4,0x14,5 | ||||
| 
 | ||||
| .DTabl          dw      .D1,.D2,.D3,.D4,.D5,.D6 | ||||
| 
 | ||||
| .D1             db      9                       ;ª®«-¢® ª®«®®ª ¤«ï ¯ à | ||||
|                 db      0x04                    ;N á⮫¡æ  ª®«®ª¨ | ||||
|                 db      5                       ;è¨à¨  ª®«®ª¨ | ||||
|                 db      0x0A,2,0x0C,2,0x0F,2,0x11,2 | ||||
|                 db      0x14,1,0x15,1,0x16,1,0x17,1 | ||||
| 
 | ||||
| .D2             db      10                      ;ª®«-¢® ª®«®®ª ¤«ï ¯ àë AF | ||||
|                 db      0x04                    ;N á⮫¡æ  ª®«®ª¨ | ||||
|                 db      5                       ;è¨à¨  ª®«®ª¨ | ||||
|                 db      0x0B,1,0x0C,1,0x0D,1,0x0E,1 | ||||
|                 db      0x0F,1,0x10,1,0x11,1,0x12,1 | ||||
|                 db      0x15,1 | ||||
| 
 | ||||
| .D3             db      6                       ;ª®«-¢® ª®«®®ª ¤«ï ä« £®¢ | ||||
|                 db      0x01                    ;N á⮫¡æ  ª®«®ª¨ | ||||
|                 db      1                       ;è¨à¨  ª®«®ª¨ | ||||
|                 db      0x02,1,0x04,1 | ||||
|                 db      0x06,1,0x07,1,0x08,1 | ||||
| 
 | ||||
| .D4             db      2                       ;ª®«-¢® ª®«®®ª ¤«ï PC IR | ||||
|                 db      0x04                    ;N á⮫¡æ  ª®«®ª¨ | ||||
|                 db      5                       ;è¨à¨  ª®«®ª¨ | ||||
|                 db      0x0D,5 | ||||
| 
 | ||||
| .D5             db      4                       ;ª®«-¢® ª®«®®ª ¤«ï ¡ ®ª | ||||
|                 db      0x02                    ;N á⮫¡æ  ª®«®ª¨ | ||||
|                 db      3                       ;è¨à¨  ª®«®ª¨ | ||||
|                 db      0x08,3,0x0E,3,0x14,3 | ||||
| 
 | ||||
| .D6             db      3                       ;ª®«-¢® ª®«®®ª | ||||
|                 db      0x04                    ;N á⮫¡æ  ª®«®ª¨ | ||||
|                 db      5                       ;è¨à¨  ª®«®ª¨ | ||||
|                 db      0x0A,4 | ||||
|                 db      0x13,5 | ||||
| 
 | ||||
							
								
								
									
										212
									
								
								KSTACK.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										212
									
								
								KSTACK.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,212 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]               Ž¡à ¡®âª  ª« ¢¨ âãàë ¢ ®ª¥ ¤ ¬¯  á⥪                    [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 18.03.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| KStack: | ||||
|                 ld      a,b                     ;á®áâ®ï¨¥ <Shift><Alt><Ctrl> | ||||
|                 and     11110000b | ||||
| ;                ld      b,a | ||||
|                 jr      z,.L100 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ª®¬¡¨ æ¨¨ Shift + ᨬ¢®« | ||||
| ;                and     11000000b              ;<Shift> | ||||
| ;                or      a | ||||
| ;                jr      z,.L10 | ||||
| ;                ld      a,d | ||||
| ;;                cp      0x80+0x0F               ;Shift+Tab | ||||
| ;;                jp      nz,Keyb+6 | ||||
| ;;                ld      a,3                     ;®¬¥à ®ª  ¤ ¬¯  | ||||
| ;;                ld      (Keyb.WinScreen),a | ||||
| ;                jp      Keyb-3 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ª®¬¡¨ æ¨¨ Ctrl + ᨬ¢®« | ||||
| ;                ld      a,b | ||||
|                 cp      00100000b              ;<Ctrl> | ||||
|                 jp      nz,Keyb+6 | ||||
|                 ld      a,d                     ;¯®§¨æ¨®ë© ª®¤ | ||||
|                 cp      0x80+0x2B               ;<Ctrl>+<X> | ||||
|                 jp      nz,Keyb+6 | ||||
|                 ld      hl,(StackDump) | ||||
|                 ld      bc,(.Coordinate) | ||||
|                 ld      a,b | ||||
|                 ld      b,0x16                  ;x-ª®à¤¨ â  1 áâப¨ | ||||
|                 sub     b | ||||
|                 rlca                            ;*2 | ||||
|                 ld      b,0 | ||||
|                 ld      c,a | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
|                 ld      (Reg._SP),hl | ||||
|                 ld      a,-1 | ||||
|                 ld      (PrintStrSP.StrSp),a | ||||
|                 jp      Keyb-11 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ¯®§¨æ¨®®£® ª®¤  | ||||
| .L100           ld      a,e                     ;ASCII ª®¤ | ||||
|                 ld      (.L200+1),a | ||||
|                 ld      a,d                     ;¯®§¨æ¨®ë© ª®¤ | ||||
| 
 | ||||
|                 ld      de,(.Coordinate)        ;⥪ã騥 ª®®à¤¨ âë ªãàá®à  | ||||
|                 cp      0x56                    ;<Right> | ||||
|                 jr      nz,.L101 | ||||
|                 ld      a,(.Descript+2)         ;ª®«-¢® ª®«®®ª | ||||
|                 cp      e | ||||
|                 ld      a,e | ||||
|                 jr      nz,$+3 | ||||
|                 xor     a | ||||
|                 inc     a | ||||
|                 ld      (.Coordinate),a         ;⥪ãé ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L101           cp      0x54                    ;<Left> | ||||
|                 jr      nz,.L102 | ||||
|                 ld      a,e                     ;⥪ãé ï ª®«®ª  | ||||
|                 cp      1 | ||||
|                 jr      nz,$+6 | ||||
|                 ld      a,(.Descript+2)         ;ª®«-¢® ª®«®®ª | ||||
|                 inc     a | ||||
|                 dec     a | ||||
|                 ld      (.Coordinate),a         ;⥪ãé ï ª®«®ª  | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L102           ld      hl,(.Descript) | ||||
|                 cp      0x52                    ;<Down> | ||||
|                 jr      nz,.L103 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      l | ||||
|                 jr      nz,.L104 | ||||
|                 ld      hl,(StackDump)          ; ¤à¥á 1-®© áâப¨ | ||||
|                 dec     hl | ||||
|                 dec     hl | ||||
|                 ld      (StackDump),hl | ||||
|                 ld      hl,PrintStrSP.StrSp     ;áâப  ¢¥àè.á⥪  | ||||
|                 ld      a,-1 | ||||
|                 cp      (hl)                    ;¢ ¤ ¬¯¥? | ||||
|                 jr      z,$+3 | ||||
|                 dec     (hl) | ||||
|                 jp      Keyb-11 | ||||
| .L104           inc     a | ||||
|                 ld      (.Coordinate+1),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L103           cp      0x58                    ;<Up> | ||||
|                 jr      nz,.L105 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      h | ||||
|                 jr      nz,.L107 | ||||
|                 ld      hl,(StackDump)          ; ¤à¥á 1-®© áâப¨ | ||||
|                 inc     hl | ||||
|                 inc     hl | ||||
|                 ld      (StackDump),hl | ||||
|                 ld      hl,PrintStrSP.StrSp     ;áâப  ¢¥àè.á⥪  | ||||
|                 ld      a,(hl) | ||||
|                 cp      7                       ;  ¯®á«¥¤¥© áâப¥? | ||||
|                 jr      c,$+5 | ||||
|                 ld      a,-2 | ||||
|                 ld      (hl),a                  ;¢¥àè.á⥪  ¥ ¯®¯ ¤ ¥â ¢ ¤ ¬¯ | ||||
|                 inc     (hl) | ||||
|                 jp      Keyb-11 | ||||
| .L107           dec     a | ||||
|                 ld      (.Coordinate+1),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L105           cp      0x53                    ;<PgDown> | ||||
|                 jr      nz,.L108 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      l | ||||
|                 jr      nz,.L106 | ||||
|                 ld      hl,(StackDump) | ||||
|                 ld      bc,2*7 | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
|                 ld      (StackDump),hl | ||||
|                 ld      a,-1 | ||||
|                 ld      (PrintStrSP.StrSp),a    ;áâப  ¢¥àè.á⥪  | ||||
|                 jp      Keyb-11 | ||||
| .L106           ld      a,l                     ;  ¯®á«¥¤îî áâபã | ||||
|                 ld      (.Coordinate+1),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L108           cp      0x59                    ;<PgUp> | ||||
|                 jr      nz,.L110 | ||||
|                 ld      a,d                     ;⥪ãé ï áâப  | ||||
|                 cp      h | ||||
|                 jr      nz,.L109 | ||||
|                 ld      hl,(StackDump) | ||||
|                 ld      bc,2*7 | ||||
|                 add     hl,bc | ||||
|                 ld      (StackDump),hl | ||||
|                 ld      a,-1 | ||||
|                 ld      (PrintStrSP.StrSp),a    ;áâப  ¢¥àè.á⥪  | ||||
|                 jp      Keyb-11 | ||||
| .L109           ld      a,h                     ;  ¯¥à¢ãî áâபã | ||||
|                 ld      (.Coordinate+1),a | ||||
|                 jp      Keyb-3 | ||||
| 
 | ||||
| .L110           cp      0x57                    ;<Home> | ||||
|                 jr      nz,.L200 | ||||
|                 ld      a,6 | ||||
|                 ld      (PrintStrSP.StrSp),a    ;áâப  ¢¥àè.á⥪  | ||||
|                 jp      Keyb-11 | ||||
| 
 | ||||
| ;.L111           cp      0x0F                    ;<Tab> | ||||
| ;                jr      nz,.L200 | ||||
| ;                ld      a,1                     ;®¬¥à ®ª  «¨á⨣  | ||||
| ;                ld      (Keyb.WinScreen),a | ||||
| ;                jp      Keyb-3 | ||||
| 
 | ||||
|                 ;Ž¡à ¡®âª  ASCII ª®¤®¢ | ||||
| .L200           ld      a,0                     ;ASCII ª®¤ | ||||
|                 cp      0x0D                    ;<Enter> | ||||
|                 jp      nz,Keyb+6 | ||||
| .L201           ld      b,0                     ;¤«¨  áâப¨ ¢¢®¤  | ||||
|                 ld      hl,0                    ;ª®®à¤¨ âë áâப¨ ¢¢®¤  | ||||
|                 call    InputLine               ;¢¢®¤ ç¨á«  | ||||
|                 jp      c,Keyb-3                ;§ ¢¥à襨¥ ¢¢®¤  ¯® <ESC> | ||||
|                 call    PutAdres | ||||
|                 jp      c,.L201                 ;®è¨¡ª  ¢ ¢¥¤¥ëå ¤ ëå | ||||
|                 ld      bc,(.Coordinate) | ||||
|                 ld      a,b | ||||
|                 ld      b,0x16                  ;x-ª®à¤¨ â  1 áâப¨ | ||||
|                 sub     b | ||||
|                 ex      de,hl | ||||
|                 ld      hl,(StackDump) | ||||
|                 ld      b,a                     ;®¬¥à áâப¨ 0..7 | ||||
|                 rlca                            ;*2 | ||||
|                 dec     c | ||||
|                 ld      c,a | ||||
|                 jr      nz,.L202                ;¯¥à¥å®¤ - ¥á«¨ ¤ ë¥, ¨ ç¥  «à¥á | ||||
| 
 | ||||
|                 ld      a,(PrintStrSP.StrSp)    ;áâப  ¢¥àè.á⥪  | ||||
|                 cp      b | ||||
|                 jr      z,.L203 | ||||
|                 ld      b,0                     ;¥   ¢¥à訥 á⥪  | ||||
|                 ex      de,hl                   ;HL - ¢¢¥¤¥ë©  ¤à¥á | ||||
|                 add     hl,bc | ||||
|                 ld      (StackDump),hl | ||||
|                 ld      a,-1 | ||||
|                 ld      (PrintStrSP.StrSp),a | ||||
|                 jr      .L203+4 | ||||
| .L203           ld      (Reg._SP),de            ; ¤à¥á ¢¢¥¤¥   ¢¥à訥 á⥪  | ||||
|                 jp      Keyb-11 | ||||
| 
 | ||||
| .L202           ld      b,0                     ;¢¢®¤ ¤ ëå | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
|                 ld      a,d                     ;§ ¯¨áì ¤ ëå ¢ ¯ ¬ïâì | ||||
|                 call    Ld_hl_a | ||||
|                 inc     hl | ||||
|                 ld      a,e | ||||
|                 call    Ld_hl_a | ||||
|                 jp      Keyb-11 | ||||
| 
 | ||||
| 
 | ||||
| .Coordinate     dw      0x1601                  ;ªãàá®à (áâà/ª®« ªãàá®à ) | ||||
| .Descript: | ||||
|                 dw      0x161D                  ;¯¥à¢ ï/¯®á«¥¤ïï áâப  ®ª  | ||||
|                 db      2                       ;ª®«-¢® ª®«®®ª | ||||
| 
 | ||||
|                 db      0x01                    ;N á⮫¡æ  ª®«®ª¨ | ||||
|                 db      5                       ;è¨à¨  ª®«®ª¨ | ||||
|                 db      0x07,5 | ||||
| 
 | ||||
							
								
								
									
										87
									
								
								REZ.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								REZ.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,87 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                          <20>¥§¨¤¥â ®â« ¤ç¨ª                              [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 24.02.2006                                  [] | ||||
| ;[] <20>à¨æ¨¯ à ¡®âë (¤¢  ¢ à¨ â ):                                          [] | ||||
| ;[] 1. <20>¥§¨¤¥â à á¯®«®¦¥ ¥ ¢® ¢â®à®¬ ®ª¥ ¯ ¬ï⨠(0x8000...0xBFFF)       [] | ||||
| ;[] ˆ§ ®â« ¤ç¨ª  £®â®¢¨âáï १¨¤¥â ( áâà ¨¢ îâáï ¢á¥  ¤à¥á ) ¨ ª®¯¨àã¥âáï [] | ||||
| ;[] ¯®  ¤à¥áã à á¯®«®¦¥¨ï, ã¯à ¢«¥¨¥ ¨§ ®â« ¤ç¨ª  ¯¥à¥¤ ¥âáï   ¬¥âªã     [] | ||||
| ;[] Rezident.Start1, ¯®á«¥ 祣® ¯à®¨á室¨â ¢®áâ ®¢«¥¨¥ ¡ ª¨ ¯ ¬ïâ¨, à á- [] | ||||
| ;[] ¯®«®¦¥®© ¯®¤ ®â« ¤ç¨ª®¬ ¨ ¢ë¯®«¥¨¥ ®â« ¦¨¢ ¥¬®© ª®¬ ¤ë. ‚®§¢à â    [] | ||||
| ;[] ¢ १¨¤¥â ®áãé¥á⢫ï¥âáï   ¬¥âªã Rezident.RetIn1 ¨ ¤ «¥¥ ¯®á«¥ ¢®á-   [] | ||||
| ;[] â ®¢«¥¨ï ¡ ª¨ á ®â« ¤ç¨ª®¬ ¢®§¢à â ¢ ®â« ¤ç¨ª.                       [] | ||||
| ;[] 2. <20>¥§¨¤¥â à á¯®«®¦¥ ¢® ¢â®à®¬ ®ª¥ ¯ ¬ï⨠(0x8000...0xBFFF)          [] | ||||
| ;[] <20>®áª®«ìªã ¢ í⮬ ®ª¥ à ¡®â ¥â á ¬ ®â« ¤ç¨ª, â® ¯¥à¥å®¤ ¢ १¨¤¥â ¨    [] | ||||
| ;[] ¢®§¢à â ¢ ®â« ¤ç¨ª ¯®á«¥ âà áá¨à®¢ª¨ ª®¬ ¤ë ¢ë¯®«ï¥âáï ¯à¨ ¯®¬®é¨     [] | ||||
| ;[] ¢á¯®¬®£ â¥«ì®© ¯à®æ¥¤ãàë ¤«¨®© 7 ¡ ©â à á¯®«®¦¥®© ¯®  ¤à¥áã          [] | ||||
| ;[] AdrTmpBuf. <20>®á«¥ ª®à४樨 ¢á¥å  ¤à¥á®¢ ¢ ®â« ¤ç¨ª¥ ¨ á®åà ¥¨¨  ªªã-  [] | ||||
| ;[] ¬ã«ïâ®à  ®â« ¦¨¢ ¥¬®© ¯à®£à ¬¬ë ¯®  ¤à¥áã Rezident+1 ¨ ¯ àë HL ¯®  ¤à¥- [] | ||||
| ;[] ce Rezident+2 ã¯à ¢«¥¨¥ ¯¥à¥¤ ¥âáï ¯®  ¤à¥áã AdrTmpBuf, £¤¥ à á¯®«®¦¥ [] | ||||
| ;[] á«¥¤ãî騩 ª®¤ ®âª«îç î騩 ¡ ªã á ®â« ¤ç¨ª®¬:                           [] | ||||
| ;[] ld a,<2C>®¬¥à<C2A5> ª¨<C2AA>®¤Žâ« ¤ç¨ª®¬                                            [] | ||||
| ;[] out (<28>®¬¥à<C2A5>®àâ 2Žª ),a                                                 [] | ||||
| ;[] jp Rezident.Start                                                       [] | ||||
| ;[] „ «¥¥ १¨¤¥â ¢®áâ  ¢«¨¢ ¥â 7 ¡ ©â § ¯®àç¥ëå ¢ë襯ॢ¥¤¥®© ¯à®æ¥-  [] | ||||
| ;[] ¤ãன,   â ª¦¥ ¯ àã HL ¨  ªªã¬ã«ïâ®à ¨ ¯¥à¥å®¤¨â ª âà áá¨à®¢ª¥. ‚®§¢à â [] | ||||
| ;[] ¯à®¨á室¨â   ¬¥âªã Rezident.RetIn, £¤¥ ¯®á«¥ á®åà ¥¨ï  ªªã¬ã«ïâ®à  ¨ [] | ||||
| ;[] ¯ àë HL á®åà ï¥âáï 7 ¡ ©â ¯ ¬ï⨠¨§  ¤à¥á  AdrTmpBuf ¨ â㤠 ¯à®¯¨á뢠- [] | ||||
| ;[] ¥âáï ª®¤ ¢®áâ ®¢«¥¨ï ¡ ª¨ á ®â« ¤ç¨ª®¬:                              [] | ||||
| ;[] ld a,<2C>®¬¥à<C2A5> ª¨‘Žâ« ¤ç¨ª®¬                                              [] | ||||
| ;[] out (<28>®¬¥à<C2A5>®àâ 2Žª ),a                                                 [] | ||||
| ;[] jp ‚Žâ« ¤ç¨ª                                                            [] | ||||
| ;[] <20>®á«¥ ¢®§¢à â  ¢ ®â« ¤ç¨ª ¢®áâ  ¢«¨¢ ¥âáï ¯ ¬ïâì § ¯®à祠ï १¨¤¥â®¬ [] | ||||
| ;[] ¨ ¢à¥¬¥®© ¯à®æ¥¤ãன                                                  [] | ||||
| ;[]=========================================================================[] | ||||
| AdrTmpBuf       equ     0xFF00 | ||||
| Rezident: | ||||
|                 ds      11 | ||||
| 
 | ||||
| .Start          ld      hl,0                    ;¢®áâ. ¯ ¬ï⨠§ ¯®à祮© ¯à¨ | ||||
|                 ld      (AdrTmpBuf),hl          ;à §¬¥é¥¨¨ १¨¤¥â  | ||||
|                 ld      hl,0                    ;¢® 2-¬ ®ª¥ | ||||
|                 ld      (AdrTmpBuf+2),hl | ||||
|                 ld      hl,0 | ||||
|                 ld      (AdrTmpBuf+4),hl | ||||
|                 ld      a,0 | ||||
|                 ld      (AdrTmpBuf+6),a | ||||
| .K2             ld      hl,(Rezident+2)         ;¢®áâ ®¢¨«¨ HL | ||||
|                 jr      .K3 | ||||
|                 ;...¢®áâ ®¢¨âì ¡ ªã ¢® 2-¬ ®ª¥ | ||||
| .Start1         ld      a,0xFF                  ;¡ ª  ¯®¤ demon'®¬ | ||||
|                 out     (EmmWin.P2),a | ||||
| .K3             ld      a,(Rezident+1)          ;¢®áâ ®¢¨¬  ªªã¬ã«ïâ®à | ||||
| 
 | ||||
| .Step           jp      0                       ;¯¥à¥å®¤   ¢ë¯®«¥¨¥ | ||||
| 
 | ||||
| .RetIn          ld      (Rezident+1),a          ;á®åà ¨¬  ªªã¬ã«ïâ®à | ||||
| .K4             ld      (Rezident+2),hl         ;á®åà ¨¬ HL | ||||
|                 ld      hl,(AdrTmpBuf)          ;á®åà ¥¨¥ ¯ ¬ï⨠| ||||
| .K5             ld      (Rezident+4),hl | ||||
|                 ld      hl,(AdrTmpBuf+2) | ||||
|                 ld      (Rezident+6),hl | ||||
|                 ld      hl,(AdrTmpBuf+4) | ||||
|                 ld      (Rezident+8),hl | ||||
|                 ld      a,(AdrTmpBuf+6) | ||||
|                 ld      (Rezident+10),a | ||||
| .BankD1         ld      hl,0xFF3E               ;ld a,0xFF - N ¡ ª¨ á ®â« ¤ç | ||||
|                 ld      (AdrTmpBuf),hl | ||||
|                 ld      hl,EmmWin.P2*256+0xD3   ;out (EmmWin.P2),a | ||||
|                 ld      (AdrTmpBuf+2),hl | ||||
| .Return1        ld      hl,0xC3                 ;jp ¢ ®â« ¤ç¨ª | ||||
|                 ld      (AdrTmpBuf+4),hl | ||||
|                 ld      a,0 | ||||
|                 ld      (AdrTmpBuf+6),a | ||||
|                 in      a,(EmmWin.P2)           ;®¬¥à ¡ ª¨ ¯®¤ demon'®¬ | ||||
| .K6             ld      (Rezident),a            ;á®åà ¨«¨ | ||||
|                 jp      AdrTmpBuf | ||||
| 
 | ||||
| .RetIn1         ld      (Rezident+1),a          ;á®åà ¨¬  ªªã¬ã«ïâ®à | ||||
|                 ;...á®åà ¨âì ¡ ªã ¨§ 2-£® ®ª  | ||||
|                 in      a,(EmmWin.P2)           ;®¬¥à ¡ ª¨ ¯®¤ demon'®¬ | ||||
| .K1             ld      (Rezident),a            ;á®åà ¨«¨ | ||||
| .BankD          ld      a,0xFF                  ;¡ ª  á demon'®¬ | ||||
|                 out     (EmmWin.P2),a | ||||
| 
 | ||||
| .Return         jp      0 | ||||
| 
 | ||||
| .End | ||||
| 
 | ||||
							
								
								
									
										64
									
								
								SAVESCR.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								SAVESCR.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,64 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                      ‘®åà ¥¨¥ íªà   ¢ ä ©«                           [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 11.03.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| SaveScr: | ||||
|                 ld      bc,1*256+Dss.GetMem | ||||
|                 rst     DssRst                  ;¢ë¤¥«¥¨¥ ¡ ª¨ ¯ ¬ï⨠| ||||
|                 ret     c                       ;¢ë室 á ®è¨¡ª®© | ||||
|                 ld      (.Id),a | ||||
|                 ld      bc,Dss.SetWin3 | ||||
|                 rst     DssRst                  ;¢ª«î票¥ ¡ ª¨ ¢ 3-¥ ®ª® | ||||
|                 ld      (.Id+1),a               ;§ ¬¥é ¥¬ ï áâà ¨æ  | ||||
|                 ld      de,0                    ;¯®§¨æ¨ï   íªà ¥ | ||||
|                 ld      hl,0xC000 | ||||
| .L1             push    de | ||||
|                 push    hl | ||||
|                 ld      c,Dss.RdChar | ||||
|                 rst     DssRst                  ;áç¨â âì ᨬ¢®« á íªà   | ||||
|                 pop     hl | ||||
|                 pop     de | ||||
|                 ld      (hl),a | ||||
|                 inc     hl | ||||
|                 inc     e | ||||
|                 ld      a,e | ||||
|                 cp      0x50                    ;§ ª®ç¨« áì áâப ? | ||||
|                 jr      nz,.L1 | ||||
|                 ld      bc,0x0D0A               ;ª®¥æ áâப¨ | ||||
|                 ld      (hl),b | ||||
|                 inc     hl | ||||
|                 ld      (hl),c | ||||
|                 inc     hl | ||||
|                 ld      e,0                     ; ç «® áâப¨ | ||||
|                 inc     d | ||||
|                 ld      a,d | ||||
|                 cp      0x20                    ;ª®¥æ íªà  ? | ||||
|                 jr      nz,.L1 | ||||
| 
 | ||||
|                 ld      hl,.NameF               ;¨¬ï ä ©«  | ||||
|                 xor     a                       ; âਡãâ | ||||
|                 ld      c,Dss.Create | ||||
|                 rst     DssRst | ||||
|                 jr      c,.L2                   ;®è¨¡ª  | ||||
|                 push    af | ||||
|                 ld      hl,0xC000               ; ç «® § ¯¨á뢠¥¬®© ¯ ¬ï⨠| ||||
|                 ld      de,82*32                ;à §¬¥à § ¯¨á뢠¥¬®© ¨äë | ||||
|                 ld      c,Dss.Write | ||||
|                 rst     DssRst                  ;§ ¯¨á âì | ||||
|                 pop     af | ||||
|                 ld      c,Dss.Close | ||||
|                 rst     DssRst                  ;§ ªàëâì ä ©« | ||||
| 
 | ||||
| .L2             ld      a,(.Id)                 ;id ¯ ¬ï⨠| ||||
|                 ld      c,Dss.FreeMem | ||||
|                 rst     DssRst                  ;®á¢®¡®¤¨âì ¯ ¬ïâì | ||||
|                 ld      a,(.Id+1) | ||||
|                 out     (EmmWin.P3),a           ;¢®áâ ®¢¨«¨ ¡ ªã | ||||
|                 ret | ||||
|                  | ||||
| .NameF          db      "demon.$$$",0 | ||||
| .Id             ds      2                       ;id ¢ë¤¥«¥®£® ¡«®ª  | ||||
| 
 | ||||
| ;11:11 18.02.2011 ‡ £«ã誠 <20>¥ ¡ë«® ¨á室¨ª  :(  | ||||
| ;                include "d:\workast\demon\screen\scrdemon" | ||||
| 
 | ||||
							
								
								
									
										431
									
								
								STEP.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										431
									
								
								STEP.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,431 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]                       Žâ« ¤ª  ª®¬ ¤ ¯à®£à ¬¬ë                          [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 10.03.2006                                  [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 18.03.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| Step: | ||||
|                 di | ||||
|                 ld      a,(WinPage+2)           ;¡ ª  ¯®¤ demon'®¬ | ||||
|                 ld      (Rezident.Start1+1),a   ;¢ १¨¤¥â ¥¥ | ||||
|                 ld      (.BankP+1),a | ||||
|                 ld      a,(BankDebug)           ;¡ ª  á demon'®¬ | ||||
|                 ld      (Rezident.BankD+1),a    ;¢ १¨¤¥â ¥¥ | ||||
|                 ld      (Rezident.BankD1+2),a | ||||
|                 ld      hl,Step.Run+3           ;â®çª  ¢®§¢à â  ¢ ®â« ¤ç¨ª | ||||
|                 ld      (Rezident.Return+1),hl  ;¯à®¯¨á뢠¥¬ ¢ १¨¤¥â¥ | ||||
|                 ld      a,l | ||||
|                 ld      (Rezident.Return1+2),a | ||||
|                 ld      a,h | ||||
|                 ld      (Rezident.Return1+7),a | ||||
|                 ld      hl,(Reg._PC) | ||||
|                 ld      (Rezident.Step+1),hl    ; ¤à¥á ®â« ¦¨¢ ¥¬®© ª®¬ ¤ë | ||||
| 
 | ||||
|                 ld      a,(Reg._AF)             ;ä« £ | ||||
|                 ld      b,a | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;ª®¤ ª®¬ ¤ë | ||||
| 
 | ||||
|                 ld      c,a | ||||
|                 and     11001111b | ||||
|                 cp      11000101b              ;PUSH | ||||
|                 call    z,.SpdInc | ||||
|                 cp      11000001b              ;POP | ||||
|                 call    z,.SpdDec | ||||
| 
 | ||||
|                 ld      a,c | ||||
|                 cp      0xCD                    ;CALL | ||||
|                 jr      nz,.L7 | ||||
|                 ld      a,(.Flag) | ||||
|                 inc     a | ||||
|                 jp      nz,.L2                  ;¡¥§ § å®¤  ¢ ¯®¤¯à®£à ¬¬ã | ||||
|                 jp      .L8 | ||||
| .L7             cp      0xC9                    ;RET | ||||
|                 jp      z,.L9 | ||||
|                 cp      0xC3                    ;JP | ||||
|                 jp      z,.L8+3 | ||||
|                 cp      0x18                    ;JR | ||||
|                 jp      z,.L6 | ||||
|                 cp      0x10                    ;DJNZ | ||||
|                 jr      nz,.L18 | ||||
|                 ld      a,(.Flag) | ||||
|                 inc     a | ||||
|                 jp      nz,.L2                  ;¡¥§ ®â« ¤ª¨ 横«  | ||||
|                 ld      a,(Reg._BC+1) | ||||
|                 dec     a | ||||
|                 jr      nz,.L6 | ||||
|                 jp      .L2 | ||||
| .L18            inc     hl                      ;á«¥¤ãî騩 ¡ ©â ᮬ ¤ë | ||||
|                 exa | ||||
|                 call    Ld_a_hl | ||||
|                 ld      c,a | ||||
|                 exa | ||||
| ;                ld      c,(hl) | ||||
|                 dec     hl | ||||
|                 cp      0xED                    ;¯à¥ä¨ªá ¤«ï RETI, RETN | ||||
|                 jr      nz,.L10 | ||||
|                 ld      a,c | ||||
|                 cp      0x4D                    ;RETI | ||||
|                 jp      z,.L9 | ||||
|                 cp      0x45                    ;RETN | ||||
|                 jp      z,.L9 | ||||
| .L10            cp      0xDD                    ;¯à¥ä¨ªá ¤«ï IX | ||||
|                 jr      nz,.L25 | ||||
|                 ld      a,c | ||||
|                 cp      0xE5                    ;PUSH IX | ||||
|                 call    z,.SpdInc | ||||
|                 cp      0xE1                    ;POP IX | ||||
|                 call    z,.SpdDec | ||||
|                 ld      de,(Reg._IX) | ||||
|                 jr      .L24 | ||||
| .L25            cp      0xFD                    ;¯à¥ä¨ªá ¤«ï IY | ||||
|                 jr      nz,.L24-4 | ||||
|                 ld      a,c | ||||
|                 cp      0xE5                    ;PUSH IY | ||||
|                 call    z,.SpdInc | ||||
|                 cp      0xE1                    ;POP IY | ||||
|                 call    z,.SpdDec | ||||
|                 ld      de,(Reg._IY) | ||||
|                 jr      .L24 | ||||
|                 ld      de,(Reg._HL) | ||||
| .L24            cp      0xE9                    ;JP (HL/IX/IY) | ||||
|                 jr      nz,.L23 | ||||
|                 ex      de,hl | ||||
|                 jp      .L2+3 | ||||
| .L23            cp      0x38                    ;JR C, | ||||
|                 jr      nz,.L19 | ||||
|                 bit     0,b                     ;ä« £ C | ||||
|                 jp      z,.L2                   ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L6                     ;¯¥à¥å®¤ | ||||
| .L19            cp      0x30                    ;JR NC, | ||||
|                 jr      nz,.L20 | ||||
|                 bit     0,b                     ;ä« £ C | ||||
|                 jp      nz,.L2                  ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L6                     ;¯¥à¥å®¤ | ||||
| .L20            cp      0x28                    ;JR Z, | ||||
|                 jr      nz,.L21 | ||||
|                 bit     6,b                     ;ä« £ Z | ||||
|                 jp      z,.L2                   ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L6                     ;¯¥à¥å®¤ | ||||
| .L21            cp      0x20                    ;JR NZ, | ||||
|                 jr      nz,.L22 | ||||
|                 bit     6,b                     ;ä« £ Z | ||||
|                 jp      nz,.L2                  ;¥â ¯¥à¥å®¤  | ||||
| 
 | ||||
| .L6             inc     hl | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;ᬥ饨¥ | ||||
|                 inc     hl | ||||
|                 ld      b,0 | ||||
|                 ld      c,a | ||||
|                 bit     7,a                     ;§ ª ç¨á«  | ||||
|                 jr      z,$+11 | ||||
|                 neg | ||||
|                 or      a                       ;á¡à®á ä« £  C | ||||
|                 ld      c,a | ||||
|                 sbc     hl,bc                   ;®âà¨æ â¥«ì®¥ ᬥ饨¥ | ||||
|                 jp      .L2+3 | ||||
|                 add     hl,bc                   ;¯®«®¦¨â¥«ì®¥ ᬥ饨¥ | ||||
|                 jp      .L2+3 | ||||
| 
 | ||||
| .L22            and     11000111b | ||||
|                 cp      11000111b              ;RST x | ||||
|                 jr      nz,.L27 | ||||
|                 ld      a,(.Flag) | ||||
|                 inc     a | ||||
|                 jp      nz,.L2                  ;¡¥§ § å®¤  ¢ ¯®¤¯à®£à ¬¬ã | ||||
|                 call    .SpdInc | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;¡ ©â ª®¬¤ë | ||||
|                 and     00111000b              ; ¤à¥á ¯¥à¥å®¤  | ||||
|                 ld      h,0 | ||||
|                 ld      l,a | ||||
|                 jp      .L2+3 | ||||
| .L27            cp      11000010b              ;JP flag | ||||
|                 jr      z,.L26 | ||||
|                 cp      11000000b              ;RET flag | ||||
|                 jr      z,.L26 | ||||
|                 cp      11000100b              ;CALL flag | ||||
|                 jr      nz,.L2 | ||||
|                 ld      a,(.Flag) | ||||
|                 inc     a | ||||
|                 jr      nz,.L2                  ;¡¥§ § å®¤  ¢ ¯®¤¯à®£à ¬¬ã | ||||
| .L26            call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;ª®¤ ª®¬ ¤ë | ||||
|                 and     00111000b              ;ä« £¨ | ||||
|                 jr      z,.L11                  ;JP/CALL/RET NZ, | ||||
|                 cp      00001000b | ||||
|                 jr      z,.L12                  ;JP/CALL/RET Z, | ||||
|                 cp      00010000b | ||||
|                 jr      z,.L13                  ;JP/CALL/RET NC, | ||||
|                 cp      00011000b | ||||
|                 jr      z,.L14                  ;JP/CALL/RET C, | ||||
|                 cp      00100000b | ||||
|                 jr      z,.L15                  ;JP/CALL/RET PO, | ||||
|                 cp      00101000b | ||||
|                 jr      z,.L16                  ;JP/CALL/RET PE, | ||||
|                 cp      00110000b | ||||
|                 jr      z,.L17                  ;JP/CALL/RET P, | ||||
|                 bit     7,b                     ;JP/CALL/RET M, ä« £ S | ||||
|                 jr      z,.L2                   ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L5                     ;¯¥à¥å®¤ | ||||
| .L11            bit     6,b                     ;ä« £ Z | ||||
|                 jr      nz,.L2                  ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L5                     ;¯¥à¥å®¤ | ||||
| .L12            bit     6,b                     ;ä« £ Z | ||||
|                 jr      z,.L2                   ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L5                     ;¯¥à¥å®¤ | ||||
| .L13            bit     0,b                     ;ä« £ C | ||||
|                 jr      nz,.L2                  ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L5                     ;¯¥à¥å®¤ | ||||
| .L14            bit     0,b                     ;ä« £ C | ||||
|                 jr      z,.L2                   ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L5                     ;¯¥à¥å®¤ | ||||
| .L15            bit     2,b                     ;ä« £ P/V | ||||
|                 jr      nz,.L2                  ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L5                     ;¯¥à¥å®¤ | ||||
| .L16            bit     2,b                     ;ä« £ P/V | ||||
|                 jr      z,.L2                   ;¥â ¯¥à¥å®¤  | ||||
|                 jr      .L5                     ;¯¥à¥å®¤ | ||||
| .L17            bit     7,b                     ;ä« £ S | ||||
|                 jr      nz,.L2                  ;¥â ¯¥à¥å®¤  | ||||
| 
 | ||||
| .L5             call    Ld_a_hl | ||||
| ;                ld      a,(hl)                  ;ª®¤ ª®¬ ¤ë | ||||
|                 and     00000111b              ;®âá«¥¤¨âì RET'ë | ||||
|                 jr      nz,.L8-4 | ||||
| .L9             call    .SpdDec | ||||
|                 ld      hl,(Reg._SP)            ;á⥪ | ||||
|                 dec     hl | ||||
|                 jr      .L8+3 | ||||
|                 cp      00000010b              ;®âá«¥¤¨âì JP | ||||
|                 jr      z,.L8+3 | ||||
| .L8             call    .SpdInc | ||||
|                 inc     hl | ||||
|                 call    Ld_a_hl | ||||
|                 ld      b,a | ||||
| ;                ld      a,(hl) | ||||
|                 inc     hl | ||||
|                 call    Ld_a_hl | ||||
| ;                ld      h,(hl) | ||||
|                 ld      h,a | ||||
|                 ld      l,b | ||||
|                 jr      .L2+3 | ||||
| .L2             call    List                    ;á«¥¤ãîé ï ª®¬ ¤  | ||||
|                 ld      (Reg._PC),hl            ;®¢ë© PC | ||||
|                 push    hl | ||||
|                 push    hl | ||||
|                 ld      a,(KList.Descript)      ;ª®«¨ç¥á⢮ áâப «¨á⨣  | ||||
|                 call    AdrListTabl             ;¨¦¨©  ¤à¥á «¨á⨣  | ||||
|                 ld      de,(ListAdr)            ;¢¥à娩  ¤à¥á «¨á⨣  | ||||
|                 pop     bc                      ;®¢ë© PC | ||||
|                 call    AdrArea | ||||
|                 jr      nc,.L1+4 | ||||
| 
 | ||||
| .L1             ld      (ListAdr),bc            ;®¢ ï áâà ¨æ  «¨á⨣  | ||||
|                 pop     hl | ||||
| 
 | ||||
|                 call    Ld_a_hl                 ;á«¥¤ãî騥 §  ª®¬ ¤®© ¡ ©âë | ||||
|                 ld      c,a | ||||
|                 inc     hl | ||||
|                 call    Ld_a_hl | ||||
|                 ld      b,a | ||||
|                 inc     hl | ||||
|                 call    Ld_a_hl | ||||
|                 push    bc | ||||
|                 push    af | ||||
|                 push    hl | ||||
| 
 | ||||
|                 push    hl | ||||
|                 ld      hl,(RezAdr)             ; ¤à¥á ¯®á ¤ª¨ १¨¤¥â  | ||||
|                 ld      a,h | ||||
|                 and     11000000b | ||||
|                 cp      10000000b              ;®ª® ¯®á ¤ª¨ १¨¤¥â  | ||||
|                 ld      a,0xFF                  ;FF - १¨¤¥â ¢® 2-¬ ®ª¥ | ||||
|                 jr      nz,.L30 | ||||
|                 ld      de,Rezident.RetIn-Rezident | ||||
|                 jr      .L30+4 | ||||
| .L30            ld      de,Rezident.RetIn1-Rezident | ||||
|                 inc     a                       ;0 - १¨¤¥â ¥ ¢® 2-¬ ®ª¥ | ||||
|                 ld      (.WRez),a | ||||
|                 add     hl,de                   ; ¤à¥á ¢®§¢à â  ¢ १¨¤¥â | ||||
|                 ex      de,hl                         | ||||
|                 pop     hl | ||||
|                 ld      a,d                     ;¯à®¯¨á뢠¥¬ ¯®á«¥ | ||||
|                 call    Ld_hl_a                 ;®â« ¦¨¢ ¥¬®© ª®¬ ¤ë | ||||
|                 dec     hl | ||||
|                 ld      a,e | ||||
|                 call    Ld_hl_a | ||||
|                 dec     hl | ||||
|                 ld      a,0xC3                  ;JP | ||||
|                 call    Ld_hl_a | ||||
| 
 | ||||
|                 ld      hl,(RezAdr)             ; ¤à¥á ¯®á ¤ª¨ | ||||
|                 push    hl                      ;ª®à४æ¨ï  ¤à¥á®¢ ª®¤  १¨¤¥â  | ||||
|                 ld      (Rezident.K1+1),hl      ;®¬¥à ¡ ª¨ ¯®¤ ®â« ¤ç¨ª®¬ | ||||
|                 ld      (Rezident.K6+1),hl | ||||
|                 inc     hl | ||||
|                 ld      (Rezident.K3+1),hl      ; ªªã¬ã«ïâ®à ¯à£à ¬¬ë | ||||
|                 ld      (Rezident.RetIn+1),hl | ||||
|                 ld      (Rezident.RetIn1+1),hl | ||||
|                 inc     hl | ||||
|                 ld      (Rezident.K2+1),hl      ;¯ à  HL ¯à®£à ¬¬ë | ||||
|                 ld      (Rezident.K4+1),hl | ||||
|                 inc     hl | ||||
|                 inc     hl | ||||
|                 ld      (Rezident.K5+1),hl      ;1 ¨ 2 ¡ ©âë ¡ãä¥à  | ||||
|                 inc     hl | ||||
|                 inc     hl | ||||
|                 ld      (Rezident.K5+7),hl      ;3 ¨ 4 ¡ ©âë ¡ãä¥à  | ||||
|                 inc     hl | ||||
|                 inc     hl | ||||
|                 ld      (Rezident.K5+13),hl     ;5 ¨ 6 ¡ ©âë ¡ãä¥à  | ||||
|                 inc     hl | ||||
|                 inc     hl | ||||
|                 ld      (Rezident.K5+19),hl     ;7 ¡ ©â ¡ãä¥à  | ||||
| 
 | ||||
|                 ld      a,(.WRez)               ;ä« £ ¯®á ¤ª¨ १¨¤¥â  | ||||
|                 or      a | ||||
|                 jr      nz,.L31 | ||||
|                 ld      de,Rezident.Start1-Rezident | ||||
|                 ld      hl,(RezAdr)             ; ¤à¥á ¯®á ¤ª¨ | ||||
|                 add     hl,de                   ;áâ àâ १¨¤¥â  ¥ ¢® 2-¬ ®ª¥ | ||||
|                 jr      .L32 | ||||
| 
 | ||||
| .L31            inc     hl                      ;áâ àâ १¨¤¥â  ¢® 2-¬ ®ª¥ | ||||
|                 ld      (.Run1+1),hl | ||||
| 
 | ||||
|                 ld      hl,AdrTmpBuf | ||||
|                 ld      de,Rezident.Start+1     ;á®åà ¥¨¥ 7 ¡ ©â ¢ १¨¤¥â¥ | ||||
|                 ld      b,3 | ||||
| .L33            ld      a,(hl) | ||||
|                 ld      (de),a | ||||
|                 inc     hl | ||||
|                 inc     de | ||||
|                 ld      a,(hl) | ||||
|                 ld      (de),a | ||||
|                 inc     hl | ||||
|                 inc     de | ||||
|                 inc     de | ||||
|                 inc     de | ||||
|                 inc     de | ||||
|                 inc     de | ||||
|                 djnz    .L33 | ||||
|                 ld      a,(hl) | ||||
|                 ld      (de),a | ||||
| 
 | ||||
|                 ld      de,.Run1+2              ;¢á¯®¬®£ â¥«ì ï ¯à®æ¥¤ãà  | ||||
|                 ld      b,7                     ;¤«¨  | ||||
| .L34            ld      a,(de) | ||||
|                 ld      (hl),a | ||||
|                 dec     hl | ||||
|                 dec     de | ||||
|                 djnz    .L34 | ||||
|                 inc     hl | ||||
| 
 | ||||
| .L32            ld      (.Run+1),hl | ||||
| 
 | ||||
|                 ld      a,(Reg._AF+1)           ; ªªã¬ã«ïâ®à ¯à®£à ¬¬ë | ||||
|                 ld      (Rezident+1),a          ;¢ १¨¤¥â | ||||
|                 ld      hl,(Reg._HL)            ;¯ à  HL | ||||
|                 ld      (Rezident+2),hl         ;¢ १¨¤¥â | ||||
| 
 | ||||
|                 pop     hl                      ; ¤à¥á ¯®á ¤ª¨ १¨¤¥â  | ||||
|                 ld      de,Rezident             ; ç «® १¨¤¥â  | ||||
|                 ld      bc,.Buffer | ||||
|                 ld      a,Rezident.End-Rezident ;¤«¨  १¨¤¥â  | ||||
| .L3             push    af | ||||
|                 call    Ld_a_hl | ||||
|                 ld      (bc),a                  ;á®åà ¥¨¥ ¯ ¬ï⨠¯®¤ १¨¤¥â®¬ | ||||
|                 ld      a,(de)                  ;ª®¯¨à®¢ ¨¥ १¨¤¥â  | ||||
|                 call    Ld_hl_a | ||||
|                 inc     bc | ||||
|                 inc     de | ||||
|                 inc     hl | ||||
|                 pop     af | ||||
|                 dec     a | ||||
|                 jr      nz,.L3 | ||||
| 
 | ||||
|                 ld      a,(WinPage)             ;¡ ª  ¢ 0-®¬ ®ª¥ | ||||
|                 out     (EmmWin.P0),a | ||||
| 
 | ||||
|                 call    RestAllRegs | ||||
|                 ld      (StackDebug),sp         ;á⥪ ®â« ¤ç¨ª  | ||||
|                 ld      sp,(Reg._SP)            ;á⥪ ¯à®£à ¬¬ë | ||||
| .Run            jp      0                       ;¯ã᪠१¨¤¥â  | ||||
|           | ||||
|                 ld      (Reg._SP),sp            ;á⥪ ¯à®£à ¬¬ë | ||||
|                 ld      sp,(StackDebug)         ;á⥪ ®â« ¤ç¨ª  | ||||
|                 call    SaveAllRegs | ||||
|                 in      a,(EmmWin.P0) | ||||
|                 ld      (WinPage),a             ;¡ ª  ¢ 0-®¬ ®ª¥ | ||||
|                 ld      a,(BankOS)              ;¡ ª  á OS | ||||
|                 out     (EmmWin.P0),a | ||||
| 
 | ||||
|                 ld      hl,(RezAdr) | ||||
|                 call    Ld_a_hl | ||||
|                 ld      (WinPage+2),a           ;®¬¥à ¡ ª¨ ¢® 2-®¬ ®ª¥ | ||||
|                 inc     hl                      ; ªªã¬ã«ïâ®à ¯à®£à ¬¬  | ||||
|                 call    Ld_a_hl | ||||
|                 ld      (Reg._AF+1),a | ||||
|                 ld      a,(.WRez)               ;ä« £ १¨¤¥â  | ||||
|                 or      a | ||||
|                 jr      z,.L35                  ;¥ ¢® 2-¬ ®ª¥ | ||||
|                 inc     hl                      ;ॣ¨áâà L ¯à®£à ¬¬ë | ||||
|                 call    Ld_a_hl | ||||
|                 ld      (Reg._HL),a | ||||
|                 inc     hl                      ;ॣ¨áâà H ¯à®£à ¬¬ë | ||||
|                 call    Ld_a_hl | ||||
|                 ld      (Reg._HL+1),a | ||||
|                 ld      b,7 | ||||
|                 ld      de,AdrTmpBuf | ||||
| .L36            inc     hl                      ;¡ãä¥à 7-¬¨ ¡ ©â | ||||
|                 call    Ld_a_hl | ||||
|                 ld      (de),a                  ;¢®áâ ®¢¨«¨ | ||||
|                 inc     de | ||||
|                 djnz    .L36 | ||||
| 
 | ||||
| .L35            pop     hl | ||||
|                 pop     af                      ;¢®áâ ®¢¨«¨ ª®¤ ª®¬ ¤ë | ||||
|                 pop     bc | ||||
|                 call    Ld_hl_a | ||||
|                 dec     hl | ||||
|                 ld      a,b | ||||
|                 call    Ld_hl_a | ||||
|                 dec     hl | ||||
|                 ld      a,c | ||||
|                 call    Ld_hl_a | ||||
| 
 | ||||
|                 ld      de,.Buffer              ;¢®ááâ ®¢«¥¨¥ ¯ ¬ï⨠¯®¤ १¨¤¥â®¬ | ||||
|                 ld      hl,(RezAdr)             ; ¤à¥á ¯®á ¤ª¨ | ||||
|                 ld      b,Rezident.End-Rezident ;¤«¨  १¨¤¥â  | ||||
| .L4             ld      a,(de) | ||||
|                 call    Ld_hl_a | ||||
|                 inc     de | ||||
|                 inc     hl | ||||
|                 djnz    .L4 | ||||
|                 ei | ||||
|                 ret | ||||
| 
 | ||||
| .BankP          ld      a,0xFF                  ;(2) ¡ ª  ¯®¤ ®â« ¤ç¨ª®¬ | ||||
|                 out     (EmmWin.P2),a           ;(2) | ||||
| .Run1           jp      0                       ;(3) ¯¥à¥å®¤ ¢ १¨¤¥â | ||||
| 
 | ||||
| .SpdInc         push    af                      ;㢥«¨ç¥¨¥ £«ã¡¨ë á⥪  | ||||
|                 ld      a,(StackDown) | ||||
|                 inc     a | ||||
|                 ld      (StackDown),a | ||||
|                 pop     af | ||||
|                 ret | ||||
| 
 | ||||
| .SpdDec         push    af                      ;㬥ì襨¥ £«ã¡¨ë á⥪  | ||||
|                 ld      a,(StackDown) | ||||
|                 dec     a | ||||
|                 ld      (StackDown),a | ||||
|                 pop     af | ||||
|                 ret | ||||
| 
 | ||||
| .Flag           db      On                      ;ä« £ § å®¤  ¢ ¯®¤¯à®£à ¬¬ë | ||||
| .WRez           db      0                       ;ä« £ ®ª  ¯®á ¤ª¨ १¨¤¥â  | ||||
| 
 | ||||
| .Buffer         ds      Rezident.End-Rezident   ;¤«¨  १¨¤¥â  | ||||
| 
 | ||||
							
								
								
									
										362
									
								
								TABL.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										362
									
								
								TABL.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,362 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]             ’ ¡«¨æë ¤¨§ áᥬ¡«¥à  ¬®¨â®à -®â« ¤ç¨ª  DemoN              [] | ||||
| ;[] v0.01 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 10.10.2004                                  [] | ||||
| ;[] v0.02 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 29.11.2004                                  [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 29.01.2006                                  [] | ||||
| ;[]=========================================================================[] | ||||
| Tabl00_3F: | ||||
|                 dw      M00,M01,M02,M03,M04,M05,M06,M07,M08,M09,M0A,M0B,M0C,M0D,M0E,M0F | ||||
|                 dw      M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M1A,M1B,M1C,M1D,M1E,M1F | ||||
|                 dw      M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M2A,M2B,M2C,M2D,M2E,M2F | ||||
|                 dw      M30,M31,M32,M33,M34,M35,M36,M37,M38,M39,M3A,M3B,M3C,M3D,M3E,M3F | ||||
| 
 | ||||
| M00             db      "NOP",0 | ||||
| M01             db      "LD BC,",2 | ||||
| M02             db      "LD (BC),A",0 | ||||
| M03             db      "INC BC",0 | ||||
| M04             db      "INC B",0 | ||||
| M05             db      "DEC B",0 | ||||
| M06             db      "LD B,",1 | ||||
| M07             db      "RLCA",0 | ||||
| M08             db      "EX AF,AF'",0 | ||||
| M09             db      "ADD HL,BC",0 | ||||
| M0A             db      "LD A,(BC)",0 | ||||
| M0B             db      "DEC BC",0 | ||||
| M0C             db      "INC C",0 | ||||
| M0D             db      "DEC C",0 | ||||
| M0E             db      "LD C,",1 | ||||
| M0F             db      "RRCA",0 | ||||
| M10             db      "DJNZ ",3 | ||||
| M11             db      "LD DE,",2 | ||||
| M12             db      "LD (DE),A",0 | ||||
| M13             db      "INC DE",0 | ||||
| M14             db      "INC D",0 | ||||
| M15             db      "DEC D",0 | ||||
| M16             db      "LD D,",1 | ||||
| M17             db      "RLA",0 | ||||
| M18             db      "JR ",3 | ||||
| M19             db      "ADD HL,DE",0 | ||||
| M1A             db      "LD A,(DE)",0 | ||||
| M1B             db      "DEC DE",0 | ||||
| M1C             db      "INC E",0 | ||||
| M1D             db      "DEC E",0 | ||||
| M1E             db      "LD E,",1 | ||||
| M1F             db      "RRA",0 | ||||
| M20             db      "JR NZ,",3 | ||||
| M21             db      "LD HL,",2 | ||||
| M22             db      "LD (),HL",5 | ||||
| M23             db      "INC HL",0 | ||||
| M24             db      "INC H",0 | ||||
| M25             db      "DEC H",0 | ||||
| M26             db      "LD H,",1 | ||||
| M27             db      "DAA",0 | ||||
| M28             db      "JR Z,",3 | ||||
| M29             db      "ADD HL,HL",0 | ||||
| M2A             db      "LD HL,()",5 | ||||
| M2B             db      "DEC HL",0 | ||||
| M2C             db      "INC L",0 | ||||
| M2D             db      "DEC L",0 | ||||
| M2E             db      "LD L,",1 | ||||
| M2F             db      "CPL",0 | ||||
| M30             db      "JR NC,",3 | ||||
| M31             db      "LD SP,",2 | ||||
| M32             db      "LD (),A",5 | ||||
| M33             db      "INC SP",0 | ||||
| M34             db      "INC (HL)",0 | ||||
| M35             db      "DEC (HL)",0 | ||||
| M36             db      "LD (HL),",1 | ||||
| M37             db      "SCF",0 | ||||
| M38             db      "JR C,",3 | ||||
| M39             db      "ADD HL,SP",0 | ||||
| M3A             db      "LD A,()",5 | ||||
| M3B             db      "DEC SP",0 | ||||
| M3C             db      "INC A",0 | ||||
| M3D             db      "DEC A",0 | ||||
| M3E             db      "LD A,",1 | ||||
| M3F             db      "CCF",0 | ||||
| 
 | ||||
| TablC0_FF: | ||||
|                 dw      MC0,MC1,MC2,MC3,MC4,MC5,MC6,MC7,MC8,MC9,MCA,M00,MCC,MCD,MCE,MCF | ||||
|                 dw      MD0,MD1,MD2,MD3,MD4,MD5,MD6,MD7,MD8,MD9,MDA,MDB,MDC,MDD,MDE,MDF | ||||
|                 dw      ME0,ME1,ME2,ME3,ME4,ME5,ME6,ME7,ME8,ME9,MEA,MEB,MEC,M00,MEE,MEF | ||||
|                 dw      MF0,MF1,MF2,MF3,MF4,MF5,MF6,MF7,MF8,MF9,MFA,MFB,MFC,MFD,MFE,MFF | ||||
| 
 | ||||
| MC0             db      "RET NZ",0 | ||||
| MC1             db      "POP BC",0 | ||||
| MC2             db      "JP NZ,",2 | ||||
| MC3             db      "JP ",2 | ||||
| MC4             db      "CALL NZ,",2 | ||||
| MC5             db      "PUSH BC",0 | ||||
| MC6             db      "ADD A,",1 | ||||
| MC7             db      "RST 0",0 | ||||
| MC8             db      "RET Z",0 | ||||
| MC9             db      "RET",0 | ||||
| MCA             db      "JP Z,",2 | ||||
| MCC             db      "CALL Z,",2 | ||||
| MCD             db      "CALL ",2 | ||||
| MCE             db      "ADC A,",1 | ||||
| MCF             db      "RST 8",0 | ||||
| MD0             db      "RET NC",0 | ||||
| MD1             db      "POP DE",0 | ||||
| MD2             db      "JP NC,",2 | ||||
| MD3             db      "OUT (),A",4 | ||||
| MD4             db      "CALL NC,",2 | ||||
| MD5             db      "PUSH DE",0 | ||||
| MD6             db      "SUB ",1 | ||||
| MD7             db      "RST #10",0 | ||||
| MD8             db      "RET C",0 | ||||
| MD9             db      "EXX",0 | ||||
| MDA             db      "JP C,",2 | ||||
| MDB             db      "IN A,()",4 | ||||
| MDC             db      "CALL C,",2 | ||||
| MDD             db      "DD",0 | ||||
| MDE             db      "SBC A,",1 | ||||
| MDF             db      "RST #18",0 | ||||
| ME0             db      "RET PO",0 | ||||
| ME1             db      "POP HL",0 | ||||
| ME2             db      "JP PO,",2 | ||||
| ME3             db      "EX (SP),HL",0 | ||||
| ME4             db      "CALL PO,",2 | ||||
| ME5             db      "PUSH HL",0 | ||||
| ME6             db      "AND ",1 | ||||
| ME7             db      "RST #20",0 | ||||
| ME8             db      "RET PE",0 | ||||
| ME9             db      "JP (HL)",0 | ||||
| MEA             db      "JP PE,",2 | ||||
| MEB             db      "EX DE,HL",0 | ||||
| MEC             db      "CALL PE,",2 | ||||
| MEE             db      "XOR ",1 | ||||
| MEF             db      "RST #28",0 | ||||
| MF0             db      "RET P",0 | ||||
| MF1             db      "POP AF",0 | ||||
| MF2             db      "JP P,",2 | ||||
| MF3             db      "DI",0 | ||||
| MF4             db      "CALL P,",2 | ||||
| MF5             db      "PUSH AF",0 | ||||
| MF6             db      "OR ",1 | ||||
| MF7             db      "RST #30",0 | ||||
| MF8             db      "RET M",0 | ||||
| MF9             db      "LD SP,HL",0 | ||||
| MFA             db      "JP M,",2 | ||||
| MFB             db      "EI",0 | ||||
| MFC             db      "CALL M,",2 | ||||
| MFD             db      "FD",0 | ||||
| MFE             db      "CP ",1 | ||||
| MFF             db      "RST #38",0 | ||||
| 
 | ||||
| MHALT           db      "HALT",0 | ||||
| 
 | ||||
| TablM: | ||||
|                 dw      M80,M88,M90,M98,MA0,MA8,MB0,MB8 | ||||
| 
 | ||||
| M80             db      "ADD A,",0 | ||||
| M88             db      "ADC A,",0 | ||||
| M90             db      "SUB ",0 | ||||
| M98             db      "SBC A,",0 | ||||
| MA0             db      "AND ",0 | ||||
| MA8             db      "XOR ",0 | ||||
| MB0             db      "OR ",0 | ||||
| MB8             db      "CP ",0 | ||||
| 
 | ||||
| CodeDDFD: | ||||
|                 db      0x09,0x19,0x21,0x22,0x23,0x24,0x25,0x26,0x29 | ||||
|                 db      0x2A,0x2B,0x2C,0x2D,0x2E,0x34,0x35,0x36,0x39 | ||||
|                 db      0x44,0x45,0x46,0x4C,0x4D,0x4E,0x54,0x55,0x56 | ||||
|                 db      0x5C,0x5D,0x5E,0x60,0x61,0x62,0x63,0x64,0x65 | ||||
|                 db      0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E | ||||
|                 db      0x6F,0x70,0x71,0x72,0x73,0x74,0x75,0x77,0x7C | ||||
|                 db      0x7D,0x7E,0x84,0x85,0x86,0x8C,0x8D,0x8E,0x94 | ||||
|                 db      0x95,0x96,0x9C,0x9D,0x9E,0xA4,0xA5,0xA6,0xAC | ||||
|                 db      0xAD,0xAE,0xB4,0xB5,0xB6,0xBC,0xBD,0xBE,0xE1 | ||||
|                 db      0xE3,0xE5,0xE9,0xF9 | ||||
| 
 | ||||
| TablDDFD: | ||||
|                 dw      DD09,DD19,DD21,DD22,DD23,DD24,DD25,DD26,DD29 | ||||
|                 dw      DD2A,DD2B,DD2C,DD2D,DD2E,DD34,DD35,DD36,DD39 | ||||
|                 dw      DD44,DD45,DD46,DD4C,DD4D,DD4E,DD54,DD55,DD56 | ||||
|                 dw      DD5C,DD5D,DD5E,DD60,DD61,DD62,DD63,DD64,DD65 | ||||
|                 dw      DD66,DD67,DD68,DD69,DD6A,DD6B,DD6C,DD6D,DD6E | ||||
|                 dw      DD6F,DD70,DD71,DD72,DD73,DD74,DD75,DD77,DD7C | ||||
|                 dw      DD7D,DD7E,DD84,DD85,DD86,DD8C,DD8D,DD8E,DD94 | ||||
|                 dw      DD95,DD96,DD9C,DD9D,DD9E,DDA4,DDA5,DDA6,DDAC | ||||
|                 dw      DDAD,DDAE,DDB4,DDB5,DDB6,DDBC,DDBD,DDBE,DDE1 | ||||
|                 dw      DDE3,DDE5,DDE9,DDF9 | ||||
| 
 | ||||
| DD09            db      "ADD Ix,BC",0 | ||||
| DD19            db      "ADD Ix,DE",0 | ||||
| DD21            db      "LD Ix,",2 | ||||
| DD22            db      "LD (),Ix",5 | ||||
| DD23            db      "INC Ix",0 | ||||
| DD24            db      "INC Hx",0 | ||||
| DD25            db      "DEC Hx",0 | ||||
| DD26            db      "LD Hx,",1 | ||||
| DD29            db      "ADD Ix,Ix",0 | ||||
| DD2A            db      "LD Ix,()",5 | ||||
| DD2B            db      "DEC Ix",0 | ||||
| DD2C            db      "INC Lx",0 | ||||
| DD2D            db      "DEC Lx",0 | ||||
| DD2E            db      "LD Lx,",1 | ||||
| DD34            db      "INC )",6 | ||||
| DD35            db      "DEC )",6 | ||||
| DD36            db      "LD ),",6 | ||||
| DD39            db      "ADD Ix,SP",0 | ||||
| DD44            db      "LD B,Hx",0 | ||||
| DD45            db      "LD B,Lx",0 | ||||
| DD46            db      "LD B,)",6 | ||||
| DD4C            db      "LD C,Hx",0 | ||||
| DD4D            db      "LD C,Lx",0 | ||||
| DD4E            db      "LD C,)",6 | ||||
| DD54            db      "LD D,Hx",0 | ||||
| DD55            db      "LD D,Lx",0 | ||||
| DD56            db      "LD D,)",6 | ||||
| DD5C            db      "LD E,Hx",0 | ||||
| DD5D            db      "LD E,Lx",0 | ||||
| DD5E            db      "LD E,)",6 | ||||
| DD60            db      "LD Hx,B",0 | ||||
| DD61            db      "LD Hx,C",0 | ||||
| DD62            db      "LD Hx,D",0 | ||||
| DD63            db      "LD Hx,E",0 | ||||
| DD64            db      "LD Hx,Hx",0 | ||||
| DD65            db      "LD Hx,Lx",0 | ||||
| DD66            db      "LD H,)",6 | ||||
| DD67            db      "LD Lx,A",0 | ||||
| DD68            db      "LD Lx,B",0 | ||||
| DD69            db      "LD Lx,C",0 | ||||
| DD6A            db      "LD Lx,D",0 | ||||
| DD6B            db      "LD Lx,E",0 | ||||
| DD6C            db      "LD Lx,Hx",0 | ||||
| DD6D            db      "LD Lx,Lx",0 | ||||
| DD6E            db      "LD L,)",6 | ||||
| DD6F            db      "LD Lx,A",0 | ||||
| DD70            db      "LD ),B",6 | ||||
| DD71            db      "LD ),C",6 | ||||
| DD72            db      "LD ),D",6 | ||||
| DD73            db      "LD ),E",6 | ||||
| DD74            db      "LD ),H",6 | ||||
| DD75            db      "LD ),L",6 | ||||
| DD77            db      "LD ),A",6 | ||||
| DD7C            db      "LD A,Hx",0 | ||||
| DD7D            db      "LD A,Lx",0 | ||||
| DD7E            db      "LD A,)",6 | ||||
| DD84            db      "ADD A,Hx",0 | ||||
| DD85            db      "ADD A,Lx",0 | ||||
| DD86            db      "ADD A,)",6 | ||||
| DD8C            db      "ADC E,Hx",0 | ||||
| DD8D            db      "ADC E,Lx",0 | ||||
| DD8E            db      "ADC E,)",6 | ||||
| DD94            db      "SUB Hx",0 | ||||
| DD95            db      "SUB Lx",0 | ||||
| DD96            db      "SUB )",6 | ||||
| DD9C            db      "SBC A,Hx",0 | ||||
| DD9D            db      "SBC A,Lx",0 | ||||
| DD9E            db      "SBC A,)",6 | ||||
| DDA4            db      "AND Hx",0 | ||||
| DDA5            db      "AND Lx",0 | ||||
| DDA6            db      "AND )",6 | ||||
| DDAC            db      "XOR Hx",0 | ||||
| DDAD            db      "XOR Lx",0 | ||||
| DDAE            db      "XOR )",6 | ||||
| DDB4            db      "OR Hx",0 | ||||
| DDB5            db      "OR Lx",0 | ||||
| DDB6            db      "OR )",6 | ||||
| DDBC            db      "CP Hx",0 | ||||
| DDBD            db      "CP Lx",0 | ||||
| DDBE            db      "CP )",6 | ||||
| DDE1            db      "POP Ix",0 | ||||
| DDE3            db      "EX (SP),Ix",0 | ||||
| DDE5            db      "PUSH Ix",0 | ||||
| DDE9            db      "JP (Ix)",0 | ||||
| DDF9            db      "LD SP,Ix",0 | ||||
| 
 | ||||
| TablCB: | ||||
|                 dw      CB00,CB08,CB10,CB18,CB20,CB28,CB30,CB38 | ||||
| 
 | ||||
| CB00            db      "RLC " | ||||
| CB08            db      "RRC " | ||||
| CB10            db      "RL " | ||||
| CB18            db      "RR " | ||||
| CB20            db      "SLA " | ||||
| CB28            db      "SRA " | ||||
| CB30            db      "SLI " | ||||
| CB38            db      "SRL " | ||||
| CB40            db      "BIT " | ||||
| CB80            db      "RES " | ||||
| CBC0            db      "SET " | ||||
| 
 | ||||
| TablED: | ||||
|                 dw      ED40,ED41,ED42,ED43,ED44,ED45,ED46,ED47 | ||||
|                 dw      ED48,ED49,ED4A,ED4B,ED44,ED4D,ED4E,ED4F | ||||
|                 dw      ED50,ED51,ED52,ED53,ED44,ED45,ED56,ED57 | ||||
|                 dw      ED58,ED59,ED5A,ED5B,ED44,ED4D,ED5E,ED5F | ||||
|                 dw      ED60,ED61,ED62,ED63,ED44,ED45,ED46,ED67 | ||||
|                 dw      ED68,ED69,ED6A,ED6B,ED44,ED4D,ED4E,ED6F | ||||
|                 dw      ED70,ED71,ED72,ED73,ED44,ED45,ED56,ED00 | ||||
|                 dw      ED78,ED79,ED7A,ED7B,ED44,ED4D,ED5E | ||||
|                 dw      EDA0,EDA1,EDA2,EDA3,ED00,ED00,ED00,ED00 | ||||
|                 dw      EDA8,EDA9,EDAA,EDAB,ED00,ED00,ED00,ED00 | ||||
|                 dw      EDB0,EDB1,EDB2,EDB3,ED00,ED00,ED00,ED00 | ||||
|                 dw      EDB8,EDB9,EDBA,EDBB | ||||
| 
 | ||||
| ED00            db      "NOP *",0 | ||||
| ED40            db      "IN B,(C)",0 | ||||
| ED41            db      "OUT (C),B",0 | ||||
| ED42            db      "SBC HL,BC",0 | ||||
| ED43            db      "LD (),BC",5 | ||||
| ED44            db      "NEG",0 | ||||
| ED45            db      "RETN",0 | ||||
| ED46            db      "IM 0",0 | ||||
| ED47            db      "LD I,A",0 | ||||
| ED48            db      "IN C,(C)",0 | ||||
| ED49            db      "OUT (C),C",0 | ||||
| ED4A            db      "ADC HL,BC",0 | ||||
| ED4B            db      "LD BC,()",5 | ||||
| ED4D            db      "RETI",0 | ||||
| ED4E            db      "IM 0 *",0 | ||||
| ED4F            db      "LD R,A",0 | ||||
| ED50            db      "IN D,(C)",0 | ||||
| ED51            db      "OUT (C),D",0 | ||||
| ED52            db      "SBC HL,DE",0 | ||||
| ED53            db      "LD (),DE",5 | ||||
| ED56            db      "IM 1",0 | ||||
| ED57            db      "LD A,I",0 | ||||
| ED58            db      "IN E,(C)",0 | ||||
| ED59            db      "OUT (C),E",0 | ||||
| ED5A            db      "ADC HL,DE",0 | ||||
| ED5B            db      "LD DE,()",5 | ||||
| ED5E            db      "IM 2",0 | ||||
| ED5F            db      "LD A,R",0 | ||||
| ED60            db      "IN H,(C)",0 | ||||
| ED61            db      "OUT (C),H",0 | ||||
| ED62            db      "SBC HL,HL",0 | ||||
| ED63            db      "LD (),HL",5 | ||||
| ED67            db      "RRD",0 | ||||
| ED68            db      "IN L,(C)",0 | ||||
| ED69            db      "OUT (C),L",0 | ||||
| ED6A            db      "ADC HL,HL",0 | ||||
| ED6B            db      "LD HL,()",5 | ||||
| ED6F            db      "RLD",0 | ||||
| ED70            db      "IN F,(C)",0 | ||||
| ED71            db      "OUT (C),*",0 | ||||
| ED72            db      "SBC HL,SP",0 | ||||
| ED73            db      "LD (),SP",5 | ||||
| ED78            db      "IN A,(C)",0 | ||||
| ED79            db      "OUT (C),A",0 | ||||
| ED7A            db      "ADC HL,SP",0 | ||||
| ED7B            db      "LD SP,()",5 | ||||
| EDA0            db      "LDI",0 | ||||
| EDA1            db      "CPI",0 | ||||
| EDA2            db      "INI",0 | ||||
| EDA3            db      "OUTI",0 | ||||
| EDA8            db      "LDD",0 | ||||
| EDA9            db      "CPD",0 | ||||
| EDAA            db      "IND",0 | ||||
| EDAB            db      "OUTD",0 | ||||
| EDB0            db      "LDIR",0 | ||||
| EDB1            db      "CPIR",0 | ||||
| EDB2            db      "INIR",0 | ||||
| EDB3            db      "OTIR",0 | ||||
| EDB8            db      "LDDR",0 | ||||
| EDB9            db      "CPDR",0 | ||||
| EDBA            db      "INDR",0 | ||||
| EDBB            db      "OTDR",0 | ||||
| 
 | ||||
							
								
								
									
										923
									
								
								UTIL.ASM
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										923
									
								
								UTIL.ASM
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,923 @@ | ||||
| ;[]=========================================================================[] | ||||
| ;[]               <20>®¤¯à®£à ¬¬ë-ã⨫¨âë ¬®¨â®à -®â« ¤ç¨ª  DemoN             [] | ||||
| ;[] v0.01 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 29.08.2004                                  [] | ||||
| ;[] v0.02 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 20.03.2005                                  [] | ||||
| ;[] v0.03 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 25.02.2006                                  [] | ||||
| ;[] v0.10 - ¯®á«¥¤¨¥ ¨§¬¥¥¨ï 17.05.2006                                  [] | ||||
| ;[]                                                                         [] | ||||
| ;[] SaveAllRegs    - á®åà ¥¨¥ § ç¥¨© ॣ¨áâ஢ëå ¯ à                    [] | ||||
| ;[] RestAllRegs    - ¢®áâ ®¢«¥¨¥ § ç¥¨© ॣ¨áâ஢ëå ¯ à                 [] | ||||
| ;[] PrnStrColor    - ¯¥ç âì áâப¨ ᨬ¢®«®¢ á  âਡãâ ¬¨                    [] | ||||
| ;[] PrintReg       - ¯¥ç âì ¤¢ãå¡ ©â®¢®£® ç¨á«                              [] | ||||
| ;[] PrintStrAF     - ¯¥ç âì § ç¥¨ï ॣ¨áâ஢®© ¯ àë AF ¨ ä« £®¢           [] | ||||
| ;[] PrintStrReg    - ¯¥ç âì § ç¥¨© ॣ¨áâ஢ëå ¯ à á  ¤à¥á㥬묨 ¡ ©â ¬¨  [] | ||||
| ;[] PrintStrWin    - ¯¥ç âì ®¬¥à®¢ ¡ ®ª ¢ ®ª å                           [] | ||||
| ;[] PrintSPDn      - ¯¥ç âì £«ã¡¨ë á⥪                                    [] | ||||
| ;[] PrintStrSp     - ¯¥ç âì § ç¥¨© á⥪                                   [] | ||||
| ;[] PrintDump      - ¯¥ç âì ¤ ¬¯                                            [] | ||||
| ;[] PrintStrDump   - ¯¥ç âì áâப¨ ¤ ¬¯                                     [] | ||||
| ;[] ReplSymNoPrint - § ¬¥  ¥¯¥ç âëå ᨬ¢®«®¢ ¢ áâப¥                    [] | ||||
| ;[] NumToStr16     - ä®à¬¨à®¢ ¨¥ 16-â¨à¨ç®£® ç¨á«                         [] | ||||
| ;[] NumToStr8      - ä®à¬¨à®¢ ¨¥ 8-à¨ç®£® ç¨á«                            [] | ||||
| ;[] ConvHexStr     - ª®¢¥àâ¨à®¢ ¨¥ ç¨á«  ¢ HEX-áâà®ªã                     [] | ||||
| ;[] ConvDecStr     - ª®¢¥àâ¨à®¢ ¨¥ 16-¡¨â®£® ç¨á«  ¢ DEC-áâà®ªã          [] | ||||
| ;[] CursorSet      - ¯à®à¨á®¢ª  ªãàá®à                                      [] | ||||
| ;[] CursorRes      - ¢®áâ ®¢«¥¨¥ íªà   ¯®¤ ªãàá®à®¬                      [] | ||||
| ;[] Ld_a_bc        - ç⥨¥ ¡ ©â  ¨§ ¯ ¬ïâ¨ á ¯à®¢¥àª®©  ¤à¥á ,  ¤à¥á ¢ BC  [] | ||||
| ;[] Ld_a_hl        - ç⥨¥ ¡ ©â  ¨§ ¯ ¬ïâ¨ á ¯à®¢¥àª®©  ¤à¥á ,  ¤à¥á ¢ HL  [] | ||||
| ;[] Ld_hl_a        - § ¯¨áì ¡ ©â  ¢ ¯ ¬ïâì á ¯à®¢¥àª®©  ¤à¥á ,  ¤à¥á ¢ HL   [] | ||||
| ;[] AdrArea        - ®¯à¥¤¥«¥¨¥ ¯à¨ ¤«¥¦®á⨠ ¤à¥á  ®¡« á⨠¯ ¬ï⨠      [] | ||||
| ;[]=========================================================================[] | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                   ‘®åà ¥¨¥ § ç¥¨© ॣ¨áâ஢ëå ¯ à                   [] | ||||
| ;[]=========================================================================[] | ||||
| SaveAllRegs: | ||||
|                 ld      (Reg._HL),hl | ||||
|                 ld      (Reg._DE),de | ||||
|                 ld      (Reg._BC),bc | ||||
| 
 | ||||
|                 ld      (Reg._IX),ix | ||||
|                 ld      (Reg._IY),iy | ||||
|                 push    af | ||||
|                 pop     hl | ||||
|                 ld      (Reg._AF),hl | ||||
|                 ld      a,r | ||||
|                 ld      (Reg._IR),a | ||||
|                 ld      a,i | ||||
|                 ld      (Reg._IR+1),a | ||||
| 
 | ||||
|                 exx | ||||
|                 ex      af,af' | ||||
| 
 | ||||
|                 ld      (Reg._HL_),hl | ||||
|                 ld      (Reg._DE_),de | ||||
|                 ld      (Reg._BC_),bc | ||||
|                 push    af | ||||
|                 pop     hl | ||||
|                 ld      (Reg._AF_),hl | ||||
|                 ex      af,af' | ||||
|                 exx | ||||
| 
 | ||||
|                 ld      hl,WinPage              ;á®åà ¥¨¥ ®¬¥à®¢ áâà ¨æ | ||||
|                 in      a,(EmmWin.P0)           ;0-¥ ®ª® | ||||
|                 ld      (hl),a | ||||
|                 inc     hl | ||||
|                 in      a,(EmmWin.P1)           ;1-¥ ®ª® | ||||
|                 ld      (hl),a | ||||
|                 inc     hl | ||||
|                 in      a,(EmmWin.P2)           ;2-¥ ®ª® | ||||
|                 ld      (hl),a | ||||
|                 inc     hl | ||||
|                 in      a,(EmmWin.P3)           ;3-¥ ®ª® | ||||
|                 ld      (hl),a | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                 ‚®áâ ®¢«¥¨¥ § ç¥¨© ॣ¨áâ஢ëå ¯ à                  [] | ||||
| ;[]=========================================================================[] | ||||
| RestAllRegs: | ||||
|                 ld      a,(Reg._IR) | ||||
|                 ld      r,a | ||||
|                 ld      a,(Reg._IR+1) | ||||
|                 ld      i,a | ||||
|                 ld      hl,(Reg._AF) | ||||
|                 push    hl | ||||
|                 pop     af | ||||
|                 ld      hl,(Reg._HL) | ||||
|                 ld      de,(Reg._DE) | ||||
|                 ld      bc,(Reg._BC) | ||||
|                 ld      ix,(Reg._IX) | ||||
|                 ld      iy,(Reg._IY) | ||||
| 
 | ||||
|                 exx | ||||
|                 ex      af,af' | ||||
|                 ld      hl,(Reg._AF_) | ||||
|                 push    hl | ||||
|                 pop     af | ||||
|                 ld      hl,(Reg._HL_) | ||||
|                 ld      de,(Reg._DE_) | ||||
|                 ld      bc,(Reg._BC_) | ||||
|                 ex      af,af' | ||||
|                 exx | ||||
| 
 | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                         <20>¥ç âì áâப¨ ᨬ¢®«®¢                          [] | ||||
| ;[] ‚室:  HL -  ¤à¥á áâப¨ ᨬ¢®«®¢                                       [] | ||||
| ;[]                                                                         [] | ||||
| ;[] ”®à¬ â áâப¨: 0x16, ‘⮫¡¥æ, ‘âப , ‘¨¬¢®«ë, 0x00                     [] | ||||
| ;[]=========================================================================[] | ||||
|                 ld      a,(Color.Screen)        ;®á®¢®© 梥â | ||||
|                 ld      (PrnStrColor.L1+5),a | ||||
| PrnStrColor: | ||||
|                 ld      a,(hl) | ||||
|                 cp      0x16                    ;ª®¤ ãáâ ®¢ª¨ ¯®§¨æ¨¨ ªãàá®à  | ||||
|                 jr      nz,.L2 | ||||
|                 inc     hl | ||||
|                 ld      e,(hl)                  ;á⮫¡¥æ | ||||
| 		ld	a,e | ||||
| 		ld	(PrtXCoord),a | ||||
|                 inc     hl | ||||
|                 ld      d,(hl)                  ;áâப  | ||||
|                 inc     hl | ||||
|                 ld      a,(hl)                  ;ᨬ¢®« | ||||
| .L2             cp	0x0D | ||||
| 		jr	nz,.L3 | ||||
| 		inc	d | ||||
| 		ld	a,(PrtXCoord) | ||||
| 		ld	e,a | ||||
| 		jr	.L4 | ||||
| .L3		cp	0x17 | ||||
| 		jr	nz,.L1 | ||||
| 		inc	hl | ||||
| 		ld	a,(hl) | ||||
| 		ld	(PrnStrColor.L1+5),a | ||||
| 		inc	hl | ||||
| 		ld	a,(hl) | ||||
| .L1		or      a | ||||
|                 ret     z                       ;¢ë室 ¥á«¨ ª®¥æ áâப¨ | ||||
|                 push    hl | ||||
|                 push    de | ||||
| ;¯¥ç âì ç/§ ¡¨®á ¨«¨ ¤áá? | ||||
| 	ifdef D_PRINTCH_BIOS | ||||
|                 ld      h,0x03                  ; âਡãâ | ||||
|                 ld      l,a | ||||
|                 sub     a                       ;¨¤¥â¨ä¨ª â®à ®ª  | ||||
| ;		ld	a,(Demon.Bios_Win) | ||||
|                 ld      bc,SysSymb*256+Bios.Win_Put_Sym | ||||
|                 rst     BiosRst | ||||
| 	else | ||||
| 		ld	b,0x03 | ||||
| 		ld	c,Dss.WrChar | ||||
| 		rst	DssRst | ||||
| 	endif | ||||
|                 pop     de | ||||
|                 pop     hl | ||||
|                 inc     e | ||||
| .L4             inc     hl | ||||
|                 jr      PrnStrColor | ||||
| PrtXCoord	db	0 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                    <20>¥ç âì ¤¢ãå¡ ©â®¢®£® ç¨á«                            [] | ||||
| ;[] ‚室:  DE - ª®®à¤¨ âë ¯¥ç â¨                                           [] | ||||
| ;[]        HL - § ç¥¨¥ ॣ¨áâ஢®© ¯ àë                                   [] | ||||
| ;[]=========================================================================[] | ||||
| PrintReg: | ||||
|                 di | ||||
|                 push    hl | ||||
|                 ld      c,Bios.Lp_Set_Place     ;ãáâ ®¢ª  ¯®§¨æ¨¨ ¯¥ç â¨ | ||||
|                 rst     BiosRst | ||||
|                 pop     hl | ||||
| 
 | ||||
|                 ld      a,(DecHex)              ;á¨á⥬ áç¨á«¥¨ï | ||||
|                 or      a | ||||
|                 jr      z,.Hex | ||||
| 
 | ||||
|                 ld      de,.String | ||||
|                 call    ConvDecStr | ||||
|                 jr      .Print | ||||
| 
 | ||||
| .Hex            ld      a,"#" | ||||
|                 ld      (.String),a | ||||
|                 ld      c,l | ||||
|                 ld      a,h | ||||
|                 call    ConvHexStr | ||||
|                 ld      (.String+1),hl          ;áâ à訩 ¡ ©â | ||||
|                 ld      a,c | ||||
|                 call    ConvHexStr | ||||
|                 ld      (.String+3),hl          ;¬« ¤è¨© ¡ ©â | ||||
| .Print          ld      hl,.String              ;¯¥ç â ¥¬ ï áâப  | ||||
|                 ld      bc,5*256+Bios.Lp_Print_Ln2 ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 rst     BiosRst | ||||
|                 ei | ||||
|                 ret | ||||
| 
 | ||||
| .String         db      "#0123" | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]              <20>¥ç âì § ç¥¨ï ॣ¨áâ஢®© ¯ àë AF ¨ ä« £®¢               [] | ||||
| ;[] ‚室:  DE - ª®®à¤¨ âë ¯¥ç â¨                                           [] | ||||
| ;[]        HL - § ç¥¨¥ ॣ¨áâ஢®© ¯ àë                                   [] | ||||
| ;[]=========================================================================[] | ||||
| PrintStrAF: | ||||
|                 ld      a,h                     ;§ ç¥¨¥ ॣ¨áâà  A | ||||
|                 push    hl | ||||
|                 ld      (.String+11),a | ||||
| 
 | ||||
|                 ld      hl,.String+1            ;¤¢®¨ç®¥ § ç¥¨¥ | ||||
|                 push    de | ||||
|                 ld      de,0x3031               ;"01" | ||||
|                 ld      b,8 | ||||
| .L1             rlca | ||||
|                 jr      c,$+5 | ||||
|                 ld      (hl),d                  ;"0" | ||||
|                 jr      $+3 | ||||
|                 ld      (hl),e                  ;"1" | ||||
|                 inc     hl | ||||
|                 djnz    .L1 | ||||
|                 pop     de | ||||
| 
 | ||||
|                 inc     b                       ;B=1 | ||||
|                 inc     hl | ||||
|                 inc     hl | ||||
|                 call    ReplSymNoPrint | ||||
| 
 | ||||
|                 pop     hl | ||||
|                 ld      a,l                     ;ä« £¨ | ||||
|                 push    hl | ||||
|                 ld      hl,.Flags | ||||
|                 ld      b,8 | ||||
|                 res     3,a                     ;á¡à®á ¥¨§¢¥áâëå ä« £®¢ | ||||
|                 res     5,a | ||||
| .L2             rlca | ||||
|                 jr      c,$+6 | ||||
|                 set     5,(hl)                  ;á¡à®è¥ | ||||
|                 jr      $+4      | ||||
|                 res     5,(hl)                  ;ãáâ ®¢«¥ | ||||
|                 inc     hl | ||||
|                 djnz    .L2 | ||||
|                 pop     hl | ||||
| 
 | ||||
|                 push    de | ||||
|                 call    PrintReg                ;¯¥ç âì § ç¥¨ï ॣ.¯ àë | ||||
|                 pop     de | ||||
|                 push    de | ||||
|                 ld      a,6 | ||||
|                 add     a,e | ||||
|                 ld      e,a | ||||
|                 ld      c,Bios.Lp_Set_Place | ||||
|                 di | ||||
|                 rst     BiosRst | ||||
|                 ld      hl,.String | ||||
|                 ld      bc,13*256+Bios.Lp_Print_Ln2 ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 di | ||||
|                 rst     BiosRst | ||||
|                 pop     de | ||||
|                 inc     d | ||||
|                 dec     e | ||||
|                 dec     e | ||||
|                 dec     e | ||||
|                 ld      c,Bios.Lp_Set_Place | ||||
|                 di | ||||
|                 rst     BiosRst | ||||
|                 ld      hl,.Flags | ||||
|                 ld      bc,8*256+Bios.Lp_Print_Ln2 ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 di | ||||
|                 rst     BiosRst | ||||
|                 ei | ||||
|                 ret | ||||
| 
 | ||||
| .String         db      '%01010101 " "' | ||||
| .Flags          db      "SZ.H.PNC" | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]          <20>¥ç âì § ç¥¨© ॣ¨áâ஢ëå ¯ à á  ¤à¥á㥬묨 ¡ ©â ¬¨          [] | ||||
| ;[] ‚室:  DE - ª®®à¤¨ âë ¯¥ç â¨                                           [] | ||||
| ;[]        HL - § ç¥¨¥ ॣ¨áâ஢®© ¯ àë                                   [] | ||||
| ;[]=========================================================================[] | ||||
| PrintStrReg: | ||||
|                 push    hl | ||||
|                 ld      b,h | ||||
|                 ld      c,l | ||||
| 
 | ||||
|                 call    Ld_a_bc                 ;ld a,(bc)  ¤à¥áã¥¬ë¥ ¡ ©âë | ||||
|                 ld      (.String+10),a | ||||
|                 call    ConvHexStr | ||||
|                 ld      (.String),hl | ||||
|                 inc     bc | ||||
|                 call    Ld_a_bc                 ;ld a,(bc) | ||||
|                 ld      (.String+11),a | ||||
|                 call    ConvHexStr | ||||
|                 ld      (.String+2),hl | ||||
|                 inc     bc | ||||
|                 call    Ld_a_bc                 ;ld a,(bc) | ||||
|                 ld      (.String+12),a | ||||
|                 call    ConvHexStr | ||||
|                 ld      (.String+5),hl | ||||
|                 inc     bc | ||||
|                 call    Ld_a_bc                 ;ld a,(bc) | ||||
|                 ld      (.String+13),a | ||||
|                 call    ConvHexStr | ||||
|                 ld      (.String+7),hl | ||||
| 
 | ||||
|                 ld      hl,.String+10           ;§ ¬¥  ¥¯¥ç âëå ᨬ¢®«®¢ | ||||
|                 ld      b,4 | ||||
|                 call    ReplSymNoPrint | ||||
| 
 | ||||
|                 pop     hl | ||||
|                 push    de | ||||
|                 call    PrintReg                ;¯¥ç âì § ç¥¨ï ॣ.¯ àë | ||||
|                 pop     de | ||||
|                 di | ||||
|                 ld      a,6 | ||||
|                 add     a,e | ||||
|                 ld      e,a | ||||
|                 ld      c,Bios.Lp_Set_Place     ;ãáâ ®¢ª  ¯®§¨æ¨¨ ¯¥ç â¨ | ||||
|                 rst     BiosRst | ||||
|                 ld      hl,.String              ;¯¥ç â ¥¬ ï áâப  | ||||
|                 ld      bc,14*256+Bios.Lp_Print_Ln2 ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 rst     BiosRst | ||||
|                 ei | ||||
|                 ret | ||||
| 
 | ||||
| .String         db      "0123 4567 ABCD" | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                       <20>¥ç âì ®¬¥à®¢ ¡ ®ª ¢ ®ª å                      [] | ||||
| ;[] ‚室:  HL -  ¤à¥á á®åà ¥ëå ®¬¥à®¢                                   [] | ||||
| ;[]=========================================================================[] | ||||
| PrintStrWin: | ||||
|                 ld      hl,WinPage              ;¢ë¢®¤ ®¬¥à®¢ ¡ ®ª ¢ ®ª å | ||||
|                 ld      de,.String+3 | ||||
|                 ld      b,4 | ||||
| .L1             push    bc | ||||
|                 ld      a,(hl) | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 ld      l,a | ||||
|                 ld      h,0 | ||||
|                 call    NumToStr8               ;ª®¢¥àâ¨à®¢ ¨¥ ¢ HEX-áâபã | ||||
|                 inc     de | ||||
|                 inc     de | ||||
|                 inc     de | ||||
|                 pop     hl | ||||
|                 pop     bc | ||||
|                 djnz    .L1 | ||||
| 
 | ||||
|                 ld      hl,.String | ||||
|                 jp      PrnStrColor-6 | ||||
| 
 | ||||
| .String         db      0x16,0x02,0x12,"#01" | ||||
|                 db      0x16,0x08,0x12,"#02" | ||||
|                 db      0x16,0x0E,0x12,"#03" | ||||
|                 db      0x16,0x14,0x12,"#04",0 | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                         <20>¥ç âì £«ã¡¨ë á⥪                             [] | ||||
| ;[]=========================================================================[] | ||||
| PrintSPDn: | ||||
|                 ld      a,(StackDown) | ||||
|                 ld      l,a | ||||
|                 ld      a,0x7F | ||||
|                 cp      l                       ;®âà¨æ â¥«ì®¥? | ||||
|                 jr      nc,.L1 | ||||
|                 res     7,l                     ;á¡à®á¨âì ¬¨ãá | ||||
|                 inc     a | ||||
|                 sub     l | ||||
|                 ld      l,a | ||||
| .L1             ld      h,0 | ||||
|                 ld      de,.String+1 | ||||
|                 push    de | ||||
|                 call    ConvDecStr8 | ||||
|                 pop     hl | ||||
|                 dec     hl | ||||
|                 ld      bc,3*256+"0" | ||||
|                 ld      (hl),c | ||||
|                 ld      a,(hl)                  ;£ è¥¨¥ ¥§ ç é¨å ã«¥© | ||||
|                 cp      c | ||||
|                 jr      nz,$+8 | ||||
|                 ld      a,0x20 | ||||
|                 ld      (hl),a | ||||
|                 inc     hl | ||||
|                 djnz    $-8 | ||||
|                 ld      a,(StackDown) | ||||
|                 bit     7,a | ||||
|                 jr      z,$+6 | ||||
|                 dec     hl                      ;®âà¨æ â¥«ì®¥ ç¨á«® | ||||
|                 ld      a,"-" | ||||
|                 ld      (hl),a | ||||
| 
 | ||||
|                 ld      de,0x140A | ||||
|                 ld      c,Bios.Lp_Set_Place     ;ãáâ ®¢ª  ¯®§¨æ¨¨ ¯¥ç â¨ | ||||
|                 di | ||||
|                 rst     BiosRst | ||||
|                 ld      hl,.String              ;¯¥ç â ¥¬ ï áâப  | ||||
|                 ld      bc,4*256+Bios.Lp_Print_Ln2 ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 di | ||||
|                 rst     BiosRst | ||||
|                 ei | ||||
|                 ret | ||||
| 
 | ||||
| .String         ds      4 | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                          <20>¥ç âì § ç¥¨© á⥪                           [] | ||||
| ;[]=========================================================================[] | ||||
| PrintStrSP: | ||||
|                 ld      a,(.StrSp)              ;áâப  á ¢¥à訮© á⥪  | ||||
|                 inc     a | ||||
|                 jr      z,.L4                   ;¥á«¨ ¢¥à訠 á⥪  ¥ ¯®¯ ¤ ¥â ¢ ¤ ¬¯ | ||||
|                 ld      hl,(Reg._SP) | ||||
|                 dec     hl | ||||
|                 dec     hl | ||||
|                 inc     hl | ||||
|                 inc     hl | ||||
|                 dec     a | ||||
|                 jr      nz,$-3 | ||||
|                 ld      (StackDump),hl | ||||
| 
 | ||||
| .L4             ld      hl,(StackDump)          ; ç «® ¤ ¬¯  | ||||
|                 ld      de,#1601                ;ª®®à¤¨ âë ¯¥ç â¨ | ||||
|                 ld      a,-1 | ||||
|                 ld      (.StrSp),a | ||||
| 
 | ||||
|                 ld      b,8                     ;ª®«-¢® áâப ¤ ¬¯  | ||||
| .L3             push    bc | ||||
|                 push    de                      ;ª®®à¤¨ âë | ||||
|                 push    hl | ||||
|                 or      a                       ;á¡à®á ä« £  C | ||||
|                 ld      a,b | ||||
|                 ld      bc,(Reg._SP)            ; ¤à¥á ¢¥àè¨ë á⥪  | ||||
|                 sbc     hl,bc | ||||
|                 jr      nz,.L2 | ||||
|                 ld      b,a | ||||
|                 ld      a,8 | ||||
|                 sub     b | ||||
|                 ld      (.StrSp),a              ;®¬¥à áâப¨ ¢ ¤ ¬¯¥ á ¢¥à訮© á⥪  | ||||
|                 ld      a,(Color._SP)           ;梥⠢¥àè¨ë á⥪  | ||||
|                 jr      .L2+3 | ||||
| .L2             ld      a,(Color.Screen)        ;®á®¢®© 梥â | ||||
|                 ld      (.L1+1),a               ;§ ¯¨á «¨ 梥â | ||||
|                 ld      c,Bios.Lp_Set_Place     ;ãáâ ®¢ª  ¯®§¨æ¨¨ ¯¥ç â¨ | ||||
|                 di | ||||
|                 rst     BiosRst | ||||
| .L1             ld      e,0                     ;梥⠯®¤á¢¥âª¨ | ||||
|                 ld      bc,11*256+Bios.Lp_Print_Atr ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 rst     BiosRst | ||||
|                 pop     hl | ||||
|                 pop     de | ||||
|                 push    de | ||||
|                 push    hl | ||||
|                 call    PrintReg                ;¯¥ç âì  ¤à¥á  | ||||
|                 pop     hl | ||||
|                 pop     de | ||||
|                 push    de | ||||
|                 dec     hl | ||||
|                 dec     hl | ||||
|                 push    hl | ||||
|                 ld      a,6 | ||||
|                 add     a,e | ||||
|                 ld      e,a | ||||
| 
 | ||||
|                 inc     hl | ||||
|                 inc     hl | ||||
|                 call    Ld_a_hl | ||||
|                 ld      c,a | ||||
|                 inc     hl | ||||
|                 call    Ld_a_hl | ||||
|                 ld      l,a | ||||
|                 ld      h,c | ||||
| 
 | ||||
|                 call    PrintReg                ;¯¥ç âì § ç¥¨ï á⥪  | ||||
|                 pop     hl | ||||
|                 pop     de | ||||
|                 inc     d | ||||
|                 pop     bc | ||||
|                 djnz    .L3 | ||||
|                 ei | ||||
|                 ret | ||||
| 
 | ||||
| .StrSp          db      6 | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                              <20>¥ç âì ¤ ¬¯                                [] | ||||
| ;[]=========================================================================[] | ||||
| PrintDump: | ||||
|                 ld      de,0x160E               ;ª®®à¤¨ âë | ||||
|                 ld      hl,(Dump1) | ||||
|                 ld      b,8                     ;ª®«¨ç¥á⢮ áâப | ||||
|                 push    de | ||||
|                 push    bc | ||||
|                 push    hl | ||||
|                 call    PrintStrDump | ||||
|                 pop     hl | ||||
|                 ld      bc,16 | ||||
|                 add     hl,bc | ||||
|                 pop     bc | ||||
|                 pop     de | ||||
|                 inc     d                       ;á«¥¤ãîé ï áâப  | ||||
|                 djnz    $-14 | ||||
|                 ret | ||||
| 
 | ||||
|                 ld      hl,Dump                 ;¢ë¢®¤ ¤ ¬¯  | ||||
| ;                ld      de,0x160E               ;ª®®à¤¨ âë | ||||
|                 ld      b,8                     ;ª®«¨ç¥á⢮ áâப | ||||
|                 push    de | ||||
|                 push    bc | ||||
|                 ld      c,(hl)                  ;¬« ¤è¨© ¡ ©â  ¤à¥á  | ||||
|                 inc     hl | ||||
|                 push    hl | ||||
|                 ld      h,(hl)                  ;áâ à訩 ¡ ©â  ¤à¥á  | ||||
|                 ld      l,c | ||||
|                 call    PrintStrDump | ||||
|                 pop     hl | ||||
|                 inc     hl | ||||
|                 pop     bc | ||||
|                 pop     de | ||||
|                 inc     d                       ;á«¥¤ãîé ï áâப  | ||||
|                 djnz    $-15 | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                           <20>¥ç âì áâப¨ ¤ ¬¯                            [] | ||||
| ;[] ‚室:  DE - ª®®à¤¨ âë ¯¥ç â¨                                           [] | ||||
| ;[]        HL -  ¤à¥á  ç «  áâப¨                                         [] | ||||
| ;[]=========================================================================[] | ||||
| PrintStrDump: | ||||
|                 push    de | ||||
|                 push    hl | ||||
| 
 | ||||
|                 ld      b,h | ||||
|                 ld      c,l | ||||
|                 ld      de,.String | ||||
|                 ld      ix,.String+41 | ||||
|                 push    ix | ||||
| 
 | ||||
|                 ld      a,8 | ||||
| .L1             exa | ||||
|                 call    Ld_a_bc                 ;ld a,(bc) | ||||
|                 ld      (ix),a | ||||
|                 inc     ix | ||||
|                 call    ConvHexStr | ||||
|                 ex      de,hl | ||||
|                 ld      (hl),e | ||||
|                 inc     hl | ||||
|                 ld      (hl),d | ||||
|                 inc     hl | ||||
|                 ex      de,hl | ||||
|                 inc     bc | ||||
|                 call    Ld_a_bc                 ;ld a,(bc) | ||||
|                 ld      (ix),a | ||||
|                 inc     ix | ||||
|                 call    ConvHexStr | ||||
|                 ex      de,hl | ||||
|                 ld      (hl),e | ||||
|                 inc     hl | ||||
|                 ld      (hl),d | ||||
|                 inc     hl | ||||
|                 inc     hl | ||||
|                 ex      de,hl | ||||
|                 inc     bc | ||||
|                 exa | ||||
|                 dec     a | ||||
|                 jr      nz,.L1 | ||||
| 
 | ||||
|                 ld      b,16 | ||||
|                 pop     hl | ||||
|                 call    ReplSymNoPrint          ;§ ¬¥  ¥¯¥ç âëå ᨬ¢®«®¢ | ||||
| 
 | ||||
|                 pop     hl | ||||
|                 pop     de | ||||
|                 push    de | ||||
|                 call    PrintReg                ;¯¥ç âì  ¤à¥á  áâப¨ | ||||
|                 pop     de | ||||
|                 di | ||||
|                 ld      a,7 | ||||
|                 add     a,e | ||||
|                 ld      e,a | ||||
|                 ld      c,Bios.Lp_Set_Place     ;ãáâ ®¢ª  ¯®§¨æ¨¨ ¯¥ç â¨ | ||||
|                 rst     BiosRst | ||||
|                 ld      hl,.String | ||||
|                 ld      bc,57*256+Bios.Lp_Print_Ln2 ;¢ ॣ.B ¤«¨  áâப¨ | ||||
|                 rst     BiosRst | ||||
|                 ei | ||||
|                 ret | ||||
| 
 | ||||
| .String         db      "1000 2000 3000 4000 5000 6000 7000 8000  " | ||||
|                 db      "0123456789ABCDEF" | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                   ‡ ¬¥  ¥¯¥ç âëå ᨬ¢®«®¢ ¢ áâப¥                   [] | ||||
| ;[] ‚室:  B  - ¤«¨  áâப¨                                                [] | ||||
| ;[]        HL -  ¤à¥á  ç «  áâப¨                                         [] | ||||
| ;[]=========================================================================[] | ||||
| ReplSymNoPrint: | ||||
|                 ld      a,(SymbolNoPrint) | ||||
|                 ld      c,a | ||||
| .L1             ld      a,(hl) | ||||
|                 cp      127 | ||||
|                 jr      z,$+10 | ||||
|                 cp      0xFF | ||||
|                 jr      z,$+6 | ||||
|                 cp      " " | ||||
|                 jr      nc,$+3 | ||||
|                 ld      (hl),c | ||||
|                 inc     hl | ||||
|                 djnz    .L1 | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                  ”®à¬¨à®¢ ¨¥ 16-⨡¨â®£® ç¨á«                         [] | ||||
| ;[] ‚室:  DE -  ¤à¥á ¡ãä¥à                                                 [] | ||||
| ;[]        HL - ç¨á«®                                                       [] | ||||
| ;[]=========================================================================[] | ||||
| NumToStr16: | ||||
|                 ld      a,(DecHex)              ;á¨á⥬ áç¨á«¥¨ï | ||||
|                 or      a | ||||
|                 jp      nz,ConvDecStr | ||||
| 
 | ||||
|                 ld      a,"#" | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
|                 ld      c,l | ||||
|                 ld      a,h | ||||
|                 call    ConvHexStr | ||||
|                 ex      de,hl | ||||
|                 ld      (hl),e                  ;áâ à訩 ¡ ©â | ||||
|                 inc     hl | ||||
|                 ld      (hl),d | ||||
|                 inc     hl | ||||
|                 ex      de,hl | ||||
|                 ld      a,c | ||||
|                 call    ConvHexStr | ||||
|                 ex      de,hl | ||||
|                 ld      (hl),e                  ;¬« ¤è¨© ¡ ©â | ||||
|                 inc     hl | ||||
|                 ld      (hl),d | ||||
|                 inc     hl | ||||
|                 ex      de,hl | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                    ”®à¬¨à®¢ ¨¥ 8-¡¨â®£® ç¨á«                          [] | ||||
| ;[] ‚室:  DE -  ¤à¥á ¡ãä¥à                                                 [] | ||||
| ;[]        HL - ç¨á«®                                                       [] | ||||
| ;[]=========================================================================[] | ||||
| NumToStr8: | ||||
|                 ld      a,(DecHex)              ;á¨á⥬ áç¨á«¥¨ï | ||||
|                 or      a | ||||
|                 jp      nz,ConvDecStr8 | ||||
| 
 | ||||
| .Hex            ld      a,"#" | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
|                 ld      a,l | ||||
|                 call    ConvHexStr | ||||
|                 ex      de,hl | ||||
|                 ld      (hl),e | ||||
|                 inc     hl | ||||
|                 ld      (hl),d | ||||
|                 inc     hl | ||||
|                 ex      de,hl | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                    Š®¢¥àâ¨à®¢ ¨¥ ç¨á«  ¢ HEX-áâà®ªã                   [] | ||||
| ;[] ‚室:  A  - ç¨á«®                                                       [] | ||||
| ;[] ‚ë室: HL - HEX-áâப                                                   [] | ||||
| ;[]=========================================================================[] | ||||
| ConvHexStr: | ||||
|                 push    af | ||||
|                 rrca | ||||
|                 rrca | ||||
|                 rrca | ||||
|                 rrca | ||||
|                 and     0x0F | ||||
|                 add     a,0x30 | ||||
|                 cp      0x3A | ||||
|                 jr      c,$+4 | ||||
|                 add     a,7 | ||||
|                  | ||||
|                 ld      l,a | ||||
|                 pop     af | ||||
|                 and     0x0F | ||||
|                 add     a,0x30 | ||||
|                 cp      0x3A | ||||
|                 jr      c,$+4 | ||||
|                 add     a,7 | ||||
|                 ld      h,a | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]             Š®¢¥àâ¨à®¢ ¨¥ 16-¡¨â®£® ç¨á«  ¢ DEC-áâà®ªã               [] | ||||
| ;[] ‚室:  HL - ç¨á«®                                                       [] | ||||
| ;[]        DE -  ¤à¥á  ç «  DEC-áâப¨                                     [] | ||||
| ;[]=========================================================================[] | ||||
| ConvDecStr: | ||||
|                 ld      bc,-10000 | ||||
|                 ld      a,0xFF | ||||
|                 inc     a | ||||
|                 add     hl,bc | ||||
|                 jr      c,$-2 | ||||
|                 sbc     hl,bc | ||||
|                 add     a,"0" | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
| 
 | ||||
|                 ld      bc,-1000 | ||||
|                 ld      a,0xFF | ||||
|                 inc     a | ||||
|                 add     hl,bc | ||||
|                 jr      c,$-2 | ||||
|                 sbc     hl,bc | ||||
|                 add     a,"0" | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
| ConvDecStr8: | ||||
|                 ld      bc,-100 | ||||
|                 ld      a,0xFF | ||||
|                 inc     a | ||||
|                 add     hl,bc | ||||
|                 jr      c,$-2 | ||||
|                 sbc     hl,bc | ||||
|                 add     a,"0" | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
| ConvDecStr8_1: | ||||
|                 ld      bc,-10 | ||||
|                 ld      a,0xFF | ||||
|                 inc     a | ||||
|                 add     hl,bc | ||||
|                 jr      c,$-2 | ||||
|                 sbc     hl,bc | ||||
| 
 | ||||
|                 add     a,"0" | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
| 
 | ||||
|                 ld      a,l | ||||
|                 add     a,"0" | ||||
|                 ld      (de),a | ||||
|                 inc     de | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                           <20>à®à¨á®¢ª  ªãàá®à                             [] | ||||
| ;[] ‚室:  B  - ¤«¨  ªãàá®à                                                [] | ||||
| ;[]        HL - ª®®à¤¨ âë ªãàá®à                                           [] | ||||
| ;[]=========================================================================[] | ||||
| CursorSet: | ||||
|                 ld      (CursorRes+1),hl | ||||
|                 ex      de,hl | ||||
|                 ld      l,b                     ;à §¬¥à ¯® ¢¥à⨪ «¨ | ||||
|                 ld      h,1                     ;à §¬¥à ¯® £®à¨§®â «¨ | ||||
|                 ld      (CursorRes+4),hl | ||||
|                 ld      ix,.Buffer | ||||
|                 push    de | ||||
|                 push    hl | ||||
|                 push    ix | ||||
|                 push    bc | ||||
| 	ifdef	D_PRINTCH_BIOS | ||||
|                 xor     a | ||||
|                 ld      c,Bios.Win_Copy_Win     ;ª®¯¨à®¢ ¨¥ ¢ ¡ãä¥à | ||||
|                 di | ||||
|                 rst     BiosRst | ||||
|                 ei | ||||
| 	else | ||||
| 		ld	a,(BankDebug) | ||||
| 		ld	b,a | ||||
| 		ld	c,Dss.WinCopy | ||||
| 		rst	DssRst | ||||
| 	endif | ||||
| 
 | ||||
|                 pop     bc                      ;¢ B ¤«¨  ªãàá®à  | ||||
|                 pop     hl | ||||
|                 push    hl | ||||
|                 inc     hl | ||||
|                 ld      a,(hl)                  ;梥â ᨬ¢®«®¢ | ||||
|                 ld      (CursorRes.L1+1),a | ||||
|                 ld      a,(Color.Cursor) | ||||
| .L1             ld      (hl),a | ||||
|                 inc     hl                      ;ª ¡ ©âã æ¢¥â  | ||||
|                 inc     hl | ||||
|                 djnz    .L1 | ||||
| 
 | ||||
|                 pop     ix | ||||
|                 pop     hl | ||||
|                 pop     de | ||||
| 	ifdef	D_PRINTCH_BIOS | ||||
|                 xor     a | ||||
|                 ld      c,Bios.Win_Restore_Win  ;¢ë¢®¤ ªãàá®à    íªà  | ||||
|                 di | ||||
|                 rst     BiosRst | ||||
|                 ei | ||||
| 	else | ||||
| 		ld	a,(BankDebug) | ||||
| 		ld	b,a | ||||
| 		ld	c,Dss.WinRest | ||||
| 		rst	DssRst | ||||
| 	endif | ||||
|                 ret | ||||
| 
 | ||||
| .Buffer         ds      22*2                    ;max ¤«¨  ªãàá®à  | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                    ‚®áâ ®¢«¥¨¥ íªà   ¯®¤ ªãàá®à®¬                    [] | ||||
| ;[]=========================================================================[] | ||||
| CursorRes: | ||||
|                 ld      de,0                    ;ª®®à¤¨ âë | ||||
|                 ld      hl,0                    ;à §¬¥à | ||||
|                 ld      b,l                     ;¤«¨  | ||||
|                 push    de | ||||
|                 push    hl | ||||
|                 ld      hl,CursorSet.Buffer | ||||
|                 push    hl | ||||
| .L1             ld      a,0                     ;梥â | ||||
|                 inc     hl                      ;ª ¡ ©âã æ¢¥â  | ||||
|                 jr      CursorSet.L1 | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                 —⥨¥ ¡ ©â  ¨§ ¯ ¬ïâ¨ á ¯à®¢¥àª®©  ¤à¥á                [] | ||||
| ;[] ‚室:  BC ¨«¨ HL -  ¤à¥á ¢ ¯ ¬ï⨠                                      [] | ||||
| ;[] ‚ë室: A  - áç¨â ë© ¡ ©â                                              [] | ||||
| ;[]=========================================================================[] | ||||
| Ld_a_bc: | ||||
|                 ld      a,11000000b            ;¯à®¢¥àª  ¤¨ ¯ §®  | ||||
|                 and     b | ||||
|                 jr      z,.L1                   ;¢ 0-¬ ®ª¥ | ||||
|                 cp      10000000b              ;¢® 2-®¬ ®ª¥ | ||||
|                 ld      a,(bc) | ||||
|                 ret     nz                      ;¢®§¢à é ¥¬ ¡ ©â, ¥á«¨ ¥â | ||||
|                 ld      a,(WinPage+2)           ;®¬¥à ¡ ª¨ ¯®¤ ®â« ¤ç¨ª®¬ | ||||
|                 out     (EmmWin.P3),a           ;¢ âà¥âì¥ ®ª® ¥¥ | ||||
|                 set     6,b                     ;ª®à४â¨à㥬  ¤à¥á | ||||
|                 ld      a,(bc)                  ;ç¨â ¥¬ ¡ ©â | ||||
|                 res     6,b                     ;¢®áâ  ¢«¨¢ ¥¬  ¤à¥á | ||||
|                 jr      Ld_a_hl.L1 | ||||
| .L1             ld      a,(WinPage)             ;®¬¥à ¡ ª¨ ¢ 0-¬ | ||||
|                 out     (EmmWin.P3),a           ;¢ âà¥âì¥ ®ª® ¥¥ | ||||
|                 set     6,b                     ;ª®à४â¨à㥬  ¤à¥á | ||||
|                 set     7,b | ||||
|                 ld      a,(bc)                  ;ç¨â ¥¬ ¡ ©â | ||||
|                 res     6,b                     ;¢®áâ  ¢«¨¢ ¥¬  ¤à¥á | ||||
|                 res     7,b | ||||
|                 jr      Ld_a_hl.L1 | ||||
| Ld_a_hl: | ||||
|                 ld      a,11000000b            ;¯à®¢¥àª  ¤¨ ¯ §®  | ||||
|                 and     h | ||||
|                 jr      z,.L2                   ;¢ 0-¬ ®ª¥ | ||||
|                 cp      10000000b              ;¢® 2-®¬ ®ª¥ | ||||
|                 ld      a,(hl) | ||||
|                 ret     nz                      ;¢®§¢à é ¥¬ ¡ ©â, ¥á«¨ ¥â | ||||
|                 ld      a,(WinPage+2)           ;®¬¥à ¡ ª¨ ¯®¤ ®â« ¤ç¨ª®¬ | ||||
|                 out     (EmmWin.P3),a           ;¢ âà¥âì¥ ®ª® ¥¥ | ||||
|                 set     6,h                     ;ª®à४â¨à㥬  ¤à¥á | ||||
|                 ld      a,(hl)                  ;ç¨â ¥¬ ¡ ©â | ||||
|                 res     6,h                     ;¢®áâ  ¢«¨¢ ¥¬  ¤à¥á | ||||
|                 jr      .L1 | ||||
| .L2             ld      a,(WinPage)             ;®¬¥à ¡ ª¨ ¢ 0-¬ ®ª¥ | ||||
|                 out     (EmmWin.P3),a           ;¢ âà¥âì¥ ®ª® ¥¥ | ||||
|                 set     6,h                     ;ª®à४â¨à㥬  ¤à¥á | ||||
|                 set     7,h | ||||
|                 ld      a,(hl)                  ;ç¨â ¥¬ ¡ ©â | ||||
|                 res     6,h                     ;¢®áâ  ¢«¨¢ ¥¬  ¤à¥á | ||||
|                 res     7,h | ||||
| .L1             push    af | ||||
|                 ld      a,(WinPage+3)           ;®¬¥à ¡ ª¨ ¨§ 3-£® ®ª  | ||||
|                 out     (EmmWin.P3),a           ;¢®áâ  ¢«¨¢ ¥¬ | ||||
|                 pop     af | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]                 ‡ ¯¨áì ¡ ©â  ¢ ¯ ¬ïâì á ¯à®¢¥àª®©  ¤à¥á                 [] | ||||
| ;[] ‚室:  HL -  ¤à¥á ¢ ¯ ¬ï⨠                                             [] | ||||
| ;[]        A  - § ¯¨á뢠¥¬ë© ¡ ©â                                           [] | ||||
| ;[]=========================================================================[] | ||||
| Ld_hl_a: | ||||
|                 push    af | ||||
|                 ld      a,11000000b            ;¯à®¢¥àª  ¤¨ ¯ §®  | ||||
|                 and     h | ||||
|                 jr      z,.L2                   ;¢ 0-®¬ ®ª¥ | ||||
|                 cp      10000000b              ;¢® 2-®¬ ®ª¥? | ||||
|                 jr      z,.L1 | ||||
|                 pop     af | ||||
|                 ld      (hl),a                  ;§ ¯¨á «¨ ¡ ©â, ¥á«¨ ¥â | ||||
|                 ret | ||||
| .L1             ld      a,(WinPage+2)           ;®¬¥à ¡ ª¨ ¯®¤ ®â« ¤ç¨ª®¬ | ||||
|                 out     (EmmWin.P3),a           ;¢ âà¥âì¥ ®ª® ¥¥ | ||||
|                 set     6,h                     ;ª®à४â¨à㥬  ¤à¥á | ||||
|                 pop     af | ||||
|                 ld      (hl),a                  ;¯¨è¥¬ ¡ ©â | ||||
|                 jr      .L3 | ||||
| .L2             ld      a,(WinPage)             ;®¬¥à ¡ ª¨ ¢ 0-®¬ | ||||
|                 out     (EmmWin.P3),a           ;¢ âà¥âì¥ ®ª® ¥¥ | ||||
|                 set     6,h                     ;ª®à४â¨à㥬  ¤à¥á | ||||
|                 set     7,h | ||||
|                 pop     af | ||||
|                 ld      (hl),a                  ;¯¨è¥¬ ¡ ©â | ||||
|                 res     7,h                     ;¢®áâ  ¢«¨¢ ¥¬  ¤à¥á | ||||
| .L3             res     6,h | ||||
|                 ld      a,(WinPage+3)           ;®¬¥à ¡ ª¨ ¨§ 3-£® ®ª  | ||||
|                 out     (EmmWin.P3),a           ;¢®áâ  ¢«¨¢ ¥¬ | ||||
|                 ret | ||||
| 
 | ||||
| ;[]=========================================================================[] | ||||
| ;[]            Ž¯à¥¤¥«¥¨¥ ¯à¨ ¤«¥¦®á⨠ ¤à¥á  ®¡« á⨠¯ ¬ï⨠            [] | ||||
| ;[] ‚室:  HL - ¨¦¨©  ¤à¥á ®¡« á⨠¯ ¬ï⨠                                [] | ||||
| ;[]        DE - ¢¥à娩  ¤à¥á ®¡« á⨠¯ ¬ï⨠                               [] | ||||
| ;[]        BC -  ¤à¥á                                                       [] | ||||
| ;[] ‚ë室: ä« £ C  -  ¤à¥á ¥ ¯à¨ ¤«¥¦¨â ®¡« á⨠¯ ¬ï⨠                   [] | ||||
| ;[]        ä« £ NC -  ¤à¥á ¯à¨ ¤«¥¦¨â ®¡« á⨠¯ ¬ï⨠                      [] | ||||
| ;[]=========================================================================[] | ||||
| AdrArea: | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
|                 ret     c | ||||
|                 ex      de,hl | ||||
|                 or      a | ||||
|                 sbc     hl,bc | ||||
|                 ccf | ||||
|                 ret | ||||
| 
 | ||||
							
								
								
									
										1
									
								
								VERSION/build.bin
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								VERSION/build.bin
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| 0003 | ||||
							
								
								
									
										1
									
								
								VERSION/date.bin
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								VERSION/date.bin
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| 210211 | ||||
							
								
								
									
										1
									
								
								VERSION/major.bin
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								VERSION/major.bin
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| 0 | ||||
							
								
								
									
										1
									
								
								VERSION/minor.bin
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								VERSION/minor.bin
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| 11 | ||||
							
								
								
									
										1
									
								
								VERSION/time.bin
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								VERSION/time.bin
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| 00:00 | ||||
							
								
								
									
										25
									
								
								changes.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								changes.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| DemoN v.0.11 | ||||
| Hard/WCG | ||||
| 
 | ||||
| b0003 20.02.2011 | ||||
| + По кнопке <Z> PC присваивается адрес, на котором установлен курсор. | ||||
| 
 | ||||
| + Добавил диалог Load BIN-file, но еще не довел его до ума. | ||||
| 
 | ||||
| b0002 19.02.2011 | ||||
| * Изменил процедуры печати и прорисовки курсора для работы через DSS, т.к. на эмуляторе Demon не | ||||
| полноценно работает. | ||||
| 
 | ||||
| + при старте запоминаем текущий режим экрана и при выходе - восстанавливаем. | ||||
| 
 | ||||
| + сохраняем в буфер инфу экрана ОСи, если экран демона находится на той же странице, | ||||
| при выходе - восстанавливаем | ||||
| 
 | ||||
| * изменена П/П просмотра другого экрана, теперь она с учетом того, что демон и ОС могут быть на одном экране | ||||
| 
 | ||||
| * изменен образ "непечатаемого" символа | ||||
| 
 | ||||
| + добавил ПП прорисовки окон и обработки диалогов - на будущее | ||||
| 
 | ||||
| b0001 18.02.2011 | ||||
| * Переделал исходник под кроссассемблер sjasmplus. | ||||
							
								
								
									
										
											BIN
										
									
								
								d010_136.rar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								d010_136.rar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										1
									
								
								daemon.lst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								daemon.lst
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| (0): error: Error opening file: daemon.asm | ||||
							
								
								
									
										191
									
								
								loadbin.asm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								loadbin.asm
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,191 @@ | ||||
| LoadBinDialog	ld	ix,.LoadBinWnd | ||||
| 		call	DialogWindow | ||||
| 		ret | ||||
| .LoadBinEditFN	;ld	hl,.LoadBinFileName | ||||
| 		;ld	c,20 | ||||
| 		;call	InputLine.ToBuffer | ||||
| .L003		ld	hl,#0f24 | ||||
| 		ld	b,20 | ||||
| 		call	InputLine1 | ||||
| 		jr	c,LoadBinDialog | ||||
| 		ld	a,c | ||||
| 		and	a | ||||
| 		jr	z,.L003 | ||||
| 		ld	(.filenamelen),a | ||||
| 		push	bc | ||||
| 		ld	de,.LoadBinFileName | ||||
| 		call	InputLine.FromBuffer | ||||
| 		pop	bc | ||||
| 		ld	a,20 | ||||
| 		sub	c | ||||
| 		jr	z,.L001 | ||||
| 		ld	b,a | ||||
| 		ld	a,32 | ||||
| .L002		ld	(de),a | ||||
| 		inc	de | ||||
| 		djnz	.L002 | ||||
| .L001		jr	LoadBinDialog | ||||
| 
 | ||||
| .EditAddres	ld	hl,#1021 | ||||
| 		ld	b,5 | ||||
| 		call	InputLine1 | ||||
| 		jr	c,LoadBinDialog | ||||
| 		push	bc | ||||
| 		call	PutAdres | ||||
| 		pop	bc | ||||
| 		jr	c,.EditAddres | ||||
| 		ld	(.LoadToAdr),hl | ||||
| 		ld	de,.AdresTxt | ||||
| 		call	InputLine.FromBuffer | ||||
| 		jr	LoadBinDialog | ||||
| .EditLenght	ld	hl,#1031 | ||||
| 		ld	b,5 | ||||
| 		call	InputLine1 | ||||
| 		jr	c,LoadBinDialog | ||||
| 		push	bc | ||||
| 		call	PutAdres | ||||
| 		pop	bc | ||||
| 		jr	c,.EditLenght | ||||
| 		ld	(.LoadLen),hl | ||||
| 		ld	de,.LenTxt | ||||
| 		call	InputLine.FromBuffer | ||||
| 		jr	LoadBinDialog | ||||
| .LoadBIN	 | ||||
|                 xor     a | ||||
|                 ld      (ClockOn),a | ||||
| 		ld	c,Dss.Open | ||||
| 		ld	hl,.LoadBinFileName | ||||
| 		push	hl | ||||
| 		ld	a,(.filenamelen) | ||||
| 		ld	d,0 | ||||
| 		ld	e,a | ||||
| 		add	hl,de | ||||
| 		ld	(.restadr+1),hl | ||||
| 		ld	(hl),0 | ||||
| 		pop	hl | ||||
| 		ld	a,1 | ||||
| 		rst	DssRst | ||||
| 		jp	c,.Err1 | ||||
| .restadr	ld	hl,0 | ||||
| 		ld	(hl),32 | ||||
| 		ld	(.FMid),a | ||||
| 		ld	hl,(.LoadToAdr) | ||||
| 		ld	a,1			;àäðåñ â îáëàñòè #0000-7fff? | ||||
| 		bit	7,h | ||||
| 		jr	z,.adr0000 | ||||
| 		inc	a			;#8000-#bfff? | ||||
| 		bit	6,h | ||||
| 		jr	z,.adr | ||||
| 		inc	a			;#c000-ffff !!! | ||||
| 		jr	.adr | ||||
| .adr0000	bit	6,h | ||||
| 		jr	nz,.adr | ||||
| 		sub	a | ||||
| .adr		ld	(.bank),a | ||||
| 		set	6,h			;àäðåñ çàãðóçêè =>#4XXX | ||||
| 		res	7,h | ||||
| 		ld	(.LoadFirst+4),hl | ||||
| 		push	hl | ||||
| 		ld	hl,0			;Óçíàåì äëèíó ôàéëà | ||||
| 		ld	ix,0 | ||||
| 		ld	b,2 | ||||
| 		ld	c,Dss.Move_FP | ||||
| 		rst	DssRst | ||||
| 		ld	(.LoadLen),HL | ||||
| 		ld	(.LoadEnd+1),hl | ||||
| 		pop	hl | ||||
| .Load00		and	a | ||||
| 		ex	hl,de | ||||
| 		ld	de,#8000 | ||||
| 		sbc	hl,de | ||||
| 		ld	(.LoadFirst+1),hl | ||||
| 		ld	de,(.LoadEnd+1) | ||||
| 		and	a | ||||
| 		sbc	hl,de | ||||
| 		jr	c,.LoadEnd | ||||
| .LoadFirst	ld	de,0			;êîëè÷åñòâî áàéò, êîòîðûå íàäî ñ÷èòàòü â ïåðâóþ áàíêó | ||||
| 		ld	hl,0			;àäðåñ, êóäà ñêà÷àòü | ||||
| .LoadNext	call	.Bank1 | ||||
| 		ld	c,Dss.Read | ||||
| 		ld	a,(.FMid) | ||||
| 		rst	DssRst | ||||
| 		jr	c,.Err | ||||
| 		ld	hl,.bank | ||||
| 		inc	(hl) | ||||
| 		ld	hl,(.LoadEnd+1) | ||||
| 		ld	de,#4000 | ||||
| 		and	a | ||||
| 		sbc	hl,de | ||||
| 		jr	c,.LoadEnd		;Îñòàëîñü ìåíüøå 16Êá | ||||
| 		ld	(.LoadEnd+1),hl | ||||
| 		ld	hl,#4000 | ||||
| 		ld	de,#4000 | ||||
| 		jr	.LoadNext | ||||
| .LoadEnd	ld	de,0			;êîëè÷åñòâî áàéò, êîòîðûå íåîáõîäèìî äî÷èòàòü | ||||
| 		call	.Bank1 | ||||
| 		ld	hl,#4000 | ||||
| 		ld	a,(.FMid) | ||||
| 		ld	c,Dss.Read | ||||
| 		rst	DssRst | ||||
| 		jr	c,.Err | ||||
| 		ld	a,(.FMid) | ||||
| 		ld	c,Dss.Close | ||||
| 		rst	DssRst | ||||
| 
 | ||||
| 		ld	hl,(.LoadToAdr) | ||||
| 		ld	(ListAdr),hl | ||||
| 		ld	a,(WinPage+1) | ||||
| 		out	(EmmWin.P1),a | ||||
| 		ret | ||||
| .Err		push	af | ||||
| 		ld	a,(.FMid) | ||||
| 		ld	c,Dss.Close | ||||
| 		rst	DssRst | ||||
| 		pop	af | ||||
| .Err1		call	ErDss | ||||
| 		ld	c,Dss.PChars		;âûâîä òåêñòà îøèáêè è îæèäàíèÿ any key | ||||
| 		rst	DssRst | ||||
| 		ld	c,Dss.WaitKey | ||||
| 		rst	DssRst | ||||
| 		ret | ||||
| 		 | ||||
| .Bank1		push	hl | ||||
| 		push	de | ||||
| 		ld	a,(.bank) | ||||
| 		ld	l,a | ||||
| 		ld	h,0 | ||||
| 		ld	de,WinPage | ||||
| 		add	hl,de | ||||
| 		ld	a,(hl) | ||||
| 		out	(EmmWin.P1),a | ||||
| 		pop	de | ||||
| 		pop	hl | ||||
| 		ret		 | ||||
| 		 | ||||
| 		 | ||||
| 
 | ||||
| .bank		db	0		 | ||||
| .FMid		db	0 | ||||
| .filenamelen	db	0 | ||||
| .LoadToAdr	dw	#4000 | ||||
| .LoadLen	dw	#1000		 | ||||
| .LoadBinWnd	db	2,23,13,36,6,7 | ||||
| 		db	"Load BIN-file",0 | ||||
| 		db	"Filename:  " | ||||
| .LoadBinFileName	ds	20,32 | ||||
| 		db	0X0D | ||||
| 		db	"Addres: " | ||||
| .AdresTxt	db	"#4000   Lenght: " | ||||
| .LenTxt		db	"#1000" | ||||
| 		db	0x16,10+23,4+13,"OK       Cancel",0 | ||||
| 		db	5 | ||||
| 		db	35,15,22,2	;Filename | ||||
| 		dw	0,.LoadBinEditFN | ||||
| 		db	32,16,7,2	;Addres | ||||
| 		dw	0,.EditAddres | ||||
| 		db	48,16,7,2	;Lenght | ||||
| 		dw	0,.EditLenght | ||||
| 		db	30,17,8,2	;OK | ||||
| 		dw	0,.LoadBIN | ||||
| 		db	41,17,8,2	;Cancel | ||||
| 		dw	0,0 | ||||
							
								
								
									
										3
									
								
								make.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								make.bat
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| C:\asm\sjasm\sjasmplus.exe --lst=demon.lst --lstlab demon.asm | ||||
| copy /B /Y demon.exe M:\Install\zx\sprinter\soft\emulator\exe\disk\ | ||||
| pause 0 | ||||
							
								
								
									
										26
									
								
								readme.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								readme.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
| Монитор-отладчик DemoN by Alpha Studio с небольшими доработками Hard/WCG | ||||
| 
 | ||||
| DemoN v.0.11 | ||||
| 
 | ||||
| b0003 20.02.2011 | ||||
| + По кнопке <Z> PC присваивается адрес, на котором установлен курсор. | ||||
| 
 | ||||
| + Добавил диалог Load BIN-file, но еще не довел его до ума. | ||||
| 
 | ||||
| b0002 19.02.2011 | ||||
| * Изменил процедуры печати и прорисовки курсора для работы через DSS, т.к. на эмуляторе Demon не | ||||
| полноценно работает. | ||||
| 
 | ||||
| + при старте запоминаем текущий режим экрана и при выходе - восстанавливаем. | ||||
| 
 | ||||
| + сохраняем в буфер инфу экрана ОСи, если экран демона находится на той же странице, | ||||
| при выходе - восстанавливаем | ||||
| 
 | ||||
| * изменена П/П просмотра другого экрана, теперь она с учетом того, что демон и ОС могут быть на одном экране | ||||
| 
 | ||||
| * изменен образ "непечатаемого" символа | ||||
| 
 | ||||
| + добавил ПП прорисовки окон и обработки диалогов - на будущее | ||||
| 
 | ||||
| b0001 18.02.2011 | ||||
| * Переделал исходник под кроссассемблер sjasmplus. | ||||
							
								
								
									
										349
									
								
								windows.asm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										349
									
								
								windows.asm
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,349 @@ | ||||
| 
 | ||||
| ;IX	- WINDOW DESCRIPTOR | ||||
| ;+0	- FLAG: | ||||
| ;	BITS:	0	-	STANDART WINDOW | ||||
| ;		1	-	0 - WITHOUT HEADER / 1 - WITH HEADER | ||||
| ;		2	-	0 - ORDINARY FRAME / 1 - DOUBLE FRAME | ||||
| ;+1	- X COORD | ||||
| ;+2	- Y COORD | ||||
| ;+3	- LENGHT | ||||
| ;+4	- HEIGHT | ||||
| ;+5	- ATTR | ||||
| 
 | ||||
| 
 | ||||
| Windows	BIT	0,(IX+0) | ||||
| 	JR	Z,NO_STAND_WIN | ||||
| 	LD	A,(IX+1) | ||||
| 	LD	DE,-4 | ||||
| 	ADD	IX,DE | ||||
| 	PUSH	IX | ||||
| 	LD	IX,STANDART | ||||
| 	LD	(IX+5),A | ||||
| 	JR	STAND_WIN | ||||
| NO_STAND_WIN | ||||
| 	PUSH	IX | ||||
| STAND_WIN | ||||
| 	CALL	Rectang | ||||
| 	CALL	Frame | ||||
| 	BIT	1,(IX+0) | ||||
| 	CALL	NZ,WinHeader | ||||
| 	POP	HL | ||||
| ;	PUSH	HL | ||||
| 	LD	DE,6 | ||||
| 	ADD	HL,DE | ||||
| 	bit	1,(ix+0) | ||||
| 	ld	a,(IX+5) | ||||
| 	jr	z,WinNoHeader | ||||
| 	RRCA | ||||
| 	RRCA | ||||
| 	RRCA | ||||
| 	RRCA | ||||
| 	AND	#7F | ||||
| 	ld      (PrnStrColor.L1+5),a | ||||
| 	push	hl | ||||
| 	call	MenuItemLen | ||||
| 	ld	a,(ix+3) | ||||
| 	sbc	a,b | ||||
| 	ld	e,(ix+1) | ||||
| 	and	a | ||||
| 	rra | ||||
| 	add	a,e | ||||
| 	ld	e,a | ||||
| 	ld	d,(ix+2) | ||||
| 	pop	hl | ||||
| 	CALL	PrnStrColor | ||||
| 	inc	hl | ||||
| 	ld	a,(IX+5) | ||||
| WinNoHeader | ||||
| 	ld      (PrnStrColor.L1+5),a | ||||
| 	ld	d,(ix+2)		;Êîîðäèíàòû â îêíå | ||||
| 	ld	e,(ix+1) | ||||
| 	inc	d | ||||
| 	inc	d | ||||
| 	inc	e | ||||
| 	inc	e | ||||
| 	ld	a,e | ||||
| 	ld	(PrtXCoord),a | ||||
| ;	LD	(WINDOW_TXT),HL | ||||
| 	CALL	PrnStrColor | ||||
| ;	EX	(DE),HL | ||||
| 	RET | ||||
| 
 | ||||
| ;Ðèñîâàíèå çàãîëîâêà îêíà | ||||
| WinHeader | ||||
| 	LD	E,(IX+1) | ||||
| 	LD	D,(IX+2) | ||||
| 	LD	L,(IX+3) | ||||
| 	LD	H,1 | ||||
| 	LD	A,(IX+5) | ||||
| 	RRCA | ||||
| 	RRCA | ||||
| 	RRCA | ||||
| 	RRCA | ||||
| 	AND	#7F | ||||
| 	LD	B,A | ||||
| 	LD	A,#20 | ||||
| 	CALL	FillBox | ||||
| 	RET | ||||
| 
 | ||||
| ;Ïðîöåäóðà îñâîáîæäåíèÿ	ïðÿìîóãîëüíîé ïëîùàäè îêíà | ||||
| ;Íà âõîä: IX - àäðåñ îïèñàòåëÿ | ||||
| Rectang	LD	E,(IX+1) | ||||
| 	LD	D,(IX+2) | ||||
| 	LD	H,(IX+4) | ||||
| 	LD	L,(IX+3) | ||||
| 	LD	B,(IX+5) | ||||
| 	LD	A,#20 | ||||
| 	CALL	FillBox | ||||
| 	RET  | ||||
| 
 | ||||
| FillBox	PUSH	HL | ||||
| 	PUSH	DE	 | ||||
| FillB1	LD	C,Dss.WrChar | ||||
| 	RST	DssRst | ||||
| 	INC	E | ||||
| 	DEC	L | ||||
| 	JR	NZ,FillB1 | ||||
| 	POP	DE | ||||
| 	POP	HL | ||||
| 	INC	D | ||||
| 	DEC	H | ||||
| 	JR	NZ,FillBox | ||||
| 	RET | ||||
| 	 | ||||
| 	 | ||||
| Frame	LD	HL,FrameType1 | ||||
| 	BIT	2,(IX+0)		;windows type flag | ||||
| 	JR	Z,Frame1 | ||||
| 	LD	HL,FrameType2 | ||||
| Frame1	LD	D,(IX+2) | ||||
| 	LD	E,(IX+1) | ||||
| 	LD	B,(IX+5) | ||||
| 	PUSH	DE | ||||
| 	PUSH	HL | ||||
| ;	PUSH	BC | ||||
| 	LD	A,(HL) | ||||
| 	LD	C,Dss.WrChar | ||||
| 	RST	DssRst | ||||
| ;	POP	BC | ||||
| 	POP	HL | ||||
| 	POP	DE | ||||
| 	LD	A,(IX+3) | ||||
| 	DEC	A | ||||
| 	ADD	A,E | ||||
| 	LD	E,A | ||||
| 	INC	HL | ||||
| 	LD	A,(HL) | ||||
| 	LD	C,Dss.WrChar | ||||
| 	PUSH	DE | ||||
| 	PUSH	HL | ||||
| 	RST	DssRst | ||||
| 	POP	HL | ||||
| 	POP	DE | ||||
| 	LD	A,(IX+4) | ||||
| 	DEC	A | ||||
| 	ADD	A,D | ||||
| 	LD	D,A | ||||
| 	INC	HL | ||||
| 	LD	A,(HL) | ||||
| 	PUSH	DE | ||||
| 	PUSH	HL | ||||
| 	LD	C,Dss.WrChar | ||||
| 	RST	DssRst | ||||
| 	POP	HL | ||||
| 	POP	DE | ||||
| 	LD	E,(IX+1) | ||||
| 	INC	HL | ||||
| 	LD	A,(HL) | ||||
| 	LD	C,Dss.WrChar | ||||
| 	RST	DssRst | ||||
| ;HORIZONTAL LINES | ||||
| 	INC	HL | ||||
| 	LD	A,(HL) | ||||
| 	LD	(FramHor),A | ||||
| 	INC	HL | ||||
| 	PUSH	HL | ||||
| 	LD	H,(IX+2) | ||||
| 	LD	A,(IX+4) | ||||
| 	DEC	A | ||||
| 	ADD 	A,H | ||||
| 	LD 	L,A | ||||
| 	LD	A,(IX+3) | ||||
| 	SUB	2 | ||||
| 	LD	C,Dss.WrChar | ||||
| 	LD	E,(IX+1) | ||||
| 	INC	E | ||||
| 	LD	B,(IX+5) | ||||
| FramHl1	PUSH	AF | ||||
| 	PUSH	HL | ||||
| 	LD	D,H | ||||
| 	LD	A,0 | ||||
| FramHor	EQU	$-1 | ||||
| 	PUSH	AF | ||||
| 	RST	DssRst | ||||
| 	POP	AF | ||||
| 	LD	D,L | ||||
| 	RST	DssRst | ||||
| 	POP	HL | ||||
| 	POP	AF | ||||
| 	INC	E | ||||
| 	DEC	A | ||||
| 	JR	NZ,FramHl1 | ||||
| 	POP	HL | ||||
| ;VERTICAL LINES | ||||
| 	LD	A,(HL) | ||||
| 	LD	(FramVer),A | ||||
| 	LD	H,(IX+1) | ||||
| 	LD	A,(IX+3) | ||||
| 	DEC	A | ||||
| 	ADD 	A,H | ||||
| 	LD 	L,A | ||||
| 	LD	A,(IX+4) | ||||
| 	SUB	2 | ||||
| 	LD	C,Dss.WrChar | ||||
| 	LD	D,(IX+2) | ||||
| 	INC	D | ||||
| 	LD	B,(IX+5) | ||||
| FramVl1	PUSH	AF | ||||
| 	PUSH	HL | ||||
| 	LD	E,H | ||||
| 	LD	A,0 | ||||
| FramVer	EQU	$-1 | ||||
| 	PUSH	AF | ||||
| 	RST	DssRst | ||||
| 	POP	AF | ||||
| 	LD	E,L | ||||
| 	RST	DssRst | ||||
| 	POP	HL | ||||
| 	POP	AF | ||||
| 	INC	D | ||||
| 	DEC	A | ||||
| 	JR	NZ,FramVl1 | ||||
| 	RET | ||||
| 
 | ||||
| ;ËÈÑÒÀÅÒ ÄÎ ÑËÅÄÓÞÙÅÃÎ ÏÓÍÊÒÀ ÌÅÍÞ | ||||
| MenuItemLen | ||||
| 	LD	B,0 | ||||
| NextMnuItem | ||||
| 	LD	A,(HL) | ||||
| 	INC	HL | ||||
| 	AND	A | ||||
| 	RET	Z | ||||
| 	INC	B | ||||
| 	JR	NextMnuItem | ||||
| 
 | ||||
| 
 | ||||
| ;Ïðîðèñîâêà îêíà è îáðàáîòêà äèàëîãà | ||||
| DialogWindow | ||||
| 	call	Windows | ||||
| 	inc	hl | ||||
| ;	jp	WinDialog | ||||
| 
 | ||||
| ;ÏÏ îáðàáîòêè äèàëîãîâîãî îêíà | ||||
| ;Dialogs | ||||
| ;+0 (1)	-	Count of Items | ||||
| ;+1 (N)	-	Item Descriptor | ||||
| ;Descriptor | ||||
| ;	+0	-	X | ||||
| ;	+1	-	Y | ||||
| ;	+2	-	Len | ||||
| ;	+3	-	Attrib | ||||
| ;	+4 (2)	-	Hot Key | ||||
| ;	+6 (2)	-	Routine | ||||
| 
 | ||||
| WinDialog: | ||||
| 	ld	a,(hl) | ||||
| 	ld	(DlgItemsCnt),a | ||||
| 	inc	hl | ||||
| 	ld	(.DialogAdr),hl	 | ||||
| 	xor	a | ||||
| 	ld	(SelectedItem),a | ||||
| .Lp1	ld	a,(SelectedItem) | ||||
| 	ld	l,a | ||||
| 	ld	h,0 | ||||
| 	add	hl,hl | ||||
| 	add	hl,hl | ||||
| 	add	hl,hl | ||||
| 	ld	de,0 | ||||
| .DialogAdr	equ $-2 | ||||
| 	add	hl,de | ||||
| 	ld	e,(hl) | ||||
| 	inc	hl | ||||
| 	ld	d,(hl) | ||||
| 	inc	hl | ||||
| 	ld	b,(hl) | ||||
| 	ex	hl,de | ||||
| 	call	CursorSet | ||||
| .Lp2	ld	c,Dss.ScanKey | ||||
| 	rst	DssRst | ||||
| 	jr	z,.Lp2 | ||||
| 	ld	a,d | ||||
| 	cp	#52		;<Down> | ||||
| 	jr	nz,.Lp3 | ||||
| .LpDn	ld	a,(DlgItemsCnt) | ||||
| 	ld	b,a | ||||
| 	ld	a,(SelectedItem) | ||||
| 	inc	a | ||||
| 	cp	b		;Äîñòèãëè ìàêñèìàëüíîãî ïóíêòà | ||||
| 	jr	z,.Lp2 | ||||
| .Lp4	ld	(SelectedItem),a | ||||
| 	call	CursorRes | ||||
| 	jr	.Lp1 | ||||
| .Lp3	cp	#58		;<Up> | ||||
| 	jr	nz,.Lp5 | ||||
| .LpUp	ld	a,(SelectedItem) | ||||
| 	and	a | ||||
| 	jr	z,.Lp2 | ||||
| 	dec	a | ||||
| 	jr	.Lp4 | ||||
| .Lp5	cp	#54		;<Left> | ||||
| 	jr	z,.LpUp | ||||
| 	cp	#56		;<Right> | ||||
| 	jr	z,.LpDn | ||||
| .LpAscii | ||||
| 	ld	a,e		;ASCII - êîä | ||||
| 	cp	#0D		;<Enter> | ||||
| 	jr	nz,.Lp2 | ||||
| 	call	CursorRes | ||||
| 	ld	a,(SelectedItem) | ||||
| 	ld	l,a | ||||
| 	ld	h,0 | ||||
| 	add	hl,hl | ||||
| 	add	hl,hl | ||||
| 	add	hl,hl | ||||
| 	ld	de,(.DialogAdr) | ||||
| 	add	hl,de | ||||
| 	ld	de,6 | ||||
| 	add	hl,de | ||||
| 	ifdef	DEBUG | ||||
| 		push	hl | ||||
| 		ld	de,0 | ||||
| 		call	PrintReg | ||||
| 		pop	hl | ||||
| 	endif | ||||
| 	ld	a,(hl) | ||||
| 	inc	hl | ||||
| 	ld	h,(hl) | ||||
| 	ld	l,a | ||||
| 	or	h | ||||
| 	ret	z		;Åñëè àäðåñ =0, òî RET | ||||
| 	ifdef	DEBUG | ||||
| 		push	hl | ||||
| 		ld	de,8 | ||||
| 		call	PrintReg | ||||
| 		pop	hl | ||||
| 	endif | ||||
| 	jp	(hl) | ||||
| DlgItemsCnt | ||||
| 	DB	0 | ||||
| SelectedItem | ||||
| 	DB	0 | ||||
| STANDART;    TYPE, X, Y,  L,H,COLOR        | ||||
|         DEFB    5,10,13,#20,6,7 | ||||
| 
 | ||||
| ;Ordinary frame | ||||
| FrameType1 | ||||
| 	DB	#DA,#BF,#D9,#C0,#C4,#B3 | ||||
| ;Double frame | ||||
| FrameType2 | ||||
| 	DB	#C9,#BB,#BC,#C8,#CD,#BA | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Dmitry
						Dmitry