Welcome, Guest. Please login or register.


Author Topic: Enterball (Read 48393 times)

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 47.0.2526.111 Chrome 47.0.2526.111
    • View Profile
    • Honlapom
Re: Enterball
« Reply #225 on: 2016.January.29. 00:16:35 »
Valóban, bár a szintek nem lineárisak, az emulátorban ezeket az értékeket használtam:

0: 0
8: 4342
16: 43690
24: 45590

azért az durva hogy ennyi év után tudom meg hogy nem 1 bites a specy :D
bár ezeket az értékeket nézve 2 bitnek se nevezhető, inkább 1.5 :) vagy még kevesebb...
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
Re: Enterball
« Reply #226 on: 2016.January.29. 18:06:59 »
Esetleg lehetnének EP-s frekvenciák is, bár ez a Spectrum felhasználók számára valószínűleg nem lenne ismerős (bevezetőjel: 2400 Hz, 0 bit: 2000 Hz, 1 bit: 3000 Hz; ezek kerekített értékek).

Ezzel valamennyit gyorsulna is a betöltés, a specball.tap EP formátumban mentve (tapeedit) csak 3:50.4.

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 47.0.2526.111 Chrome 47.0.2526.111
    • View Profile
    • Honlapom
Re: Enterball
« Reply #227 on: 2016.January.29. 18:17:46 »
már megint ötletem van, lassan új topik kell nekik :)
szóval magnó töltés-mentést miért nem sztereóban csinálták? 2x-es sebességet el lehetett volna érni?
persze ehhez sztereó magnó is kell...
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
Re: Enterball
« Reply #228 on: 2016.January.29. 18:43:09 »
persze ehhez sztereó magnó is kell...

1 csatorna egyszerűbb és olcsóbb. :) Sztereó jelet 8 bites processzorral valószínűleg nehezebb is lenne feldolgozni.

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 47.0.2526.111 Chrome 47.0.2526.111
    • View Profile
    • Honlapom
Re: Enterball
« Reply #229 on: 2016.January.29. 19:00:08 »
1 csatorna egyszerűbb és olcsóbb. :) Sztereó jelet 8 bites processzorral valószínűleg nehezebb is lenne feldolgozni.

de vajon a cpu limit volt vagy a magnó szalag?
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
Re: Enterball
« Reply #230 on: 2016.January.30. 21:20:44 »
Turbósított és tömörített betöltésre tett próbálkozás Spectrumon (emulátoron működik, de az időzítéseken lehet, hogy még állítani kellene):

* zxloadm3.s (5.62 kB - downloaded 119 times.)
* test.tzx (3.72 kB - downloaded 88 times.)
* tapeenc.cpp (3.88 kB - downloaded 84 times.)    (epcompress forráskód kell a fordításához)

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Re: Enterball
« Reply #231 on: 2016.January.31. 09:37:51 »
Ez durván turbósított :D, hány baudos a töltési sebesség? Viszont az a furcsa, hogy hangzás alapján 2x olyan gyors, mint a speccy töltési sebessége, és mégis majdnem annyi idő alatt tölti be a 4k-s blokkot, mint a normál EP töltés, úgy emlékszem jó hosszú bevezetőjellel volt 16mp, itt 13 mp alatt töltődik be rövid bevezetőjellel.
Ránézésre egyszerűbbnek tűnik a töltö rutin kódja, mint a speccys ROM loader :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
Re: Enterball
« Reply #232 on: 2016.January.31. 09:59:25 »
Ez durván turbósított :D, hány baudos a töltési sebesség? Viszont az a furcsa, hogy hangzás alapján 2x olyan gyors, mint a speccy töltési sebessége, és mégis majdnem annyi idő alatt tölti be a 4k-s blokkot, mint a normál EP töltés, úgy emlékszem jó hosszú bevezetőjellel volt 16mp, itt 13 mp alatt töltődik be rövid bevezetőjellel.

A sebesség kb. azonos az EP-vel, 0 bit = 2000 Hz, 1 bit = 3000 Hz, átlagosan (50-50% 0 és 1 bit) 2400 baud, azaz 300 byte/s. Az EP-hez képest gyorsulást eredményez, hogy nincsen sok kis blokk hosszú bevezetőjelekkel, és tömörített az adat. A Spectrum ROM-ban a 0 bit 2046.8 Hz, az 1 bit pedig 1023.4 Hz. Lehet, hogy a "turbós" betöltőben érdemes lenne 2000/4000 Hz-et használni, vagy más értékeket 2:1 aránnyal, így ugyan nagyobb a frekvencia, de nagyobb az eltérés is a bitek időtartama között, ami javíthatja a megbízhatóságot.

Quote
Ránézésre egyszerűbbnek tűnik a töltö rutin kódja, mint a speccys ROM loader :)

Ez a jelenlegi blokk formátum:

500 x D2h byte (nem a legjobb megoldás bevezetőjel céljára :oops:)
8Bh byte
blokk azonosító (2 byte, az alsó 8 bit az első), a betöltő ezt keresi (DE-ben megadott érték a rutin hívásakor)
blokk méret (N, 2 byte)
CRC kezdőérték (2 byte, az algoritmus hasonló az EXOS-ban használthoz, az adatblokk betöltése után CRC = FFFFh-nak kell lennie)
adatblokk (N byte)
5 x D2h byte
1.5 másodperc szünet

Az adatblokk az epcompress -raw -m3 kimenetéhez hasonló formátumú, de az első két byte (tömörített méret) nélkül.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
Re: Enterball
« Reply #233 on: 2016.January.31. 19:23:26 »
* specbal2.tzx (20.22 kB - downloaded 95 times.)    (1:25)

Forrás file-ok:

* specball.s (11.09 kB - downloaded 91 times.)    (talán még nem tökéletes, a töltés időzítései azonosak az előző verzióval)
* tapeenc.cpp (6.6 kB - downloaded 91 times.)    (epcompress forráskód kell a fordításához)
* compress.cpp (7.98 kB - downloaded 98 times.)    (javított epcompress forrás file, az eredeti hibát eredményez az újabb GCC verziókkal)
* specball.scr (6.75 kB - downloaded 96 times.)    (4000h-5AFFh: betöltőkép - a szintjelzőt egyszerű villogtatással oldja meg :oops:)
* specball.128 (4.5 kB - downloaded 94 times.)    (C000h-D1FFh: AY zene)
* specball.prg (40.17 kB - downloaded 89 times.)    (5BE8h-FC91h: főprogram, kisebb módosításokkal az indításnál)

A TZX készítése:
sjasm specball.s specball.bin
tapeenc specbal2.tzx SPECBALL specball.bin 0x4253 specball.scr 0x42D3 specball.128 0xC2D3 specball.prg


"RLE" verzió, rosszabb tömörítés, de a hang "zenei" hatását kevésbé rontja el. A betöltőn lehetett volna egyszerűsíteni, de itt ugyanaz, mint a maximális tömörítésű változatnál.

* specbal3.tzx (33.08 kB - downloaded 95 times.)    (2:13)
* tapeenc_rle.cpp (6.73 kB - downloaded 91 times.)

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux / Sony Ericsson SK17iv Linux / Sony Ericsson SK17iv
  • Browser:
  • Safari 4.0 Safari 4.0
    • View Profile
Re: Enterball
« Reply #234 on: 2016.January.31. 21:20:45 »
Mar nem fert bele a gepidobe az eredeti loaderes villogtatas?
Egyebkent a toltesi ido magaert beszel :-)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: Enterball
« Reply #235 on: 2016.January.31. 23:45:24 »
Mar nem fert bele a gepidobe az eredeti loaderes villogtatas?

Elvileg beleférhetett volna, csak a keretcsíkozás egyszerűbb volt. :oops:

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Re: Enterball
« Reply #236 on: 2016.February.01. 08:39:30 »
Elvileg beleférhetett volna, csak a keretcsíkozás egyszerűbb volt. :oops:
Megértem ;)

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Re: Enterball
« Reply #237 on: 2016.February.01. 10:54:51 »
Nekem a tömörítéssel nem volt kedvem szórakozni, pedig eccerű lett volnabetöltés után csak simán kicsomagolni, csak nem volt kedvem 4Ks darabokra szétszedni a csomagolt file-t, ami úgyszint egy ötperces munka, ráadásul láttam, hogy zipelve 20K a program, úgy túl rövid lett volna a töltési idő :D, annyira nem mélyedtem bele a csomagolásba, mint te :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 39.0 Firefox 39.0
    • View Profile
Re: Enterball
« Reply #238 on: 2016.February.01. 11:22:27 »
Én nem daraboltam 4K-s blokkokra, a legnagyobb blokk (a főprogram tömörítve) egyébként is csak 12843 byte. Ennyivel is egyszerűbb lehetett a betöltő. :) Azzal a megoldással is próbálkoztam, hogy a specball.scr és specball.128 egy blokkban legyen, ami néhány másodperccel rövidítette volna a betöltést, viszont külön tárolva hamarabb jelenik meg a betöltőkép, ezért maradt az a verzió. A tömörítést epcompress -m2 formátumra cseréltem, így néhány száz byte-ot még meg lehetett takarítani, és előnye még, hogy a tömörített adatot a szabad memória végére lehet tölteni és onnan kicsomagolni. Érdekesség, hogy a byte sorrend fordított, ami még egyszerűsített egy keveset a betöltőn (FD87h-tól lefelé tárolja a beolvasott adatot, és a decompressData hívásakor az IX regiszterben már a kezdőcím van).

--------------------

Szerk.: lehetséges bug ? Nekem ilyen még nem fordult elő, talán csak Spectrumon jelentkezik (pl. R regiszteres véletlenszám generálás és eltérő időzítés miatt), de eddig ott sem láttam ilyen hibát.
« Last Edit: 2016.February.01. 12:02:06 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 38.0 Firefox 38.0
    • View Profile
Re: Enterball
« Reply #239 on: 2016.February.01. 13:26:37 »
4K-s darabok voltak eredetileg és villogó téglalap, hogy EP-szerű legyen a töltés, úgyhogy csak a módosított programot préseltem be a TZX-be, és módosítottam a betöltőt, hogy az új blokkot is betöltse. :)