ZX-SP-ROMs/ProfRom_Disasm/rom6.a80
Anatoliy Belyanskiy b7a39665e2 profROM
2023-06-27 01:29:58 +10:00

2903 lines
65 KiB
Plaintext
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 ¢¢®¤ ⥪á⮢®© áâப¨ ¢­¨§ã íªà ­ 
;#061 ¯¥ç âì ⥪ã饣® ¬¥­î ¬®­¨â®à  (¡¥§ ¢®§¢à â )
;­¥ ¨á¯®«ì§ã¥âáï #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>: #061 ¯¥ç âì ⥪ã饣® ¬¥­î ¬®­¨â®à  (¡¥§ ¢®§¢à â )
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