-------------------------------------------------------------------------
      DA80 : Z80 DISASSEMBLER for Win32 (Rev 0.17)
  Win95/98/98SE/NT4/2000/XP/Vista/7/8/10/11
    (QZE12045@nifty.com)
URL       http://hd61700.yukimizake.net/PC-8001/
-------------------------------------------------------------------------
DA80Ƃ
Z80ptAZułB
Win32NXiR}hvvgjœ삵AV{x̎@\
et@C`̕ϊ@\Ă܂Bt[\tgłBDɎgĂB
î薳ۏ؂łj
lIZ80׋ړIō̂ƂAG[܂߂܂܂n
ɂȂĂ܂BCɒĂƎv܂̂łe͂EE(^^;)


(1)Z80̃T|[gقƂǂ̖߂tAZu\łB
  (T|[gĂȂ߂Ǝv܂EE)
(2)ȉ̊gqtH[}bgǂݍނƂ\łB
   .CMT (PC-8001G~[^pJZbg`t@C)
   .IHX (INTEL HEX`t@C)
   .PBF (PBFt@C)
   .TXT (ASCII` AhX/`FbNTȂ)
   .BIN (oCit@C)
   LȊO̊gq̃t@Cw肵ꍇAoCi(*.bin)ʂƂď܂B
(3)NpXɂJR*/JP*/CALL߃x͋yсA16bitLD߂ɑ΂f[^GA
   ͂s܂Bi/SIvVwɂĎsj
   ͂ɂo͂郉xtH[}bg͈ȉ̒ʂłB
    START ---- sJnAhX
    LBL ---- JR/JPߗpx
    MDL ---- CALߗpx
    DAT ---- LDߗpf[^x
    ( --- Yx̒`ꂽԒn)
