mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 09:21:45 +03:00
2903 lines
65 KiB
Plaintext
Executable File
2903 lines
65 KiB
Plaintext
Executable File
DEVICE ZXSPECTRUM128
|
||
INCLUDE "!AllConst.asm"
|
||
INCLUDE "!ram8.asm"
|
||
ORG #0000
|
||
ROMdisk equ #1200
|
||
|
||
;#0000 *NOT USED* (#08 ¡ ©â)
|
||
;#0008 rst #08 ¯¥ç âì á®®¡é¥¨ï ¯® ®¬¥àã ¢ BC
|
||
;#000D *NOT USED* (#03 ¡ ©â )
|
||
;#0010 rst #10 ¯¥ç âì ᨬ¢®« ¨§ A
|
||
;#0015 *NOT USED* (#03 ¡ ©â)
|
||
;#0018 ¢ë§®¢ ¯à®æ¥¤ãàë ¨§ rom7 (rst #18: dw addr)
|
||
;#001B *NOT USED* (ld a,#01)
|
||
;#001E *NOT USED* (#02 ¡ ©â )
|
||
;#0020 rst #20 ¯¥ç âì áâப¨
|
||
;#0025 *NOT USED* (#0B ¡ ©â)
|
||
;#0030 rst #30 ¢ë§®¢ ¯à®æ¥¤ãàë ¨§ ¤à㣮£® rom
|
||
;#0033 *NOT USED* (#05 ¡ ©â)
|
||
;#0038 ®¡à ¡®â稪 ¯à¥àë¢ ¨© im 0/1
|
||
;#003B *NOT USED* (#2B ¡ ©â)
|
||
;#0066 ®¡à ¡®âª NMI (§ ¢¨á ¨¥ á ¦¥«â®-ç¥àë¬ ¡®à¤î஬)
|
||
;#006F *NOT USED* (#01 ¡ ©â)
|
||
;#0070 ¯¥à¥¬¥ë¥ ROM-disk
|
||
;#0073 § £à㧪 ¡«®ª ¨§ ROM-Disk
|
||
;#00AA *NOT USED* (#55 ¡ ©â)
|
||
;#00FF ¤à¥á ¯/¯ ®¡à ¡®âª¨ ¯à¥àë¢ ¨© im 2
|
||
;#0101 ®¬¥à ⥪ã饣® rom
|
||
;#0102 ’ ¡«¨æ ¯¥à¥ª«î票© ࡨâà áâà ¨æ <20>à®ä<C2AE>‡“ (#0E ¡ ©â)
|
||
;#0110 ’ ¡«¨æ ¯¥à¥å®¤®¢ <20>à®ä<C2AE>‡“
|
||
;#0114 ®¡à ¡®â稪 ¯à¥àë¢ ¨© im 1/2
|
||
;#0149 ¯¥ç âì áâப¨ (rst #20)
|
||
;#0156 ¯¥ç âì ¨ä®à¬ 樨 ® «®¢ã誥
|
||
;#01E4 ãáâ ®¢ª ®¢®© «®¢ã誨 ¢ ®â« ¤ç¨ª¥
|
||
;#0249 ¢ë¢®¤ ª â «®£ ⥪ã饣® ¤¨áª®¢®¤ ( íªà /¯à¨â¥à)
|
||
;#03A1 ¯¥ç âì ç¨á« ¢ ¤¥áïâ¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
;#03A9 ä®à¬ â¨à®¢ ¨¥/¯à®¢¥àª ⥪ã饩 ¤¨áª¥âë
|
||
;#04E5 ¡ëáâ஥ ä®à¬ â¨à®¢ ¨¥ ⥪ã饩 ¤¨áª¥âë (®ç¨á⪠ª â «®£ )
|
||
;#064D ãáâ ®¢ª ¤¥áªà¨¯â®à ®ª : § ¯à®á § ¯¨áì MBR
|
||
;#0655 hl=hl+5: hl=de (z à ¢ë)
|
||
;#0667 ¢ë§®ä äãªæ¨¨ R8DOS
|
||
;#066C ãáâ ®¢ª ª®¤ ¤¨áª®¢®© ®è¨¡ª¨ ¢ ¯¥à¥¬¥®© ¤«ï ¯¥ç ⨠ç¨á«
|
||
;#0675 § ã«¥¨¥ #100 ¡ ©â ¡ãä¥à xE5A9
|
||
;#0678 § ã«¥¨¥ #100 ¡ ©â ¯ ¬ï⨠á hl
|
||
;#067F á®åà ¥¨¥ íªà ¯®«ì§®¢ â¥«ï ¤¨áª
|
||
;#06A6 ¯¥ç âì á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¨ ¯à®¤®«¦¥¨¥ à ¡®âë ¬®¨â®à
|
||
;#06AD ¢¢®¤ ⥪á⮢®© áâப¨ ¢¨§ã íªà
|
||
;#06‘1 ¯¥ç âì ⥪ã饣® ¬¥î ¬®¨â®à (¡¥§ ¢®§¢à â )
|
||
;¥ ¨á¯®«ì§ã¥âáï #06C5 ¢ë¢®¤ ¢ ¯®àâ #FE ᮤ¥à¦¨¬®¥ ï祩ª¨ (#7530)
|
||
;#06CB â ¡«¨æ ᮮ⢥âá⢨© ¦ ⮩ ª« ¢¨è¨ ¯¥ç ⮬ã ᨬ¢®«ã
|
||
;#06F2 â ¡«¨æ ª®¤®¢ ª« ¢¨è cs+1+ª« ¢¨è
|
||
;#0719 â ¡«¨æ ª®¤®¢ ª« ¢¨è ss+ª« ¢¨è
|
||
;#0740 â ¡«¨æ ª®¤®¢ ª« ¢¨è cs+æ¨äà
|
||
;#074A ®¦¨¤ ¨¥ ¤¥©á⢨© ¯®«ì§®¢ ⥫ï (®¯à®á ã¯à ¢«¥¨ï, ¢ë¢®¤ ç ᮢ)
|
||
;#0773 ¯à®¢¥àª «¨ç¨ï ¦ âëå ª« ¢¨è ¢ ¡ãä¥à¥ ª« ¢¨ âãàë
|
||
;#0777 ¯à®¢¥àª «¨ç¨ï ¦ âëå ª« ¢¨è ¢ ¡ãä¥à¥ ª« ¢¨ âãàë
|
||
;#0780 ¯à®¢¥àª ¯¥à¥¯®«¥¨ï ¡ãä¥à ª« ¢¨ âãàë
|
||
;#078B á¡à®á ¡ãä¥à ª« ¢¨ âãàë
|
||
;#0792 ®¯à®á ª« ¢¨ âãàë ¨ ãáâ ®¢ª ª®¤ ¦ ⮩ ª« ¢¨è¨ ¢ ¡ãä¥à¥
|
||
;#07B2 ®¯à®á ª« ¢¨ âãàë ¨ ãáâ ®¢ª ª®¤ ¦ ⮩ ª« ¢¨è¨
|
||
;#0845 ®¯à®á ª« ¢¨ âãàë
|
||
;#086A ®¯à¥¤¥«¥¨¥ ª®¤ ¦ ⮩ ª« ¢¨è¨/ª®¬¡¨ 樨 ª« ¢¨è
|
||
;#093F RST #08:db #8B § £à㧪 zs-snap á ¤¨áª
|
||
;#096D ª®¯¨à®¢ ¨¥ ªâ¨¢®£® íªà ¯®«ì§®¢ â¥«ï ¢ #4000
|
||
;#0972 ¯¥ç âì ⥪ã饣® ¬¥î ¬®¨â®à (¡¥§ ¢®§¢à â )
|
||
;#0976 § £à㧪 zs-snap (S. load ... snap)
|
||
;#097E á®åà ¥¨¥ zs-snap (S. save ... snap)
|
||
;#0B71 à áç¥â ç « ¡¨â®¢®© ª àâë ¯ à £à 䮢 § ¤ ®© áâà ¨æë
|
||
;#0B74 ¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
;#0D59 ¢ª«î票¥ ०¨¬ 48k only
|
||
;#0D60 ãáâ ®¢ª ¯/¯ jp #addr ¯® ¤à¥áã xE338
|
||
;#0D6D ãáâ ®¢ª /¢®ááâ ®¢«¥¨¥ ¯ à ¬¥â஢ § £®«®¢ª zs-snap
|
||
;#0E3B § £à㧪 ¨§ ROM-disk
|
||
;#0EE0 § £à㧪 ¡«®ª ¨§ ROM-disk
|
||
;#0EE6 § £à㧪 ¡«®ª ¨§ ROM-disk
|
||
;#0F08 § £à㧪 áâà ¨æë ¨§ ROM-disk ¢ ¯ ¬ïâì #8000
|
||
;¥ ¨á¯®«ì§ã¥âáï #0F4D § ¯®«¥¨¥ ®¡« á⨠¯ ¬ï⨠[#4000..#7FFF] ¯®«ì§®¢ ⥫ï
|
||
;#0F60 § ¯ ª®¢ª ¡«®ª
|
||
;#1103 á«®¦¥¨¥ hl=hl+a
|
||
;#1108 à ᯠª®¢ª ¡«®ª
|
||
;#11AF NOT USED
|
||
;#1200 ROM-disk
|
||
;#4000
|
||
|
||
|
||
|
||
;€„<E282AC>…‘: #0000 *NOT USED* (#08 ¡ ©â)
|
||
x0000 ds #08
|
||
|
||
;€„<E282AC>…‘: #0008 rst #08 ¯¥ç âì á®®¡é¥¨ï ¯® ®¬¥àã ¢ BC
|
||
x0008 rst #30
|
||
dw rom5_x11CD ;¯¥ç âì á®®¡é¥¨ï ¯® ®¬¥àã ¢ BC
|
||
db #05
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #000D *NOT USED* (#03 ¡ ©â )
|
||
x000D ds #03
|
||
|
||
;€„<E282AC>…‘: #0010 rst #10 ¯¥ç âì ᨬ¢®« ¨§ A
|
||
x0010 rst #30
|
||
dw rom2_x2B12 ;¯¥ç âì ᨬ¢®« (rst #10)
|
||
db #02
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0015 *NOT USED* (#03 ¡ ©â)
|
||
x0015 ds #03
|
||
|
||
;€„<E282AC>…‘: #0018 ¢ë§®¢ ¯à®æ¥¤ãàë ¨§ rom7 (rst #18: dw addr)
|
||
x0018 jp xE41B
|
||
|
||
;€„<E282AC>…‘: #001B *NOT USED* (ld a,#01)
|
||
x001B ld a,#01
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #001E *NOT USED* (#02 ¡ ©â )
|
||
x001E ds #02
|
||
|
||
;€„<E282AC>…‘: #0020 rst #20 ¯¥ç âì áâப¨
|
||
x0020 ex (sp),hl
|
||
push af
|
||
jp x0149
|
||
|
||
;€„<E282AC>…‘: #0025 *NOT USED* (#0B ¡ ©â)
|
||
x0025 ds #0B
|
||
|
||
;€„<E282AC>…‘: #0030 rst #30 ¢ë§®¢ ¯à®æ¥¤ãàë ¨§ ¤à㣮£® rom
|
||
x0030 jp xE3D3
|
||
|
||
;€„<E282AC>…‘: #0033 *NOT USED* (#05 ¡ ©â)
|
||
x0033 ds #05
|
||
|
||
;€„<E282AC>…‘: #0038 ®¡à ¡®â稪 ¯à¥àë¢ ¨© im 0/1
|
||
x0038 jp x0114
|
||
|
||
;€„<E282AC>…‘: #003B *NOT USED* (#2B ¡ ©â)
|
||
x003B ds #2B
|
||
|
||
;€„<E282AC>…‘: #0066 ®¡à ¡®âª NMI (§ ¢¨á ¨¥ á ¦¥«â®-ç¥àë¬ ¡®à¤î஬)
|
||
x0066 ld a,#06
|
||
out (#FE),a
|
||
xor a
|
||
out (#FE),a
|
||
jr x0066
|
||
|
||
;€„<E282AC>…‘: #006F *NOT USED* (#01 ¡ ©â)
|
||
x006F ds #01
|
||
|
||
;€„<E282AC>…‘: #0070 ¯¥à¥¬¥ë¥ ROM-disk
|
||
x0070 db ROMdisk/#100 ;ᬥ饨¥ ç « ஬ ¤¨áª (¢ ¡«®ª å ¯® 256 ¡ ©â)
|
||
db #40-ROMdisk/#100;ª®«¨ç¥á⢮ ᢮¡®¤ëå ᥪâ®à®¢ ¢ áâà ¨æ¥
|
||
db #00 ;ᬥ饨¥ ¤® ç « ª â «®£
|
||
|
||
;€„<E282AC>…‘: #0073 § £à㧪 ¡«®ª ¨§ ROM-Disk
|
||
INCLUDE "!RomDisk.asm"
|
||
|
||
;€„<E282AC>…‘: #00AA *NOT USED* (#55 ¡ ©â)
|
||
x00AA ds #55
|
||
|
||
;€„<E282AC>…‘: #00FF ¤à¥á ¯/¯ ®¡à ¡®âª¨ ¯à¥àë¢ ¨© im 2
|
||
x00FF dw x0114
|
||
|
||
;€„<E282AC>…‘: #0101 ®¬¥à ⥪ã饣® rom
|
||
x0101 db #06
|
||
|
||
;€„<E282AC>…‘: #0102 ’ ¡«¨æ ¯¥à¥ª«î票© ࡨâà áâà ¨æ <20>à®ä<C2AE>‡“ (#0E ¡ ©â)
|
||
x0102 ds #0E
|
||
|
||
;€„<E282AC>…‘: #0110 ’ ¡«¨æ ¯¥à¥å®¤®¢ <20>à®ä<C2AE>‡“
|
||
x0110 db #0C,#00,#08,#04
|
||
|
||
;€„<E282AC>…‘: #0114 ®¡à ¡®â稪 ¯à¥àë¢ ¨© im 1/2
|
||
x0114 push af
|
||
push hl
|
||
push de
|
||
push bc
|
||
ld ix,(xE3B7) ; ¤à¥á ¤¥áªà¨¯â®à ⥪ã饣® ®ª
|
||
call x0792 ;®¯à®á ª« ¢¨ âãàë ¨ ãáâ ®¢ª ª®¤ ¦ ⮩ ª« ¢¨è¨ ¢ ¡ãä¥à¥
|
||
rst #30
|
||
dw rom5_x0176 ;¢®ááâ ®¢«¥¨¥ íªà ¯®¤ ªãàá®à®¬ ¬ëè¨
|
||
db #05
|
||
rst #30
|
||
dw rom2_x28F6 ;¬¨£ ¨¥ ⥪á⮢®£® ªãàá®à ¢ áâப¥ ¢¢®¤
|
||
db #02
|
||
push ix ; ¤à¥á ¤¥áªà¨¯â®à ⥪ã饣® ®ª
|
||
rst #30
|
||
dw rom5_x011C ;®¯à®á ¬ ¨¯ã«ïâ®à®¢ ¨ ¯¥ç âì ªãàá®à
|
||
db #05
|
||
call c,x07A0 ;¯®¬¥é¥¨¥ ª®¤ ¦ ⮩ ª®¯ª¨ ¤¦®©á⨪ /¬ëè¨ ¢ ¡ãä¥à ª« ¢¨ âãàë
|
||
bit 6,(iy+#1A) ;ç⥨¥ ¢à¥¬¥¨ ¨§ CMOS, ¥á«¨ ¢®§¬®¦®
|
||
jr z,x0140 ;CMOS ®âáãâáâ¢ã¥â
|
||
bit 3,(iy+#27)
|
||
jr z,x0140 ;¨¤¨ª æ¨ï ¢à¥¬¥¨ ¢ëª«îç¥
|
||
rst #30
|
||
dw rom7_x1F76 ;ç⥨¥ ¨§ CMOS ¢à¥¬¥¨ ¨ ¤ âë, ¢ á«ãç ¥ £®â®¢®á⨠CMOS
|
||
db #07
|
||
x0140 pop ix
|
||
pop bc
|
||
pop de
|
||
pop hl
|
||
pop af
|
||
ei
|
||
reti
|
||
|
||
;€„<E282AC>…‘: #0149 ¯¥ç âì áâப¨ (rst #20)
|
||
x0149 ld a,(hl)
|
||
rst #30
|
||
dw rom2_x2B0B ;¯¥ç âì ᨬ¢®« á® á¡à®á®¬ 7£® ¡¨â (rst #10)
|
||
db #02
|
||
and #80
|
||
inc hl
|
||
jr z,x0149
|
||
pop af
|
||
ex (sp),hl
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0156 ¯¥ç âì ¨ä®à¬ 樨 ® «®¢ã誥
|
||
;¢å: hl - ¤à¥á «®¢ã誨
|
||
; d - ª®«¨ç¥á⢮ «®¢ã襪+1
|
||
; e - ®¬¥à ⥪ã饩 «®¢ã誨
|
||
;¢ëå: hl - ¤à¥á á«¥¤ãî饩 «®¢ã誨
|
||
x0156 ld c,e
|
||
ld b,#00
|
||
push de
|
||
;¯¥ç âì ®¬¥à «®¢ã誨
|
||
ld (iy+#08)," "
|
||
ld (iy+#07),#02 ;¬¨¨¬ã¬ à §à冷¢ ¢ ç¨á«¥ ¯à¨ ¯¥à¥¢®¤¥ ¢ ASCII
|
||
rst #30
|
||
dw rom2_x166E ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] á ¢¥¤ã騬¨ ¯à®¡¥« ¬¨
|
||
db #02
|
||
pop de
|
||
rst #20
|
||
dc " "
|
||
push hl
|
||
bit 6,(hl)
|
||
jr nz,x0174
|
||
;«®¢ãèª ¥ § ¤
|
||
ld bc,#2900 ;á®®¡é¥¨¥: *** undefined
|
||
rst #08 ;¯¥ç âì á®®¡é¥¨ï
|
||
jr x01D7 ;á«¥¤ãîé ï «®¢ãèª
|
||
;«®¢ãèª § ¤
|
||
x0174 push de
|
||
ld b,#02
|
||
rst #30
|
||
dw rom2_x15F3 ;¯¥ç âì ¥áª®«ìª¨å ¯à®¡¥«®¢ (¢ B)
|
||
db #02
|
||
; ¯¥ç âì ¤à¥á «®¢ã誨
|
||
rst #20
|
||
dc "#"
|
||
push hl
|
||
inc hl
|
||
ld e,(hl)
|
||
push de
|
||
inc hl
|
||
ld e,(hl)
|
||
inc hl
|
||
ld d,(hl)
|
||
ex de,hl
|
||
rst #30
|
||
dw rom2_x16DE ;¯¥ç âì ç¨á« hl=[#0000..#FFFF]
|
||
db #02
|
||
pop de
|
||
pop hl
|
||
; ¯¥ç âì ®¬¥à áâà ¨æë «®¢ã誨
|
||
ld b,#04
|
||
rst #30
|
||
dw rom2_x15F3 ;¯¥ç âì ¥áª®«ìª¨å ¯à®¡¥«®¢ (¢ B)
|
||
db #02
|
||
ld a,e
|
||
rst #30
|
||
dw rom2_x16EC ;¯¥ç âì ç¨á« a=[#0..#F]
|
||
db #02
|
||
; ¯¥ç âì ⨯ «®¢ã誨
|
||
ld b,#04
|
||
rst #30
|
||
dw rom2_x15F3 ;¯¥ç âì ¥áª®«ìª¨å ¯à®¡¥«®¢ (¢ B)
|
||
db #02
|
||
ld a,(hl)
|
||
and #03
|
||
rst #30
|
||
dw rom2_x16EC ;¯¥ç âì ç¨á« a=[#0..#F]
|
||
db #02
|
||
; á®áâ®ï¨¥ «®¢ãèª ( ªâ¨¢ /¥ ªâ¨¢ )
|
||
ld b,#03
|
||
rst #30
|
||
dw rom2_x15F3 ;¯¥ç âì ¥áª®«ìª¨å ¯à®¡¥«®¢ (¢ B)
|
||
db #02
|
||
bit 7,(hl)
|
||
rst #30
|
||
dw rom2_x3201 ;¯¥ç âì ON/OFF ®â ä« £ nz-ON/z-OFF
|
||
db #02
|
||
; ç «ì®¥ § 票¥ áç¥â稪 ¯à®å®¤®¢ ¯® «®¢ã誥
|
||
ld de,#0005
|
||
add hl,de
|
||
ld c,(hl)
|
||
inc hl
|
||
ld b,(hl)
|
||
inc hl
|
||
rst #30
|
||
dw rom2_x1669 ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] á ¢¥¤ã騬¨ ¯à®¡¥« ¬¨
|
||
db #02
|
||
; ⥪ã饥 § 票¥ áç¥â稪 ¯à®å®¤®¢
|
||
ld c,(hl)
|
||
inc hl
|
||
ld b,(hl)
|
||
inc hl
|
||
rst #30
|
||
dw rom2_x1661 ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] á ¢¥¤ã騬¨ ¯à®¡¥« ¬¨, á ¯à¥¤¢ à¨â¥«ìë¬ ¯à®¡¥«®¬
|
||
db #02
|
||
; «¨ç¨¥ (+) ¨«¨ ®âáãâá⢨¥ (-) ¯à®£à ¬¬ë ¤«ï «¨§ â®à
|
||
ld b,#02
|
||
rst #30
|
||
dw rom2_x15F3 ;¯¥ç âì ¥áª®«ìª¨å ¯à®¡¥«®¢ (¢ B)
|
||
db #02
|
||
pop de
|
||
ld a,e
|
||
rst #30
|
||
dw rom2_x3210 ;®¯à¥¤¥«¥¨¥ ¤à¥á «®¢ã誨
|
||
db #02
|
||
ld a,"-"
|
||
jr z,x01D6
|
||
ld a,"+"
|
||
x01D6 rst #10
|
||
; ¤à¥á á«¥¤ãî饩 «®¢ã誨
|
||
x01D7 pop hl
|
||
ld de,#000B
|
||
add hl,de
|
||
or a
|
||
ret
|
||
|
||
;¢ë室 ¢ ®â« ¤ç¨ª
|
||
x01DE ld a,#0A ;á®®¡é¥¨¥: too few operands
|
||
x01E0 rst #30
|
||
dw rom2_x0B06 ;¢¢®¤ ¨ ®¡à ¡®âª ª®¬ ¤ë ®â« ¤ç¨ª
|
||
db #02 ;¡¥§ ¢®§¢à â
|
||
|
||
;€„<E282AC>…‘: #01E4 ãáâ ®¢ª ®¢®© «®¢ã誨 ¢ ®â« ¤ç¨ª¥
|
||
;¢å: ix - ¤à¥á «®¢ã誨
|
||
; hl - ⨯ «®¢ã誨
|
||
; bc - ¤à¥á ãáâ ®¢ª¨ «®¢ã誨
|
||
; a - ª®«¨ç¥á⢮ ®¯¥à ¤®¢ [0..5]
|
||
; z - «®¢ãèª ¥ § ¤
|
||
x01E4 push ix
|
||
ld de,xE585+#01
|
||
ex de,hl
|
||
;¯à®¢¥àª ¢ «¨¤®á⨠⨯ «®¢ã誨
|
||
push af
|
||
ld a,e
|
||
and #FC
|
||
or d
|
||
ld a,#24 ;á®®¡é¥¨¥: invalid type breackpoint
|
||
jr nz,x01E0 ;¢®§¢à â ¢ ®â« ¤ç¨ª
|
||
pop af
|
||
;¯à®¢¥àª ª®«¨ç¥á⢠¯ à ¬¥â஢
|
||
cp #04
|
||
jr z,x0213 ;¢ ⥪ãéãî áâà ¨æã
|
||
jr c,x01DE ;¬ «® ¯ à ¬¥â஢. ¢ë室 ¢ ®â« ¤ç¨ª
|
||
cp #06
|
||
ld a,#0B ;á®®¡é¥¨¥: too many operands
|
||
jr nc,x01E0 ;¬®£® ¯ à ¬¥â஢. ¢ë室 ¢ ®â« ¤ç¨ª
|
||
;áâ ¢¨¬ áâà ¨æã
|
||
push hl
|
||
ld hl,(xDD99+#08) ;®¬¥à áâà ¨æë
|
||
ld a,l
|
||
and #F0
|
||
or h
|
||
ld a,#18 ;á®®¡é¥¨¥: invalid bank RAM
|
||
jr nz,x01E0 ;¥¢¥àë© ®¬¥à áâà ¨æë. ¢ë室 ¢ ®â« ¤ç¨ª
|
||
ld a,l
|
||
pop hl
|
||
ld (hl),a
|
||
set 5,e
|
||
jr x0218
|
||
x0213 rst #30
|
||
dw rom2_x36F9 ;¯®«ã票¥ ®¬¥à «®£¨ç¥áª®© áâà ¨æë ¯®«ì§®¢ ⥫ï a=[#0..#F]
|
||
db #02
|
||
ld (hl),a
|
||
;ãáâ ®¢ª ¤à¥á «®¢ã誨
|
||
x0218 bit 0,e ;e - ⨯ «®¢ã誨 ???‚އŒŽ†<C5BD>Ž Ž˜ˆ<CB9C>Š€???
|
||
inc hl
|
||
jr nz,x0224 ; ªâ¨¢ ï ¯®á«¥ ¢ë¯®«¥¨ï
|
||
ld a,b
|
||
and #C0
|
||
ld a,#25 ;á®®¡é¥¨¥: bad address breackpoint
|
||
jr z,x01E0 ;¢ <20>‡“ áâ ¢¨âì ¥«ì§ï. ¢ë室 ¢ ®â« ¤ç¨ª
|
||
x0224 ld (hl),c
|
||
inc hl
|
||
ld (hl),b
|
||
inc hl
|
||
inc hl
|
||
;ãáâ ®¢ª ª®«¨ç¥á⢠¯à®å®¤®¢
|
||
ld bc,(xDD99+#06) ;ª®«¨ç¥á⢮ ¯à®å®¤®¢ ¯® «®¢ã誥 ¤® ¥¥ ªâ¨¢¨§ 樨
|
||
ld (hl),c
|
||
inc hl
|
||
ld (hl),b
|
||
inc hl
|
||
ld (hl),c
|
||
inc hl
|
||
ld (hl),b
|
||
inc hl
|
||
xor a
|
||
ld (hl),a
|
||
inc hl
|
||
ld (hl),a
|
||
;ãáâ ®¢ª ⨯ «®¢ã誨
|
||
ld hl,xE585
|
||
ld a,e
|
||
or #C0
|
||
ld (hl),a
|
||
;ª®¯¨à®¢ ¨¥ «®¢ã誨 ¨§ ¢à¥¬¥®£® ¡ãä¥à ¨ ¢ë室 ¢ ®â« ¤ç¨ª
|
||
pop de
|
||
ld bc,#000B
|
||
ldir
|
||
ld a,#81 ;á®®¡é¥¨¥: enter command
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0249 ¢ë¢®¤ ª â «®£ ⥪ã饣® ¤¨áª®¢®¤ ( íªà /¯à¨â¥à)
|
||
x0249 rst #30
|
||
dw rom2_x3A95 ;¯®¤£®â®¢ª ¯¥à¥¬¥ëå ª ¢ë¢®¤ã íªà /¯à¨â¥à
|
||
db #02
|
||
ld (iy+#08),#20
|
||
ld hl,(xFFD0)
|
||
push hl
|
||
rst #30
|
||
dw rom7_x107B ;¨¨æ¨ «¨§ æ¨ï ¤¨áª®¢®¤ ¨ áâனª ¤¨áª¥âã
|
||
db #07
|
||
jp c,x0382 ;®è¨¡ª ç⥨ï/§ ¯¨á¨
|
||
push bc
|
||
ld bc,#4B00 ;á®®¡é¥¨¥: disk
|
||
rst #08
|
||
ld a,(xFFCA)
|
||
add a,"A"
|
||
rst #10 ;¯¥ç âì ¡ãª¢ë ¤¨áª®¢®¤
|
||
rst #20
|
||
dc ':"'
|
||
; ¯¥ç âì ¨¬¥¨ ¤¨áª
|
||
ld hl,xE5A9+#F5
|
||
ld b,#08
|
||
rst #30
|
||
dw rom2_x15B9 ;¯¥ç âì á®®¡é¥¨ï ¨§ hl á § ¬¥®© ¥¯¥ç âëå ᨬ¢®«®¢ ?
|
||
db #02
|
||
rst #20
|
||
dc '", '
|
||
; ¯¥ç âì ¢à¥¬¥¨ ¨ ¤ âë
|
||
ld d,#DA ;%11011010
|
||
rst #30
|
||
dw rom5_x1AA6 ;ç¨â ¥¬ ¢à¥¬ï ¢ áâப㠢 ä®à¬ ⥠ASCII
|
||
db #05
|
||
rst #20
|
||
dc " "
|
||
ld d,#20
|
||
rst #30
|
||
dw rom5_x1B18 ;ç¨â ¥¬ ¤ âã ¢ áâப㠢 ä®à¬ ⥠ASCII
|
||
db #05
|
||
rst #20
|
||
db #8D
|
||
pop af ;a - ª®¤, ®¯à¥¤¥«ïî騩 ⨯ ¤¨áª¥âë ¢ ¤¨áª®¢®¤¥
|
||
push af
|
||
; ¯¥ç âì ª®«¨ç¥á⢠¤®à®¦¥ª
|
||
bit 5,a
|
||
ld b,#39
|
||
jr z,x0290 ;40 ¤®à®¦¥ª ¤¨áª¥â¥
|
||
inc b
|
||
x0290 ld c,#01 ;á®®¡é¥¨¥: 40/80
|
||
rst #08
|
||
ld bc,#3801 ;á®®¡é¥¨¥: track
|
||
rst #08
|
||
; ¯¥ç âì ª®«¨ç¥á⢠áâ®à®
|
||
pop af
|
||
rlca
|
||
ld b,#3C
|
||
jr nc,x029E
|
||
inc b ;á®®¡é¥¨¥: one/double
|
||
x029E ld c,#01
|
||
rst #08
|
||
ld bc,#3B01 ;á®®¡é¥¨¥: side
|
||
rst #08
|
||
; ¯¥ç âì ¨¤¥â¨ä¨ª 樮®£® ª®¤ ¨ ⨯ ¤¨áª¥âë
|
||
rst #20
|
||
dc "("
|
||
ld a,(xE5A9+#E7) ;ˆ¤¥â¨ä¨ª æ¨®ë© ª®¤ TR-DOS (#10)
|
||
call x0396 ;¯¥ç âì ç¨á« ¢ è¥áâ ¤æ â¨à¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
rst #20
|
||
dc "/"
|
||
ld a,(xE5A9+#E3) ;’¨¯ ¤¨áª¥âë
|
||
call x0396 ;¯¥ç âì ç¨á« ¢ è¥áâ ¤æ â¨à¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
; ¯¥ç âì ª®«-¢ ä ©«®¢, ᢮¡®¤®£® ¬¥áâ
|
||
rst #20
|
||
db ")",#0D
|
||
dc "File"
|
||
ld a,(xE5A9+#E4) ;Š®«¨ç¥á⢮ ä ©«®¢ ¤¨áª¥â¥
|
||
call x03A1 ;¯¥ç âì ç¨á« ¢ ¤¥áïâ¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
rst #20
|
||
dc "/"
|
||
ld a,(xE5A9+#F4) ;Š®«¨ç¥á⢮ 㤠«¥ëå ä ©«®¢
|
||
call x03A1 ;¯¥ç âì ç¨á« ¢ ¤¥áïâ¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
rst #20
|
||
dc ", free"
|
||
ld bc,(xE5A9+#E5) ;Š®«¨ç¥á⢮ ᢮¡®¤ëå ᥪâ®à®¢
|
||
rst #30
|
||
dw rom2_x165E ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] ¡¥§ ¢¥¤ãé¨å ¯à®¡¥«®¢, á ¯à¥¤¢ à¨â¥«ìë¬ ¯à®¡¥«®¬
|
||
db #02
|
||
rst #20
|
||
dc " ("
|
||
ld a,(xE5A9+#E1) ;<3B>®¬¥à ¯¥à¢®£® ¥§ ï⮣® ᥪâ®à ¤¨áª¥â¥
|
||
call x0396 ;¯¥ç âì ç¨á« ¢ è¥áâ ¤æ â¨à¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
rst #20
|
||
dc "/"
|
||
ld a,(xE5A9+#E2) ;<3B>®¬¥à ¤®à®¦ª¨ ¯¥à¢®£® ¥§ ï⮣® ᥪâ®à
|
||
call x0396 ;¯¥ç âì ç¨á« ¢ è¥áâ ¤æ â¨à¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
rst #20
|
||
db ")",#0D,#8D
|
||
;¯¥ç âì á¯¨áª ä ©«®¢ ¤¨áª¥ (®¤ áâà ¨æ ¥ ¡®«¥¥ 16 ¨¬ñ)
|
||
x02EE ld b,#10
|
||
x02F0 push bc
|
||
rst #30
|
||
dw rom7_x1166 ;§ £à㧪 ®ç¥à¥¤®£® ¤¥áªà¨¯â®à ä ©« ¢ ¡ãä¥à
|
||
db #07
|
||
pop bc
|
||
jp c,x0382 ;®è¨¡ª ç⥨ï
|
||
ld a,(hl)
|
||
or a
|
||
jp z,x037B ;¡®«ìè¥ ¥â ä ©«®¢
|
||
push bc
|
||
dec a
|
||
jr nz,x0312 ;íâ® ¥ 㤠«¥© ä ©«
|
||
; ¯¥ç âì ¯¥à¢®£® ᨢ®« 㤠«¥®£® ä ©«
|
||
inc hl
|
||
bit 4,(iy+#09)
|
||
ld a,#82
|
||
jr z,x030D ;¯¥ç âì íªà
|
||
ld a,"?"
|
||
x030D rst #10
|
||
ld b,#07
|
||
jr x0314
|
||
; ¯¥ç âì ¨¬¥¨ ä ©«
|
||
x0312 ld b,#08
|
||
x0314 rst #30
|
||
dw rom2_x15B9 ;¯¥ç âì á®®¡é¥¨ï ¨§ hl á § ¬¥®© ¥¯¥ç âëå ᨬ¢®«®¢ ?
|
||
db #02
|
||
; ¯¥ç âì ⨯ ä ©«
|
||
rst #20
|
||
dc " <"
|
||
ld a,(hl)
|
||
inc hl
|
||
rst #10
|
||
rst #20
|
||
dc ">"
|
||
; ¯¥ç âì áâ à⮢®£® ¤à¥á ¨ ¤«¨ë ä ©«
|
||
ld b,#02
|
||
x0322 push bc
|
||
ld c,(hl)
|
||
inc hl
|
||
ld b,(hl)
|
||
inc hl
|
||
push hl
|
||
rst #30
|
||
dw rom2_x1661 ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] á ¢¥¤ã騬¨ ¯à®¡¥« ¬¨, á ¯à¥¤¢ à¨â¥«ìë¬ ¯à®¡¥«®¬
|
||
db #02
|
||
pop hl
|
||
pop bc
|
||
djnz x0322
|
||
rst #20
|
||
dc " "
|
||
; ¯¥ç âì à §¬¥à ¢ ᥪâ®à å
|
||
ld a,(hl)
|
||
inc hl
|
||
push hl
|
||
call x03A1 ;¯¥ç âì ç¨á« ¢ ¤¥áïâ¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
pop hl
|
||
ld a,#1E
|
||
rst #30
|
||
dw rom2_x2FF1 ;¯¥ç âì ¯à®¡¥«®¢ ¤® § ¤ ®© ª®®à¤¨ âë X
|
||
db #02
|
||
; ¯¥ç âì ®¬¥à ¯¥à¢®£® ᥪâ®à ¨ ¤®à®¦ª¨
|
||
ld b,#02
|
||
x0341 push bc
|
||
rst #20
|
||
dc " "
|
||
ld a,(hl)
|
||
inc hl
|
||
push hl
|
||
call x0396 ;¯¥ç âì ç¨á« ¢ è¥áâ ¤æ â¨à¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
pop hl
|
||
pop bc
|
||
djnz x0341
|
||
rst #20
|
||
db #8D
|
||
pop bc
|
||
djnz x02F0
|
||
rst #30
|
||
dw rom2_x35D3 ;áà ¢¥¨¥ ix=xE075
|
||
db #02
|
||
x0357 jr nz,x02EE ;¯à®¤®«¦¥¨¥ ¢ë¢®¤ ¯à¨â¥à
|
||
; ®¤¨¤ ¨¥ ¦ â¨ï ª« ¢¨è¨ ¤«ï ¯à®¤®«¦¥¨ï ¯¥ç â¨
|
||
rst #20
|
||
dc "More..."
|
||
ld b,(ix+#00)
|
||
push bc
|
||
rst #30
|
||
dw rom5_x0381 ;®¦¨¤ ¨¥ ¦ â¨ï ª« ¢¨è ¨ ®¡à ¡®âª ॠªæ¨¨ ¨å
|
||
db #05
|
||
pop bc
|
||
ld (ix+#00),b ;crd Y
|
||
ld (ix+#01),#00 ;crd X
|
||
cp #03
|
||
jr nz,x0357 ;¯à®¤®«¦ ¥¬ ¢ë¢®¤
|
||
ld a,#0A ;¯à¥àë¢ ¥¬. break/cancel
|
||
rst #30
|
||
dw rom2_x2FF1 ;¯¥ç âì ¯à®¡¥«®¢ ¤® § ¤ ®© ª®®à¤¨ âë X
|
||
db #02
|
||
;¡®«ìè¥ ¥â ä ©«®¢
|
||
x037B rst #20
|
||
db #0D
|
||
dc "END"
|
||
jr x0387
|
||
;®è¨¡ª ç⥨ï/§ ¯¨á¨
|
||
x0382 ld b,a
|
||
call x059A ;¯¥à¥¢®¤ áâப¨ ¨ ãáâ ®¢ª ª®¤ ¤¨áª®¢®© ®è¨¡ª¨ ¢ ¯¥à¥¬¥®© ¤«ï ¯¥ç ⨠ç¨á«
|
||
rst #08
|
||
x0387 res 4,(iy+#09)
|
||
pop hl
|
||
ld (xFFD0),hl
|
||
x038F rst #30
|
||
dw rom2_x3807 ;¯ ã§ 40416t
|
||
db #02
|
||
jp x074A ;®¦¨¤ ¨¥ ¤¥©á⢨© ¯®«ì§®¢ ⥫ï (®¯à®á ã¯à ¢«¥¨ï, ¢ë¢®¤ ç ᮢ)
|
||
|
||
;¯¥ç âì ç¨á« ¢ è¥áâ ¤æ â¨à¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
;¢å: a - ç¨á«®
|
||
x0396 ld b,#00
|
||
ld c,a
|
||
ld de,#1023 ;de - ¤¥«¨â¥«ì ¤«ï ¢ë¤¥«¥¨ï à §àï¤ ç¨á« /ª®¤ ¯à¥ä¨ªá
|
||
rst #30
|
||
dw rom2_x162C ;¯¥ç âì ç¨á« ¢ § ¤ ®© á¨á⥬¥ áç¨á«¥¨ï
|
||
db #02
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #03A1 ¯¥ç âì ç¨á« ¢ ¤¥áïâ¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
;¢å: a - ç¨á«®
|
||
x03A1 ld c,a
|
||
ld b,#00
|
||
rst #30
|
||
dw rom2_x165E ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] ¡¥§ ¢¥¤ãé¨å ¯à®¡¥«®¢, á ¯à¥¤¢ à¨â¥«ìë¬ ¯à®¡¥«®¬
|
||
db #02
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #03A9 ä®à¬ â¨à®¢ ¨¥/¯à®¢¥àª ⥪ã饩 ¤¨áª¥âë
|
||
x03A9 call x060E ;¯à¥¤«®¦¥¨¥ ç âì à ¡®âã á ¤¨áª®¬ (Insert disk, press Y key)
|
||
ld d,#27 ;39
|
||
bit 5,a
|
||
jr z,x03B4 ;¤¨áª¥â 40 ¤®à®¦¥ª
|
||
ld d,#4F ;79
|
||
x03B4 ld bc,#0010 ;ç⥨¥ ᯥæ¨ä¨ª 樨 ¤¨áª¥âë
|
||
call x0667 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
ld e,#01
|
||
rlca
|
||
jr c,x03C1 ;¤¢ãáâ®à®ïï
|
||
x03BF ld e,#00
|
||
x03C1 push de
|
||
ld (ix+#01),#00 ;crd X
|
||
rst #30
|
||
dw rom2_x2A85 ;®ç¨á⪠§ ª®¬¥á⮩ áâப¨ ¯® ª®®à¤¨ â ¬ ªãàá®à
|
||
db #02
|
||
pop bc
|
||
push bc
|
||
ld (iy+#07),#01 ;¬¨¨¬ã¬ à §à冷¢ ¢ ç¨á«¥ ¯à¨ ¯¥à¥¢®¤¥ ¢ ASCII
|
||
ld c,b
|
||
ld b,#00 ;®¬¥à ¤®à®¦ª¨
|
||
rst #30
|
||
dw rom2_x166E ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] á ¢¥¤ã騬¨ ¯à®¡¥« ¬¨
|
||
db #02
|
||
rst #20
|
||
dc "/"
|
||
pop bc
|
||
push bc
|
||
ld b,#00 ;®¬¥à áâ®à®ë
|
||
rst #30
|
||
dw rom2_x166E ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] á ¢¥¤ã騬¨ ¯à®¡¥« ¬¨
|
||
db #02
|
||
call x05CE ;®¯à¥¤¥«¥¨¥ ª®«¨ç¥á⢠ᥪâ®à®¢ ¤®à®¦ª¥
|
||
;¯¥ç âì £à ä¨ç¥áª®£® ®â®¡à ¦¥¨ï ⥪ã饩 ¤®à®¦ª¨
|
||
ld b,a ;ª®«¨ç¥á⢮ ᥪâ®à®¢ ¤®à®¦ª¥
|
||
ld (ix+#01),#05 ;crd X
|
||
ld (ix+#0A),#08 ;à §¬¥à ᨬ¢®«®¢ ¢ ¯¨ªá¥«ïå
|
||
x03ED push bc
|
||
ld a,#10
|
||
rst #30
|
||
dw rom2_x2800 ;¯¥ç âì ᨬ¢®« ¢ ®ª¥
|
||
db #02
|
||
pop bc
|
||
djnz x03ED
|
||
ld (ix+#0A),#06 ;à §¬¥à ᨬ¢®«®¢ ¢ ¯¨ªá¥«ïå
|
||
rst #20
|
||
db #8D
|
||
bit 7,(iy+#13)
|
||
jr z,x0411 ;¯à®¢¥àª ¤¨áª¥âë
|
||
;ä®à¬ â¨à®¢ ¨¥ ¤¨áª¥âë
|
||
rst #20
|
||
dc "Formating."
|
||
call x05A2 ;¯¥ç âì ª®«¨ç¥á⢠®âäଠâ¨à®¢ ëå/á¡®©ëå ᥪâ®à®¢
|
||
x0411 pop de
|
||
push de
|
||
ld a,e
|
||
ld c,#0E ;䨧¨ç¥áª®¥ ¯®§¨æ¨®¨à®¢ ¨¥ â४, ®¬¥à ª®â®à®£® § ¤ ¢ ॣ¨áâॠD
|
||
call x0667 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
jr c,x047B ;®è¨¡ª ç⥨ï/§ ¯¨á¨
|
||
call x05CE ;®¯à¥¤¥«¥¨¥ ª®«¨ç¥á⢠ᥪâ®à®¢ ¤®à®¦ª¥
|
||
pop de
|
||
;ä®à¬¨à®¢ ¨¥ â ¡«¨æë ᥪâ®à®¢ á ãçñ⮬ interleaving
|
||
ld c,#00
|
||
ld hl,xE5A9
|
||
push hl
|
||
x0425 ld (hl),#00
|
||
inc hl
|
||
ld (hl),d
|
||
inc hl
|
||
ld (hl),e
|
||
inc hl
|
||
inc c
|
||
ld (hl),#00
|
||
inc hl
|
||
ld (hl),b
|
||
inc hl
|
||
cp c
|
||
jr nz,x0425
|
||
ld (hl),#FE
|
||
ex de,hl
|
||
push hl
|
||
ld c,#01
|
||
x043B ld hl,xE5A9+#03
|
||
ld b,#00
|
||
x0440 ld a,(hl)
|
||
or a
|
||
jr nz,x0449
|
||
ld (hl),c
|
||
inc c
|
||
inc b
|
||
jr x0450
|
||
x0449 call x0655 ;hl=hl+5: hl=de (z à ¢ë)
|
||
jr nc,x045D ;hl>=de
|
||
jr x0440
|
||
x0450 ld a,(iy+#18) ;§ 票¥ interleaving 1..26
|
||
x0453 call x0655 ;hl=hl+5: hl=de (z à ¢ë)
|
||
jr nc,x045D
|
||
dec a
|
||
jr nz,x0453
|
||
jr x0440
|
||
x045D ld a,b
|
||
or a
|
||
jr nz,x043B
|
||
pop de
|
||
pop hl
|
||
;ä®à¬ â¨à®¢ ¨¥ ¤®à®¦ª¨
|
||
push de
|
||
push hl
|
||
ld bc,#0010 ;ç⥨¥ ᯥæ¨ä¨ª 樨 ¤¨áª¥âë
|
||
call x0667 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
pop hl
|
||
ld b,a
|
||
ld de,#5A85
|
||
push de
|
||
ld c,#0B ;ä®à¬ â¨à®¢ ¨¥ ¤®à®¦ª¨
|
||
or a
|
||
bit 7,(iy+#13)
|
||
call nz,x0667 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
;¯à®¢¥àª ¤®à®¦ª¨
|
||
x047B jp c,x058D ;®è¨¡ª ç⥨ï/§ ¯¨á¨
|
||
ld (ix+#01),#00 ;crd X
|
||
rst #20
|
||
dc "Checking. "
|
||
call x05A2 ;¯¥ç âì ª®«¨ç¥á⢠¯à®¢¥à¥ëå/á¡®©ëå ᥪâ®à®¢
|
||
ld de,#0000
|
||
ld hl,xE5A9
|
||
push hl
|
||
ld c,#0C ;ç⥨¥ ¤®à®¦ª¨
|
||
call x0667 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
call c,x0587 ;®è¨¡ª çâ¥¨ï ¤®à®¦ª¨
|
||
call x05CE ;®¯à¥¤¥«¥¨¥ ª®«¨ç¥á⢠ᥪâ®à®¢ ¤®à®¦ª¥
|
||
pop hl
|
||
exx
|
||
pop hl
|
||
exx
|
||
ld de,(xDFFE)
|
||
ld bc,(xE000)
|
||
x04AE ld a,(hl)
|
||
cp #FE
|
||
jr z,x04C7 ;ª®¥æ â ¡«¨æë ᥪâ®à®¢
|
||
inc de
|
||
or a
|
||
ld a,#34 ;paper 6, ink 4
|
||
jr z,x04BC ;ᥪâ®à ¡¥§ ®è¨¡®ª
|
||
ld a,#32 ;paper 6, ink 2
|
||
inc bc
|
||
x04BC exx
|
||
ld (hl),a
|
||
inc hl
|
||
exx
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
jr x04AE
|
||
;á«¥¤ãîé ï áâ®à® /¤®à®¦ª
|
||
x04C7 ld (xDFFE),de
|
||
ld (xE000),bc
|
||
ld (ix+#01),#0A ;crd X
|
||
call x05AA ;¯¥ç âì ª®«¨ç¥á⢠®âä®à¬ â¨à®¢ ëå/á¡®©ëå ᥪâ®à®¢
|
||
pop de
|
||
ld a,e
|
||
or a
|
||
jp nz,x03BF ;á«¥¤ãîé ï áâ®à®
|
||
dec d
|
||
ld a,d
|
||
cp #FF
|
||
jp nz,x03B4 ;á«¥¤ãîé ï ¤®à®¦ª
|
||
jr x051B ;§ ¢¥à襨¥ ä®à¬ â¨à®¢ ¨ï/¯à®¢¥àª¨ ¤¨áª¥âë
|
||
|
||
;€„<E282AC>…‘: #04E5 ¡ëáâ஥ ä®à¬ â¨à®¢ ¨¥ ⥪ã饩 ¤¨áª¥âë (®ç¨á⪠ª â «®£ )
|
||
x04E5 call x060E ;¯à¥¤«®¦¥¨¥ ç âì à ¡®âã á ¤¨áª®¬ (Insert disk, press Y key)
|
||
ld hl,#0A00
|
||
bit 7,a
|
||
jr nz,x04F3 ;¤¢ãåáâ®à®ïï ¤¨áª¥â
|
||
srl h
|
||
rr l
|
||
x04F3 bit 5,a
|
||
jr nz,x04FB ;80 ¤®à®¦¥ª
|
||
srl h
|
||
rr l
|
||
x04FB ld (xDFFE),hl ;ª®«-¢® ᥪâ®à®¢
|
||
ld hl,#0000
|
||
ld (xE000),hl
|
||
and #43
|
||
cp #01
|
||
jr nz,x0573 ;¤¨áª ¥ tr-dos
|
||
; ®ç¨é ¥¬ ã«¥¢ãî ¤®à®¦ªã
|
||
call x0675 ;§ ã«¥¨¥ #100 ¡ ©â ¡ãä¥à xE5A9
|
||
ld e,a
|
||
x050E push de
|
||
call x065F ;§ ¯¨áì ᥪâ®à ¨§ ¡ãä¥à xE5A9
|
||
jp c,x058D ;®è¨¡ª ç⥨ï/§ ¯¨á¨
|
||
pop de
|
||
inc e
|
||
bit 4,e
|
||
jr z,x050E
|
||
|
||
;§ ¢¥à襨¥ ä®à¬ â¨à®¢ ¨ï/¯à®¢¥àª¨ ¤¨áª¥âë
|
||
x051B ld bc,#0010 ;ç⥨¥ ᯥæ¨ä¨ª 樨 ¤¨áª¥âë
|
||
call x0667 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
ld e,a
|
||
and #43 ;%01000011
|
||
cp #01
|
||
jr nz,x0573 ;ä®à¬ â ¥ tr-dos
|
||
; áâ ¤ àâ ï ¤¨áª¥â tr-dos (ä®à¬¨à®¢ ¨¥ á«ã¦¥¡®£® ᥪâ®à )
|
||
bit 7,(iy+#13)
|
||
jr z,x0573 ;¯à®¢¥à ¤¨áª¥âë
|
||
call x0675 ;§ ã«¥¨¥ #100 ¡ ©â ¡ãä¥à xE5A9
|
||
ld a,#16
|
||
bit 7,e
|
||
jr nz,x0539 ;¤¢ãáâà®ïï ¤¨áª¥â
|
||
ld a,#18
|
||
x0539 bit 5,e
|
||
jr nz,x053F ;80 ¤®à®¦¥ª ¤¨áª¥
|
||
or #01
|
||
x053F ld (xE5A9+#E3),a ;’¨¯ ¤¨áª¥âë
|
||
ld hl,(xDFFE)
|
||
ld de,-#0010
|
||
add hl,de
|
||
ld (xE5A9+#DF),hl
|
||
ld (xE5A9+#E5),hl ;Š®«¨ç¥á⢮ ᢮¡®¤ëå ᥪâ®à®¢
|
||
ld hl,(xE000)
|
||
ld (xE5A9+#DD),hl
|
||
ld a,#10
|
||
ld (xE5A9+#E7),a ;ˆ¤¥â¨ä¨ª æ¨®ë© ª®¤ TR-DOS (#10)
|
||
ld a,#01
|
||
ld (xE5A9+#E2),a ;<3B>®¬¥à ¤®à®¦ª¨ ¯¥à¢®£® ¥§ ï⮣® ᥪâ®à
|
||
; ¢¢®¤ ¨¬¥¨ ¤¨áª¥âë
|
||
ld hl,xE5A9+#F5
|
||
call x05E8 ;¢¢®¤ ¨¬¥¨ ¤¨áª
|
||
ld c,#07 ;¨¤¥â¨ä¨ª æ¨ï ¤¨áª
|
||
call x0667 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
jr c,x058D ;®è¨¡ª¨ ç⥨ï/§ ¯¨á¨
|
||
ld e,#08
|
||
call x065F ;§ ¯¨áì ᥪâ®à ¨§ ¡ãä¥à xE5A9
|
||
jr c,x058D ;®è¨¡ª¨ ç⥨ï/§ ¯¨á¨
|
||
x0573 call x064D ;ãáâ ®¢ª ¤¥áªà¨¯â®à ®ª
|
||
res 4,(iy+#09) ;¢ë¢®¤ íªà
|
||
rst #20
|
||
db #0D
|
||
dc "Complete"
|
||
jp x038F ;¯ ã§ 40416t ¨ ®¦¨¤ ¨¥ ¤¥©á⢨© ¯®«ì§®¢ ⥫ï (®¯à®á ã¯à ¢«¥¨ï, ¢ë¢®¤ ç ᮢ)
|
||
|
||
;®è¨¡ª çâ¥¨ï ¤®à®¦ª¨
|
||
x0587 ld a,(xFFDD) ;ª®¤ ®è¨¡ª¨ ¤¨áª®¢®£® ¨â¥à¯à¥â â®à
|
||
cp #14 ;¡ë«¨ ®è¨¡ª¨ ¯à¨ ç⥨¨/§ ¯¨á¨ ¤®à®¦ª¨ (äãªæ¨¨ 12, 13)
|
||
ret z
|
||
|
||
;®è¨¡ª ç⥨ï/§ ¯¨á¨
|
||
x058D ld b,#46 ;á®®¡é¥¨¥: stop format _ç¨á«®_
|
||
call x059A ;¯¥à¥¢®¤ áâப¨ ¨ ãáâ ®¢ª ª®¤ ¤¨áª®¢®© ®è¨¡ª¨ ¢ ¯¥à¥¬¥®© ¤«ï ¯¥ç ⨠ç¨á«
|
||
rst #08
|
||
call x038F ;¯ ã§ 40416t ¨ ®¦¨¤ ¨¥ ¤¥©á⢨© ¯®«ì§®¢ ⥫ï (®¯à®á ã¯à ¢«¥¨ï, ¢ë¢®¤ ç ᮢ)
|
||
rst #30
|
||
dw rom5_x0EB5 ;¯¥ç âì ⥪ã饣® ¬¥î ¬®¨â®à
|
||
db #05 ;¡¥§ ¢®§¢à â
|
||
|
||
;¯¥à¥¢®¤ áâப¨ ¨ ãáâ ®¢ª ª®¤ ¤¨áª®¢®© ®è¨¡ª¨ ¢ ¯¥à¥¬¥®© ¤«ï ¯¥ç ⨠ç¨á«
|
||
x059A rst #20
|
||
db #8D
|
||
ld c,#01
|
||
call x066C ;ãáâ ®¢ª ª®¤ ¤¨áª®¢®© ®è¨¡ª¨ ¢ ¯¥à¥¬¥®© ¤«ï ¯¥ç ⨠ç¨á«
|
||
ret
|
||
|
||
;¯¥ç âì ª®«¨ç¥á⢠®âäଠâ¨à®¢ ëå/á¡®©ëå ᥪâ®à®¢
|
||
x05A2 ld de,(xDFFE)
|
||
ld bc,(xE000)
|
||
x05AA push hl
|
||
push bc
|
||
push de
|
||
rst #20
|
||
dc " Total "
|
||
pop bc
|
||
pop de
|
||
push bc
|
||
push de
|
||
rst #30
|
||
dw rom2_x1669 ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] á ¢¥¤ã騬¨ ¯à®¡¥« ¬¨
|
||
db #02
|
||
rst #20
|
||
dc "/ Bad "
|
||
pop bc
|
||
push bc
|
||
rst #30
|
||
dw rom2_x1669 ;¯¥ç âì ¤¥áïâ¨ç®£® ç¨á« bc [0..65535] á ¢¥¤ã騬¨ ¯à®¡¥« ¬¨
|
||
db #02
|
||
pop bc
|
||
pop de
|
||
pop hl
|
||
ret
|
||
|
||
;®¯à¥¤¥«¥¨¥ ª®«¨ç¥á⢠ᥪâ®à®¢ ¤®à®¦ª¥
|
||
;¢ëå: a - ª®«¨ç¥á⢮ ᥪâ®à®¢ ¤®à®¦ª¥
|
||
; b - ª®¤ à §¬¥à ᥪâ®à
|
||
x05CE ld bc,#0010 ;ç⥨¥ ᯥæ¨ä¨ª 樨 ¤¨áª¥âë
|
||
call x0667 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
ld b,a
|
||
and #03 ;à §¬¥à ᥪâ®à ¢ ¡ ©â å 128/256/512/1024
|
||
push af
|
||
bit 6,b
|
||
jr nz,x05DE ;¬¥â®¤ § ¯¨á¨ MFM
|
||
add a,#04
|
||
x05DE ld d,#00
|
||
ld e,a
|
||
pop bc
|
||
ld hl,(xFFC8) ; ¤à¥á â ¡«¨æë á ª®«¨ç¥á⢮¬ ᥪâ®à®¢ ¤®à®¦ª¥
|
||
add hl,de
|
||
ld a,(hl)
|
||
ret
|
||
|
||
;¢¢®¤ ¨¬¥¨ ¤¨áª
|
||
;¢ëå: cy=1 ¢¢®¤ ®â¬¥¥
|
||
x05E8 push hl
|
||
ld b,#08
|
||
x05EB ld (hl)," "
|
||
inc hl
|
||
djnz x05EB
|
||
ld a,#89
|
||
call x06AD ;¢¢®¤ ⥪á⮢®© áâப¨ ¢¨§ã íªà
|
||
jr c,x060B ;¢¢®¤ ®â¬¥¥
|
||
jr z,x060B ;¯ãáâ ï áâப
|
||
pop de
|
||
push de
|
||
ld bc,#0008
|
||
x05FE ld a,(hl)
|
||
cp " "
|
||
jr c,x0608
|
||
ldi
|
||
jp pe,x05FE
|
||
x0608 or a
|
||
pop hl
|
||
ret
|
||
x060B scf
|
||
pop hl
|
||
ret
|
||
|
||
;¯à¥¤«®¦¥¨¥ ç âì à ¡®âã á ¤¨áª®¬ (Insert disk, press Y key)
|
||
x060E call x064D ;ãáâ ®¢ª ¤¥áªà¨¯â®à ®ª
|
||
rst #20
|
||
db #8C ;®ç¨á⪠®ª
|
||
rst #20
|
||
db #1B,#00,#0A ;ãáâ ®¢ª ª®®à¤¨ â
|
||
dc "Insert disk, press Y key"
|
||
rst #30
|
||
dw rom5_x0381 ;®¦¨¤ ¨¥ ¦ â¨ï ª« ¢¨è ¨ ®¡à ¡®âª ॠªæ¨¨ ¨å
|
||
db #05
|
||
pop hl
|
||
jr c,x063A
|
||
cp #0D
|
||
jr z,x063F ;¢ë¡®à ªãàá®à®¬. ç¨ ¥¬ à ¡®âã
|
||
x063A and #5F
|
||
cp "Y"
|
||
ret nz ; ¦ â ¤àã£ ï ª« ¢¨è
|
||
x063F push hl
|
||
rst #30
|
||
dw rom7_x1065 ;¨¨æ¨ «¨§ æ¨ï ¤¨áª®¢®¤
|
||
db #07
|
||
ld (ix+#00),#15 ;crd Y
|
||
ld bc,#0010 ;ç⥨¥ ᯥæ¨ä¨ª 樨 ¤¨áª¥âë
|
||
jr x0667 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
|
||
;€„<E282AC>…‘: #064D ãáâ ®¢ª ¤¥áªà¨¯â®à ®ª : § ¯à®á § ¯¨áì MBR
|
||
;¢ëå: ix - ¤à¥á ¤¥áªà¨¯â®à ®ª § ¯à®á § ¯¨áì MBR
|
||
x064D ld hl,xE0D7
|
||
rst #30
|
||
dw rom2_x301C ;ix = ¤à¥á ¤¥áªà¨¯â®à ®ª ¬®¨â®à ¨§ hl
|
||
db #02
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0655 hl=hl+5: hl=de (z à ¢ë)
|
||
x0655 inc hl
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
inc hl
|
||
or a
|
||
sbc hl,de
|
||
add hl,de
|
||
ret
|
||
|
||
;§ ¯¨áì ᥪâ®à ¨§ ¡ãä¥à xE5A9
|
||
x065F ld hl,xE5A9
|
||
ld d,#00
|
||
ld bc,#0106
|
||
|
||
;€„<E282AC>…‘: #0667 ¢ë§®ä äãªæ¨¨ R8DOS
|
||
x0667 rst #30
|
||
dw rom7_x0229 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
db #07
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #066C ãáâ ®¢ª ª®¤ ¤¨áª®¢®© ®è¨¡ª¨ ¢ ¯¥à¥¬¥®© ¤«ï ¯¥ç ⨠ç¨á«
|
||
x066C ld hl,(xFFDD) ;l - ª®¤ ®è¨¡ª¨ ¤¨áª®¢®£® ¨â¥à¯à¥â â®à
|
||
ld h,#00
|
||
ld (xDDA7),hl ;ãáâ ®¢¨¬ ª®¤ ®è¨¡ª¨ ¢ ¯¥à¥¬¥®© ¤«ï ¯¥ç ⨠ç¨á«
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0675 § ã«¥¨¥ #100 ¡ ©â ¡ãä¥à xE5A9
|
||
x0675 ld hl,xE5A9
|
||
|
||
;€„<E282AC>…‘: #0678 § ã«¥¨¥ #100 ¡ ©â ¯ ¬ï⨠á hl
|
||
;¢å: hl - ¤à¥á ç « ¯ ¬ïâ¨
|
||
x0678 xor a
|
||
ld b,a
|
||
x067A ld (hl),a
|
||
inc hl
|
||
djnz x067A
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #067F á®åà ¥¨¥ íªà ¯®«ì§®¢ â¥«ï ¤¨áª
|
||
x067F ld a,#89 ;á®®¡é¥¨¥: enter name
|
||
call x06AD ;¢¢®¤ ⥪á⮢®© áâப¨ ¢¨§ã íªà
|
||
jr c,x06C1 ;¢¢®¤ ®â¬¥¥
|
||
jr z,x06C1 ;¯ãáâ ï áâப
|
||
ld b,#02 ;ä ©« ¤«ï § ¯¨á¨
|
||
rst #30
|
||
dw rom7_x11D4 ;®âªàë⨥ ä ©« ¤«ï ¢ãâ२å 㦤
|
||
db #07
|
||
jr c,x06A6 ;®è¨¡ª ®âªàëâ¨ï ä ©«
|
||
rst #30
|
||
dw rom2_x3A21 ;ª®¯¨à®¢ ¨¥ ªâ¨¢®£® íªà ¯®«ì§®¢ â¥«ï ¢ #4000
|
||
db #02
|
||
ld hl,#4000
|
||
ld bc,#1B00
|
||
rst #30
|
||
dw rom2_x3107 ;§ ¯¨áì ®¡« á⨠¯ ¬ï⨠¢ ä ©«
|
||
db #02
|
||
jr c,x06A6 ;®è¨¡ª¨ § ¯¨á¨
|
||
rst #30
|
||
dw rom7_x1307 ;R8DOS #15(21) § ªàëâì ä ©«, ®âªàëâë© äãªæ¨¥© 20
|
||
db #07
|
||
jr nc,x06C1 ;®è¨¡®ª¥â. ¢ë室
|
||
|
||
;€„<E282AC>…‘: #06A6 ¯¥ç âì á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¨ ¯à®¤®«¦¥¨¥ à ¡®âë ¬®¨â®à
|
||
;¢å: a - ®¬¥à á®®¡é¥¨ï ¨§ ¡«®ª 0
|
||
x06A6 call x066C ;ãáâ ®¢ª ª®¤ ¤¨áª®¢®© ®è¨¡ª¨ ¢ ¯¥à¥¬¥®© ¤«ï ¯¥ç ⨠ç¨á«
|
||
x06A9 rst #30
|
||
dw rom2_x3870 ;¯¥ç âì á®®¡é¥¨ï ¨ ¯à®¤®«¦¥¨¥ à ¡®âë ⥪ã饣® ¬¥î ¬®¨â®à
|
||
db #02 ;(¡¥§ ¢®§¢à â )
|
||
|
||
;€„<E282AC>…‘: #06AD ¢¢®¤ ⥪á⮢®© áâப¨ ¢¨§ã íªà
|
||
;¢å: 7,a =1/0 âਡãâë bright 1, paper 3, ink 4/bright 0, paper 5, ink 2
|
||
; 6-0,a - ®¬¥à á®®¡é¥¨ï ¨§ ¡«®ª 0
|
||
;¢ëå: cy=1 ¢¢®¤ ®â¬¥¥
|
||
; cy=0 áâப ¢¢¥¤¥
|
||
; z - ¢¢¥¤¥ ¯ãáâ ï áâப
|
||
x06AD rst #30
|
||
dw rom5_x1C73 ;¢¢®¤ ⥪á⮢®© áâப¨ ¢ ¨¦¥© áâப¥ íªà
|
||
db #05
|
||
jr nc,x06BA ;áâப ¢¢¥¤¥
|
||
cp #03 ;break/cancel ?
|
||
scf
|
||
ret z ;®â¬¥ ¢¢®¤
|
||
xor a
|
||
jr x06AD ;¯à®¤®«¦¥¨¥ ¢¢®¤ áâப¨
|
||
x06BA rst #30
|
||
dw rom2_x0EE3 ;¯®¨áª ¢ ¡ãä¥à¥ ¢¢®¤ áâப¨ ¯¥à¢®£® ¯¥ç ⮣® ᨬ¢®«
|
||
db #02
|
||
scf
|
||
ccf
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #06‘1 ¯¥ç âì ⥪ã饣® ¬¥î ¬®¨â®à (¡¥§ ¢®§¢à â )
|
||
x06C1 rst #30
|
||
dw rom5_x0EB5 ;¯¥ç âì ⥪ã饣® ¬¥î ¬®¨â®à
|
||
db #05 ;¯¥à¥å®¤ ¡¥§ ¢®§¢à â
|
||
|
||
;€„<E282AC>…‘: #06C5 ¢ë¢®¤ ¢ ¯®àâ #FE ᮤ¥à¦¨¬®¥ ï祩ª¨ (#7530)
|
||
x06C5 ld a,(#7530)
|
||
out (#FE),a
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #06CB â ¡«¨æ ᮮ⢥âá⢨© ¦ ⮩ ª« ¢¨è¨ ¯¥ç ⮬ã ᨬ¢®«ã
|
||
x06CB db "ZXCV"
|
||
db "ASDFG"
|
||
db "QWERT"
|
||
db "12345"
|
||
db "09876"
|
||
db "POIUY"
|
||
db #0D,"LKJH"
|
||
db " ",#80,"MNB"
|
||
|
||
;€„<E282AC>…‘: #06F2 â ¡«¨æ ª®¤®¢ ª« ¢¨è cs+1+ª« ¢¨è
|
||
x06F2 db #1A,#18,#03,#16
|
||
db #01,#13,#04,#06,#07
|
||
db #11,#17,#05,#12,#14
|
||
db #FF,#FF,#FF,#FF,#FF
|
||
db #FF,#FF,#FF,#FF,#FF
|
||
db #10,#0F,#09,#15,#19
|
||
db #FF,#0C,#0B,#0A,#08
|
||
db #00,#FF,#0D,#0E,#02
|
||
|
||
;€„<E282AC>…‘: #0719 â ¡«¨æ ª®¤®¢ ª« ¢¨è ss+ª« ¢¨è (ss+cs =#03)
|
||
x0719 db ":`?/"
|
||
db #8A,#8B,#8E,#8C,#8D
|
||
db #1C,#1D,#1E,"<>"
|
||
db "!@#$%"
|
||
db "_)('&"
|
||
db #22,";",#1F,"]["
|
||
db #FF,"=+-^"
|
||
db #82," .,*"
|
||
|
||
;€„<E282AC>…‘: #0740 â ¡«¨æ ª®¤®¢ ª« ¢¨è cs+æ¨äà
|
||
x0740 db #FF ;cs+1
|
||
db #81 ;cs+2
|
||
db #87 ;cs+3
|
||
db #88 ;cs+4
|
||
db #85 ;cs+5
|
||
db #7F ;cs+0
|
||
db #89 ;cs+9
|
||
db #83 ;cs+8
|
||
db #84 ;cs+7
|
||
db #86 ;cs+6
|
||
|
||
;€„<E282AC>…‘: #074A ®¦¨¤ ¨¥ ¤¥©á⢨© ¯®«ì§®¢ ⥫ï (®¯à®á ã¯à ¢«¥¨ï, ¢ë¢®¤ ç ᮢ)
|
||
;¢ëå: a - ª®¤ ¦ ⮩ ª« ¢¨è¨
|
||
;
|
||
x074A call x078B ;á¡à®á ¡ãä¥à ª« ¢¨ âãàë
|
||
x074D ld hl,xE02E ;¯¥ç âì ¢à¥¬¥¨ ¨ ¤ âë
|
||
bit 0,(hl)
|
||
jr z,x075B
|
||
di
|
||
res 0,(hl)
|
||
rst #30
|
||
dw rom5_x1A4C ;¯¥ç âì ¤ âë ¨ ¢à¥¬¥¨ ¢ ®ª¥ ¬®¨â®à
|
||
db #05
|
||
x075B ei
|
||
call x0773 ;¯à®¢¥àª «¨ç¨ï ¦ âëå ª« ¢¨è ¢ ¡ãä¥à¥ ª« ¢¨ âãàë
|
||
jr z,x074D ;¡ãä¥à ¯ãá⮩
|
||
di
|
||
ex de,hl
|
||
ld a,(de) ;ç¨â ¥¬ ª®¤ ª« ¢¨è¨ ¨§ ¡ãä¥à
|
||
inc de
|
||
call x0780 ;¯à®¢¥àª ¤®á⨦¥¨ï ª®æ ¡ãä¥à ª« ¢¨ âãàë
|
||
ld (xE118),de
|
||
push af ;ª®¤ ª« ¢¨è¨
|
||
rst #30
|
||
dw rom5_x0176 ;¢®ááâ ®¢«¥¨¥ íªà ¯®¤ ªãàá®à®¬ ¬ëè¨
|
||
db #05
|
||
pop af
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0773 ¯à®¢¥àª «¨ç¨ï ¦ âëå ª« ¢¨è ¢ ¡ãä¥à¥ ª« ¢¨ âãàë
|
||
;¢ëå: z - ¡ãä¥à ¯ãá⮩
|
||
; de - ®ç¥à¥¤®© ¤à¥á ¢ ¡ãä¥à¥
|
||
; hl - ¤à¥á ç « ¡ãä¥à
|
||
;
|
||
x0773 ld de,(xE116)
|
||
|
||
;€„<E282AC>…‘: #0777 ¯à®¢¥àª «¨ç¨ï ¦ âëå ª« ¢¨è ¢ ¡ãä¥à¥ ª« ¢¨ âãàë
|
||
;¢å: de - ¤à¥á ¢ ¡ãä¥à¥ ª« ¢¨ âãàë
|
||
;¢ëå: z - ¡ãä¥à ¯ãá⮩
|
||
; hl - ¤à¥á ç « ¡ãä¥à
|
||
;
|
||
x0777 ld hl,(xE118)
|
||
or a
|
||
push hl
|
||
sbc hl,de
|
||
pop hl
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0780 ¯à®¢¥àª ¯¥à¥¯®«¥¨ï ¡ãä¥à ª« ¢¨ âãàë
|
||
;¢å: de - ®ç¥à¥¤®© ¤à¥á ¢ ¡ãä¥à¥ ª« ¢¨ âãàë
|
||
;¢ëå: cy =0 ¤à¥á ¢ ¯à¥¤¥« å ¡ãä¥à
|
||
; =1 ¡ãä¥à ¯¥à¥¯®«¥. á¡à®á ¡ãä¥à
|
||
; de - ¤à¥á ç « ¡ãä¥à
|
||
;
|
||
x0780 ld hl,xE38F+#0A ;xE399
|
||
or a
|
||
sbc hl,de
|
||
ret nc
|
||
ld de,xE38F
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #078B á¡à®á ¡ãä¥à ª« ¢¨ âãàë
|
||
;
|
||
x078B ld hl,(xE118)
|
||
ld (xE116),hl
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0792 ®¯à®á ª« ¢¨ âãàë ¨ ãáâ ®¢ª ª®¤ ¦ ⮩ ª« ¢¨è¨ ¢ ¡ãä¥à¥
|
||
;
|
||
x0792 call x07B2 ;®¯à®á ª« ¢¨ âãàë ¨ ãáâ ®¢ª ª®¤ ¦ ⮩ ª« ¢¨è¨
|
||
ld hl,xE005
|
||
bit 2,(hl)
|
||
ret z ;¨ç¥£® ¥ ¦ â®
|
||
ld a,(xE006) ;ª®¤ ª« ¢¨è¨
|
||
res 2,(hl)
|
||
x07A0 ld de,(xE116) ;¯®¬¥é¥¨¥ ª®¤ ª« ¢¨è¨ ¢ ¡ãä¥à ª« ¢¨ âãàë
|
||
ld (de),a
|
||
inc de ; ¦ âãî ª« ¢¨èã ¢ ¡ãä¥à ª« ¢¨ âãàë
|
||
call x0780 ;¯à®¢¥àª ¯¥à¥¯®«¥¨ï ¡ãä¥à ª« ¢¨ âãàë
|
||
call x0777 ;¯à®¢¥àª ¥ ¡ë« «¨ á¡à®è¥ ¡ãä¥à
|
||
ret z ;¡ãä¥à ¯ãá⮩
|
||
ld (xE116),de ;®ç¥à¥¤®© ¤à¥á ¢ ¡ãä¥à¥
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #07B2 ®¯à®á ª« ¢¨ âãàë ¨ ãáâ ®¢ª ª®¤ ¦ ⮩ ª« ¢¨è¨
|
||
;¢ëå: a - ª®¤ ¦ ⮩ ª« ¢¨è¨, ¥á«¨ ¦ â
|
||
;
|
||
x07B2 call x0845 ;®¯à®á ª« ¢¨ âãàë
|
||
jr z,x07BA ;¨ç¥£® ¥ ¦ â®
|
||
call x086A ;®¯à¥¤¥«¥¨¥ ª®¤ ¦ ⮩ ª« ¢¨è¨/ª®¬¡¨ 樨 ª« ¢¨è
|
||
x07BA ld hl,xE005
|
||
jr nz,x07C4 ;çâ®-â® ¦ â®
|
||
x07BF res 0,(hl) ; ¢â®¯®¢â®à ¥ ªâ¨¢¥
|
||
x07C1 res 1,(hl) ;
|
||
ret
|
||
x07C4 bit 0,(hl)
|
||
jr nz,x07D5 ;¥ ¯¥à¢®¥ ¦ ⨥, ¯à®¢¥à¨¬ ¢®§¬®¦®áâì ¢â®¯®¢â®à
|
||
set 0,(hl) ;¯¥à¢®¥ ¦ ⨥
|
||
ld (xE007),a
|
||
ld hl,(xE051) ;¯¥à¨®¤ ¢â®¯®¢â®à
|
||
ld h,l
|
||
ld (xE051),hl
|
||
ret
|
||
x07D5 ld e,a ;ª®¤ ª« ¢¨è¨
|
||
ld a,(xE007)
|
||
cp e
|
||
jr nz,x07BF ;¤àã£ ï ª« ¢¨è , á¡à®á áç¥â稪 ¢â®¯®¢â®à
|
||
bit 1,(hl)
|
||
jr nz,x0834 ;à ¡®â ¥â ¢â®¯®¢â®à
|
||
ld de,(xE051) ;áç¥â稪 ¯¥à¨®¤ ¢â®¯®¢â®à
|
||
dec d
|
||
ld (xE051),de
|
||
ret nz
|
||
set 1,(hl) ; ªâ¨¢¨à㥬 ¢â®¯®¢â®à
|
||
ld e,a ;ª®¤ ª« ¢¨è¨
|
||
ld a,(xE04E) ; ⨤ॡ¥§£®¢ ï § ¤¥à¦ª
|
||
ld (xE050),a
|
||
ld a,e
|
||
;®¡à ¡®âª ¦ ⮩ ª« ¢¨è¨
|
||
x07F4 cp #80
|
||
jr nz,x0804
|
||
ld a,%01000000 ;cs+ss
|
||
x07FA xor (hl)
|
||
ld (hl),a
|
||
ld a,(xE04E)
|
||
ld (xE052),a
|
||
jr x07C1
|
||
x0804 cp #81
|
||
jr nz,x080C
|
||
ld a,#80 ;cs+2
|
||
jr x07FA
|
||
x080C cp #82
|
||
jr nz,x0817
|
||
call x0916 ;ss+space
|
||
ld a,#00
|
||
jr x07FA
|
||
;ãáâ ®¢ª ª®¤ ¦ ⮩ ª« ¢¨è¨ ¢ ¯¥à¥¬¥ãî
|
||
x0817 bit 2,(hl)
|
||
ret nz
|
||
bit 5,(hl)
|
||
jr z,x082E ;???? ¢®§¬®¦® ¤«ï ¢¢®¤ ª¨à¨««¨æë
|
||
cp #40
|
||
jr c,x082E ;a=[#00..#3F]
|
||
cp #80
|
||
jr nc,x082E ;a=[#80..#FF]
|
||
cp #60
|
||
jr nc,x082C ;a=[#60..#7F]+#60
|
||
add a,#40 ;a=[#40..#5F]+#40+#60
|
||
x082C add a,#60
|
||
x082E ld (xE006),a ;ª®¤ ª« ¢¨è¨
|
||
set 2,(hl)
|
||
ret
|
||
x0834 ld de,(xE04F) ;áç¥â稪 ¢â®¯®¢â®à
|
||
dec d
|
||
ld (xE04F),de
|
||
ret nz ;¤® áà ¡ âë¢ ¨ï ¢â®¯®¢â®à ¥é¥ à ®
|
||
ld d,e
|
||
ld (xE04F),de
|
||
jr x07F4
|
||
|
||
;€„<E282AC>…‘: #0845 ®¯à®á ª« ¢¨ âãàë
|
||
;¢ëå: z - ¦ â® ¬®£® ª« ¢¨è/¥ ¦ â® ¨ ®¤®©
|
||
; nz - çâ®-â® ¦ â®
|
||
; hl - ¤à¥á ¢ ¡ãä¥à¥ ¯®á«¥¤¥© ¦ ⮩ ª« ¢¨è¨
|
||
; d - ª®«-¢® ¦ âëå ª« ¢¨è: =4 -> 1, =3 -> 2, =2 -> 3, =1 -> 4,
|
||
;ᮮ⢥âᢨ¥ ª« ¢¨è ᪠-ª®¤ ¬
|
||
;12345 67890
|
||
;QWERT YUIOP
|
||
;ASDFG HJKLe
|
||
;cZXCV BNMss
|
||
;
|
||
;0F 10 11 12 13 18 17 16 15 14
|
||
;0A 0B 0C 0D 0E 1D 1C 1B 1A 19
|
||
;05 06 07 08 09 22 21 20 1F 1E
|
||
;00 01 02 03 04 27 26 25 24 23
|
||
;
|
||
x0845 ld bc,#FEFE
|
||
ld hl,xDFEA-1
|
||
ld de,#05FF
|
||
x084E in a,(c)
|
||
push bc
|
||
ld b,#05
|
||
x0853 inc e
|
||
rrca
|
||
jr c,x085F ;¥ ¦ â
|
||
dec d
|
||
inc sp
|
||
inc sp
|
||
ret z
|
||
dec sp
|
||
dec sp
|
||
inc hl
|
||
ld (hl),e
|
||
x085F djnz x0853
|
||
pop bc
|
||
sli b
|
||
jr c,x084E
|
||
ld a,d
|
||
sub #05
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #086A ®¯à¥¤¥«¥¨¥ ª®¤ ¦ ⮩ ª« ¢¨è¨/ª®¬¡¨ 樨 ª« ¢¨è
|
||
;¢å: hl - ¤à¥á ¢ ¡ãä¥à¥ ¯®á«¥¤¥© ¦ ⮩ ª« ¢¨è¨
|
||
; d - ª®«-¢® ¦ âëå ª« ¢¨è: =4 -> 1, =3 -> 2, =2 -> 3, =1 -> 4
|
||
;¢ëå: z - ª« ¢¨è /ª®¬¡¨ æ¨ï ª« ¢¨è ¥ äãªæ¨® «ì
|
||
; nz - ª« ¢¨è¥/ª®¬¡¨ 樨 ª« ¢¨è ¥áâì äãªæ¨ï
|
||
; a - ª®¤ ¦ ⮩ ª« ¢¨è¨/ª®¬¡¨ 樨 ª« ¢¨è
|
||
;
|
||
x086A ld e,(hl)
|
||
ld a,d
|
||
sub #02
|
||
jr z,x08AE ; ¦ â® 3 ª« ¢¨è¨
|
||
jr c,x088E ; ¦ â® 4 ª« ¢¨è¨
|
||
rra
|
||
jr c,x08C6 ; ¦ â® 2 ª« ¢¨è¨
|
||
; ¦ â 1 ª« ¢¨è
|
||
ld a,e
|
||
or a
|
||
ret z ; ¦ â CapsShift
|
||
cp #24
|
||
ret z ; ¦ â SymbolShift
|
||
ld d,#00
|
||
ld hl,x06CB-1 ;â ¡«¨æ ᮮ⢥âá⢨© ¦ ⮩ ª« ¢¨è¨ ¯¥ç ⮬ã ᨬ¢®«ã
|
||
add hl,de
|
||
ld a,(hl)
|
||
cp #3A
|
||
ret c ;íâ® ¥ ¡ãª¢
|
||
ld hl,xE005
|
||
bit 7,(hl)
|
||
ret nz
|
||
add a,#20 ;¯¥à¥¢®¤¨¬ ¢ ¨¦¨© ॣ¨áâà
|
||
ret
|
||
; ¦ â® 4 ª« ¢¨è¨
|
||
x088E ld hl,xDFEA
|
||
ld a,(hl)
|
||
or a
|
||
jr nz,x08C4 ;cs ¥ ¦ â
|
||
inc hl
|
||
ld d,(hl)
|
||
inc hl
|
||
ld a,(hl)
|
||
cp #0F
|
||
jr nz,x08C4 ;cs+1 ¥ ¦ â
|
||
ld a,e
|
||
sub #0F
|
||
cp d
|
||
jr nz,x08C4
|
||
;cs+1+ª« ¢¨è
|
||
x08A3 ld e,a
|
||
ld d,#00
|
||
ld hl,x06F2-1
|
||
x08A9 add hl,de
|
||
ld a,(hl)
|
||
;cs+æ¨äà /ss
|
||
x08AB cp #FF ;íâ® cs+1?
|
||
ret
|
||
; ¦ â® 3 ª« ¢¨è¨
|
||
x08AE ld hl,xDFEA ;¡ãä¥à ¦ âëå ª« ¢¨è
|
||
ld a,(hl)
|
||
or a
|
||
jr nz,x08C4 ;cs ¥ ¦ â
|
||
inc hl
|
||
ld a,(hl)
|
||
cp #0F
|
||
jr nz,x08BF ;1 ¥ ¦ â
|
||
inc hl
|
||
x08BC ld a,(hl)
|
||
jr x08A3 ;cs+1+ª« ¢¨è
|
||
x08BF ld a,e
|
||
cp #0F
|
||
jr z,x08BC ;cs+1+ª« ¢¨è
|
||
x08C4 xor a ;¥¨§¢¥áâ ï ª®¬¡¨ æ¨ï
|
||
ret
|
||
; ¦ â® 2 ª« ¢¨è¨
|
||
x08C6 dec hl
|
||
ld a,(hl) ;ª®¤ ¯¥à¢®© ª« ¢¨è¨
|
||
or a
|
||
jr z,x08DC ;íâ® CapsShift
|
||
cp #24
|
||
jr z,x08D5 ;íâ® SymbolShift
|
||
ld a,e
|
||
ld e,(hl)
|
||
cp #24
|
||
jr nz,x08C4 ;¢â®à ï ª« ¢¨è ¥ SymbolShift
|
||
x08D5 ld d,#00 ;ss+ª« ¢¨è
|
||
ld hl,x0719-1
|
||
jr x08A9
|
||
; ª®¬¡¨ æ¨ï á CapsShift
|
||
x08DC ld hl,x06CB-1
|
||
ld a,e
|
||
cp #23
|
||
jr z,x090F ;cs+space
|
||
cp #0F
|
||
jr c,x08F2 ;cs+¡ãª¢
|
||
cp #19
|
||
jr nc,x08F2 ;cs+¡ãª¢ /ss/enter
|
||
ld hl,x0740 ;cs+æ¨äà
|
||
sub #0F
|
||
ld e,a
|
||
x08F2 ld d,#00
|
||
add hl,de
|
||
ld a,(hl)
|
||
cp #3F
|
||
ret c ;¥á«¨ cs+enter
|
||
cp #7F
|
||
jr z,x0909 ;cs+0
|
||
jr nc,x08AB ;cs+æ¨äà /ss
|
||
ld hl,xE005 ;cs+¡ãª¢
|
||
bit 7,(hl)
|
||
jr z,x0909
|
||
add a,#20 ;CapsLock ¢ª«îç¥, ¯¥à¥¢®¤¨¬ ¢ ¨¦¨© ॣ¨áâà
|
||
ret
|
||
x0909 cp #80 ;cs+ss
|
||
ret nz
|
||
cp #81 ;cs+2
|
||
ret
|
||
; ¦ â cs+space
|
||
x090F call x078B
|
||
ld a,#03
|
||
jr x0909
|
||
; ¦ â ss+space (???०¨¬ à¨á®¢ ¨ï à ¬®ª)
|
||
;hl=xE005
|
||
x0916 bit 5,(hl)
|
||
ld a,#05
|
||
jr z,x091E
|
||
ld a,#07
|
||
x091E ld (xE053),a ;梥⠡®à¤îà ¯à¨ ¯®¤ ç¥ §¢ãª®¢®£® ᨣ «
|
||
ret
|
||
|
||
;¯à®¤®«¦¥¨¥ RST #08:db #8B § £à㧪 zs-snap á ¤¨áª
|
||
x0922 db "bootm",#00
|
||
;¢å: a - ®¬¥à ¤¨áª®¢®¤ 0..3
|
||
x0928 ld a,(xDD7F+#01) ;xDD80 ॣ¨áâà A ¯®«ì§®¢ ⥫ï
|
||
add a,"A"
|
||
ld (de),a
|
||
inc de
|
||
ld a,":"
|
||
ld (de),a
|
||
inc de
|
||
push hl
|
||
ld hl,x0922
|
||
ld bc,#0006
|
||
ldir
|
||
pop hl
|
||
jr x095B
|
||
|
||
;€„<E282AC>…‘: #093F RST #08:db #8B § £à㧪 zs-snap á ¤¨áª
|
||
;¢å: +1 =#00 ¨á¯®«ì§ã¥¬ ¨¬ï bootm
|
||
; a - ®¬¥à ¤¨áª®¢®¤
|
||
;¢å: +1 ="filename",#00 - ¨¬ï ä ©«
|
||
x093F ld b,#00
|
||
ld hl,(xDD6B) ;pc ¯à®£à ¬¬ë ¯®«ì§®¢ ⥫ï
|
||
ld de,xEBF5
|
||
rst #30
|
||
dw rom2_x0028 ;ç⥨¥ ¡ ©â ¨§ ¯ ¬ï⨠¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
inc hl
|
||
or a
|
||
jr z,x0928 ;¨¬ï ä ©« ¯® 㬮«ç ¨î
|
||
|
||
;ç¨â ¥¬ ¨¬ï ä ©« ¨§ ¯ ¬ï⨠¯®«ì§®¢ ⥫ï
|
||
x094F ld (de),a
|
||
inc de
|
||
or a
|
||
jr z,x095B
|
||
rst #30
|
||
dw rom2_x0028 ;ç⥨¥ ¡ ©â ¨§ ¯ ¬ï⨠¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
inc hl
|
||
djnz x094F
|
||
x095B ld (xDD6B),hl ;®¢ë© pc ¯à®£à ¬¬ë ¯®«ì§®¢ ⥫ï
|
||
ld hl,xEBF5 ; ¤à¥á áâப¨ á ¨¬¥¥¬ ä ©«
|
||
res 6,(iy+#13) ;ç⥨¥
|
||
res 5,(iy+#0B) ;äãªæ¨¨ ¢ë§ë¢ îâáï ¨§ ¬®¨â®à
|
||
ld b,#01
|
||
jr x098D ;ç⥨¥ snap
|
||
|
||
;€„<E282AC>…‘: #096D ª®¯¨à®¢ ¨¥ ªâ¨¢®£® íªà ¯®«ì§®¢ â¥«ï ¢ #4000
|
||
x096D rst #30
|
||
dw rom2_x3A21 ;ª®¯¨à®¢ ¨¥ ªâ¨¢®£® íªà ¯®«ì§®¢ â¥«ï ¢ #4000
|
||
db #02
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0972 ¯¥ç âì ⥪ã饣® ¬¥î ¬®¨â®à (¡¥§ ¢®§¢à â )
|
||
x0972 rst #30
|
||
dw rom5_x0EB5 ;¯¥ç âì ⥪ã饣® ¬¥î ¬®¨â®à
|
||
db #05 ;¯¥à¥å®¤ ¡¥§ ¢®§¢à â
|
||
|
||
;€„<E282AC>…‘: #0976 § £à㧪 zs-snap (S. load ... snap)
|
||
x0976 res 6,(iy+#13)
|
||
ld b,#01
|
||
jr x0984
|
||
|
||
;€„<E282AC>…‘: #097E á®åà ¥¨¥ zs-snap (S. save ... snap)
|
||
x097E set 6,(iy+#13)
|
||
ld b,#02
|
||
x0984 push bc
|
||
ld a,#89
|
||
call x06AD ;¢¢®¤ ⥪á⮢®© áâப¨ ¢¨§ã íªà
|
||
pop bc
|
||
jr c,x0972 ;¢¢®¤ ®â¬¥¥
|
||
x098D rst #18
|
||
dw rom7_x11D4 ;®âªàë⨥ ä ©« ¤«ï ¢ãâ२å 㦤 R8DOS #14
|
||
jr c,x09B4 ;®è¨¡ª ®âªàëâ¨ï ä ©«
|
||
ld l,(ix+#0E) ;ix - ¤à¥á ¡ãä¥à fcb
|
||
ld h,(ix+#0F) ;l - ®¬¥à ¯¥à¢®£® ᥪâ®à ä ©«
|
||
ld (xE7C5),hl ;h - ®¬¥à ¯¥à¢®© ¤®à®¦ª¨ ä ©«
|
||
bit 6,(iy+#13)
|
||
push af
|
||
call nz,x096D ;¥á«¨ § ¯¨áì ä ©« , ª®¯¨à®¢ ¨¥ ªâ¨¢®£® íªà ¯®«ì§®¢ â¥«ï ¢ #4000
|
||
pop af
|
||
push af
|
||
jr nz,x09AE ;§ ¯¨áì ä ©«
|
||
|
||
;ç⥨¥ ä ©«
|
||
rst #18
|
||
dw rom7_x1365 ;¯®á«¥¤®¢ ⥫쮥 ç⥨¥ ®ç¥à¥¤®£® ᥪâ®à ¨§ ä ©« R8DOS #1C
|
||
jr c,x09B4 ;®è¨¡ª ®âªàëâ¨ï ä ©«
|
||
jr x09BD
|
||
|
||
;§ ¯¨áì ä ©«
|
||
x09AE ld bc,#0100 ;®¢ë© 㪠§ ⥫ì
|
||
rst #18
|
||
dw rom7_x1405 ;®¢®¥ § 票¥ 㪠§ â¥«ï ¢ ä ©«¥ R8DOS #20
|
||
x09B4 jp c,x06A6 ;®è¨¡ª ç⥨ï/§ ¯¨á¨
|
||
ld hl,xE8A9 ;§ £®«®¢®ª ä ©«
|
||
call x0678 ;§ 㫨¬ íâ® § £®«®¢®ª (#100 ¡ ©â)
|
||
x09BD pop af
|
||
ld hl,xE8A9 ;§ £®«®¢®ª ä ©«
|
||
call x0D6D ;ãáâ ®¢ª /¢®ááâ ®¢«¥¨¥ ¯ à ¬¥â஢ § £®«®¢ª zs-snap
|
||
rst #30
|
||
dw rom2_x35E0 ;á®åà ¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
ld a,#02
|
||
bit 6,(iy+#13)
|
||
jr z,x09F6 ;ç⥨¥ ä ©«
|
||
;§ ¯¨áì ä ©«
|
||
; RAM 2
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
call x0C8C ;§ ¯¨áì áâà ¨æë á ¤à¥á #8000 ¤¨áª, á ª®¬¯à¥áᨥ©/¡¥§
|
||
; RAM 5
|
||
ld a,#05
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
rst #30
|
||
dw rom2_x0606 ;ª®¯¨à®¢ ¨¥ áâà ¨æë 5 ¢ #8000
|
||
db #02
|
||
call x0C8C ;§ ¯¨áì áâà ¨æë á ¤à¥á #8000 ¤¨áª, á ª®¬¯à¥áᨥ©/¡¥§
|
||
rst #30
|
||
dw rom2_x3A4E ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
; RAM ªâ¨¢ ï áâà ¨æ ¯à¨ ¢å®¤¥ ¢ ¬®¨â®à
|
||
rst #30
|
||
dw rom2_x36F9 ;¯®«ã票¥ ®¬¥à «®£¨ç¥áª®© áâà ¨æë ¯®«ì§®¢ ⥫ï a=[#0..#F]
|
||
db #02
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
rst #30
|
||
dw rom2_x0606 ;ª®¯¨à®¢ ¨¥ áâà ¨æë ¯®«ì§®¢ â¥«ï ¢ #8000
|
||
db #02
|
||
call x0C8C ;§ ¯¨áì áâà ¨æë á ¤à¥á #8000 ¤¨áª, á ª®¬¯à¥áᨥ©/¡¥§
|
||
jr x0A2D
|
||
|
||
;ç⥨¥ ä ©«
|
||
x09F6 set 3,(iy+#13)
|
||
call x0B71 ;à áç¥â ç « ¡¨â®¢®© ª àâë ¯ à £à 䮢 § ¤ ®© áâà ¨æë
|
||
call x0D01 ;®¯à¥¤¥«¥¨¥ ¤à¥á § £à㧪¨ áâà ¨æë ¢ ¯ ¬ïâ¨
|
||
ld a,h
|
||
sub #80
|
||
jr z,x0A0F ;¯ãáâ ï áâà ¨æ . ¥ § £à㦠¥¬
|
||
inc a
|
||
ld b,a
|
||
ld c,#00
|
||
rst #30 ;!!! ¬®¦® ç¥à¥§ rst #18 ¢ë§¢ âì
|
||
dw rom7_x1405 ;®¢®¥ § 票¥ 㪠§ â¥«ï ¢ ä ©«¥ R8DOS #22
|
||
db #07
|
||
jr c,x0A86 ;®è¨¡ª ç⥨ï
|
||
; RAM 5
|
||
x0A0F ld a,#05
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
call x0BB6 ;§ £à㧪 áâà ¨æë zs-snap á ¤à¥á #8000
|
||
rst #30
|
||
dw rom2_x0603 ;ª®¯¨à®¢ ¨¥ ¯ ¬ï⨠á #8000 ¢ áâà ¨æã ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
rst #30
|
||
dw rom2_x3A4E ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
; RAM ªâ¨¢ ï ¯à¨ ¢å®¤¥ ¢ ¬®¨â®à
|
||
rst #30
|
||
dw rom2_x36F9 ;¯®«ã票¥ ®¬¥à «®£¨ç¥áª®© áâà ¨æë ¯®«ì§®¢ ⥫ï a=[#0..#F]
|
||
db #02
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
call x0BB6 ;§ £à㧪 áâà ¨æë zs-snap á ¤à¥á #8000
|
||
rst #30
|
||
dw rom2_x0603 ;ª®¯¨à®¢ ¨¥ ¯ ¬ï⨠á #8000 ¢ áâà ¨æã ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
|
||
;¯à®¢¥àª ०¨¬ ¯ ¬ï⨠48k/128-256k
|
||
x0A2D rst #18
|
||
dw rom7_x1307 ;R8DOS #15(21) § ªàëâì ä ©«, ®âªàëâë© äãªæ¨¥© 20
|
||
jr c,x0A86 ;®è¨¡ª¨ ç⥨ï/§ ¯¨á¨
|
||
bit 5,(iy-#02)
|
||
call nz,x0D59 ;¢ª«î票¥ ०¨¬ 48k only
|
||
jp nz,x0A9D ;०¨¬ 48k only. § ¢¥à襨¥ § £à㧪¨/á®åà ¥¨ï zs-snap
|
||
;§ £à㧪 ®áâ «ìëå áâà ¨æ
|
||
ld (ix+#07),#2F
|
||
xor a
|
||
push af
|
||
call x0B41 ;®âªà®¥¬ á«¥¤ãî騩 ä ©« zs-snap
|
||
pop af
|
||
x0A46 push af
|
||
cp #02
|
||
jr z,x0A8B ;ram 2 㦥 á®åà ¥
|
||
cp #05
|
||
jr z,x0A8B ;ram 5 㦥 á®åà ¥
|
||
cp #08
|
||
jr z,x0A8B ;ram 8 ¥ á®åà 塞
|
||
cp #09
|
||
jr z,x0A8B ;ram 9 ¥ á®åà 塞
|
||
rst #30
|
||
dw rom2_x3A4E ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
ld l,a
|
||
rst #30
|
||
dw rom2_x3707 ;áà ¢¥¨¥ áâà ¨æë ¯®«ì§®¢ ⥫ï á § ¤ ®©
|
||
db #02
|
||
jr z,x0A8B ;áâà ¨æ ¯®«ì§®¢ ⥫ï 㦥 § £à㦥 /á®åà ¥
|
||
; § £à㧪 /á®åà ¥¨¥ ®ç¥à¥¤®© áâà ¨æë
|
||
ld a,l
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
bit 6,(iy+#13)
|
||
jr z,x0A75 ;§ £à㧪 áâà ¨æë
|
||
rst #30
|
||
dw rom2_x0606 ;ª®¯¨à®¢ ¨¥ áâà ¨æë ¯®«ì§®¢ â¥«ï ¢ #8000
|
||
db #02
|
||
call x0C8C ;§ ¯¨áì áâà ¨æë á ¤à¥á #8000 ¤¨áª, á ª®¬¯à¥áᨥ©/¡¥§
|
||
jr x0A7C
|
||
x0A75 call x0BB6 ;§ £à㧪 áâà ¨æë zs-snap á ¤à¥á #8000
|
||
rst #30
|
||
dw rom2_x0603 ;ª®¯¨à®¢ ¨¥ ¯ ¬ï⨠á #8000 ¢ áâà ¨æã ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
x0A7C ld a,(xE7A9+#14) ;㪠§ â¥«ì ¢ ä ©«¥ (áâ à訩 ¡ ©â)
|
||
cp #BE
|
||
jr c,x0A8B
|
||
rst #18
|
||
dw rom7_x1307 ;R8DOS #15(21) § ªàëâì ä ©«, ®âªàëâë© äãªæ¨¥© 20
|
||
x0A86 jr c,x0AB0 ;®è¨¡ª¨ ç⥨ï/§ ¯¨á¨. ¢®ááâ ®¢«¥¨¥ RAM 2, ¯¥ç âì á®®¡é¥¨ï ¨ ¢ë室
|
||
call x0B41 ;®âªà®¥¬ á«¥¤ãî騩 ä ©« zs-snap
|
||
;á«¥¤ãîé ï áâà ¨æ
|
||
x0A8B pop af
|
||
inc a
|
||
cp #10
|
||
jr c,x0A46 ;¥é¥ ¥ ¢á¥ § £à㦥®
|
||
ld hl,(xE7A9+#13) ;㪠§ â¥«ì ¢ ä ©«¥ (¬« ¤è¨© ¡ ©â)
|
||
ld a,h
|
||
or e
|
||
jr z,x0A9D
|
||
rst #18
|
||
dw rom7_x1307 ;R8DOS #15(21) § ªàëâì ä ©«, ®âªàëâë© äãªæ¨¥© 20
|
||
jr c,x0AB0 ;®è¨¡ª¨ ç⥨ï/§ ¯¨á¨. ¢®ááâ ®¢«¥¨¥ RAM 2, ¯¥ç âì á®®¡é¥¨ï ¨ ¢ë室
|
||
|
||
;§ ¢¥à襨¥ § £à㧪¨/á®åà ¥¨ï zs-snap
|
||
x0A9D bit 6,(iy+#13)
|
||
jr z,x0AB2 ;ç⥨¥ ä ©«
|
||
; § ¯¨áì § £®«®¢ª zs-snap
|
||
ld hl,xE8A9 ; ¤à¥á § £®«®¢ª
|
||
ld de,(xE7C5) ;®¬¥à ¯¥à¢®£® ᥪâ®à /¤®à®¦ª¨ ä ©«
|
||
ld bc,#0106
|
||
rst #18
|
||
dw rom7_x0229 ;¢ë§®¢ äãªæ¨¨ R8DOS
|
||
x0AB0 jr c,x0B2E ;®è¨¡ª¨ § ¯¨á¨
|
||
; ç⥨¥ ä ©«
|
||
x0AB2 call x0AC8 ;§ £à㧪 RAM 2 ¨§ ä ©« zs-snap
|
||
bit 6,(iy+#13)
|
||
ret nz ;§ ¯¨áì zs-snap
|
||
x0ABA bit 2,(iy+#14)
|
||
ret nz ;
|
||
rst #30
|
||
dw rom2_x013A ;¢ë室 ¨§ ¬®¨â®à
|
||
db #02 ;¡¥§ ¢®§¢à â
|
||
|
||
;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
x0AC3 rst #30
|
||
dw rom2_x3A4E ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
ret
|
||
|
||
;§ £à㧪 RAM 2 ¨§ ä ©« zs-snap
|
||
x0AC8 ld hl,(xE7C5) ;®¬¥à ¯¥à¢®£® ᥪâ®à /¤®à®¦ª¨ ä ©« zs-snap
|
||
inc l ;á«¥¤ãî騩 ᥪâ®à
|
||
bit 4,l
|
||
res 4,l
|
||
jr z,x0AD3
|
||
inc h ;á«¥¤ãîé ï ¤®à®¦ª
|
||
x0AD3 ld (xE7C5),hl
|
||
ld a,#02
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
call x0D01 ;®¯à¥¤¥«¥¨¥ ¤à¥á § £à㧪¨ áâà ¨æë ¢ ¯ ¬ïâì/ª®«-¢ ᥪâ®à®¢
|
||
bit 7,(iy+#13)
|
||
jr z,x0B10 ;¡¥§ ª®¬¯à¥áᨨ
|
||
; á ª®¬¯à¥áᨥ©
|
||
ld a,(de)
|
||
ld (xE33B),a ;à §¬¥à ¢ ᥪâ®à å § ¯ ª®¢ ®© áâà ¨æë
|
||
ld a,h
|
||
sub #80
|
||
jr nz,x0AF2 ; ¤® çâ®-â® § £à㧨âì
|
||
call x0BC8 ;áâà ¨æ ¯ãáâ ï. § ¯®«¥¨¥ ¯ ¬ï⨠[#8000..#BFFF] ¡ ©â®¬ #00
|
||
jr x0AC3 ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ â¥«ï ¨ ¢ë室
|
||
; § £à㦠¥¬ § ¯ ª®¢ ãî áâà ¨æã
|
||
x0AF2 ld hl,x0C50 ;¯à®æ¥¤ãà § £à㧪¨ ᥪâ®à®¢ áâà ¨æë ¢ ¡ãä¥à xE5A9
|
||
call x0D60 ;ãáâ ®¢ª ¯/¯ jp x0C50 ¯® ¤à¥áã xE338
|
||
ld hl,xE5A9 ; ¤à¥á ¡ãä¥à ®âªã¤ à ᯠª®¢ë¢ âì
|
||
ld de,xE5A9+#200 ;¯¥à¢ ï ᢮¡®¤ ï ï祩ª ¢ ¡ãä¥à¥ (de-hl ¤«¨ § ¯ ª®¢ ®£® ¡«®ª )
|
||
exx
|
||
ld hl,#8000 ; ¤à¥á ªã¤ à ᯠª®¢ë¢ âì
|
||
call x1108 ;§ £à㧪 ¨ à ᯠª®¢ª ¡«®ª ¤«¨®© #100
|
||
ld hl,#4000
|
||
or a
|
||
sbc hl,bc
|
||
jr z,x0AC3 ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ â¥«ï ¨ ¢ë室
|
||
jp x0BEF ;®è¨¡ª . à §¬¥à à ᯠª®¢ ®£® ¡«®ª ¥ à ¢¥ à §¬¥àã áâà ¨æë
|
||
; ¡¥§ ª®¬¯à¥áᨨ
|
||
x0B10 push hl
|
||
ld a,h
|
||
sub #80
|
||
jr z,x0B28 ;¯ãáâ ï áâà ¨æ
|
||
; § £à㦠¥¬ áâà ¨æã
|
||
push de
|
||
ld b,a ;ª®«¨ç¥á⢮ ᥪâ®à®¢
|
||
ld hl,#8000
|
||
ld de,(xE7C5) ;®¬¥à ¯¥à¢®£® ᥪâ®à /¤®à®¦ª¨ áâà æë zs-snap
|
||
ld c,#05
|
||
rst #18
|
||
dw rom7_x0229 ;¢ë§®¢ äãªæ¨¨ R8DOS. § £à㧪 ᥪâ®à®¢
|
||
jp c,x0B3B ;®è¨¡ª¨ ç⥨ï
|
||
pop de
|
||
x0B28 pop hl
|
||
call x0C0C ;à á¯à¥¤¥«¥¨¥ § £à㦥®© áâà ¨æë ¯® ¯ ¬ï⨠á ãç¥â®¬ ¯ãáâëå ¯ à £à 䮢
|
||
jr x0AC3 ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ â¥«ï ¨ ¢ë室
|
||
|
||
;®è¨¡ª¨ ç⥨ï/§ ¯¨á¨. ¢®ááâ ®¢«¥¨¥ RAM 2, ¯¥ç âì á®®¡é¥¨ï ¨ ¢ë室
|
||
x0B2E push af
|
||
rst #30
|
||
dw rom2_x36F9 ;¯®«ã票¥ ®¬¥à «®£¨ç¥áª®© áâà ¨æë ¯®«ì§®¢ ⥫ï a=[#0..#F]
|
||
db #02
|
||
cp #02
|
||
jr z,x0B3A ;2ï áâà ¨æ 㦥 á®åà ¥
|
||
call x0AC8 ;§ £à㧪 RAM 2 ¨§ ä ©« zs-snap
|
||
x0B3A pop af
|
||
x0B3B call x0AC3 ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
jp x06A6 ;¯¥ç âì á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¨ ¯à®¤®«¦¥¨¥ à ¡®âë ¬®¨â®à
|
||
|
||
;ä®à¬¨à®¢ ¨¥ á«¥¤ãî饣® ¨¬¥¨ ä ©« ¤«ï zs-snap
|
||
x0B41 push de
|
||
push hl
|
||
ld hl,xE7A9 ;¡ãä¥à fcb
|
||
ld b,#07
|
||
x0B48 ld a,(hl) ;§ ¬¥ ¯à®¡¥«®¢ ¢ ¨¬¥¨ ä ©« ¯®¤ç¥àª ¬¨
|
||
cp " "
|
||
jr nz,x0B4F
|
||
ld (hl),"_"
|
||
x0B4F inc hl
|
||
djnz x0B48
|
||
inc (ix+#07) ;¯®á«¥¤¨© ᨬ¢®« ¨¬¥¨ ä ©« +1
|
||
ld hl,#0000
|
||
ld (xE7A9+#13),hl ;áâ àâ®¢ë© ¤à¥á
|
||
ld (xE7A9+#0C),hl ; ¤à¥á ¡ãä¥à dma
|
||
rst #18
|
||
dw rom7_x11DF ;®âªàëâì ä ©« ¤«ï ¯®á«¥¤ãîé¨å ®¯¥à 権 á ¨¬
|
||
ld hl,xE027
|
||
set 3,(hl)
|
||
jr nc,x0B6E ;¥ ¡ë«® ®è¨¡®ª
|
||
bit 6,(hl)
|
||
jr nz,x0B2E ;®è¨¡ª¨ ¯à¨ § ¯¨á¨. ¢®ááâ ®¢«¥¨¥ RAM 2, ¯¥ç âì á®®¡é¥¨ï ¨ ¢ë室
|
||
res 3,(hl)
|
||
x0B6E pop hl
|
||
pop de
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0B71 à áç¥â ç « ¡¨â®¢®© ª àâë ¯ à £à 䮢 § ¤ ®© áâà ¨æë
|
||
;¢å: a - ®¬¥à áâà ¨æë
|
||
;¢ëå: de - ¤à¥á ç « ¡¨â®¢®© ª àâë ¯ à £à 䮢 § ¤ ®© áâà ¨æë
|
||
x0B71 push hl
|
||
jr x0B9F
|
||
|
||
;€„<E282AC>…‘: #0B74 ¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
;¢å: a - ®¬¥à áâà ¨æë
|
||
;¢ëå: de - ¤à¥á ç « ¡¨â®¢®© ª àâë ¯ à £à 䮢 § ¤ ®© áâà ¨æë
|
||
x0B74 push hl
|
||
push ix
|
||
ld l,a
|
||
ld h,#00
|
||
push af
|
||
rst #30
|
||
dw rom2_x3732 ;ãáâ ®¢ª áâà ¨æë ¯®«ì§®¢ ⥫ï à ¢®© ®¬¥àã áâà ¨æë ¢ L
|
||
db #02
|
||
rst #30
|
||
dw rom2_x3005 ;ãáâ ®¢ª ⥪ã騬 ®ª : main menu
|
||
db #02
|
||
x0B83 bit 6,(iy+#13)
|
||
ld hl,rom5_x1095 ;á®®¡é¥¨¥: Saved RAM bank_
|
||
jr nz,x0B8F ;§ ¯¨áì
|
||
ld hl,rom5_x10AB ;á®®¡é¥¨¥: Loaded RAM bank_
|
||
x0B8F rst #30
|
||
dw rom5_x1061 ;¯¥ç âì § ª®¤¨à®¢ ®£® á®®¡é¥¨ï ¨§ hl
|
||
db #05
|
||
pop af
|
||
push af
|
||
rst #30
|
||
dw rom2_x16EC ;¯¥ç âì ç¨á« a=[#0..#F]
|
||
db #02
|
||
rst #20
|
||
db " "
|
||
db #82 ;¢®ááâ ®¢«¥¨¥ âਡã⮢
|
||
pop af
|
||
pop ix
|
||
;a - ®¬¥à áâà ¨æë
|
||
x0B9F add a,a
|
||
add a,a
|
||
add a,a
|
||
ld hl,xE8A9+#40 ;xE8E9
|
||
call x1103 ;á«®¦¥¨¥ hl=hl+a
|
||
ex de,hl
|
||
pop hl
|
||
ret
|
||
|
||
;®è¨¡ª : undefined file
|
||
x0BAB call x0AC8 ;§ £à㧪 RAM 2 ¨§ ä ©« zs-snap
|
||
call x0AC3 ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
ld a,#54 ;®è¨¡ª undefined file
|
||
jp x06A9 ;¯¥ç âì á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¨ ¯à®¤®«¦¥¨¥ à ¡®âë ¬®¨â®à
|
||
|
||
;§ £à㧪 áâà ¨æë zs-snap á ¤à¥á #8000
|
||
x0BB6 call x0D01 ;®¯à¥¤¥«¥¨¥ ¤à¥á § £à㧪¨ áâà ¨æë ¢ ¯ ¬ïâì
|
||
bit 7,(iy+#13)
|
||
jr z,x0BF4 ;¡¥§ ª®¬¯à¥áᨨ
|
||
; á ª®¬¯à¥áᨥ©
|
||
ld a,(de)
|
||
ld (xE33B),a ;ª®«¨ç¥á⢮ ᥪâ®à®¢ ¤«ï § £à㧪¨
|
||
ld a,h
|
||
sub #80
|
||
jr nz,x0BD5 ;¥áâì çâ® § £à㦠âì
|
||
;§ ¯®«¥¨¥ ¯ ¬ï⨠[#8000..#BFFF] ¡ ©â®¬ ¢ A
|
||
;¢å: a - ¡ ©â ¤«ï § ¯®«¥¨ï
|
||
x0BC8 ld hl,#8000
|
||
ld (hl),a
|
||
ld de,#8001
|
||
ld bc,#3FFF
|
||
ldir
|
||
ret
|
||
;§ £à㧪 ¨ à ᯠª®¢ª áâà ¨æë á ª®¬¯à¥áᨥ©
|
||
x0BD5 ld hl,x0C41 ;¯à®æ¥¤ãà § £à㧪¨ ᥪâ®à®¢ ¢ ¡ãä¥à hl
|
||
call x0D60 ;ãáâ ®¢ª ¯/¯ jp x0C41 ¯® ¤à¥áã xE338
|
||
ld hl,xE5A9
|
||
ld de,xE5A9+#200
|
||
exx
|
||
ld hl,#8000
|
||
call x1108 ;§ £à㧪 ¨ à ᯠª®¢ª ¡«®ª ¤«¨®© #100
|
||
ld hl,#4000
|
||
or a
|
||
sbc hl,bc
|
||
ret z ;§ £à㦥 ¢áï áâà ¨æ
|
||
;®è¨¡ª ç⥨ï/§ ¯¨á¨
|
||
x0BEF ld a,#55
|
||
jp x06A9 ;¯¥ç âì á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¨ ¯à®¤®«¦¥¨¥ à ¡®âë ¬®¨â®à
|
||
;§ £à㧪 áâà ¨æë ¡¥§ ª®¬¯à¥áᨨ
|
||
x0BF4 push hl
|
||
ld a,h
|
||
sub #80
|
||
jr z,x0C0B ;¯ãáâ ï áâà ¨æ
|
||
; § £à㧪 áâà ¨æë
|
||
push de
|
||
bit 3,(iy+#13)
|
||
jr z,x0BAB ;®è¨¡ª : undefined file
|
||
call x0CE3 ;ãáâ ®¢ª à §¬¥à ¡ãä¥à dma
|
||
rst #18
|
||
dw rom7_x1360 ;R8DOS #1E(30) ¯®á«¥¤®¢ ⥫쮥 áç¨âë¢ ¨¥ § ¤ ®£® ª®«¨ç¥á⢠ᥪâ®à®¢
|
||
x0C07 jp c,x0B2E ;®è¨¡ª¨ ç⥨ï/§ ¯¨á¨. ¢®ááâ ®¢«¥¨¥ RAM 2, ¯¥ç âì á®®¡é¥¨ï ¨ ¢ë室
|
||
pop de
|
||
x0C0B pop hl
|
||
|
||
;à á¯à¥¤¥«¥¨¥ § £à㦥®© áâà ¨æë ¯® ¯ ¬ï⨠á ãç¥â®¬ ¯ãáâëå ¯ à £à 䮢
|
||
;¢å: hl - ¤à¥á § £à㧪¨
|
||
; de - ¤à¥á ¡¨â®¢®© ª àâë á«¥¤ãî饩 áâà ¨æë (¤«ï ¥§ ¯ ª®¢ ®£® ä ©« )
|
||
x0C0C push hl
|
||
ex de,hl
|
||
ld c,#01
|
||
exx
|
||
pop hl
|
||
dec hl
|
||
ld de,#BFFF
|
||
x0C16 exx
|
||
dec c
|
||
jr nz,x0C1E
|
||
ld c,#08
|
||
dec hl
|
||
ld b,(hl)
|
||
x0C1E rlc b
|
||
exx
|
||
jr c,x0C35 ;ª®¯¨à㥬 ¯ à £à ä ᢮¥ ¬¥áâ®
|
||
; ¯ à £à ä ¯ãá⮩. § ã«ï¥¬ ¥£®
|
||
push hl
|
||
ld h,d
|
||
ld l,e
|
||
dec de
|
||
ld bc,#00FF
|
||
ld (hl),#00
|
||
lddr
|
||
pop hl
|
||
ld a,d
|
||
cp #7F
|
||
ret z ;ª®¥æ áâà ¨æë
|
||
jr x0C16 ;á«¥¤ãî騩 ¯ à £à ä
|
||
; ª®¯¨à㥬 ¯ à £à ä ᢮¥ ¬¥áâ®
|
||
x0C35 xor a
|
||
sbc hl,de
|
||
add hl,de
|
||
ret z ;ª®¥æ áâà ¨æë
|
||
ld bc,#0100
|
||
lddr
|
||
jr x0C16 ;á«¥¤ãî騩 ¯ à £à ä
|
||
|
||
;§ £à㧪 ᥪâ®à®¢ ¢ ¡ãä¥à hl
|
||
;¢å: (xE7C5) - ¤®à®¦ª /ᥪâ®à ®âªã¤ £à㧨âì
|
||
; hl - ¤à¥á § £à㧪¨
|
||
; b - à §¬¥à ¡«®ª ¢ ᥪâ®à å
|
||
;¢ëå: (xE7C5) - á«¥¤ãî騥 ¤®à®¦ª /ᥪâ®à
|
||
x0C41 ld (ix+#15),l
|
||
ld (ix+#16),h
|
||
call x0C7D ;¢ëç¨á«¥¨¥ à §¬¥à ¡«®ª ¤«ï § £à㧪¨
|
||
rst #18
|
||
dw rom7_x1360 ;R8DOS #1E(30) ¯®á«¥¤®¢ ⥫쮥 áç¨âë¢ ¨¥ § ¤ ®£® ª®«¨ç¥á⢠ᥪâ®à®¢
|
||
jr c,x0C07 ;®è¨¡ª ç⥨ï
|
||
ret
|
||
|
||
;§ £à㧪 ᥪâ®à®¢ ¢ ¡ãä¥à hl
|
||
;¢å: (xE7C5) - ¤®à®¦ª /ᥪâ®à ®âªã¤ £à㧨âì
|
||
; hl - ¤à¥á § £à㧪¨
|
||
; b - à §¬¥à ¡«®ª ¢ ᥪâ®à å
|
||
;¢ëå: (xE7C5) - á«¥¤ãî騥 ¤®à®¦ª /ᥪâ®à
|
||
x0C50 push hl
|
||
call x0C7D ;¢ëç¨á«¥¨¥ à §¬¥à ¡«®ª ¤«ï § £à㧪¨
|
||
ld de,(xE7C5) ;¤®à®¦ª /ᥪâ®à
|
||
push de
|
||
ld a,b
|
||
and #F0
|
||
rrca
|
||
rrca
|
||
rrca
|
||
rrca
|
||
add a,d
|
||
ld d,a
|
||
ld a,b
|
||
and #0F
|
||
add a,e
|
||
bit 4,a
|
||
jr z,x0C6B
|
||
inc d
|
||
x0C6B and #0F
|
||
ld e,a
|
||
ld (xE7C5),de ;á«¥¤ãî騥 ¤®à®¦ª /ᥪâ®à
|
||
pop de
|
||
ld c,#05
|
||
pop hl
|
||
rst #18
|
||
dw rom7_x0229 ;¢ë§®¢ äãªæ¨¨ R8DOS. § £à㧪 ¡«®ª ᥪâ®à®¢
|
||
jp c,x0B3B ;®è¨¡ª § £à㧪¨
|
||
ret
|
||
|
||
;¢ëç¨á«¥¨¥ à §¬¥à ¡«®ª ¤«ï § £à㧪¨
|
||
;¢å: (xE33B) à §¬¥à ¡«®ª ¢ ᥪâ®à å
|
||
; b - à §¬¥à ¡«®ª ¢ ᥪâ®à å
|
||
;¢ëå: (xE33B) ®á⠢訩áï à §¬¥à ¡«®ª ¢ ᥪâ®à å
|
||
; b - à §¬¥à ¡«®ª ¢ ᥪâ®à å ¤«ï § £à㧪¨
|
||
x0C7D ld hl,xE33B
|
||
ld a,(hl)
|
||
or a
|
||
jp z,x0BEF ;®è¨¡ª . ¥ç¥£® § £à㦠âì
|
||
sub b
|
||
jr nc,x0C8A
|
||
ld b,(hl)
|
||
xor a
|
||
x0C8A ld (hl),a
|
||
ret
|
||
|
||
;§ ¯¨áì áâà ¨æë á ¤à¥á #8000 ¤¨áª, á ª®¬¯à¥áᨥ©/¡¥§
|
||
;¢å: de - ¤à¥á ç « ¡¨â®¢®© ª àâë ¯ à £à 䮢
|
||
x0C8C bit 5,(iy+#13)
|
||
jr z,x0CD5 ;ª®¬¯à¥áá¨ï ®âª«îç¥
|
||
;§ ¯¨áì á ª®¬¯à¥áᨥ©
|
||
inc de
|
||
ex de,hl
|
||
ld (xE33B),hl
|
||
xor a
|
||
ld (hl),a
|
||
ld hl,#8000
|
||
ld bc,#4000
|
||
x0C9F cpi
|
||
jr nz,x0CA7 ;¢ áâà ¨æ¥ ¥áâì ¥ã«¥¢ë¥ ¡ ©âë
|
||
jp pe,x0C9F ;¥é¥ ¥ ª®¥æ
|
||
ret
|
||
; ¢ áâà ¨æ¥ ¥áâì ¥ã«¥¢ë¥ ¡ ©âë
|
||
x0CA7 ld hl,x0CED ; ¤à¥á ¯à®æ¥¤ãàë
|
||
call x0D60 ;ãáâ ®¢ª ¯/¯ jp x0CED ¯® ¤à¥áã xE338
|
||
ld hl,xE5A9
|
||
ld de,xE5A9+#100
|
||
exx
|
||
ld hl,#8000
|
||
ld e,(iy+#26) ;à §¬¥à ®ª ᦠâ¨ï ¤«ï á ¯
|
||
ld d,l
|
||
ld b,#03
|
||
x0CBD sla e
|
||
rl d
|
||
djnz x0CBD
|
||
ld bc,#4000
|
||
call x0F60 ;§ ¯ ª®¢ª ¡«®ª
|
||
;hl - ¤à¥á § ¯ ª®¢ ®£® ¡«®ª
|
||
;bc - à §¬¥à § ¯ ª®¢ ®£® ¡«®ª
|
||
ret z ;¯ãáâ ï áâà ¨æ
|
||
ld a,c
|
||
or a
|
||
jr z,x0CCF
|
||
inc b
|
||
x0CCF call x0CED ;§ ¯¨áì § ¯ ª®¢ ®© áâà ¨æë
|
||
dec hl
|
||
ld (hl),c ;ª®«¨ç¥á⢮ ¡ ©â ¢ ¯®á«¥¤¥¬ ᥪâ®à¥ =#00 - 256 ¡ ©â
|
||
ret
|
||
;ª®¬¯à¥áá¨ï ®âª«îç¥
|
||
;¢å: de - ¤à¥á ç « ¡¨â®¢®© ª àâë ¯ à £à 䮢
|
||
x0CD5 call x0D20 ;㯫®â¥¨¥ ¯ ¬ïâ¨, § áç¥â ¯ãáâëå ¯ à £à 䮢
|
||
ret z ;áâà ¨æ ¯ãáâ ï
|
||
call x0CE3
|
||
rst #18
|
||
dw rom7_x1390 ;R8DOS #1F(31) ¯®á«¥¤®¢ ⥫ì ï § ¯¨áì § ¤ ®£® ª®«¨ç¥á⢠ᥪâ®à®¢
|
||
x0CDF jp c,x0B2E ;®è¨¡ª
|
||
ret
|
||
;ãáâ ®¢ª à §¬¥à ®¡« áâ¨
|
||
;¢å: a - ª®«-¢® ¯ à £à 䮢 á ãç¥â®¬ 㯫®â¥¨ï
|
||
x0CE3 ld b,a
|
||
ld (ix+#15),#00
|
||
ld (ix+#16),#80
|
||
ret
|
||
;§ ¯¨áì § ¯ ª®¢ ®© áâà ¨æë
|
||
;¢å: ix - ¤à¥á ¡ãä¥à fcb
|
||
; b - ç¨á«® § ¯¨áë¢ ¥¬ëå ᥪâ®à®¢
|
||
; hl - ¤à¥á § ¯ ª®¢ ®£® ¡«®ª
|
||
x0CED ld (ix+#15),l
|
||
ld (ix+#16),h
|
||
push bc
|
||
rst #18
|
||
dw rom7_x1390 ;R8DOS #1F(31) ¯®á«¥¤®¢ ⥫ì ï § ¯¨áì § ¤ ®£® ª®«¨ç¥á⢠ᥪâ®à®¢
|
||
jr c,x0CDF ;®è¨¡ª § ¯¨á¨
|
||
pop bc
|
||
ld hl,(xE33B) ; ¤à¥á ç « ¡¨â®¢®© ª àâë ¯ à £à 䮢
|
||
ld a,b
|
||
add a,(hl)
|
||
ld (hl),a ;ª®«¨ç¥á⢮ ᥪâ®à®¢ ¢ § ¯ ª®¢ ®© áâà ¨æ¥
|
||
ret
|
||
|
||
;®¯à¥¤¥«¥¨¥ ¤à¥á § £à㧪¨ áâà ¨æë ¢ ¯ ¬ïâ¨
|
||
;¢å: de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢 ¤«ï ⥪ã饩 áâà ¨æë
|
||
;¢ëå: h =#80+ª®«-¢® ᥪâ®à®¢ áâà ¨æë (¤«ï § ¯ ª®¢ ®£® ä ©« )
|
||
; hl - ¤à¥á ç « § £à㧪¨ (¤«ï ¥§ ¯ ª®¢ ®£® ä ©« )
|
||
; de - ¤à¥á ¡¨â®¢®© ª àâë á«¥¤ãî饩 áâà ¨æë (¤«ï ¥§ ¯ ª®¢ ®£® ä ©« )
|
||
; de - ¤à¥á ï祩ª¨ á à §¬¥à®¬ áâà ¨æë ¢ ᥪâ®à å (¤«ï § ¯ ª®¢ ®£® ä ©« )
|
||
x0D01 ld bc,#4001
|
||
ld hl,#8000
|
||
bit 7,(iy+#13)
|
||
jr z,x0D12 ;¡¥§ ª®¬¯à¥áᨨ
|
||
inc de
|
||
ld a,(de) ;ª®«¨ç¥á⢮ ᥪâ®à®¢
|
||
add a,h
|
||
ld h,a
|
||
ret
|
||
x0D12 dec c
|
||
jr nz,x0D19
|
||
ld c,#08
|
||
ld a,(de)
|
||
inc de
|
||
x0D19 rrca
|
||
jr nc,x0D1D
|
||
inc h
|
||
x0D1D djnz x0D12
|
||
ret
|
||
|
||
;㯫®â¥¨¥ ¯ ¬ï⨠[#8000..#BFFF], § áç¥â ¯ãáâëå ¯ à £à 䮢
|
||
;¯®áâ஥¨¥ ¡¨â®¢®© ª àâë ¯ à £à 䮢 ¢ ®¡« á⨠[#8000..#BFFF]
|
||
;¢å: de - ¤à¥á ç « ¡¨â®¢®© ª àâë ¯ à £à 䮢
|
||
;¢ëå: a - ª®«-¢® ¯ à £à 䮢 á ãç¥â®¬ 㯫®â¥¨ï
|
||
; z - ¢áï ®¡« áâì ¯ãáâ ï
|
||
x0D20 ld c,#08
|
||
ex de,hl
|
||
exx
|
||
ld hl,#8000
|
||
ld d,h
|
||
ld e,l
|
||
x0D29 xor a ;¯à®¢¥àª ¯ à £à ä ®«ì
|
||
ld b,a
|
||
x0D2B cp (hl)
|
||
jr nz,x0D46 ;¥ ¯ãá⮩
|
||
inc hl
|
||
djnz x0D2B
|
||
x0D31 exx ;¢á¥ #100 ¡ ©â =#00
|
||
rra ;ãáâ ®¢ª ¡¨â ¤«ï ª àâë ¯ à £à 䮢
|
||
rr b
|
||
dec c
|
||
jr nz,x0D3C
|
||
ld c,#08 ;§ ¯¨áì ¡ ©â ª àâë ¯ à £à 䮢
|
||
ld (hl),b
|
||
inc hl
|
||
x0D3C exx
|
||
ld a,h
|
||
cp #C0
|
||
jr nz,x0D29
|
||
ld a,d
|
||
sub #80
|
||
ret
|
||
x0D46 xor a ;㯫®â¥¨¥ ¯ ¬ïâ¨, § áç¥â ¯ãáâëå ¯ à £à 䮢
|
||
ld l,a
|
||
ld c,a
|
||
ld b,a
|
||
sbc hl,de
|
||
add hl,de
|
||
jr z,x0D55
|
||
inc b
|
||
ldir
|
||
x0D52 cpl
|
||
jr x0D31
|
||
x0D55 inc h
|
||
inc d
|
||
jr x0D52
|
||
|
||
;€„<E282AC>…‘: #0D59 ¢ª«î票¥ ०¨¬ 48k only
|
||
x0D59 push af
|
||
rst #30
|
||
dw rom2_x0665 ;¢ª«î票¥ ०¨¬ 48k only
|
||
db #02
|
||
pop af
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0D60 ãáâ ®¢ª ¯/¯ jp #addr ¯® ¤à¥áã xE338
|
||
;¢å: hl - ¤à¥á ¯/¯
|
||
x0D60 push de
|
||
ex de,hl
|
||
ld hl,xE338
|
||
ld (hl),#C3
|
||
inc hl
|
||
ld (hl),e
|
||
inc hl
|
||
ld (hl),d
|
||
pop de
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0D6D ãáâ ®¢ª /¢®ááâ ®¢«¥¨¥ ¯ à ¬¥â஢ § £®«®¢ª zs-snap
|
||
;¢å: z - ç⥨¥ ä ©«
|
||
; nz - § ¯¨áì ä ©«
|
||
; hl,xE8A9 - ¡ãä¥à § £®«®¢ª ä ©«
|
||
x0D6D push af
|
||
jr nz,x0D93 ;§ ¯¨áì ä ©«
|
||
;ç⥨¥ ä ©«
|
||
ex de,hl
|
||
ld a,(de)
|
||
inc de
|
||
ld hl,xE027
|
||
res 7,(hl)
|
||
cp #4D
|
||
jr z,x0D85 ;¡¥§ ª®¬¯à¥áᨨ
|
||
set 7,(hl)
|
||
cp #41
|
||
x0D80 ld a,#55
|
||
jp nz,x06A9 ;¯¥ç âì á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¨ ¯à®¤®«¦¥¨¥ à ¡®âë ¬®¨â®à
|
||
x0D85 ex de,hl
|
||
ld a,(hl)
|
||
and #FD
|
||
cp #31
|
||
jr nz,x0D80 ;®è¨¡ª
|
||
ld a,(hl)
|
||
ld (iy-#12),a
|
||
jr x0DA8
|
||
;§ ¯¨áì ä ©«
|
||
x0D93 ex de,hl
|
||
ld hl,xE027
|
||
ld a,#4D ;=#4D - ¡¥§ ª®¬¯à¥áᨨ
|
||
res 7,(hl)
|
||
bit 5,(hl)
|
||
jr z,x0DA3 ;compression off
|
||
ld a,#41 ;=#41 - á ª®¬¯à¥áᨥ©
|
||
set 7,(hl)
|
||
x0DA3 ex de,hl
|
||
ld (hl),a
|
||
inc hl
|
||
ld (hl),#33
|
||
x0DA8 inc hl
|
||
pop af
|
||
ld de,xDD69
|
||
ld bc,#001E
|
||
jr z,x0DB3 ;ç⥨¥ ä ©«
|
||
ex de,hl
|
||
x0DB3 ldir
|
||
jr nz,x0DB8 ;§ ¯¨áì ä ©«
|
||
ex de,hl
|
||
x0DB8 jr nz,x0DD9 ;§ ¯¨áì ä ©«
|
||
ld a,(de)
|
||
inc de
|
||
ld hl,xE02D
|
||
bit 7,(hl)
|
||
jr z,x0DCB ;âãà¡®-०¨¬ ¥ ¤®áâ㯥
|
||
res 6,(hl) ;¢ëª«î稬 âãà¡®
|
||
bit 6,a
|
||
jr z,x0DCB ;¢ á ¯¥ âãà¡® ¢ëª«î祮
|
||
set 6,(hl) ;¢ª«î稬 âãà¡®
|
||
x0DCB ld a,(de)
|
||
im 1 ;ãáâ ®¢¨¬ ०¨¬ ¯à¥àë¢ ¨©
|
||
dec a
|
||
jr z,x0DD3
|
||
im 2
|
||
x0DD3 inc de
|
||
ld a,(de)
|
||
out (#FE),a ;ãáâ ®¢¨¬ ¡®à¤îà
|
||
jr x0DF3
|
||
;§ ¯¨áì ä ©«
|
||
x0DD9 ld a,(xE02D)
|
||
ld (de),a
|
||
inc de
|
||
push de
|
||
rst #30
|
||
dw rom2_x3B75 ;®¯à¥¤¥«¥¨¥ ⨯ ¯à¥àë¢ ¨© im 1/2
|
||
db #02
|
||
pop de
|
||
ld (de),a
|
||
inc de
|
||
ld hl,#5800
|
||
rst #30
|
||
dw rom2_x0028 ;ç⥨¥ ¡ ©â ¨§ ¯ ¬ï⨠¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
rrca
|
||
rrca
|
||
rrca
|
||
and #07
|
||
ld (de),a
|
||
x0DF3 inc de
|
||
bit 6,(iy+#13)
|
||
ld hl,x0E35
|
||
ld b,#03
|
||
x0DFD push bc
|
||
ld c,(hl)
|
||
inc hl
|
||
ld b,(hl)
|
||
inc hl
|
||
jr nz,x0E08 ;§ ¯¨áì ä ©«
|
||
ld a,(de) ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥ëå
|
||
ld (bc),a
|
||
jr x0E0A
|
||
x0E08 ld a,(bc) ;á®åà ¥¨¥ ¯¥à¥¬¥ëå
|
||
ld (de),a
|
||
x0E0A inc de
|
||
pop bc
|
||
djnz x0DFD
|
||
bit 1,(iy-#12)
|
||
ret z
|
||
;ç⥨¥/á®åà ¥¨¥ ॣ¨áâ஢ AY
|
||
ld b,#FF
|
||
dec de
|
||
x0E16 inc de
|
||
ld a,b
|
||
x0E18 inc a
|
||
cp #0E
|
||
ret nc
|
||
cp #07
|
||
jr z,x0E18
|
||
ld b,a
|
||
bit 6,(iy+#13)
|
||
jr nz,x0E2E ;§ ¯¨áì ä ©«
|
||
ld a,(de)
|
||
rst #30
|
||
dw rom2_x03A7 ;‡ ¯¨áì ॣ¨áâà AY
|
||
db #02
|
||
jr x0E16
|
||
x0E2E rst #30
|
||
dw rom2_x03B6 ;ç⥨¥ ॣ¨áâà AY
|
||
db #02
|
||
ld (de),a
|
||
jr x0E16
|
||
; ¤à¥á ¯¥à¥¬¥ëå
|
||
x0E35 dw xE004 ; ¤à¥á ᮤ¥à¦¨¬®£® ॣ¨áâà 7 AY
|
||
dw xE012 ; ¤à¥á á®áâ®ï¨ï ¯®àâ #7FFD
|
||
dw xE013 ; ¤à¥á á®áâ®ï¨ï ¯®àâ #1FFD
|
||
|
||
;€„<E282AC>…‘: #0E3B § £à㧪 ¨§ ROM-disk
|
||
;¢å: h - ®¬¥à áâà ¨æë á ä ©«®¬
|
||
; l - ᬥ饨¥ ¢ ¯ à £à ä å ®â ç « ROM-disk ¢ í⮩ áâà ¨æ¥
|
||
x0E3B res 6,(iy+#13)
|
||
ld (xE000),hl ;á®åà ¨¬ ª®®à¤¨ âë ä ©«
|
||
ld hl,xE8A9 ;ªã¤ £à㧨¬ (¡ãä¥à dma ¢ § ¯¨á¨ fcb)
|
||
ld (xE7BE),hl
|
||
ld b,#01 ;1 ¯ à £à ä. § £®«®¢®ª ä ©«
|
||
push hl
|
||
call x0EE6 ;§ £à㧪 ¡«®ª ¨§ ROM-disk
|
||
ld (xE7C5),hl ;hl - ª®®à¤¨ âë á«¥¤ãî饣® ¡«®ª ä ©« (RAM 2)
|
||
pop hl
|
||
bit 6,(iy+#13)
|
||
call x0D6D ;¢®ááâ ®¢«¥¨¥ ¯ à ¬¥â஢ ¨§ § £®«®¢ª zs-snap
|
||
ld hl,xE012
|
||
ld a,(hl)
|
||
ld (xE00C),a ;ª®¯¨ï ¯®àâ #7FFD
|
||
res 5,(hl) ;०¨¬ 128k
|
||
rst #30
|
||
dw rom2_x35E0 ;á®åà ¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
ld a,#02 ;®¬¥à áâà ¨æë
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
call x0F08 ;§ £à㧪 áâà ¨æë ¨§ ROM-disk ¢ ¯ ¬ïâì #8000
|
||
ld a,#05
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
call x0F08 ;§ £à㧪 áâà ¨æë ¨§ ROM-disk ¢ ¯ ¬ïâì #8000
|
||
rst #30
|
||
dw rom2_x0603 ;ª®¯¨à®¢ ¨¥ ¯ ¬ï⨠á #8000 ¢ áâà ¨æã ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
rst #30
|
||
dw rom2_x3A4E ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
rst #30
|
||
dw rom2_x36F9 ;¯®«ã票¥ ®¬¥à «®£¨ç¥áª®© áâà ¨æë ¯®«ì§®¢ ⥫ï a=[#0..#F]
|
||
db #02
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
call x0F08 ;§ £à㧪 áâà ¨æë ¨§ ROM-disk ¢ ¯ ¬ïâì #8000
|
||
rst #30
|
||
dw rom2_x0603 ;ª®¯¨à®¢ ¨¥ ¯ ¬ï⨠á #8000 ¢ áâà ¨æã ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
bit 5,(iy-#08)
|
||
jp nz,x0EC1 ;०¨¬ 48k. ª®¥æ § £à㧪¨
|
||
xor a
|
||
x0E94 push af
|
||
cp #02
|
||
jr z,x0EBB ;RAM 2 ¯à®¯ã᪠¥¬
|
||
cp #05
|
||
jr z,x0EBB ;RAM 5 ¯à®¯ã᪠¥¬
|
||
cp #08
|
||
jr z,x0EBB ;RAM 8 ¯à®¯ã᪠¥¬
|
||
cp #09
|
||
jr z,x0EBB ;RAM 9 ¯à®¯ã᪠¥¬
|
||
rst #30
|
||
dw rom2_x3A4E ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
ld l,a
|
||
rst #30
|
||
dw rom2_x3707 ;áà ¢¥¨¥ áâà ¨æë ¯®«ì§®¢ ⥫ï á § ¤ ®©
|
||
db #02
|
||
jr z,x0EBB ;RAM ¯®«ì§®¢ â¥«ï ¯à®¯ã᪠¥¬
|
||
ld a,l
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
call x0F08 ;§ £à㧪 áâà ¨æë ¨§ ROM-disk ¢ ¯ ¬ïâì #8000
|
||
rst #30
|
||
dw rom2_x0603 ;ª®¯¨à®¢ ¨¥ ¯ ¬ï⨠á #8000 ¢ áâà ¨æã ¯®«ì§®¢ ⥫ï
|
||
db #02
|
||
x0EBB pop af
|
||
inc a
|
||
cp #10
|
||
jr c,x0E94
|
||
;§ £à㧪 áâà ¨æ § ª®æ¥ . £à㧨¬ RAM 2
|
||
x0EC1 ld hl,(xE7C5) ;ª®®à¤¨ âë áâà ¨æë RAM 2
|
||
ld (xE000),hl
|
||
ld a,#02
|
||
call x0B74 ;¯¥ç âì Saved/Loaded RAM bank n (de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢)
|
||
call x0F08 ;§ £à㧪 áâà ¨æë ¨§ ROM-disk ¢ ¯ ¬ïâì #8000
|
||
call x0AC3 ;¢®ááâ ®¢«¥¨¥ ¯¥à¥¬¥®© á á®áâ®ï¨¥¬ ¯®à⮢ #1FFD/#7FFD ¯®«ì§®¢ ⥫ï
|
||
ld a,(xE00C)
|
||
ld (xE012),a
|
||
bit 5,a
|
||
call nz,x0D59 ;¢ª«î票¥ ०¨¬ 48k only
|
||
jp x0ABA ;¢ë室 ¨§ ¬®¨â®à
|
||
|
||
;€„<E282AC>…‘: #0EE0 § £à㧪 ¡«®ª ¨§ ROM-disk
|
||
;¢å: hl - ¤à¥á § £à㧪¨
|
||
; b - à §¬¥à ¡«®ª ¢ ᥪâ®à å
|
||
;¢ëå: hl - ª®®à¤¨ âë á«¥¤ãî饣® ¡«®ª ä ©«
|
||
; b - ®áâ «®áì ¥§ £à㦥ëå ¯ à £à 䮢
|
||
x0EE0 ld (xE7A9+#15),hl ;xE7BE ªã¤ £à㧨¬
|
||
call x0C7D ;ª®à४æ¨ï à §¬¥à ¡«®ª ¤«ï § £à㧪¨
|
||
|
||
;€„<E282AC>…‘: #0EE6 § £à㧪 ¡«®ª ¨§ ROM-disk
|
||
;¢å: b - ª®«-¢® ¯ à £à 䮢 ¤«ï § £à㧪¨
|
||
;¢ëå: hl - ª®®à¤¨ âë á«¥¤ãî饣® ¡«®ª ä ©«
|
||
x0EE6 xor a
|
||
ld hl,xDD99 ;ä®à¬¨à㥬 ¯à®æ¥¤ãà㠢맮¢ ¯/¯ ¨§ áâà ¨æë á ROM-disk
|
||
ld (hl),#F7 ;rst #30
|
||
inc hl
|
||
ld (hl),#73 ;dw #0073 = romROMx0073
|
||
inc hl
|
||
ld (hl),a
|
||
inc hl
|
||
ld (hl),a ;db #00
|
||
inc hl
|
||
ld (hl),#C9 ;ret
|
||
ld hl,(xE000) ;ª®®à¤¨ âë ä ©«
|
||
x0EF9 ld a,h
|
||
ld (xDD9B+#01),a ;xDD9C ¯«®áª®áâì ¨ áâà ¨æ ¢ ª®â®à®© ¢ë¡à ï ¯à®£ ବ
|
||
call xDD99 ;§ £à㧪 ¡«®ª ¨§ ROM-Disk
|
||
inc b
|
||
dec b
|
||
jr nz,x0EF9 ;§ £à㧪 ¨§ á«¥¤ãî饩 áâà ¨æë
|
||
ld (xE000),hl ;ª®®à¤¨ âë á«¥¤ãî饣® ¡«®ª ä ©«
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #0F08 § £à㧪 áâà ¨æë ¨§ ROM-disk ¢ ¯ ¬ïâì #8000
|
||
;¢å: de - ¤à¥á ¡¨â®¢®© ª àâë ¯ à £à 䮢
|
||
x0F08 call x0D01 ;®¯à¥¤¥«¥¨¥ ¤à¥á § £à㧪¨ áâà ¨æë ¢ ¯ ¬ïâ¨
|
||
bit 7,(iy+#13)
|
||
jr z,x0F38 ;¡¥§ ª®¬¯à¥áᨨ
|
||
; § £à㧪 á ¯ á ª®¬¯à¥áᨥ©
|
||
ld a,(de)
|
||
ld (xE33B),a ;à §¬¥à áâà ¨æë ¢ ᥪâ®à å
|
||
ld a,h
|
||
sub #80
|
||
jp z,x0BC8 ;áâà ¨æ ¯ãáâ ï. § ¯®«¥¨¥ ¯ ¬ï⨠[#8000..#BFFF] ¡ ©â®¬ #00
|
||
ld hl,x0EE0 ;¯à®æ¥¤ãà ¤«ï § £à㧪¨ ¡«®ª ¨§ ROM-disk
|
||
call x0D60 ;ãáâ ®¢ª ¯/¯ jp x0EE0 ¯® ¤à¥áã xE338
|
||
ld hl,xE5A9 ;¡ãä¥à ¤«ï à ᯠª®¢ª¨
|
||
ld de,xE5A9+#200
|
||
exx
|
||
ld hl,#8000
|
||
call x1108 ;à ᯠª®¢ª ¡«®ª
|
||
ld hl,#4000
|
||
or a
|
||
sbc hl,bc
|
||
ret z
|
||
jp x0BEF ;®è¨¡ª ç⥨ï/§ ¯¨á¨
|
||
; § £à㧪 á ¯ ¡¥§ ª®¬¯à¥áᨨ
|
||
x0F38 push hl
|
||
ld a,h
|
||
sub #80
|
||
jr z,x0F4A ;¥ç¥£® £à㧨âì
|
||
push de
|
||
ld b,a ;ª®«-¢® ¯ à £à 䮢 ¤«ï § £à㧪¨
|
||
ld hl,#8000
|
||
ld (xE7A9+#15),hl ; ¤à¥á § £à㧪¨
|
||
call x0EE6 ;§ £à㧪 ¡«®ª ¢ ¯ ¬ïâì
|
||
pop de
|
||
x0F4A jp x0C0B ;à á¯à¥¤¥«¥¨¥ § £à㦥®© áâà ¨æë ¯® ¯ ¬ï⨠á ãç¥â®¬ ¯ãáâëå ¯ à £à 䮢
|
||
|
||
;€„<E282AC>…‘: #0F4D § ¯®«¥¨¥ ®¡« á⨠¯ ¬ï⨠[#4000..#7FFF] ¯®«ì§®¢ ⥫ï
|
||
x0F4D ld hl,#4000
|
||
xor a
|
||
x0F51 ld b,#00
|
||
x0F53 rst #30
|
||
dw rom2_x0000 ;§ ¯¨áì ¡ ©â ¢ ¯ ¬ïâì ¯®«ì§®¢ ⥫ï (rst #00)
|
||
db #02
|
||
inc hl
|
||
djnz x0F53
|
||
inc a
|
||
cp #40
|
||
ret z
|
||
jr x0F51
|
||
|
||
;€„<E282AC>…‘: #0F60 § ¯ ª®¢ª ¡«®ª
|
||
;¢å: hl - ¤à¥á ®ªã¤ § ¯ ª®¢ë¢ âì
|
||
; de - à §¬¥à ®ª ᦠâ¨ï *8
|
||
; bc - à §¬¥à ®¡« á⨠§ ¯ ª®à¢ª¨
|
||
; hl',de' - ¤à¥á ¡ãä¥à®¢
|
||
x0F60 ld (xDD89),hl
|
||
exx
|
||
ld (xE9DF),hl
|
||
ld (xE9E1),de
|
||
call x10D0 ;bc'=hl; hl'=hl+1; de'=#0000
|
||
ld a,c
|
||
or b
|
||
jp z,x1083 ;ª®¥æ ®¡« á⨠á®åà ¥¨ï
|
||
ld a,#01
|
||
call x10B9
|
||
ld a,(hl)
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
ld (iy-#15),#FF
|
||
res 0,(iy+#0E)
|
||
jr x0F89
|
||
x0F86 pop hl
|
||
x0F87 pop bc
|
||
pop de
|
||
x0F89 inc hl
|
||
dec bc
|
||
ld (iy-#16),#00
|
||
ld a,b
|
||
or a
|
||
jr nz,x0F9B ;¥ ¯®á«¥¤¨© ¯ à £à ä
|
||
ld (iy-#15),c
|
||
ld a,c
|
||
or a
|
||
jp z,x1083 ;¤ ëå ¡®«ìè¥ ¥â
|
||
x0F9B push de
|
||
push bc
|
||
push hl
|
||
ld b,d
|
||
ld c,e
|
||
bit 0,(iy+#0E)
|
||
jr nz,x0FB9
|
||
ld de,(xDD89)
|
||
sbc hl,de
|
||
ld d,h
|
||
ld e,l
|
||
or a
|
||
sbc hl,bc
|
||
jr c,x0FB7
|
||
set 0,(iy+#0E)
|
||
x0FB7 ld b,d
|
||
ld c,e
|
||
x0FB9 ld a,b
|
||
or c
|
||
jr z,x0FF2
|
||
pop hl
|
||
ld a,(hl)
|
||
push hl
|
||
sbc hl,bc
|
||
cpir
|
||
jr nz,x0FF2
|
||
pop de
|
||
push de
|
||
inc de
|
||
push bc
|
||
ld b,(iy-#15)
|
||
ld c,b
|
||
dec b
|
||
jr z,x0FDC
|
||
x0FD1 ld a,(de)
|
||
cp (hl)
|
||
inc hl
|
||
inc de
|
||
jr nz,x0FDC
|
||
djnz x0FD1
|
||
jr x0FDC
|
||
x0FDB dec b
|
||
x0FDC ld a,c
|
||
sub b
|
||
cp (iy-#16)
|
||
pop bc
|
||
jr z,x0FB9
|
||
jr c,x0FB9
|
||
ld (iy-#16),a
|
||
ld (xDDA7),bc
|
||
cp (iy-#15)
|
||
jr nz,x0FB9
|
||
x0FF2 ld bc,(xDDA7)
|
||
inc bc
|
||
ld a,(iy-#16)
|
||
cp #02
|
||
jr c,x1076
|
||
jr z,x1002
|
||
jr x1009
|
||
x1002 ld hl,#00FF
|
||
sbc hl,bc
|
||
jr c,x1076
|
||
x1009 dec a
|
||
ld e,a
|
||
pop hl
|
||
call x1103 ;á«®¦¥¨¥ hl=hl+a
|
||
ex (sp),hl
|
||
xor a
|
||
ld d,a
|
||
sbc hl,de
|
||
ex (sp),hl
|
||
push hl
|
||
xor a
|
||
call x10B9
|
||
or a
|
||
ld hl,#00FF
|
||
sbc hl,bc
|
||
ld a,(iy-#16)
|
||
ld e,a
|
||
jr c,x1042
|
||
cp #06
|
||
jr nc,x1042
|
||
dec e
|
||
dec e
|
||
xor a
|
||
call x10B9
|
||
ld a,e
|
||
rrca
|
||
call x10B9
|
||
ld a,e
|
||
call x10B9
|
||
ld a,c
|
||
neg
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
jp x0F86
|
||
x1042 push af
|
||
xor a
|
||
ld h,a
|
||
ld l,a
|
||
sbc hl,bc
|
||
inc a
|
||
call x10B9
|
||
ld a,l
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
ld b,#05
|
||
x1052 sra h
|
||
rr l
|
||
djnz x1052
|
||
ld a,l
|
||
and #F8
|
||
ld l,a
|
||
pop af
|
||
cp #0A
|
||
jr nc,x106A
|
||
dec a
|
||
dec a
|
||
or l
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
jp x0F86
|
||
x106A push af
|
||
ld a,l
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
pop af
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
jp x0F86
|
||
x1076 ld a,#01
|
||
call x10B9
|
||
pop hl
|
||
ld a,(hl)
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
jp x0F87
|
||
;ª®¥æ ®¡« á⨠á®åà ¥¨ï
|
||
x1083 xor a
|
||
push af
|
||
call x10B9
|
||
pop af
|
||
inc a
|
||
push af
|
||
call x10B9
|
||
pop af
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
xor a
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
xor a
|
||
call x10B4 ;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
exx
|
||
ld a,#08
|
||
sub d
|
||
jr z,x10A7
|
||
push bc
|
||
ld b,a
|
||
x10A2 srl e
|
||
djnz x10A2
|
||
pop bc
|
||
x10A7 ld a,e
|
||
ld (bc),a
|
||
ld de,(xE9DF)
|
||
or a
|
||
sbc hl,de
|
||
ex de,hl
|
||
ld c,e
|
||
ld b,d
|
||
ret
|
||
;§ ¯¨áì ¡ ©â ¢ ¡ãä¥à ld (hl'),a; inc hl'
|
||
x10B4 exx
|
||
ld (hl),a
|
||
inc hl
|
||
exx
|
||
ret
|
||
x10B9 exx
|
||
rra
|
||
rr e
|
||
inc d
|
||
bit 3,d
|
||
exx
|
||
ret z
|
||
exx
|
||
ld a,e
|
||
ld (bc),a
|
||
ld de,(xE9E1)
|
||
or a
|
||
push hl
|
||
sbc hl,de
|
||
pop hl
|
||
jr nc,x10D8
|
||
;ãáâ ®¢ª ॣ¨áâ஢
|
||
;¢å: hl - ¤à¥á ¡ãä¥à
|
||
;¢ëå: bc'=hl
|
||
; hl'=hl+1
|
||
; de'=#0000
|
||
x10D0 ld c,l
|
||
ld b,h
|
||
inc hl
|
||
ld de,#0000
|
||
exx
|
||
ret
|
||
x10D8 exx
|
||
push hl
|
||
push de
|
||
push bc
|
||
exx
|
||
ld de,(xE9DF)
|
||
push de
|
||
push de
|
||
sbc hl,de
|
||
push hl
|
||
ld l,#00
|
||
push hl
|
||
ex de,hl
|
||
ld c,e
|
||
ld b,d
|
||
call xE338
|
||
pop de
|
||
pop bc
|
||
pop hl
|
||
add hl,de
|
||
pop de
|
||
xor a
|
||
ld b,a
|
||
or c
|
||
jr z,x10FB
|
||
ldir
|
||
x10FB ex de,hl
|
||
exx
|
||
pop bc
|
||
pop de
|
||
pop hl
|
||
exx
|
||
jr x10D0
|
||
|
||
;€„<E282AC>…‘: #1103 á«®¦¥¨¥ hl=hl+a
|
||
x1103 add a,l
|
||
ld l,a
|
||
ret nc
|
||
inc h
|
||
ret
|
||
|
||
;€„<E282AC>…‘: #1108 à ᯠª®¢ª ¡«®ª
|
||
;¢å: hl - ¤à¥á ªã¤ à ᯠª®¢ë¢ âì
|
||
; hl' - ¤à¥á ¡ãä¥à ®âªã¤ à ᯠª®¢ë¢ âì
|
||
; de' - ¯¥à¢ ï ᢮¡®¤ ï ï祩ª ¢ ¡ãä¥à¥ (de-hl ¤«¨ § ¯ ª®¢ ®£® ¡«®ª )
|
||
;¢ëå: bc - à §¬¥à à ᯠª®¢ ®£® ¡«®ª
|
||
x1108 ld (xDD89),hl ;ªã¤ à ᯠª®¢ë¢ âì
|
||
exx
|
||
ld (xE9DF),hl ;®âªã¤ à ᯠª®¢ë¢ âì
|
||
ex de,hl
|
||
or a
|
||
sbc hl,de
|
||
ld (xE9E1),hl ;à §¬¥à § ¯ ª®¢ ®£® ¡«®ª
|
||
call x1194
|
||
exx
|
||
call x117A
|
||
ex de,hl
|
||
x111E call x1174
|
||
jr nc,x112A
|
||
call x1185
|
||
ld (de),a
|
||
inc de
|
||
jr x111E
|
||
x112A call x1174
|
||
jr c,x114A
|
||
ld c,#00
|
||
call x1174
|
||
rl c
|
||
call x1174
|
||
rl c
|
||
inc c
|
||
inc c
|
||
call x1185
|
||
ld l,a
|
||
ld h,#FF
|
||
x1143 ld b,#00
|
||
add hl,de
|
||
ldir
|
||
jr x111E
|
||
x114A call x1185
|
||
ld l,a
|
||
call x1185
|
||
ld c,a
|
||
or #07
|
||
rrca
|
||
rrca
|
||
rrca
|
||
ld h,a
|
||
ld a,#07
|
||
and c
|
||
inc a
|
||
inc a
|
||
ld c,a
|
||
cp #02
|
||
jr nz,x1143
|
||
call x1185
|
||
ld c,a
|
||
or a
|
||
jr nz,x1143
|
||
|
||
ld hl,(xDD89)
|
||
push de
|
||
ex de,hl
|
||
sbc hl,de
|
||
ld c,l
|
||
ld b,h
|
||
pop de
|
||
ret
|
||
x1174 exx
|
||
srl e
|
||
dec d
|
||
exx
|
||
ret nz
|
||
x117A push af
|
||
call x1185
|
||
exx
|
||
ld e,a
|
||
pop af
|
||
ld d,#08
|
||
exx
|
||
ret
|
||
x1185 exx
|
||
ld a,b
|
||
or c
|
||
jr z,x118F
|
||
x118A ld a,(hl)
|
||
inc hl
|
||
dec bc
|
||
exx
|
||
ret
|
||
x118F call x1194
|
||
jr x118A
|
||
x1194 exx
|
||
push hl
|
||
push de
|
||
push bc
|
||
exx
|
||
push de
|
||
ld hl,(xE9DF)
|
||
push hl
|
||
ld bc,(xE9E1)
|
||
push bc
|
||
call xE338
|
||
pop bc
|
||
pop hl
|
||
pop de
|
||
exx
|
||
pop bc
|
||
pop de
|
||
pop hl
|
||
exx
|
||
ret
|
||
|
||
;¥¨á¯®«ì§ã¥¬ ï ®¡« áâì
|
||
x11AF ds #51,0
|
||
|
||
;€„<E282AC>…‘: #1200 ROM-disk
|
||
x1200 INCBIN "prof_roms/rom6_ROMdisk.bin"
|
||
|
||
SAVEBIN "../Build/scorp/NewROM6.bin",#0000,#4000
|