Welcome, Guest. Please login or register.


Author Topic: Lua Spectrum Emulator (Read 10037 times)

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Lua Spectrum Emulator
« on: 2009.October.03. 18:53:30 »
Lua Spectrum emulátor:
:shock:
Letöltöttem, hátha tudok vele valamit kezdeni.  ;-)
Szerk:
Sajnos semmit.
Terminálból ez a válasz:
lua: zxemu.lua:5: `=' expected near `zxPalette'
Ep28emu debuggerében futtatva sem megy persze.
Ez most még biztos nem az én értelmi színvonalamnak való.  :oops: :oops: :oops:
« Last Edit: 2009.October.03. 20:03:31 by Attus »

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Lua Spectrum Emulator
« Reply #1 on: 2009.October.03. 22:51:22 »
Ha az emulátor Lua 5.0 verzióval vagy Lua nélkül volt fordítva, akkor természetesen nem mûködik.

Az én rendszeremen lua 5.0.2 van és  ezért "természetesen nem mûködik".
Gyanítom, hogy a szkript nem kompatibilis vele.  :(
« Last Edit: 2009.October.03. 22:59:24 by Attus »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Lua Spectrum Emulator
« Reply #2 on: 2009.October.05. 17:01:36 »
Quote from: IstvanV
Lua Spectrum emulátor:
  zxemu.lua
Sok értelme ugyan nincsen, mert a futása közben a debuggert csak nagyon korlátozozzan lehet használni, és egyébként sem sokat tud. Mindenesetre érdekesség, hogy ilyet is lehet készíteni :) Az elején beállítható a betöltendő .tap file neve (talán akadnak olyanok, amelyek működnek is :oops:)

Ezek szerint valóban nem bizonyult hasznosnak vagy érdekesnek :oops:

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Lua Spectrum Emulator
« Reply #3 on: 2009.October.05. 17:12:03 »
Ezek szerint valóban nem bizonyult hasznosnak vagy érdekesnek :oops:
Engem érdekelne, de késõbbre halasztottam. Gentoo -t szeretnék telepíteni hozzá,
 ;-)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14733
  • Country: hu
    • http://enterprise.iko.hu/
Re: Lua Spectrum Emulator
« Reply #4 on: 2009.October.05. 17:23:21 »
Reggel volt még itt egy Kempston-os :-(

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14733
  • Country: hu
    • http://enterprise.iko.hu/
Re: Lua Spectrum Emulator
« Reply #5 on: 2009.October.05. 17:55:55 »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Lua Spectrum Emulator
« Reply #6 on: 2009.October.09. 16:33:52 »
Bár az érdeklődés nem tűnik túl nagynak, de talán érdemes lenne megpróbálni 128K-s változat készítését is ? :idea:

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14733
  • Country: hu
    • http://enterprise.iko.hu/
Re: Lua Spectrum Emulator
« Reply #7 on: 2009.October.09. 16:49:01 »
Érdekes lenne, tanulni belõle az igazi emulátor 128-asításához!

Elvileg ki lehetne belõle hozni azt is, még pár átvágással :-) hogy az FDH portra is reagáljon. bár lennének gondok, de azért talán pár játék menne rajta.

Offline nyuzga

  • EP addict
  • *
  • Posts: 2282
  • Country: hu
Re: Lua Spectrum Emulator
« Reply #8 on: 2009.October.10. 17:38:33 »
Arra már rájöttem, hogy a debuggerböl kell elindítani, de hogy lehet Tape fájlt betölteni? :?:

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Lua Spectrum Emulator
« Reply #9 on: 2009.October.11. 17:01:17 »
Elvileg ki lehetne belõle hozni azt is, még pár átvágással :-) hogy az FDH portra is reagáljon. bár lennének gondok, de azért talán pár játék menne rajta.

