Welcome, Guest. Please login or register.


Author Topic: Lua scriptek fejlesztése (Read 34420 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 45.0 Firefox 45.0
    • View Profile
Re: Lua scriptek fejlesztése
« Reply #90 on: 2016.June.03. 18:34:06 »
Egy olyan lua script érdekelne, ami megmondja, hogy egy adott címen hányszor van a PC 1 mp alatt...

Code: Lua
  1. addr = 0x0030
  2.  
  3. insCnt = 0
  4. prvX, prvY = getVideoPosition()
  5. slotCnt = 0
  6.  
  7. function breakPointCallback(t, a, v)
  8.   local x, y = getVideoPosition()
  9.   local d = x - prvX
  10.   if d < 0 then
  11.     d = d + 57
  12.   end
  13.   slotCnt = slotCnt + d
  14.   prvX = x
  15.   if (t == 0 or t == 3) and a == addr then
  16.     insCnt = insCnt + 1
  17.   end
  18.   if slotCnt >= 889846 then
  19.     slotCnt = slotCnt - 889846
  20.     mprint(insCnt)
  21.     insCnt = 0
  22.     return true
  23.   end
  24.   return false
  25. end

A program futását a Step gombbal kell folytatni a Continue helyett. Az időtartamot a 889846 érték módosításával lehet változtatni.

Offline Povi

  • EP addict
  • *
  • Posts: 1964
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 46.0 Firefox 46.0
    • View Profile
    • http://povi.fw.hu
Re: Lua scriptek fejlesztése
« Reply #91 on: 2016.June.04. 06:08:28 »
köszi, működik!

a szép kerek 889846 érték hogy jött ki?
*** Speicherplatz zu klein

Offline geco

  • EP addict
  • *
  • Posts: 5655
  • Country: hu
  • OS:
  • Linux / Sony Ericsson SK17iv Linux / Sony Ericsson SK17iv
  • Browser:
  • Safari 4.0 Safari 4.0
    • View Profile
Re: Lua scriptek fejlesztése
« Reply #92 on: 2016.June.04. 09:24:27 »
Nem a Nick sebessege annyi? Most sajnos emun nem tudom megnezni

Offline lgb

  • EP addict
  • *
  • Posts: 3534
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 46.0 Firefox 46.0
    • View Profile
    • http://lgb.hu/
Re: Lua scriptek fejlesztése
« Reply #93 on: 2016.June.04. 10:55:18 »
köszi, működik!

a szép kerek 889846 érték hogy jött ki?

Az elvileg a Nick "slot-ok" szama egy masodperc alatt, ha jol remlik. Amin belul a Nick mindig 2 byte-ot kepes olvasni ugye. Mindhati a "slot frekvencia" 889846 Hz :) Ha jol tippelek, max felbontasban (ket szinu mod) 16 pixelt kepes ebbol megjeleniteni, igy ezt 16-al szorozva: 14237536Hz, szoval 14 egesz valamennyi MHz, ami a pixel/dot clock. Ennek a felet (ha jol tudom) hasznaljak egyes turbos megoldasoknal, ami igy kb 7.1MHz-je jon ki.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13681
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 47.0 Firefox 47.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Lua scriptek fejlesztése
« Reply #94 on: 2016.August.22. 14:40:32 »
István! Tudnál segíteni, hogyan lehetne lapozható ROM-ot csinálni Spectrum módban?
Odáig világos, hogy beolvasni a ROM fájlt egy nagy tömbbe, amiből aztán a lapozás és a cím alapján ki lenne keresve az aktuálisan olvasandó bájt.
Az hogyan oldható meg, hogy a CPU át legyen verve, és az adott bájtot olvassa, nem amit amúgy olvasna a memóriából?


Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 45.0 Firefox 45.0
    • View Profile
Re: Lua scriptek fejlesztése
« Reply #95 on: 2016.August.22. 17:55:19 »
Az hogyan oldható meg, hogy a CPU át legyen verve, és az adott bájtot olvassa, nem amit amúgy olvasna a memóriából?

Ez nem tudom, megoldható-e emulátor módosítás nélkül. :oops: Esetleg ha csak 48K-s Spectrum módban kellene, akkor futhatna 128K-s módban és ott emulálhatná a lapozást, de az is meglehetősen korlátozott. Talán még az EP-s Spectrum emulátor script továbbfejlesztése lehetne megoldás, ott legalább szabadon használható a DAVE memória lapozása. :)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13681
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 48.0 Firefox 48.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Lua scriptek fejlesztése
« Reply #96 on: 2016.August.22. 18:27:18 »
Ez nem tudom, megoldható-e emulátor módosítás nélkül. :oops:
És bonyolult módosítás kéne? Talán csak annyi kéne, hogy legyen olyan memória írás a LUA-ban, ami ROM-ba is tud írni. (És akkor lapozásnál be lehet írni az új tartalmat.)

Egyébként erről a cuccról lenne szó. Felmerült, hogy ha már ott az a nagy ROM IC, megcsinálni, hogy pár játék onnan induljon. Gondoltam egyszerűbb lenne ha a ROM-ból töltőt tudnám tesztelni emulátoron :-)


Offline szipucsu

  • EP addict
  • *
  • Posts: 8476
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 77.0 Firefox 77.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Lua scriptek fejlesztése
« Reply #97 on: 2020.July.02. 09:27:33 »
Lehet vajon olyan LUA scriptet írni, ami az aktuális karaktermátrixot kiírja egy .chr fájlba? Így mindenféle játék karakterkészletét ki lehetne így nyerni (amelyik nem külön fájlból tölti be a karakterkészletet, mert ahhoz alapból könnyű hozzáférni) és később szabadon felhasználni. Ha jól sejtem, több játék (pl. Cybernoid) használ négyszínű karaktereket betűkhöz, számokhoz, és többféle betűkészlet is van. De pl. a Dot Collectorból a pacman és a szörnyek alakját kiszedni is érdekes lehet, bár azok kétszínűek.
Nem tudom, Asmonnal mennyire lehet nehéz megtalálni egy gépi kódú programban a karakterkészletet átíró részt. Hallás alapján sokszor van szerintem a magnófüttyben a fájl legvégén, talán Spectrum átiratoknál.
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13681
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 77.0 Firefox 77.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Lua scriptek fejlesztése
« Reply #98 on: 2020.July.02. 09:46:52 »
EXOS karakterkészlet mentése nem lenne gond. Még az olyan sem lenne nehéz, ami saját, de rendes karakteres módot használ az LPT-ben.
Viszont a játékok saját karakterkészletét csak kódvisszafejtéssel lehet megtalálni. Meg kell találni a kiíró rutint, és ott meg lesz az adatkupac címe, és formátuma is kiderül. (Sok játék nem is tartalmaz teljes készletet, hanem pl. csak nagybetűk, számok, meg pár írásjel.) Ezt külön kell ASMON-ban nézegetni, vagy ep128emu debugerben. Pl Spectrumos játékokban lehet úgy neki kezdeni, hogy a Spectrum Világban vagy más kiadványokban ismertetett karakter kiíró rutinok kódjára rákeresni.

Offline szipucsu

  • EP addict
  • *
  • Posts: 8476
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 77.0 Firefox 77.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Lua scriptek fejlesztése
« Reply #99 on: 2020.July.02. 11:38:56 »
Viszont a játékok saját karakterkészletét csak kódvisszafejtéssel lehet megtalálni.
Akkor azt nem lehet úgy kinyerni, hogy amikor megy a játék, elindítani egy LUA scriptet, és úgy elmenteni a karaktermátrixot?
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13681
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Lua scriptek fejlesztése
« Reply #100 on: 2020.July.02. 11:44:47 »
Akkor azt nem lehet úgy kinyerni, hogy amikor megy a játék, elindítani egy LUA scriptet, és úgy elmenteni a karaktermátrixot?
Az a probléma, hogy nem lehet tudni hol van az a karaktermátrix. EXOS alatt lehet tudni. Ha az LPT-ben használ karakteres módot a program, azt ki lehet onnan szedni.
De ha a programban csak úgy valahol van, azt nem lehet kívülről tudni, csak ha el kezded elemezni a programot, hogy melyik része mit csinál.
Úgy képzeld el, mintha a BASIC programban látnál egy rakás DATA sort. Ahhoz, hogy értsd mire valók, meg kell keresni azt a részt ami felhasználja.

Offline szipucsu

  • EP addict
  • *
  • Posts: 8476
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 77.0 Firefox 77.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Lua scriptek fejlesztése
« Reply #101 on: 2020.July.02. 13:47:41 »
Az a probléma
Arra gondoltam, hogy mint amikor basic programban átírunk karaktereket a set character utasítással, utána akár töröljük is a programot, és a karakterek megmaradnak. És utána magukat a karakterek alakjait mentjük el. (Azok mindig ugyanott vannak, de azt hiszem, EP 64-en valahol máshol vannak.) Tehát a karakterkészletet. Ezt sem lehet gépi kódú programoknál? Azok nem azt a karakterkészletet írják át?
100 SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
110 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
120 SOUND PITCH 25,SYNC 2
Videos

Offline ergoGnomik

  • EP lover
  • *
  • Posts: 922
  • Country: hu
  • Stray cat from Commodore alley
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Opera 12.18 Opera 12.18
    • View Profile
Re: Lua scriptek fejlesztése
« Reply #102 on: 2020.July.02. 17:04:26 »
Azok nem azt a karakterkészletet írják át?
A gépi kódú programok szempontjából nincs olyan, hogy a karakterkészlet. A program szükségleteitől függően akár több karakterkészlet, akár elvetemülten összekevert formában is tárolódhat, tetszőleges helyen a videó RAM-ban. Amit csak a program elemzésével lehet kideríteni, hol van a NICK memóriájában.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13681
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Lua scriptek fejlesztése
« Reply #103 on: 2020.July.02. 19:57:12 »
A gépi kódú programok szempontjából nincs olyan, hogy a karakterkészlet. A program szükségleteitől függően akár több karakterkészlet, akár elvetemülten összekevert formában is tárolódhat, tetszőleges helyen a videó RAM-ban. Amit csak a program elemzésével lehet kideríteni, hol van a NICK memóriájában.
Itt a a lényeg, hogy nagy valószínűséggel nincs is a videó memóriában!
Az csak egy adatkupac bárhol a memóriában, amit a karakter kiíró rutin felhasznál. Az fogja kikeresni a karakterkód alapján ebből a kupacból, hogy milyen bájtokat kell beírni a grafikus memóriába.

Offline ergoGnomik

  • EP lover
  • *
  • Posts: 922
  • Country: hu
  • Stray cat from Commodore alley
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Opera 12.18 Opera 12.18
    • View Profile
Re: Lua scriptek fejlesztése
« Reply #104 on: 2020.July.03. 06:06:35 »
Az hittem karakteres képernyőmódok vonatkozásában merült fel a kérdés.