------------------------------------------------------------------------------

  X68000 EMULATOR XM6 (version 2.00)

  \[XR[h
  for Win32
  Copyright (C) 2001-2005 ohD

------------------------------------------------------------------------------
\[XJɂ

  ̃A[JCuX68000G~[^XM6(version 2.00)̑S\[XR[hłB

  XM6version 1.95܂ŁAׂă\[XJƂĂ܂B͑Ŝ̕
  ܂Advȕoオ܂ł́AJƂɂƂăbg
  Ɣf߂łB

  2005NɂȂversion 2.00ɎāA悤₭ŜƂĂ̊`ĂA
  ׂȐ݌vAꕔtBbNXAl悤ɂȂA\[XR[h
  JłԂɂȂĂ܂B

  X68000͖uInside X68000v͂߂ƂāArIeNjJȎ
  @킾Ƃ܂B݂2005NAȂ킿1987NX68000㔭ȗ
  18No߂AOqInside͖ܘ_̎AefoCX̃f[^V[gȂǎX
  Ɠs\ƂȂĂAƁAmɏ񂪎܂B

  ̃\[XR[hłAX68000̃n[hEFAEAvP[VJ
  ̈ꏕɂȂ΍KłB܂AVɃG~[^J݂ɂƂĂ
  Ql̈ɂȂ邱ƂƎv܂B


gpKiCZXj

  A[JCuɊ܂܂t@CQ́Aꕔ̗O(q)ohD쌠ۗL
  Ă܂B

  \[Xt@C̈ꕔA͑Sėpꍇ́A̋KɊÂ
  Ƃ܂B

  EvmfBNg̃t@Cėpꍇ́AhLgɃIWi
    쌠\𖾋LĂB܂pp͋֎~܂B
  EȊO̍̕ėp͎RłBOlApp͋֎~܂B

  ̃A[JCu̍Ĕzz͂ł܂Bf]ڂւ܂B


gpKɊ܂܂ȂO

  ȉɎt@C68000G~[^"StarScream"ς̂łB
  IWi̒쌠҂Neill CorlettłB(neill@neillcorlett.com)
  ̕ɂĂ͑Oq̋K͓Kp܂B

  cpu\star.c
  vm\cpudebug.c
  vm\cpudebug.h

  ȉɎt@CFMG~[^"fmgen"ς̂łB
  IWi̒쌠҂ciscł(cisc@retropc.net)
  ̕ɂĂ͑Oq̋K͓Kp܂B

  vm\fmgen.cpp
  vm\fmgen.h
  vm\fmgeninl.h
  vm\fmtimer.cpp
  vm\fmtimer.h
  vm\opm.cpp
  vm\opm.h


J

  RpCƂāAMicrosoft Visual C++ .NET 2003KvłBVC++.NET 2003
  Ɋ܂܂AMFC 7.1AvP[Vt[[NƂĎgpĂ܂B

  AZuƂāANASM(Netwide Assembler)KvłBzzĂ܂
  ̂ŕʓr肵ĂBo[W0.98𐄏܂B


fBNg

  ȉ̂悤ȃfBNg\ɂȂĂ܂B͕֋XIȂ̂łB

  cpu         CPURA(StarScream)
  vm          zX68000
  mfc         I/O(Win32)
  res         Win32\[X
  obj         IuWFNgGA

  XM6{̂̃rhꍇ́AvmfBNgmfcfBNg̓e
  pfBNgɂ܂Ƃ߂ăRs[ĂB̂悤ȃc[ɂȂ܂B

  ------- {(vmymfc̓e1ɂ܂Ƃ߂)
     |
     ---- cpu
     |
     ---- res
     |
     ---- obj


`ς݃V{

  ȉ̃V{ŜŎgĂ܂B

  _DEBUG     fobOrh܂Bassertɂ鎩Ȑffs܂B
  NDEBUG     [Xrh܂Bʏ͂`܂B
  _WIN32     Win32錾܂B(RpCɂ莩`܂)

  ȉ̃V{xm6.hŐ錾Ă܂B

  FALSE      0
  TRUE       (!FALSE)
  NULL       0
  ASSERT     _DEBUG`ɁAassertLɂ܂B
  FASTCALL   WX^֐ĂяoKg܂B


CPURA\[X̃WFl[g

  XM6{̂̃rhɐ旧ACPURÃAZu\[Xł star.asm 쐬
  Ƃs܂B͎̎菇ōs܂B

  (1)WFl[gvÕRpC

     Visual C++ .NETNAuVvWFNgvŁuWin32 R\[ v
     WFNgvIт܂BvWFNg͐AStarƂĂ܂B

     vWFNgStar쐬ꂽA\[Xt@CƂcpu\Star.c ǉ
     vWFNgrh܂BrhɐƁAStar.exe܂B

  (2)AZu\[X̃WFl[g

     Star.exegAAZu\[X𐶐܂BR}hC͎̒ʂ
     AZu\[Xt@Cw肵܂B

     () C:\XM6\cpu>Star star.asm

     ɂAcpufBNgstar.asm܂Bostar.asm
     {̃fBNgɈړĂ܂B


AZu

  NASMgA{̃fBNg.asmt@CAZu܂B͎
  R}hCōs܂BobjfBNgɃAZũIuWFNgQ
  i[悤ɂĂB

    nasmw -f win32 -o ..\obj\star.obj star.asm
    nasmw -f win32 -o ..\obj\core_asm.obj core_asm.asm
    nasmw -f win32 -o ..\obj\rend_asm.obj rend_asm.asm
    nasmw -f win32 -o ..\obj\mfc_asm.obj mfc_asm.asm


RpC

   ܂ŏoA\[XvORpCł܂B

   Visual C++ .NETNA\[Vt@CXM6.sln[h܂B
   ANeBuȍ\Ƃ"Release"A"Debug"̂ǂ炩IсArh(B)
   \[Ṽrh(B)I܂B

   RpCyуNsARelease܂DebugfBNgXM6.exe
   ܂BŃrh͊łB


\[XR[h KCh

  XM6̃A[LeN`AvO\ȒPɐ܂B

  XM6VMƌĂԉzX68000ƁAۂI/OG~[VSWin32
  2ɕĂ܂B2͖̓mɕĂAVM͉z}V
  _IAۓIɋLq́AWin32VM쓮AWindows̃foCX
  ڑ́AƂʒuÂɂȂ܂B܂̒Ԃ̋nƂȂ̂
  āAt@CI/OEt@CpXAOSɈˑ邱2̊TO
  ۉAVMBĂ܂B


  ̗RAVM̓vZbTOSɂȂAėpIȋLqSĂ
  BACPURAłStarScreamx86(IA-32)pł邱ƂA
  ߕpɂɌĂ΂镔AZuĂ邱ƂÃRpCv
  ZbTAOSֈڐAsۂ́Acpu,memory,schedule3t@Cɂ
  炩̏KvłB

  VMɎꂽefoCX́ADeviceNXA܂MemDeviceNXh
  NXƂȂĂ܂B̎(CX^X)VMNXL
  ĂAefoCXVM::SearchDeviceɂ茟A擾\łB

  ȉAVM̊et@Cꗗ܂B

  t@C(ꕔgqȗ)       e
  -------------------------------------------------------------------------
    os.h                         OSˑincludewb_
    xm6.h                        XM6ʒ`
    adpcm                        ADPCM
    areaset                      GAZbg
    cisc.h                       fmgenڑwb_
    config.h                     ݒf[^`
    core_asm                     AZuTu[`
    cpu                          MPU
    cpudebug                     tAZu(StarScreamtł)
    crtc                         CRTRg[
    device                       foCXE}bvhfoCX
    disk                         SASIESCSIfBXNC[Wt@C
    dmac                         DMARg[
    event                        R[obNCxg
    fdc                          tbs[fBXNRg[
    fdd                          tbs[fBXNhCu
    fdi                          tbs[fBXNC[Wt@C
    fileio                       t@CI/O (Win32p)
    filepath                     t@CpX (Win32p)
    fmgen                        FMWFl[^(fmgen)
    fmgeninl                     FMWFl[^(fmgen)
    fmtimer                      FM^C}(fmgen)(gp)
    gvram                        OtBbNVRAM
    iosc                         I/ORg[
    keyboard                     L[{[h
    log                          O
    memory                       SʁE}bsO
    mercury                      Mercury-Unit
    mfp                          MFP
    midi                         MIDI
    mouse                        }EX
    opm                          YM2151(fmgen)
    opmif                        FM
    ppi                          p|[gEWCXeBbNfoCX
    printer                      v^
    render                       _(ʍ)
    renderin                     _ CC
    rend_asm                     _ AZu
    rtc                          A^CNbN
    sasi                         SASIRg[
    scc                          VAR~jP[V
    schedule                     XPW[
    scsi                         SCSIRg[
    sprite                       BG/XvCgRg[
    sram                         obe[obNAbvSRAM
    starcpu.h                    StarScreamڑ
    sync                         XbhIuWFNg
    sysport                      VXe|[g
    tvram                        eLXgVRAM
    vc                           rfIRg[
    vm                           z}V{
    windrv                       Windrv

  version 2.00ł́ASCSIEWindrvEMercurẙeNX͈ꕔł
  Ă܂B͍\łB܂ACRTCEGVRAMg\肪
  ܂B


  Win32MFC(Microsoft Foudation Classlibrary)AvP[Vt[
  [NƂĎgpĂ܂BhLghLgev[g͎gp
  Ă܂񂪁AȂMFCɈˑɂȂĂ邽߁Åւ̈ڐA
  ͍łBVM̋쓮ƂĎQlɂāAV蒼悢Ǝv
  B܂Aꕔ\[XR[h͂瓾AJdlgĂ镔
  ܂B

  Win32œ삷eW[́AꕔCComponentNXhꂽ
  NXɂȂĂ܂B̎(CX^X)͑oNŐڑ
  Ă邽߁AeR|[lgCComponent::SearchComponentɂ茟A擾
  \łB

  ȉAWin32̊et@Cꗗ܂B

  t@C(ꕔgqȗ)       e
  -------------------------------------------------------------------------
    mfc.h                        Win32ʒ`
    XM6.sln                      VC++ .NET \[Vt@C
    XM6.vcproj                   VC++ .NET vWFNgt@C
    mfc_app                      AvP[VyуO[o
    mfc_asm                      AZuTu[`
    mfc_cfg                      ݒf[^ǗAIvVݒ
    mfc_cmd                      j[R}hnhO
    mfc_com                      R|[lg
    mfc_cpu                      TuEBhE (vZbT)
    mfc_dev                      TuEBhE (foCX)
    mfc_draw                     `EBhEETuEBhEǗ
    mfc_frm                      t[EBhEES̃Rg[
    mfc_host                     zXg t@CVXe
    mfc_info                     Xe[^XWǗ
    mfc_inp                      ̓hCo
    mfc_midi                     MIDIhCo
    mfc_port                     VA|[gp|[ghCo
    mfc_que                      ėpL[
    mfc_rend                     TuEBhE (_)
    mfc_res                      \[X
    mfc_sch                      XPW[
    mfc_snd                      TEhhCo
    mfc_stat                     Xe[^Xr[(Sʎ̂ݎgp)
    mfc_sub                      TuEBhE
    mfc_sys                      TuEBhE (VXe)
    mfc_tkey                     TrueKey
    mfc_tool                     fBXNC[W쐬ق
    mfc_ver                      o[W
    mfc_vid                      TuEBhE (rfI)
    mfc_w32                      TuEBhE (Win32)

  version 2.00ł́ACHostNX̎ꕔsĂ܂B
  \łB


A

  z[y[W(ohD Home page)
  http://www.ipc-tokai.or.jp/~ytanaka/

  f
  http://cgi.ipc-tokai.or.jp/~ytanaka/cgi-bin/xm6/hyperbbs.cgi

  [AhX
  ytanaka@ipc-tokai.or.jp