(4)L/Sɂ͂ɂĔGÁADB߃tH[}bg̃Xg܂B
   ̋@\ƃR[hoOFFw(/NC)ɂA\[X𖳂Ă܂st@C
   قڎŏC邱Ƃ\ƂȂ܂Bi_Ȏ܂j
(5)tAZuΏۃt@CƓtH_symbol.hƌ̂̃t@CƁA
   V{ǂݍނƂo܂B
   iVXep̌Œ胊\[XtAZuʂɔfł܂j
   V{`̏́AZASMAILZ80ASMEQU߂ƓłB܂ASA(Set Area)^
   ߂ɂAf[^GA`\łBe@Œ`؂ւꍇɂ́A
   if`else`endifg܂B
   Symbol.hǂݍݒɃG[ꍇAȍ~̃V{̓ǂݍ݂𒆎~
   tAZuJn܂B
(6)jjbNo͂ƓɁAߎs͗p̃Rgo͂ł܂B
   (/CIvVw莞j
(7)ǂݍ񂾃t@CetH[}bgɕϊ鎖\łB
   T|[go̓tH[}bǵAȉ̒ʂłB
   EoCi`(BIN)
   EPBF`iBAS/HEX̕ϊɗpj
   EDB`iAZuDBߌ`łj
   EPJ HEX`(PJf HEX`)
   EINTEL HEX`(8rbg)
   ECMT` (PC-8001G~[^pJZbg`t@C)

A[JCue
Readme.txt --- ̃t@Cł
DA80.exe ----- tAZust@C
Symbol.h ----- V{`t@CTv

N@
Windows̃R}hvvgňȉs܂B

>DA80 [t@C.gq] [IvV(/S /D /C /NC /B /DB /P /HEX /ADR )ȗ][Enter]

sƋtAZuʂ.lstt@C(܂͕ϊʂ.bin/.pbf/.hex/.hx)ɏo͂܂B
.lsto͎A^uTAB=8Œŏo͂܂B(/ntab͖T|[głEE)

̓t@C`
ȉ̃tH[}bgp\łB
ʕsȃt@Cw肵ꍇAoCi(*.bin)ʂƂď܂B
   .CMT (G~[^pJZbg`t@C)
   .IHX (INTEL HEX`t@C)
   .PBF (PBFt@C)
   .TXT (ASCII` AhX/`FbNTȂ)
   .BIN (oCit@C)
et@C`́AgqŔʂ邽߁AԈ̂ł͐ǂݍ߂܂B
et@C`Ɗgq́Aȉ̒ʂłB

(1) *.CMT --- G~[^pJZbg`t@CiAhX/`FbNTtj
  CMT`Ƃ́AN80j80̃G~[^ŗpĂJZbg`t@CłB
  JnAhXƃoCif[^琬藧ĂA/ADRIvV [sAhX] 
  w肷邱Ƃ\łBi/ADR ȗsƐ擪tAZu܂j
   j D80 sample.cmt /s /adr $E3CC

   CMT`ɂẮAI[g[_[̃XLbvĂ܂ǍmWbN
     PC-8001(N[h)p̎dlɂȂĂ܂Ă܂̂łӂBB
     AR}hCIvVON/OFF悤ɂ邩łB

(2) *.PBF --- PBF`BHD61/BinToPbfo͌`łB
  SẴAhX߁A/ADRw͕svłB

(3) *.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 DA80 sample.txt /s /adr 0xD000 0xD018

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

(5) *.HEX / *.DMP --- 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 DSC61 sample.hex /s /adr 0xC018

(6) *.IHX --- INTEL HEX`if[^/AhX/^Cv/16i2 `FbNTtj
  INTEL HEX`Ƃ́ÃAZuRpCŃT|[gꂽROM`łB
  SHARP|PR(PC-GV[Y)ŃT|[gĂ8bit`T|[gĂ܂B
  0x86̊g^CvR[h̓T|[g܂B
  R[:]擪ɁAf[^(2)AhX(4)^Cv(2)f[^()`FbNT(2)
  \Ă܂B
     :1015500003CD4D14C110F1C12129033510E7CD2A67
     :1015600003CDDE11C91117002184150607CDD0BFA8
     :00000001FF
 INTEL HEX`(wiki)
  https://ja.wikipedia.org/wiki/Intel_HEX

  /ADRIvV [sAhX] w肷邱Ƃ\łBi/ADR ȗ\łj
   j DSC61 sample.ihx /s /adr 0xC018

(7) *.BMP --- rbg}bv`
   Windowsrbg}bv摜`łB
   p\Rō쐬摜etH[}bgɕϊėp鎖ł܂B
   ǂݍ݂̓mN(QF)tH[}bg̉摜̂݉\łB
   ꉞAOS2`ΉĂ܂A܂莎ĂȂ̂ŁAȂׂWindows`
   BMP摜𗘗pĂB(Photoshop ElementsōOS2`BMPł̂݊mF)
   /ADRIvV [JnAhX] [sAhX] w肷邱Ƃ\łB
   /ADR͏ȗĂG[Ƃ͂Ȃ܂B(AhXȗ0Ԓni[܂)
   /P8IvVtƁAPC-8001Z~OtBbNBMPf[^ǂݍ݂܂B
   iftHgSharp GPRINT`łj

IvV̐
(1)tAZupIvV
/S  ---- sJnAhXw肳ĂꍇÃAhXCALL/JP/JR߂̉͂
         Jn܂B܂A16bitLD߂ɑ΂f[^GAx̐{܂B
/D  ---- 8bit/16bit̃Iyht߂ɑ΂f[^x͂{܂B
         vOg悤ȃf[^x݂ꍇɁA̖ߌ
         DB߂Œu\łB
/C  ---- ߎsRgo͂܂B
         ͎ɂpBrȂ̂ƁARgȂKȂ̂ŁAgp
         ߂܂Bip~邩Hj
/NC ---- tAZuɃAhXyуR[h̏o͂s܂B
         AILZ80ASM̃\[XR[ho͂܂B(ZASMłsH)
         ̎Ao̓t@C̊gq*.sATAB=8ŏo͂܂B
/AC ---- /NCƓŋtAZu܂A"AhX+R[h+"Rgŏo͂܂B
         \[XR[h(AILZ80ASM)o͂܂B
/LO ---- ߌꏑoONɂB
         ߒ͈͓̔Œ`ꂽxQƗLԂ̂̂ꍇAEQU^߂
         ux EQU ߌ擪AhXx+ItZbglv`ŃXgɏo͂B
/IMG --- SA^߂ɂoCiw肵̈Sharp GPRINT`̃mNrbg}bvt@Cɏo͂B
         t@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ɂ/SIvV
SgȂƎvǂłB

ȂADA80ł/SIvVƁASA^߂T|[gƌA
/DIvV͂܂藘p@͖܂B

͂̍Ō/ncŃ\[XR[htAZuɁA`ƂȂDATx
ꍇ/DIvVKpėlq(̏o͌ʂdiff)ǂłB

(2)f[^ϊpIvV
 /P  ---- ͂ꂽt@CPBF`ŏo͂܂B
 /DB ---- ͂ꂽt@CDB߃tH[}bgŏo͂܂B
          /NCIvVƂ̕p\łB
 /B  ---- ͂ꂽt@CoCi`ŏo͂܂B
          o͂t@C̊gq.binƂȂ܂B
 /HEX --- ͂ꂽt@CINTEL HEXtH[}bgŏo͂܂B
          o͂t@C̊gq.ihx(PC-G8xxV[Y)ƂȂ܂B
 /CMT --- ͂ꂽt@CCMT`ŏo͂܂B
          o͂t@C̊gq.cmt(PC-8000V[Y)ƂȂ܂B
 /SPL --- ͂ꂽt@CCMT`̏ꍇABASIC/BIN`t@Cɕo͂B
          ̓t@CCMT`ȊȌꍇA/splw͖B
 /BAS --- ͂ꂽt@CBAS(BASIC DATA)`ŏo͂܂Bsԍ999Jn+1Â܂B
          999s̓wb_ŁAȉ̌`ƂȂ܂B
           sԍ DATA 擪AhX,IAhX,sAhX
          1000sȍ~́Ax[}KfڂN-TYPE`(16i_v,`FbNT)ŏo͂܂B
          PC-8001(N-BASIC)p[_[(900`960sڂ[_[)
           10 DEFINTA-Z:RESTORE999:GOSUB900
           20 IF R<>0THEN DEFUSR0=R:A=USR0(0)
           30 END
           900 'Binary Loader for PC-8001
           910 READ A,ED,R:ED=ED+1:L=1000
           920 READ B$,C$:D=LEN(B$):S=0
           930 FOR I=1 TO D STEP2:V=VAL("&H"+MID$(B$,I,2)):POKE A,V:S=S+V:A=A+1:NEXT
           940 IF(S AND255)<>VAL("&H"+C$) THEN BEEP:PRINT"SUM ERROR:LINE=";L:END
           950 IF A<ED THEN L=L+1:GOTO 920
           960 RETURN
          ȉA/basŏo͂ꂽDATA\B

 /BMP (JnAhX)  ---- ͂ꂽt@CSharp GPRINT̃rbg}bv`(192~64)ŏo͂܂B
          o͂t@C̊gq.bmpƂȂ܂B
          /bmp [JnAhX] ƂƁA̕AhXrbg}bv쐻܂B
          JnAhX́A10i܂16i(擪0xtjw肪\łB
          ʂ̃XN[VbgB̂ɎgĂB
     ij>DSC61 Graphic.pbf /bmp 0xC210

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
         16ȉꍇA擪0xA$A&ĤꂩtB܂́AhĉB
         EsJnAhX͏ȗł܂B
         E͂CMTсAPJ HEXt@C̎́AsJnAhX̂ݎwł܂B
         E͂PBFt@Cɂ͖܂B
 (1) oCit@C(source.bin)ɑ΂āA擪AhX$2000A sJnAhX$2010w肷B
  >DA80 source.bin /adr 0x2000 0x2010 [Enter]
 (2) PJ HEXt@C(source.hex)ɑ΂āAsJnAhX$2010w肷B
  >DA80 source.hex /adr 0x2010 [Enter]

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
       AEQU߂ɌAxɂR':'͏ȗ\ł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)#INCLUDE
   INCLUDE(t@C)
 @\  Iyh1̊ʓɋLqꂽt@CAZuɑgݍ݂܂B
       AZu͂̕Ƥ\[Xt@C̃AZu𒆎~Ĥ#INCLUDE
       w肳ꂽt@CAZu܂Bwt@C̃AZuA
       \[Xt@C̃AZuĊJ܂B
       #INCLUDẼlXeBO256x܂ŉ\łBOPENꂽ#INCLUDEt@C
       ċAIȌĂяosƁA"Invalid Include File Name"G[ƂȂ܂B

(4)SA
   ([LABEL:]) SA(W/S/B) [l1] (,[l2]) (,[l3]) [;Rg()]
 @\  Iyh̐l1`l2͈̔͂f[^GAƂċtAZuɓo^܂B
       [l3]ꍇÄ敝Ȃǂ̏wł܂BႦPC-8001VRAM̂悤
       120byte̕[NAGȀꍇASymbol.hɈȉ()̂悤ɓo^ĂƁA
       tAZuXg̏o͂[obt@{*Y+X] ̂悤ȕ\L\łB
 (1)
         VRAM: SA $F300,$FEB7,120	;VRAM̈(esFVRAM=0`79, Attribute=80`119)

       ʂSA(Ȃ)ASAW(DWŏo)ASAS(o)ASAB(oCi=2io)̗lɋLq܂B
       ꂼ̎ʂŃAZuʂlsto͂wł܂̂ŁA͌ɔ[N
       SAw肵Ăƃ[N̈̐ɕ֗łB
       
       Iyhl̓x⎮pł܂Apɒl肵ĂKv܂B
       Ax̒ɂR':'͏ȗł܂B
       ܂Ax錾ȗ\SA^߂̂ݓo^\łȀꍇARg
       tAZuʂɔf܂B(Rg\̓x錾ɕRÂĂ邽߁j
       
       x錾́ASAwƕʂɒ`ł܂̂ŁASAŒ`GA̔Cӂ̃AhX
       x`鎖ł܂BL̗̏ꍇAtAZuʂ[TBLEND-ItZbgʒu]
       ̂悤ȕ\LɂȂ܂B
 (2)
       		SA $300,$5FF	;e[ü錾
       TBLEND: EQU $5FF		;e[upx(ŏIAhXw)
       
       /imgIvVwsƁASAB(oCi=2io)ɂĒ`ꂽ̈GPRINT`
       摜t@CƂďo͂܂B
       o͂̓mN(2F)rbg}bv`ŁAxw肪΃t@C"x.BMP"
       ƂAxw肪ꍇ́A"img+AhX.BMP"ƂȂ܂B
       c8bitŃrbg}bv܂Ä敝̎w肪΁A̕Ő܂Ԃ摜Ƃ
       o͂܂B
       /IMGw莞/P8IvVtƁAPC8001̃Z~OBMP쐬܂B

\[XR[hɂ
15NȏOɍHD61700/SC61860p̋tAZũ\[XR[h𗬗pĂ܂B
̂߁AsvR[h̍悭ȂϐĂȂԂȂ̂ŁA܂ZpI
ׂ͖̂łEEBiZ80߂ւ̃fR[he[uϊɂ͋Ƃłj

ƂDOSp̂ɋ@\ςݑLinuxŃAZułlɂ
R[hƂĂ͂ȂقmɂȂĂ܂EE(^^;)
p͂ӂB

QlEӎ
DA80Jɂ́Aȉ̃TCg̓eQlɂĂ܂B߂Ċӂ܂B
Mitsuhito IshinoInstructionSet.z80Z80fR[h͂Ȃ莞Ԃ
Ǝv܂B{ɂ肪Ƃ܂B
1. N80̕uCMT`v
   (http://home1.catvmics.ne.jp/~kanemoto/n80/inside.html)
2. Z80 Assembler 'AILZ80ASM'uS߃\[XR[h(InstructionSet.z80)v
   (https://github.com/AILight/AILZ80ASM)

 
Rev : 0.00  2022.04.03  ŏ̃o[WB(DSC61x[XASA^߂삵EEB)
Rev : 0.01  2022.04.10  SA^߂œo^GA"x+ItZbg"`ŏo͂lɂB
                        CMTǂݍݎPC-8001(N[h)pI[g[_(EA68H)m
                        XLbv悤ɂB
                        TvpSymbol.hXVBPC-8001 BIOS[`LځB
Rev : 0.02  2022.04.16  V{t@C(Symbol.h)ǂݍݎ̃G[\̏[}B
                        Intel HEX(8bit)ǂݍ݂ɑΉBgq(.IHX)𔻕ʂ܂B
                        /hexIvVIntel HEX(8bit)o͂w肵ۂ̃`FbNTvZCB
                        SAo^GAŏIAhX𒴂̓𒲐B
                        /ncIvṼxo͂tAZuΏۊÕAhXɌ肵B
                        /ncIvVAo̓Xg̊gq.sɕύXB
                        TvpSymbol.hXVBPC-8001̒ǋLPC-G8xxn̒`ǉB
Rev : 0.03  2022.04.17  8bitl16iŏo͂ꍇ̏CB(ZASMΉ)
Rev : 0.04  2022.04.21  SA߂ŗ̈敝ݒ^\ł悤ɂB
Rev : 0.05  2022.11.03  Intel HEXo(/hex)w莞ChecksumCB
                        SA^ߓǂݍݏCB
                        /img:SABẅBitmapo(GPRINTp)ǉB
Rev : 0.06  2023.05.13  SASw莞Ƀ_vf[^o͂錏̏C
                        /p8:BMP`t@CǍ(PC-8001Z~OtBbNp)ǉB
                        symbol.hǂݍݎA#include^߂ɑΉB
Rev : 0.07  2023.05.15  /ACIvVwǉB/NCƓl̏A"AhX+R[h+" 
                        Rgŏo͂B
Rev : 0.08  2023.05.24  Symbol.hǂݍݒ̃x`G[́A[jO\ďpB
Rev : 0.09  2023.05.29  l̃xEQU`ꍇɃ[jO\ǉB
            2023.06.04  16i(Byte)\L𓝈B
Rev : 0.10  2023.06.19  #include^߃`FbNCB
            2023.09.09  /P8IvV̓ځieXgj
Rev : 0.11  2024.01.12  /acw莞̃R[ho͂CB
                        2oCgLOAD߂̏CBxSAw͈͗DƂB
Rev : 0.12  2024.05.02  SÄ̃xo͂gBItZbg\L\ƂB
                        gqHEX,DMP,TXT̏ꍇIntel HEX`ǂmFB
                        AILZ80ASM-hexŏo͂t@C(gqHEXȊO)INTEL HEX`肷B
                        Symbol.ho^̃xv㏈CBSymbol.h`CB
Rev : 0.13  2024.12.05  *.TXTt@CǂݍݏCB
                        /bas o͂N-TYPE`ɂB
            2024.12.31  Readme.txt/baso͗p[_[ǋLB
Rev : 0.14  2024.12.05  /spl IvVΉBǍt@CCMT`̏ꍇABASIC/Binary`ɕo͂B
Rev : 0.15  2026.04.12  LFs̃eLXgǂݍ݂̉ǁB
Rev : 0.16  2026.05.24  AILZ80ASMŃGXP[vV[PXɒ`Ă镶R[h𐔒lƂĈ悤ɏCB
                        IX/IY֘A߂̐lfR[h𕄍\(-128`+127͈̔)ŏo͂悤ɂB
                        /LOIvVwǉBߌꏑoāAߒ͈͓̔Œ`ꂽ
                         xQƗLԂ̂̂ꍇAߌ+ItZbglEQU^߂Xgo͂B
Rev : 0.17  2026.06.13  BAS/TEXT/PBFt@CǂݍݏCB