A RAM lapozást talán viszonylag egyszerű lenne megoldani a ZX41.ROM-ban, igaz, problémát jelent, hogy bővítetlen 128K-s EP-n nem működne. Ezen kívül elvileg 5 video szegmens kellene (Spectrum 4.-7. lap és LPT szegmens), de ennek csak az időzítés miatt lenne jelentősége, és az EP-s video memória egyébként is lassabb, mint a Spectrumon, tehát a pontos sebességet a szegmens típusától függetlenül nem lehet elérni :)
Nehezebb lehet a video lapozás (5. vagy 7. lap megjelenítése), és valószínűleg bonyolultabb és lassabb is lenne az emuláció, mint a 48K-s verziónál. Magát a lapozást vagy az LPT átírásával (lassú, de a Lua scriptben például így oldottam meg), vagy két LPT-vel és az LPT cím állításával (késve jelenik meg, Spectrumon viszont azonnal ?) lehetne megvalósítani. Az attribútumoknál két konvertált attribútum területre lenne szükség, és a lapozásra is figyelni kellene a konverziónál.
További nehézség az AY emuláció (de ennek a hiányától legalább nem fagynak le a programok, és a kép sem lesz hibás :)). A Lua scriptben az egész AY-t szoftveresen emuláltam hangmintánként (~220 kHz), ez az ötlet EP-n természetesen használhatatlan. Geco emuációját viszont fel lehetne használni, bár nem tudom, az megoldható-e, hogy közben a hagyományos ULA hangkimenet (FEh port) is működőképes maradjon.
« Last Edit: 2009.October.11. 17:04:22 by IstvanV »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14733
  • Country: hu
    • http://enterprise.iko.hu/
Re: Lua Spectrum Emulator
« Reply #10 on: 2009.October.11. 21:10:04 »
két LPT-vel és az LPT cím állításával (késve jelenik meg, Spectrumon viszont azonnal ?) lehetne megvalósítani.
Ebbe már belefutottam egy készülödõ 128-as átirat kapcsán. Spectrumon valóban azonnal történik a váltás, ezt leginkább az oroszok használják ki mindenféle interlace és multicolor effekthez.
EP-n úgy lehet megoldani, hogy a 2 LPT-t úgy kell elhelyezni, hogy a váltáshoz csak felsõ bájtot írjuk az azonnali áttérés bitjével, így az LPT-n belüli pozicíó megmarad, vagyis azonnali lesz a váltás.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Lua Spectrum Emulator
« Reply #11 on: 2009.October.11. 21:56:54 »
EP-n úgy lehet megoldani, hogy a 2 LPT-t úgy kell elhelyezni, hogy a váltáshoz csak felsõ bájtot írjuk az azonnali áttérés bitjével, így az LPT-n belüli pozicíó megmarad, vagyis azonnali lesz a váltás.

Ez biztos, hogy így van ? :shock: Ha igen, akkor újabb emulátor hibát lehet javítani :oops: Nekem eddig úgy tűnt, hogy az LPT-n belüli pozíció nem marad meg, hanem az elejétől kezdi az új LPT-t.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14733
  • Country: hu
    • http://enterprise.iko.hu/
Re: Lua Spectrum Emulator
« Reply #12 on: 2009.October.11. 22:35:13 »
Ha majd gép közelbe leszek, megnézem pontosan, hogy mit alkottam :)
Az biztos, hogy megy ep128emuval és valódi gépen is!
Lehet, hogy csak a címbiteket írom?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Lua Spectrum Emulator
« Reply #13 on: 2009.October.11. 22:37:19 »
[ Guests cannot view attachments ]

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Lua Spectrum Emulator
« Reply #14 on: 2009.October.11. 22:40:20 »
Lehet, hogy csak a címbiteket írom?

Az biztosan működik az emulátorral, de csak a következő képkockában :) Az azonnali újratöltés bit viszont elvileg az új LPT elejére ugrik az emulátorban (az LPB-n belüli sorszámláló azonban megmarad).

Egészen pontosan így működik az emulált 83H port felső két bitje:
 - van két tároló, amelyek az LPT-t vezérlik:
     - az első ha be van állítva a sor végén, akkor az LPB cím frissítése történik (azaz +16 byte, vagy újratöltés) az LPB-n belüli sorszámlálótól függetlenül, de a sorszámláló nem változik, hanem fut tovább
     - ha a második be van állítva a sor végén, akkor a hatása azonos az LPB "reload" bitjének (második byte 0. bit) a beállításával - de az LPT újraindítása itt is csak az LPB cím frissítésekor történhet
 - ha a 83H port 6. bitje 0, akkor mindkét tároló törlődik, és az LPB cím nem változhat (tehát amíg ez a bit folyamatosan 0, addig az aktuális LPB ismétlődik)
 - a 83H port 6. bitjének 0-ról 1-re változása (felfutó él) beállítja a fent említett első tárolót (LPB cím frissítése a sor végén)
 - ha a 83H port 6. bitje 1, a 7. bit pedig 0, az beállítja a második tárolót (LPT újratöltés)
 - a sor végén az első tároló az ellenőrzése után automatikusan törlődik, a második viszont csak akkor, ha a 83H port 7. bitje már 1
« Last Edit: 2009.October.11. 23:07:33 by IstvanV »