Welcome, Guest. Please login or register.


Author Topic: EP128emu (Read 163701 times)

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 6.0.2 Firefox 6.0.2
    • View Profile
    • http://www.ep128.hu
Re: EP128emu
« Reply #75 on: 2012.July.16. 08:47:29 »
Azt lehet tudni, hogy az emulátór mit kezd az USB-s floppy meghajtókkal?

Online Zozosoft

  • EP addict
  • *
  • Posts: 13464
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 14.0.1 Firefox 14.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #76 on: 2012.August.07. 11:27:20 »
Azt lehet tudni, hogy az emulátór mit kezd az USB-s floppy meghajtókkal?
Nem közvetlenül kezeli, hanem ha jól értettem, valami speciális windows fájlként, így szerintem mûködnie kell.

Online Zozosoft

  • EP addict
  • *
  • Posts: 13464
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 14.0.1 Firefox 14.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #77 on: 2012.August.07. 11:43:36 »
Találtam egy kis emulátor bug-ot:
Itt volt szó arról, hogy NMOS Z80-ak bugosak az LD A,I/R utasításoknál.
Az EXOS 2.4 már ki is írja a CPU típusát induláskor, ehhez találtam egy egyszerûbb módszert:
Az EDh,71h kódú utasítás, ami az utasítás táblázatban a helye alapján OUT (C),F lenne (HEASS így ismeri), a netes Z80-as köznyelv szerint OUT (C),0-ként szerepel (emulátor debugerben így szerepel), 0-t küld ki NMOS procival, FFh-t CMOS procival.
Tehát pl így nagyon egyszerûen lehet tesztelni:
Code: ZiLOG Z80 Assembler
  1. LD C,0B1H
  2. OUT (C),0
  3. IN A,(0B1H)
  4. OR A
  5. JR Z,NMOS

Ez mûködik is valódi gépen, több darabon is próbáltam, a Z80bug progival is ellenõrizve a eredményt.

Az emulátoron most viszont ellentmondásos a dolog, az LD A,I/R nem hibás, tehát CMOS proci van emulálva.
De az OUT (C),0 valóban 0-át küld ki, így meg NMOS procinak látszik.

Vagy az LD A,I/R-t kéne elrontani vagy az OUT-nál FFh-re cserélni az értéket. Ha jól sejtem ez utóbbi a könnyebb megoldás :-) ha jól tippelem itt kell a 0-át átjavítani:
Code: [Select]
    case 0x071:
      {
        doOut(R.BC.W, 0);
        ADD_PC(2);
        R.Flags |= Z80_CHECK_INTERRUPT_FLAG;
      }
« Last Edit: 2012.August.07. 13:27:43 by Zozosoft »

Offline geco

  • EP addict
  • *
  • Posts: 5419
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 14.0.1 Firefox 14.0.1
    • View Profile
