ENTERPRISE KLUB
2019. szeptember 7., 1055 Budapest, Nyugati tér 9. 14-19 óráig
Részletek
Welcome, Guest. Please login or register.


Author Topic: zx128emu (Spectrum emulátor ep128emu alapokon) (Read 40332 times)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13431
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.3 Firefox 3.5.3
    • View Profile
    • http://enterprise.iko.hu/
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #15 on: 2009.October.27. 16:49:15 »
a szegmensek számozása talán változtatható lenne (pl. a RAM kerüljön 00h-07h-ra, a ROM pedig 08h/09h vagy FEh/FFh-ra).
Ez jó ötlet!

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13431
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.3 Firefox 3.5.3
    • View Profile
    • http://enterprise.iko.hu/
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #16 on: 2009.October.28. 00:04:52 »
Volt itt az elõbb még egy TZX támogatási lista  :oops:
A most a letöltésekbe került zx128emu tudja már ezeket?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #17 on: 2009.October.28. 00:07:18 »
A most a letöltésekbe került zx128emu tudja már ezeket?

Nem, az az eredeti 0.1.0 verzió.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #18 on: 2009.October.29. 16:53:29 »
A .TZX után a .SNA és .Z80 támogatás is elkészült, de még tesztelni kell (a .z80 bonyolultabb, több különböző változata van, és tömörített is lehet). Mindenesetre az a néhány snapshot, amelyeket megpróbáltam betölteni, működött.
A szegmensek számozását átrendeztem: a RAM mindig 00h-tól kezdődik, a ROM 80h (illetve 128K-s konfigurációnál 80h/81h), Spectrum 16-on pedig az "üres" lapokra FFh szegmens kerül.
Pontosabb lett az emuláció is: a nem dokumentált Z80 jelzőbitek többségét javítottam (a z80tests.tap szerint elég sok hiba volt :oops:), az időzítés is javult (a fusetest.tap nem talál hibát 48K és 128K módban sem), és változtattam az I/O portok címdekódolásán.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13431
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
    • http://enterprise.iko.hu/
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #19 on: 2009.October.29. 17:00:27 »
Pontosabb lett az emuláció is: a nem dokumentált Z80 jelzõbitek többségét javítottam (a z80tests.tap szerint elég sok hiba volt :oops:)
Hopp, akkor ez az ep128emu-t is érinti, igaz?

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13431
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
    • http://enterprise.iko.hu/
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #20 on: 2009.October.29. 17:01:33 »
Az új verzió mikor lesz letölthetõ?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #21 on: 2009.October.29. 17:18:25 »
Hopp, akkor ez az ep128emu-t is érinti, igaz?

Igen :oops: De a többségüknél csak a "nem használt" 3. és 5. bit volt a probléma. A BIT viszont nem jól állította az S és P/V biteket sem, illetve az LDI/CPI/INI/OUTI típusú utasításoknál több hiba is volt (ezek egyébként meglehetősen bonyolult és nem dokumentált módon állítják a jelzőbiteket), például az INI/OUTI változatlanul hagyta a C bitet (így lehetett pl. olyan programot írni, ami emulátoron működik, de igazi gépen nem, mert ott ezek az utasítások elrontják a C bitet).
Egy utasítást nem javítottam ki teljesen: a BIT n, (HL) a 3. és 5. bitet a régebben végrehajtott utasításoktól függően állítja, ezért a javításához sok más utasítást is módosítani kellett volna.
A változtatások kisebb hátránya, hogy a javított utasítások emulációja valamivel lassabb lehet.

Az új verzió mikor lesz letölthetõ?

Talán holnap, ha addig nem találok további hibákat.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #22 on: 2009.October.31. 00:43:15 »
Elkészült az újabb (0.2.0) zx128emu verzió, az újdonságok:
 - .SNA és .Z80 formátumú snapshotok betöltése
 - .TZX formátumú magnó image file-ok betöltése (a részleteket lásd lent)
 - pontosabb lett az emuláció is: a nem dokumentált Z80 jelzőbitek többségét javítottam (a z80tests.tap szerint elég sok hiba volt :oops:), az időzítés is javult (a fusetest.tap nem talál hibát 48K és 128K módban sem :mrgreen:), és változtattam az I/O portok címdekódolásán
 - a szegmensek számozását átrendeztem: a RAM mindig 00h-tól kezdődik, a ROM 80h (illetve 128K-s konfigurációnál 80h/81h), Spectrum 16-on pedig az "üres" lapokra FFh szegmens kerül
 - a debuggerben a disassembler több nem dokumentált Z80 utasítást ismer fel (minden ED prefix, és a DD/FD amikor nincs hatása)

A .TZX emuláció hardware szintű (= lassú betöltés, mint az igazi gépen, tehát az Alt+W használata ajánlott :)). A .TAP-tól eltérően az image file-t a Machine/Tape/Select image file (Alt+T) segítségével meg kell nyitni; ez automatikusan bezárja az esetleg már megnyitott .tap file-t, és a .tzx bezárásáig (Machine/Tape/Close) .tap nem is használható.
A TZX támogatás egyelőre még nem teljes, egyes blokk típusok nem működnek. Az alábbiak hibát eredményeznek, és ha ilyenek fordulnak elő, a file többi részét már nem lehet betölteni:
  ID 15 - Direct recording block
  ID 16 - C64 ROM type data block (deprecated)
  ID 17 - C64 turbo tape data block (deprecated)
  ID 18 - CSW recording block
  ID 19 - Generalized data block
  ID 23 - Jump to block
  ID 26 - Call sequence
  ID 27 - Return from sequence
  ID 28 - Select block
  ID 34 - Emulation info (deprecated)
  ID 40 - Snapshot block (deprecated)
Ezt figyelmen kívül hagyja:
  ID 2A - Stop the tape if in 48K mode
A többi vagy működik (feltéve, hogy a megvalósítás nem hibás :oops:), vagy a figyelmen kívül hagyásának nincs gyakorlati jelentősége.

Az emulátor letölthető innen.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13431
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
    • http://enterprise.iko.hu/
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #23 on: 2009.October.31. 11:13:55 »
Elkészült az újabb (0.2.0) zx128emu verzió, az újdonságok:
:smt038 :smt038 :smt038

Quote
A .TZX emuláció hardware szintû (= lassú betöltés, mint az igazi gépen, tehát az Alt+W használata ajánlott :))
Tudom perverzség  :ds_icon_cheesygrin: de esetleg hangot is lehetne kérni arra az esetre, hanem nyomunk gyorsítást?

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13431
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
    • http://enterprise.iko.hu/
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #24 on: 2009.October.31. 11:41:20 »
És nagyon tetszik a program ikonja (a szürke EP gombra tett ZX)!

Offline nyuzga

  • EP addict
  • *
  • Posts: 2099
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 9.80 Opera 9.80
    • View Profile
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #25 on: 2009.October.31. 11:54:08 »
Elkészült az újabb (0.2.0) zx128emu verzió, az újdonságok:
 - .SNA és .Z80 formátumú snapshotok betöltése
 - .TZX formátumú magnó image file-ok betöltése (a részleteket lásd lent)

 :smt038 :smt026 :smt038 :smt026

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #26 on: 2009.October.31. 13:26:31 »
Tudom perverzség  :ds_icon_cheesygrin: de esetleg hangot is lehetne kérni arra az esetre, hanem nyomunk gyorsítást?

OK, a következő verzióban megpróbálhatom azt is. Az igazi gépen is van hangja a magnós betöltésnek (feltehetően igen, mert ugyanaz a bemenet és a kimenet is egyben) ? :oops:
Addig is átmeneti megoldásként:
Code: Lua
  1. setBreakPoint(5, 0xFE, 3)
  2. function breakPointCallback(t, a, v)
  3.   if t == 5 then
  4.     if AND(a, 0xFF) == 0xFE then
  5.       writeIOPort(0xFE, AND(readIOPort(0xFE), 0xF7) + (AND(v, 0x40) / 8))
  6.       return false
  7.     end
  8.   end
  9.   return true
  10. end
Nem egészen tökéletes a hangja, mert közben a Spectrum kód is írja az FEh portot (keretcsíkozás), és ez megváltoztatja a hangot.
« Last Edit: 2009.October.31. 13:31:31 by IstvanV »

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13431
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
    • http://enterprise.iko.hu/
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #27 on: 2009.October.31. 13:49:43 »
Az igazi gépen is van hangja a magnós betöltésnek
Igen, olyan szép tutulós, amit már többen zeneszámban is feldolgoztak  :lol:
Különösen a screeneknek van egy jellegzetes hangja, fõleg a végén amikor az attributtumokhoz ér. (Ez természetesen az EP-re átírt programokban is meg van, csak 1 oktávval magasabban a nagyobb magnósebesség miatt)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Konqueror 3.5.9 Konqueror 3.5.9
    • View Profile
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #28 on: 2009.November.02. 00:25:37 »
Tudom perverzség  :ds_icon_cheesygrin: de esetleg hangot is lehetne kérni arra az esetre, hanem nyomunk gyorsítást?

Most már van az is (0.2.1 verzió letöltés itt) :)
Két további kisebb újdonság:
 - a 15H ("direct recording") TZX blokk típust is támogatja - ilyen elsősorban emulátorokkal készített magnó felvételnél fordulhat elő
 - a TR (trace) monitor parancs minden utasításnál kiírja az aktuális video pozíciót (X,Y) is

Offline geco

  • EP addict
  • *
  • Posts: 5381
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
Re: zx128emu (Spectrum emulátor ep128emu alapokon)
« Reply #29 on: 2009.November.02. 08:43:08 »
Nagyon jó lett a ZX128emu :), már ki is használtam adottságait a WEC Le Mans átírásánál, igaz, még csak a 0.010-es verziót  :oops: