-------------------------------------------------------------------------
      DA61 : HD61700 DISASSEMBLER for DOS (Rev 0.30)
  MS-DOS5.0/VMS-DOS6.2/VPC98DOS6.2ADOSBox(0.74-3-Win32)
    (QZE12045@nifty.com)
URL       http://hd61700.yukimizake.net/
-------------------------------------------------------------------------
DA61Ƃ
HD61700ptAZu(DOSp)łB
Ot@Cl[gȂȊOWin32łƂقړłB
V{x̎@\̂ŁAJUN AMANOBinToPbf.BASyсA
YtBin2AI.B/Bin2PB.B/Bin2VX.BƑgݍ킹邱ƂŁAȂɎgƎv܂B
t[\tgłBYtSymbol.h܂ߍDɎgĂB]ڂRłB
î薳ۏ؂łj


(1)HD61̃T|[gSĂ̖߂tAZu\łB
(2)ȉ̊gqtH[}bgǂݍނƂ\łB
   .PBFiPBFt@C)
   .BASiBASIC DATA`j
   .HEXiPJ HEX`j
   .TXTiASCII` AhX/`FbNTȂj
   .BINioCit@Cj
   .BMP (Windowsrbg}bvt@C--mN(2F)摜̂ݑΉ)
(3)NpXɂJR/JP/CAL߃x͋yсALDW/PRE߂ɑ΂
   f[^GA͂s܂B
   i/S /D /MIvVwɂĎsj
   ͂ɂo͂郉xtH[}bg͈ȉ̒ʂłB
    START ---- sJnAhX
    LBL ---- JR/JPߗpx
    MDL ---- CALߗpx
    DAT ---- LDW/PREߗpf[^x
    ( --- Yx̒`ꂽԒn)
(4)DA61ƓtH_symbol.hƌ̂̃t@CƁA
   V{ǂݍނƂo܂B
   iVXep̌Œ胊\[XtAZuʂɔfł܂j
   ́AHD61EQU߂ƓłB
   ^߂ƂāA#if`#else`#endifg܂B
   Symbol.hǂݍݒɃG[ꍇAȍ~̃V{
   ǂݍ݂𒆎~āAtAZuJn܂B
(5)L/S,/Dɂ͂ɂĔGÁADB߃tH[}bg̃Xg
   ܂B̋@\ɂA\[X𖳂Ă܂st@CA
   قڎŏC邱Ƃ\ƂȂ܂Bi_Ȏ܂j
(6)ǂݍ񂾃t@CetH[}bgɕϊ鎖\łB
   T|[go̓tH[}bǵAȉ̒ʂłB
   EPBF`iBAS/HEX̕ϊɗpj
   EBAS`iPBF/HEX̕ϊɗpj
   EQL`iNCbN[_`Fqj
   EoCi`(BIN)
   Erbg}bv`(BMP)
   EDB`iAZuDBߌ`łj
   EPJ HEX`(PJf HEX`)
   EINTEL HEX`(8rbg)
(7)Win32łsxxB
   Win32ł͓ǂݍROMC[WɒuċtAZu܂A
   DOSł̓Ae|t@Cɏoď邽߁A
   sxxłB DOSBox̊Ŏsꍇ́Audosbox.confv
   ucycles=maxvƂǂƎv܂B

A[JCue
READMEJ.TXT -- ̃t@Cł
Bin2AI.b ----- AI-1000pBIOSzo(BASIC+}V)
Bin2PB.b ----- PB-1000pBIOSzo(BASIC+}V)
Bin2PBC.b ---- PB-1000CpBIOSzo(BASIC+}V)
Bin2FX.b ----- FX-870P/VX-4pBIOSzo(BASIC+}V)
Bin2VX3.b ---- VX-3pBIOSzo(BASIC+}V)
bin.s    ----- LBIOSzo}V\[X
DA61.exe ----- HD61700tAZust@C
QL.zip   ----- NCbN[_{(PB-1000/CFX-870P/VX-4AI-1000VX-3p)
Symbol.h ----- V{`t@CTv(PB-1000/PB-1000C/AI-1000/FX-870P/VX-4pj

N@
DOSR}hvvgňȉs܂B

>DA61 [t@C.gq] [IvV(/S /D /LV0 /W /NC /B /DB /BMP /MONO /P /BAS /Q /PJ /HEX /NTAB)ȗ][Enter]

sƋtAZuʂ.lstt@C(܂͕ϊʂ.pbf/.bas/.bin/.bmp/.ql/.hex/.hx)ɏo͂܂B

̓t@C`
ȉ̃tH[}bgp\łB
   .PBFiPBFt@C)
   .BASiBASIC DATA`j
   .HEXiPJ HEX`j
   .TXTiASCII` AhX/`FbNTȂj
   .BINioCit@Cj
   .BMP (Windowsrbg}bvt@C--mN(2F)摜̂ݑΉ)

et@C`́AgqŔʂ邽߁AԈ̂ł͐ǂݍ߂܂B
(st@ĆAoCi`(*.bin)ň܂)
et@C`Ɗgq́Aȉ̒ʂłB
(1) *.PBF --- PBF`BHD61/BinToPbfo͌`łB
  SẴAhX߁A/ADRw͕svłB

(2) *.BAS --- BASIC DATA`i16i2 `FbNTtj
  BASIC DATA`łB
     1000 DATA D162389377AB02D6,F8
     1010 DATA 40D512D600D402D6,A9
                   :
  AhXȂ߁A/ADRIvV [JnAhX] [sAhX]  ̏
  AhXw肵ĂKv܂B
   j DA61 sample.bas /s /adr 0x7000 0x7018

(3) *.HEX --- PJ HEX`iAhX/16i2 `FbNTtj
  PJ HEX`Ƃ́Aȉ̂悤PJɌfڂĂHEX`w܂B
  AhX/f[^/`FbNT̋؂́AR[:]܂́AJ}[,]AXy[Xg܂B
     2A65 6200C0D6001C2E77,B9
     2A6D 7C2AD16200FFD600,AE
                :
  /ADRIvV [sAhX] w肷邱Ƃ\łBi/ADR ȗ\łj
   j DA61 sample.hex /s /adr 0x7018

(4) *.TXT --- ASCII`iAhX/`FbNTj
  TXT́Aȉ̂悤Ƀf[^eASCII`ɂȂĂt@CłB
  f[^݂̂ŁAAhX/`FbNT͎Ă܂B
     40D512D600D402D6
     20E502D8D6409513
            :
     D600E602D620F702
   /ADRIvV [JnAhX] [sAhX] w肵ĂKv܂B
   j DA61 sample.txt /s /adr 0x7000 0x7018

(5) *.BIN --- oCi`
  L(1)`(4)́AASCII`łAoCi`̓f[^̂̂łB
  f[^݂̂ŁAAhX/`FbNT͎Ă܂̂ŁA /ADRIvV 
  [JnAhX] [sAhX]  ̏ŃAhXw肵ĂKv܂B
   j DA61 sample.bin /s /d /adr 0x7000 0x7018

(6) *.BMP --- rbg}bv`
   Windowsrbg}bv摜`łB
   p\Rō쐬摜PBFtH[}bgɕϊă|PRŗp鎖ł܂B
   ǂݍ݂̓mN(QF)tH[}bg̉摜̂݉\łB
   ǂݍ߂摜TCYɓɐ͂܂񂪁ACASIO|PRł̗plƁA
   192~32܂́A192~64̂ꂩŉ^p̂ł֗ł傤B
   ꉞAOS2`ΉĂ܂A܂莎ĂȂ̂ŁAȂׂWindows`
   BMP摜𗘗pĂB(Photoshop ElementsōOS2`BMPł̂݊mF)
   /ADRIvV [JnAhX] [sAhX] w肷邱Ƃ\łA
   ȗĂG[Ƃ͂Ȃ܂B(AhXȗ0Ԓni[܂)

IvV̐
(1)tAZupIvV
/S  ---- sJnAhXw肳ĂꍇÃAhX
         ߉͂Jn܂B
/D  ---- L/SIvVw莞LDW/PRE߂ɑ΂f[^GA
         ͂{܂B
         (/DPƂł͎g܂B/SƕpKv܂j
/D1 ---- L/DIvVƓLDW/PRE߂ɑ΂f[^GA ͂{܂
         `߂Ɋւ`FbN܂B
         (/D1PƂł͎g܂B/SƕpKv܂j
/M  ---- 1pXڂŌoMDLxAhX𖽗߂̃fR[hD悵܂B
         ƂĂ2pXڈȍ~Aߌ꒷̃AhX1pXڂŌoMDL*x
         ꍇA߂̃fR[h(tAZu)𒆒fiDBɒujāAMDLxȍ~
         tAZuĊJ܂B
         Ff[^ƃR[h݂vȌꍇAf[^̈tAZu
              ܂̌͂ꍇɁAMDLx͌ʂD悷邱Ƃ
              f[^ɖꂽ sR[h@o܂B
              /SA/DIvVƕpA/mIvVL^̌ʂrĉBꂽ
              R[hTƂA⏕IȎgz肵Ă܂B
/LV0 --- œKx0ɖ߂āACfbNXWX^(SX/SY/SZ)\ɐ؂ւ܂B
         ftHǵASX=$31ASY=$30ASZ=$0 Œɂĕ\܂B
/W  ---- 16rbgAhbVOɂċtAZu܂B
         ROMC[WpIvVłB
/NC ---- tAZuɃAhXyуR[h̏o͂s܂B
         HD61ŃAZu\ȃ\[XR[h(*.s)o͂܂B
         QƂĂ郉xEQU`Ńwb_ɋLq܂B/Sw肪ƁA
         START^߂𐶐܂B
/LO ---- ߌꏑoONɂB
         ߒ͈͓̔Œ`ꂽxQƗLԂ̂̂ꍇAEQU^߂
         ux EQU ߌ擪AhXx+ItZbglv`ŃXgɏo͂B
/NTAB -- Xgo͂TABgp܂BfBtHgTAB=8ŏo͂܂B
         (Rev 0.10ȍ~Ή)
/IMG --- SA^߂ɂoCiw肵̈ADEFCHR$`̃mNrbg}bv
         t@Cɏo͂Bt@C͑ΏۃAhX"x.bmp"܂́A
         "ImgAhX.bmp"ƂȂB

/SIvVɂ
̓ASY͂ȂKȂ̂Ȃ̂ŁAmɃR[hGAƃf[^GA
łƂ͌܂B肭sȂ\܂B
BIOS̗̏lȖ߃R[hƃf[^GA݂R[hɂ/DIvV
SgȂƎvǂłB
/SIvVă_ȂAqSymbol.h̗p(x`)SA^߂ɂ
̈w𗘗pǂʂ𓾂Ǝv܂B

(2)f[^ϊpIvV
/P  ---- ͂ꂽt@CPBF`ŏo͂܂B
/BAS --- ͂ꂽt@CBAS(BASIC DATA)`ŏo͂܂B
/Q  ---- ͂ꂽt@CQL(NCbN[_p)̌`ŏo͂܂B
/DB ---- ͂ꂽt@CDB߃tH[}bgŏo͂܂B
         /NCIvVƂ̕p\łB
/B  ---- ͂ꂽt@CoCi`ŏo͂܂B
         o͂t@C̊gq.binƂȂ܂B
/BMP (JnAhX)  ---- ͂ꂽt@Crbg}bv`(192~32/192~64)
         o͂܂Bo͂t@C̊gq.bmpƂȂ܂B
         /bmp [JnAhX] ƂƁA̕AhXrbg}bv쐻܂B
         JnAhX́A10i܂16i(擪0xtjw肪\łB
         ʂ̃XN[VbgB̂ɎgĂB
    ij>DA61 Graphic.pbf /bmp 0x7010
/MONO (JnAhX)  ---- ͂ꂽt@Crbg}bv`(192~32/192~64)
         o͂܂Bo͂t@C̊gq.bmpƂȂ܂B
         /BMPƂقړłAo͂摜LCDʕɂȂ܂B
         (X~}ZBpbgF͂ȂKłB)
/PJ ---- ͂ꂽt@CPJ HEXtH[}bg(gq.hex/.hx)ŏo͂܂B
/HEX --- ͂ꂽt@CINTEL HEXtH[}bg(gq.hex/.hx)ŏo͂܂B
         ̓t@C̊gq.hexꍇAo̓t@C̊gq.hxƂ܂B
/C ----- ͂ꂽt@CC(PB-2000C/CJ[hp)`ŏo͂܂B
         o͌`́APiotr̃y[WŏЉĂPB-2000C/AI-1000C
         }Vs菇ŗpł܂B
          http://www.pisi.com.pl/piotr433/pb2000ye.htm

f[^ϊp̃IvVIƁAtAZu͍s킸I܂B
܂Af[^ϊpIvV𕡐w肵ꍇAŌɎw肵IvV̂ݗLƂȂ܂B

(3)AhXwpIvV
/ADR (AhX1j (AhX2) ---- BAS/HEX/BIN/TXT`̃t@CǂݍނƂɁA
         tAZuJnAhX^sJnAhXw肵܂B
         ͂PBFt@Cɂ͖܂B

Symbol.h̗pɂ
tAZuΏۃt@CƓtH_symbol.hƌ̂̃t@CƁA
V{ǂݍނƂo܂BiVXep̌Œ胊\[XtAZu
ʂɔfł܂j
Symbol.hǂݍݒɃG[ꍇAȍ~̃V{̓ǂݍ݂𒆎~āA
tAZuJn܂BiG[\͂܂AtAZu͎{j

pł鏑͉L̒ʂłB
(1)EQU
   [LABEL:] EQU [l](܂ LABEL/) [;Rg()]
 @\  錾ꂽxɑ΂āAIyh̐l^܂Bx錾͏ȗł܂B
       Iyhl̓x⎮pł܂Apɒl肵ĂKv܂B
       ɃZ~R[;]ȍ~̕tƁAtAZuɃRgƂďo͂ł܂B
       Rg͏ȗ\łB

(2)#IF`#ELSE`#ENDIF
  #IF (!)[]
       << LqP >>
      (#ELSE
       << LqQ >>)
      #ENDIF
      (#ELSE`<<Lq2>>)͏ȗ\łB
 @\  #if߂̃Iyh1̒l^(=0ȊO)Ȃ΁ALqPL(#else`#endif܂ł LqQ
       )܂Bɂ́AZq![]ltɂ]pł܂B
       i!Zq̗D揇ʂ͒PZqƊʂ̊ԂłBj
       ɂ̓xw\łApɒlm肵ĂKv܂B
       #IF`#ELSE`#ENDIF̃lXeBO\łB(255x܂)

(3)SA
   ([LABEL:]) SA(W/S/B) [l1] (,[l2]) (,[l3]) [;Rg()]
 @\  Iyh̐l1`l2͈̔͂f[^GAƂċtAZuɓo^܂B
       [l3]ꍇÄ敝Ȃǂ̏wł܂BႦLEDTP̂悤192byte̕
       [NAGȀꍇASymbol.hɈȉ̗̂悤ɓo^ĂƁA
       tAZuXg̏o͂[obt@{*Y+X] ̂悤ȕ\L\łB
 ()
         LEDTP: SA  &H6343,&H6642,192  ;LCD\hbgobt@

       ʂSA(Ȃ)ASAW(DWŏo)ASAS(o)ASAB(oCi=2io)̗lɋLq܂B
       ꂼ̎ʂŃAZuʂlsto͂wł܂̂ŁA͌ɔ[N
       SAw肵Ăƃ[N̈̐ɕ֗łB
       
       eIyhl̓x⎮pł܂Apɒl肵ĂKv܂B
       ܂Ax錾ȗ\SA^߂̂ݓo^\łȀꍇARg
       tAZuʂɔf܂B(Rg\̓x錾ɕRÂĂ邽߁j

NCbN[_(QL)`t@Cɂ
 IvV /Q ɂĐ*.ql`̃t@ĆAYt̍[_Tu[`ɂėp
\Ȍ`łB̍[_DEFCHR߂gčɓǂݍނ̂ŒʏDATAɂ
ǂݏo10{xɃ[h邱Ƃ\łBiBIN2ai.b/BIN2pb.b/BIN2fx.b/BIN2vx3.b
ŎgĂ̂Ɠ@ł)

ȉ̎菇ŗpB
(1)HD61 ɂ/p IvVtŃAZuPBFt@C쐻B
(2)DA61 [pbft@C] /q [Enter] ƂāAQL`̃t@Cɕϊ܂B
  i*.qlt@Co͂܂j
(3)쐻t@CeɓYtQL.zipQLpb.b(PB-1000/Cp)/QLfx.b(FX-870P/VX-4p)/
  QLai.b(AI-1000p)/QLvx3.b(VX-3p)̓ewb_ƂĒtāABASICTu[`
  ėp܂B
(4)Cӂ̃vOAGOSUB900sƁAړĨGAɃ}Vꂪ[hł܂B

ӁF{[_̓}VGÃ`FbNSȂ̂ŁA炩ߖړĨGA
      }VpɊmۂĂȂꍇ͕̓ۏ؂܂BiA\܂j
      Ė{[_𗘗pꍇ́A[hOɂ炩߃GÃ`FbN邩A
      BASICVXegp̗̈(CALC/FDDBF)ɑ΂Ă̂݁AKp悤ɂĉB
      ܂ALCDʃGA擪(24oCg)𗘗p܂̂ŁÃAhXɑ΂郍[h
      pł܂B
      LCDʃAhXɑ΂郍[hsꍇ́AL24oCg̃AhXA
      A980sCLS߂폜ėpĂB(XsւŃX~}Z)

Bin2PB.b/Bin2PBC.b/Bin2FX.b/Bin2AI.b/Bin2VX3.b̎g
 FX-870P/VX-4APB-1000/CAAI-1000AVX-3pBIOSyRAMezovOĂ݂܂B
BANK0BANK1̔Cӂ̃AhXPBF`RS232Cɏo͂܂B
DA61ƕpĉ͓ɂpB

s@iPB-1000C/PB-1000)
 Bin2PB.b --- PB-1000p
 Bin2PBC.b -- PB-1000Cp
(1)RS232CʐMp[^ݒ(9600,N,8,1)
(2)PBDCMԂőҋ@B
(3)Bin2PB.b/Bin2PBCsƁAJnAIAsAhX𕷂Ă̂ŁA
ꂼȉ̂悤ɓ͂܂B
   START ADR=&H8000[EXE]
   END ADR=&HFFFF[EXE]
   EXEC ADR=&H8DE2[EXE]
(4)͊ƁAf[^MJn܂B
(5)MɂComplete!\āABEEPȂ炵ďI܂B
10sڂPOKELɂƁA&H8000`w莞BANK1(RAM)̓ezo܂B

s@iFX-870P/VX-4)
(1)PBDCRS232CʐMp[^ݒ(9600,N,8,1)
(2)PBDCMԂőҋ@B
(3)Bin2FX.bsƁAJnAIAsAhX𕷂Ă̂ŁA
ꂼȉ̂悤ɓ͂܂B
   START ADR=&HC00[EXE]
   END ADR=&HFFFF[EXE]
   EXEC ADR=&HEBB[EXE]
(4)͊ƁAf[^MJn܂B
(5)MɂComplete!\āABEEPȂ炵ďI܂B

25sڂPOKELɂƁABANK1(RAM)̓ezo܂B
iPOKEp[^ύXƊeBANKANZX܂B
FBANK1=&H10ABANK2=&H20ABANK3=&H30j

s@iAI-1000)
(1)PBDCRS232CʐMp[^ݒ(9600,N,8,1)
(2)PBDCMԂőҋ@B
(3)Bin2AI.bsƁAJnAIAsAhX𕷂Ă̂ŁA
ꂼȉ̂悤ɓ͂܂B
   START ADR=&HC00[EXE]
   END ADR=&HFFFF[EXE]
   EXEC ADR=&HD80[EXE]
(4)͊ƁAf[^MJn܂B
(5)MɂComplete!\āABEEPȂ炵ďI܂B

25sڂPOKELɂƁABANK1(RAM)̓ezo܂B
iPOKEp[^ύXƊeBANKANZX܂B
FBANK1=&H10ABANK2=&H20ABANK3=&H30j

s@iVX-3)
(1)PBDCRS232CʐMp[^ݒ(9600,N,8,1)
(2)PBDCMԂőҋ@B
(3)Bin2VX3.bsƁAJnAIAsAhX𕷂Ă̂ŁA
ꂼȉ̂悤ɓ͂܂B
   START ADR=&HC00[EXE]
   END ADR=&HFFFF[EXE]
   EXEC ADR=&HEB2[EXE]
(4)͊ƁAf[^MJn܂B
(5)MɂComplete!\āABEEPȂ炵ďI܂B

25sڂPOKELɂƁABANK1(RAM)̓ezo܂B
iPOKEp[^ύXƊeBANKANZX܂B
FBANK1=&H10ABANK2=&H20ABANK3=&H30j

 Ql
1. KC-Disasembler   |PRW[i1990/8
2.uX-Assembler Ver.6vN.Hayashi(͂)  |PRW[i 1995/2
   (Symbol.h́AFX-870P.SRCɍ쐬܂j
3. oCit@CeLXgϊvO JUN AMANO 
   (CASIO PB-1000 Forever! URL: http://www.lsigame.com/)
4.uHD61700J߂̉(PSR/GSR/GFLW/GPOW )vMiyura 2006/8
5.uHD61700J߂̉(JP($)/LDL/LDLW/LDLM)vPiotr Piatek 2006/9
6.uHD61_DIS.EXEvPiotr Piatek 2006/9
   ( http://www.pisi.com.pl/piotr433/index.htm )
7.uIB(TS)WX^̉́vMiyura/Piotr Piatek 2007/2
8.uHD61700DASMvHD61700tAZu YKS 2020/9
   (CASIO PB-1000 Forever! URL: http://www.lsigame.com/)

Ƃ
 Asymbol.h̋ƂSA^߃T|[gŝłADOSł
 Rgo^𑽐sƃs(64KBI[o[)ɂ胉xǉo^łA
 x̉͂r[ɂȂĂ܂ꍇ܂B

 Rg\gꍇ́AtAZuΏۂ̃vOTCYɂӂB
 iBios_v͂悤ƂƁAsŃ[jOo܂EEj
 

 
Rev : 0.16  2006.07.28  DOSł[XJnB
Rev : 0.17  2006.08.05  rbg}bvǂݍݏCB
Rev : 0.18  2006.08.28  J߂ǉB
                        (PSR/GSRnALDCnASNLnAST IM8,$ATRP IM8)
                        背WX^( $(SX/SY/SZ) )\ɑΉB
                        IvV(/lv0)ɂĐ؂ւ\łB
Rev : 0.19  2006.09.04  IyR[h(DFH) JP ($)ɑΉB
                        ]JP ($) ́AJP $ ֕ύXƂȂ܂B
Rev : 0.20  2006.09.09  SNL߂̓삪(LCDf[^ǂ݂)߁AjjbNCB
                        SNL --> LDL(LoaD data from Lcd)
Rev : 0.21  2006.09.29  /WIvVǉB16rbgAhbVOɑΉB
Rev : 0.22  2006.11.06  ׂoOCB(̃xZŔ)
Rev : 0.23  2007.02.25  WX^̂C(TSIB)
Rev : 0.24  2008.05.25  /MIvVǉBV{x͏̉ǁB
                        tAZuߌꒆMDL*xꍇAYxO
                        ܂ł̃R[hDB߂ɕϊAYxȍ~AtAZu
                        ĊJ悤C܂B(BIOS͓̕⏕pł)
Rev : 0.25  2020.09.19  ߃R[h(0xD2`0xDB)ɑ΂Jumpg֎~B
                        (DIDM,DIUM,BYDM,BYUM,INVM,CMPM)
Rev : 0.26  2021.05.09  /D1IvVǉBf[^GA͎̖`R[h`FbN
                        B
Rev : 0.27  2021.07.11  PBF`o͂CB
                        "unsigned long""unsigned short"w"unsigned int"ɓB
Rev : 0.28  2022.04.23  SA^߂ɑΉBxRgóAGA͋@\𓋍ځB
                        /NCw莞͎QƗL胉x݂̂o͂悤ɂB
                        Intel HEXo(/hex)w莞ChecksumCB
                        /NTAB̃Xgo͂𒲐B
Rev : 0.29  2024.01.13  SA^ߏo(SAW,SAB)CB
                        /imgIvVǉBSABẅBitmapoB
                        /cwǉBCp\[XR[ho͂ǉB
                        et@CǂݍErrorɍs\B
                        pbfo͎t@CŏI0o͂̂CB
                        JR/JP/CAL̃x\CBPBF/BASo͏CB
Rev : 0.30  2026.05.24  /LOIvVwǉBߌꏑoāAߒ͈͓̔Œ`ꂽ
                        xQƗLԂ̂̂ꍇAߌ+ItZbglEQU^߂Xgo͂B