Re: EP128emu
« Reply #78 on: 2012.August.07. 15:38:25 »
Szuper, pár programban használtam az OUT (C),0-át a DAVE regisztereinek nullázására :(

Online Zozosoft

  • EP addict
  • *
  • Posts: 13464
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 14.0.1 Firefox 14.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #79 on: 2012.August.07. 15:48:02 »
Szuper, pár programban használtam az OUT (C),0-át a DAVE regisztereinek nullázására :(
Hmm, lehet, hogy ez csinálta a zúgást az IK-ban egyes gépeken?

Offline geco

  • EP addict
  • *
  • Posts: 5419
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 14.0.1 Firefox 14.0.1
    • View Profile
Re: EP128emu
« Reply #80 on: 2012.August.07. 17:00:18 »
Hmm, lehet, hogy ez csinálta a zúgást az IK-ban egyes gépeken?
Simán elképzelhető, OUT (C),00h használatban ott is, úgy fest kénytelen leszek leszokni róla.

Online Zozosoft

  • EP addict
  • *
  • Posts: 13464
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 14.0.1 Firefox 14.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #81 on: 2012.August.11. 12:46:49 »
Vagy az LD A,I/R-t kéne elrontani vagy az OUT-nál FFh-re cserélni az értéket. Ha jól sejtem ez utóbbi a könnyebb megoldás :-) ha jól tippelem itt kell a 0-át átjavítani:
Módosított, CMOS Z80 emulátor.

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 10.0.2 Firefox 10.0.2
    • View Profile
    • http://www.ep128.hu
Re: EP128emu
« Reply #82 on: 2012.August.11. 17:27:10 »
Módosított, CMOS Z80 emulátor.

Istvánt elõ kellene keríteni, csinálni "hivatalos" install-os verziót a honlapjára.

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 10.0.2 Firefox 10.0.2
    • View Profile
    • http://www.ep128.hu
Re: EP128emu
« Reply #83 on: 2012.August.11. 18:24:21 »
Hmm, lehet, hogy ez csinálta a zúgást az IK-ban egyes gépeken?

Kipróbáltam a Zozo-féle javított emuval az IK+ Reload-ot. Bizony, így már zúg!

Online Zozosoft

  • EP addict
  • *
  • Posts: 13464
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 14.0.1 Firefox 14.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #84 on: 2012.August.11. 19:14:42 »
Istvánt elõ kellene keríteni, csinálni "hivatalos" install-os verziót a honlapjára.
Igen, már csak a korábbi hibajavítások miatt is!

Van még egy bosszantó bug: Windows 7 alatt nem tud floppyra írni az emulátor  :(
Más programokkal is volt ilyen (Pl régebbi Winimage-val készült önkicsomagoló boot lemezek), valami jogosultsági gond lehet.
Ha "futtatás rendszergazdaként" indítom, akkor se mûködik.

Tippem szerint itt lehet valahol a bibi a wd177x.cpp-ben:
Code: [Select]
      h = CreateFileA(fileName, (DWORD) 0,
                      FILE_SHARE_READ | FILE_SHARE_WRITE,
                      (LPSECURITY_ATTRIBUTES) 0, OPEN_EXISTING,
                      FILE_ATTRIBUTE_NORMAL, (HANDLE) 0);

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 10.0.2 Firefox 10.0.2
    • View Profile
    • http://www.ep128.hu
Re: EP128emu
« Reply #85 on: 2012.August.11. 19:32:14 »
Igen, már csak a korábbi hibajavítások miatt is!]

Ezek szerint ebben benne van az a javítás is, miszerint a debugger lapon két mezõ értéke fordítva jelent meg?

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 10.0.2 Firefox 10.0.2
    • View Profile
    • http://www.ep128.hu
Re: EP128emu
« Reply #86 on: 2012.August.11. 19:33:26 »
Van még egy bosszantó bug: Windows 7 alatt nem tud floppyra írni az emulátor  :(

Még szerencse, hogy eddig nem váltottam át rá...
Ez - ezek szerint - addig biztosan nem fog megtörténni, amíg ez a hiba nincs javítva.  :ds_icon_cheesygrin:

Online Zozosoft

  • EP addict
  • *
  • Posts: 13464
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 14.0.1 Firefox 14.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #87 on: 2012.August.11. 19:43:03 »
Ezek szerint ebben benne van az a javítás is, miszerint a debugger lapon két mezõ értéke fordítva jelent meg?
Természetesen, meg volt egy CPC-s hibajavítás is.

Online Zozosoft

  • EP addict
  • *
  • Posts: 13464
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 14.0.1 Firefox 14.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: EP128emu
« Reply #88 on: 2012.August.14. 10:28:34 »
Szuper, pár programban használtam az OUT (C),0-át a DAVE regisztereinek nullázására :(
Ezekbõl lehetne kérni akkor egy javított verziót?  :oops:

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 6.0.2 Firefox 6.0.2
    • View Profile
    • http://www.ep128.hu
Re: EP128emu
« Reply #89 on: 2012.August.14. 11:00:26 »
Ezekbõl lehetne kérni akkor egy javított verziót?  :oops:

Ezt már én is meg akartam kérdezni...  :oops: