Welcome, Guest. Please login or register.


Author Topic: Assembly programozás (Read 199664 times)

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #870 on: 2015.January.20. 06:54:07 »
Na, kerestem FM-et. A zilog Z80 CPU User Manual 2014-es kiadását dobta ki elsőnek az internet. A pdf 28. oldalán (is) van erről szó. Egyrészt azt írja, hogy HALT alatt NOP-okat hajt végre a CPU, ami meg nem egy órajel, tehát 1 ciklus pontossággal nem fog tudni ebből az állapotból kilépni.

Na ja, tehat max 1 M-state, es nem T ... Meg mindig pontosabb lenne, mint a 13 (vagy mennyi igy fejbol) "normal" interrut eseten.

Quote
Aztán meg azt is írja, hogy a kilépéshez NMI kell, vagy INT és engedélyezett interrupt.

;-(

Offline IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
Re: Assembly programozás
« Reply #871 on: 2015.January.20. 12:13:09 »
az a baj ezekről csak igazi ep-n lehetne eldönteni a minőséget
pc-n ügye a hangkártya feljavítja

Nem a hangkártya javítja fel, hanem EP-n az egyszerű ellenállásos D/A konverter rontja el. :) Igaz ugyan, hogy EP-n nincs megfelelő aluláteresztő szűrő, de ez 62.5 kHz mintavételezési frekvenciánál nem akkora probléma, mert 31.25 kHz felett kellene szűrni, amit egyébként sem lehet hallani. A szűrő hiányát valamennyire emulálni lehet 192 kHz-es kimeneti frekvenciát beállítva.

Mindenesetre érdemes lenne kipróbálni ezeket a hangmintákat valódi gépen, ha valakinek van 2-4 MB-ra bővített gépe IDE vezérlővel. Emulátoron ezek 8 bithez hasonló minőségűek, de ennek az az ára, hogy nagyon zajosak 20 kHz körüli frekvencián (amit a legtöbben nem vagy csak kis mértékben hallanak). Az EP hangkimenetének a torzítása miatt a zaj egy része a jól hallható tartományba kerülhet.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14083
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #872 on: 2015.January.20. 12:16:23 »
Az EP hangkimenetének a torzítása miatt a zaj egy része a jól hallható tartományba kerülhet.
Magyarán az a kérdés, hogy van-e valami jól hallható minőségromlás?

Offline geco

  • EP addict
  • *
  • Posts: 6316
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 31.0 Firefox 31.0
    • View Profile
Re: Assembly programozás
« Reply #873 on: 2015.January.20. 13:10:04 »
Magyarán az a kérdés, hogy van-e valami jól hallható minőségromlás?
Sztem igen, bár én arra tippelek, hogy a hozzánk hasonló botfülűek nem nagyon vesznek észre semmit :D

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14083
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #874 on: 2015.January.20. 13:30:46 »
a hozzánk hasonló botfülűek nem nagyon vesznek észre semmit :D
Én is ettől tartok :oops:

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #875 on: 2015.January.25. 21:50:39 »
Van-e vmi "egyszeru" mod arra, hogy "kinyerjem" az EXOS (sw text80 mode) es Nick (hw text40) mod altal hasznalt karakterkeszletet, es sajat celjaimra hasznaljam egy programban? Az eddigi egyeduli kisse suta megoldas, hogy megnezem a $BFF4 cimen az EXOS LPT-t, aztan az elso LPB-bol (az elvileg a statusz sore ha minden igaz pl) kihamozom az LD2-bol a cimet, hogy hova rakta le a vram-ba, ide-oda tologatom, megfelelo vram szegmenst belapozom, aztan vegre masolhatom is (de pl eshet szegmenshatarra? mert akkor arra is kell figyelnem). Ennel egyszerubb megoldas nem letezik? Kene pl arra, hogy sajat karakterkirako rutint irjak (EXOS-on at nemikepp lassu lenne) grafikus modban, es ugy gondoltam, kisebb programmeretet eredmenyez, ha run-time "lenyulom" a karakterkeszletet, mintha a programom tartalmazna egyet, feleslegesen, amikoris az EP-ben ugy is van ...

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14083
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #876 on: 2015.January.25. 21:56:09 »
Csak azt kell megnézni, hogy EXOS 2.0 vagy 2.1+
2.0-ban B680h, 2.1-től B480h a kezdete (ha a rendszerszegmens a 2. lapon van).

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #877 on: 2015.January.25. 22:08:54 »
Csak azt kell megnézni, hogy EXOS 2.0 vagy 2.1+
2.0-ban B680h, 2.1-től B480h a kezdete (ha a rendszerszegmens a 2. lapon van).

Hat ez szuper, koszi. Csak ugye en mindig aggodom, ha EP-n fix cimeket akar az ember hasznalni (volt erre rossz pelda mar ...), mert ki tudja nem lesz-e mas, ha pl van EXDOS/nincs EXDOS (vagy rendszegmensbol utana foglal o csak), stb. De ha ez meg nem is all, mi lesz a kesobbi EXOS verziokkal? :) Vagy szerinted kar ennyit rianyalnom, es nyugodt szivvel hasznaljam az altalad adott modszert, es akkor tuti? :) Illetve, ez mindig ott van, akkor is, ha nincs video lap stb megjelenitve (EXOS altal) semmi? Mert en azert is akartam tulbonyolitani, mert felteteleztem, hogy pl video csati nyitas, megjelenites utan foglal csak esetleg memoriat es masolja ki a rom-bol a vram-ba, de akkor ezek szerint ez nem igaz?

Btw, EXOS altal ch256 mod nincs is hasznalatban egyaltalan, tehat csak 128 karakteres keszlet van benne 9 pixel magassaggal, as nem? Nekem ez a feltetelezesem ...

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14083
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #878 on: 2015.January.25. 22:16:25 »
Ez fixen ott van, és igen csak 128-as.

Offline szipucsu

  • EP addict
  • *
  • Posts: 9185
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Assembly programozás
« Reply #879 on: 2015.January.26. 12:13:13 »
Van-e vmi "egyszeru" mod arra, hogy "kinyerjem" az EXOS (sw text80 mode) es Nick (hw text40) mod altal hasznalt karakterkeszletet, es sajat celjaimra hasznaljam egy programban?
Itt a wikin alul van erre egy basic program. Assemblyben is biztos valahogy így kell, csak kicsit másképp. :D
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 IstvanV

  • EP addict
  • *
  • Posts: 4825
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 34.0 Firefox 34.0
    • View Profile
Re: Assembly programozás
« Reply #880 on: 2015.January.26. 16:53:52 »
Hat ez szuper, koszi. Csak ugye en mindig aggodom, ha EP-n fix cimeket akar az ember hasznalni (volt erre rossz pelda mar ...)

Csak dokumentált fix címet használó, de kevésbé egyszerű megoldás: a BFF4h címről olvasható az EXOS LPT kezdőcíme a 2. lapon, az első LPB pedig mindig a státuszsor 128 karakteres módban:

Code: ZiLOG Z80 Assembler
  1.         ld      hl, (0bff4h)
  2.         set     2, l
  3.         set     1, l
  4.         ld      h, (hl)
  5.         xor     a
  6.         sra     h
  7.         rra
  8.         ld      l, a
  9.         res     6, h

Ez feltételezi, hogy a karakterkészlet az FFh szegmensen van a 2. lapon.

Offline lgb

  • EP addict
  • *
  • Posts: 3555
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #881 on: 2015.January.26. 20:18:53 »
Csak dokumentált fix címet használó, de kevésbé egyszerű megoldás: a BFF4h címről olvasható az EXOS LPT kezdőcíme a 2. lapon, az első LPB pedig mindig a státuszsor 128 karakteres módban:

Igen, pont ezt akartam csinalni en is :) Csak szoget utott a fejembe, hogy nincs-e vmi egyszerubb amde dokumentalt mod, ahogy az LPT cimere is van (es amugy ha jol ertem, "elvileg" - persze lehet pont ez a nem dokumentalt! - az LPT elott van a charset pont, tehat csak le kell vonni 9*128=1152 -ot). Bar mondjuk lehet, tulaggodom: valszeg' "hivatalos" uj EXOS kevesbe fog megjelenni, ha meg fog, az pl Zozotol lesz, aki majd figyel ilyenekre, hogy ez maradjon ahogy volt :-P

Offline endi

  • EP addict
  • *
  • Posts: 7305
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 39.0.2171.95 Chrome 39.0.2171.95
    • View Profile
    • Honlapom
Re: Assembly programozás
« Reply #882 on: 2015.January.26. 20:20:09 »
kéne egy függvény könyvtárat csinálni ami ilyesmi adatokat kiad
basic-hez is jól jönne, már nagyon poke-olni akarok :)
Vigyázat! Szektás vagyok! :)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 14083
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #883 on: 2015.January.26. 20:24:14 »

Offline Povi

  • EP addict
  • *
  • Posts: 2120
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 35.0 Firefox 35.0
    • View Profile
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #884 on: 2015.February.02. 14:43:50 »
Na igen. Amugy Z80-ra is van hasonlo trukk, hogy legalabb ne teljesen off-topic legyen. Ha csak ritkan kell veletlenszam,akkor az R regiszter segithet tovabb randomizalni, mivel azt azert nehez megjosolni, hogy mi lesz benne, ha kozben lefut a fel vilagegyetem cimu kodreszlet, meg feltetelek stb vannak benne ... Nyilvan ha mondjuk minden masodik utasitasnal kell veletlenszam akkor az R egesz jol kiszamithato :)

Ja, én  a Spectris-ben (spectrumról átírt 1kB-os Tetris klón) használtam az R-regisztert véletlenszám-generátorként, nem is jött be... :-) Ugye 7 különböző alakzat van, fogtam az R értékét, kinulláztam a felső 5 bitet, és ha nulla volt az eredmény, akkor újra vettem az R-t. Így volt egy "véletlen számom" 1-7 között. Meg is látszik a játékban, hogy baromira nem lett jó így, mert sokkal gyakrabban kapok "Z" formát, aminek 1 a kódja, mint a többi elemet. :-)
*** Speicherplatz zu klein