Category archives for "8 bit today"

Bitter Swede Symphony (C64 zenelemez iTunesban)

Dane, a Booze Design Commodore 64 democsapat zenésze/grafikusa kiadott egy zenelemezt. A dolog érdekessége, hogy Dane a felvételt nem csak egy C64 lemez formájában adta ki, hanem megvásárolhatjuk az iTunes boltból is €8,99.-ért. Én így tettem és most ezt hallgatom. (Természetesen a C64 változat letöltése és hallgatása ingyenes. Aki nem hallott volna még róluk, az egyik legmenőbb demócsapat most C64-en, itt van egy örök klasszikus demójuk.)

Pixel csak pontosan, szépen

A svéd Arne Niklas Jansson elkezdett írni egy tutorialt arról, hogyan érdemes pixelrajzokat csinálni. Mint mindenki, ő is az Amiga Deluxe Painttel kezdett pixelezgetni annak idején, mára viszont már egy népszerű illusztrátor és pixelartist – ő csinálta a Humble Indie Bundle 2. artworkjét például. Kiemeltem néhány jellemző dolgot én is:

1. Rajzoljunk követ:

Jól látható, hogy a profik a jobb oldali változatot csinálják, extra textúrát is képesek belevinni kevés színnel. Az agyatlan sakktáblázás egyértelműen a toy kategória.

2. Antialiasoljunk:

Emlékszem a VGA megjelenésével tonnaszám jöttek PC-n a bal oldalihoz hasonlító, szintén toy, megoldások. Rémes. Ellenben Arne bemutatja, hogy lehet ezt kulturáltan és jól csinálni.

3. Paletta:

Annak idején ez is típushiba volt: generáltak valami színátmenetet (color ramp), aztán abból építkeztek. Pedig ugyanazt kevesebb színből, de kézzel jól összerakott palettával sokkal szebben és kifejezőbben is meg lehet csinálni.

Arne állítása szerint épp csak elkezdte a tutorialt csinálni, de szét lehet még nézni a website-ján is. Érdekes fickó, ilyen magányos zseni képem alakult ki róla. Jól illusztrálja ezt az is, hogy átrajzolta a Super Mario Land GB gyakorlatilag összes assetjét (!), illetve az, hogy az Oracle/Seasons Zelda sprite-okat (!) átrajzolta (!!) az eredeti Zelda NES stílusába mondván, az az igazi.

/via @tomszechy

Wizard of Wor JS

Tóth Krisztián újraírta a böngészőben játszható Wizard of Wort:

A régi játéktér fix méretű volt, és egyaránt tartalmazott canvast és HTML megoldásokat vegyesen. Ezt egy teljesen dinamikus canvas váltotta fel. Mindig a böngészőablak aktuális méretéhez és tájolásához igazodik. Ha kicsi a kijelző, akkor a C64 keretét is elhagyja, had látszódjon több a pályából. Az optionsben be lehet kapcsolni a teljes képernyős nézetet is. Ajánlom ezt a funkciót, ha igazán bele akarsz merülni a gamingbe.

További nagy adag C64 játékátirat itt, a Wizard of Wor pedig erre. Nálam csak Chrome alatt röffent be, irányítás körször gombok, tűz: Enter.

/via @ern0plus4

30 évvel később sikerült feltörni a legnehezebb C64 másolásvédelmet

Az 1985-ös “SpiraDisc” nevű másolásvédelmet Jim Drew törte fel 2013. május 27-én. A művelet összefoglalójáról a Lemon64 fórumon adott hírt. Ez a másolásvédelem annyira bonyolultnak bizonyult, hogy az eredeti lemezeket senki nem tudta annak idején lemásolni vagy sokszorosítani. A C64 Preservation copy protection összefoglalójából:

“SpiraDisc” This protection name hails from the Apple ][ and isn’t exactly the same, but similar. (…) The data on the first 14 tracks or so are written half on the regular track, and half on the next half-track, all aligned perfectly. The game loads by stepping out to track 1, beginning the load, then stepping a half track at a time all the way in until the game is loaded. If any deviation in time from where it expects the data to be and when is found, it fails.

Drew ezt írja:

Tracks 10, 10.5, and 11 contain valid data that was written WHILE the head was stepping. So, the data (which is 10 x 512 bytes long) is written on an ‘arc’ as the disk spins and the head steps between tracks 11.0->10.5->10.0->10.5->11.0.

A dolog attól bonyolult, hogy a programkódot olvasva nem derül ki, mi történik a háttérben:

Looking at the actual code really doesn’t tell you the story about how the stepper motor responds when told to step. The step does not occur immediately, and the step duration is whatever the 1541’s stepper motor timing is. No other stepper motor will work for reading (or writing).

Drewnek úgy sikerült rájönnie, hogyan működik pontosan, hogy egy szintén saját fejlesztésű SuperCard Próval mágneses polarizáció szintjén nézte működés közben a lemezt. Ez a legelemibb formája a mágneslemeznek, gyakorlatilag fizikailag látni, mi történik a felületén. Közel 30 évvel ezelőtt még nem volt ilyen fejlett a technológia.

Egy LordCrass nevű felhasználó szintén részt vett a törésben, ő ezt írja:

There are numerous decryption and checksum routines, but the main decryption routine is quite interesting, using the drive’s timers, illegal opcodes, and the decryption routine self-modifying while it runs. All of the decryption adds up to about 50% of the total time it takes to load the program.

Hogy ki készítette ezt a másolásvédelmet? Charles Leborgne nevű programozó, aki egy saját fejlesztésű “21 Second Backup” nevű másolóprogramjánál szintén felhasználta a védelmet. A másolóprogram ezzel a csodálatos nyitóképernyővel örvendeztette meg a felhasználóját:

A VG Data Shack kiadásában jelent meg, így nézett ki a borítója:

Korabeli hirdetés:

Egy játék került kereskedelmi forgalomba ezzel a másolásvédelemmel, a szintén 1985-ös “Bounty Bob Strikes Back!” című platformer, íme a teljes végigjátszás:

Aki esetleg azt kérdezné magában, hogy hogyan lehet mégis az, hogy elterjedt a játék, illetve a másolóprogram egy ilyen bonyolult másolásvédelem ellenére, a válasz meglehetősen egyszerű: a másolásvédelem gyakorlatilag csak azzal foglalkozik, hogy a szoftvert beolvassa mindenféle körülményes módon a lemezről, utána pedig kicsomagolja. Ezek után a program a memóriába kerül, onnan pedig viszonylag egyszerű már lementeni. Az eredeti hordozót nehéz csak másolni.

Csütörtökön itt a Karateka classic

Jordan Mechner:

Karateka Classic is coming to the App Store and Google Play this Thursday. It’s not a remake, not a port, but a faithful pixel-perfect emulation of the original Apple II game, with Olivier Goguel’s ActiveGS emulator running my 6502 assembly language code, graphics, and my dad’s music.

Az emulációt illetően színes CRT módot, zöld, vagy borostyán monitort és 5,25-ös lemez emulációt is kapunk majd, mindezt 1 dollárért. Csak én lennék azon a véleményen, hogy ennek az eredeti játéknak a remake-ben lenne a helye?

/via @fboldog

Apple-1 emulátor Commodore 64-en

Az Apple-1 volt az eredeti Apple “számítógép”, amit Steve Wozniak 1976-ban készített, ami tulajdonképpen egy alaplapból állt. A hobbista felhasználónak kellett működőképessé tennie, mégpedig úgy, hogy maga adta hozzá a házat, tápot, bekapcsoló gombot, billentyűzetet és a kompozit videójel megjelenítésére képes monitort. Gyakorlatilag valami Raspberry Pi nevű dolgot kell elképzelni – csak éppen 666,66 akkori dolláros áron. Az eredeti alaplap hirdetéséből kiderülnek a pontos technikai részletek is:

Aleksi Eeben, a finn CNCD demócsapat codere és zenésze most elkészítette az Apple-1 számítógép portját C64-re. Ennek a használati útmutatójából:

It emulates the 40×24 monochrome display, 7×8 character cells (280×192 pixels), pixel- perfect Signetics 2513 character generator, instant 50/60 Hz hardware scrolling and an ASCII keyboard. It mimics somewhat sufficiently the PIA interface chip functions and it’s almost as fast as the original. Apple-1 was introduced the year I was born. This emulator was programmed 37 years later on a Mac.

Az alábbi fantasztikus programokat is megtaláljuk a csomagban, amit az Apple annak idején árult:

MASTERMIND.300
LUNAR LANDER.300
BLACKJACK.E2B3
HAMURABI.E2B3
STARTREK.E2B3

Szépen futnak ezek, a Hamurabi egy BASIC programocska, itt a forrása. A Mastermind pedig egy assembly-ben írt Woz “Number guessing game” játék eredetileg, ami a Dr. Dobb’s Journalban jelent meg 1976-ban. Szkennelt PDF itt.

Macre létezik egy remek Apple-1 emulátor, amivel mindezt kényelmesebb módon próbálhatjuk ki, ennek a neve OpenEmulator:

Sajnos a projekt fő fejlesztője elhagyta a projektet 2012 végén, azóta csak néhány felhasználó sajnálkozik a hivatalos listán. Én nem is töltöttem le, valószínű, hogy Mountain Lionon problémák léphetnek fel. Végezetül ezzel az Apple-1 Steve Jobs ASCII arttal zárnánk a posztunkat:

RetroMiner

Egy fickó írt egy Bitcoin miner programot NES-re. Picit bonyolult a dolog, mert a NES-nek nincs ugye internetre kinéző interface-e, így befelé az adatot mindig egy ROM image-ben kell bejuttatni, kifelé meg egyszerűen zölden vagy pirosan villant, amit egy webkamera képét analizáló szoftver értékel ki. Rádadásul az SHA256 hashing eljárásnak 32 bites műveletekre van szüksége, viszont van belőle egy nyílt forrású implementáció, ami lefordul 6502-es architektúrára – őrület.

Azt sem hittem volna, hogy a NES miner oldalán fogom elolvasni az egyik legjobb összefoglalóját a miningnek:

Bitcoin mining is a process of getting recent bitcoin transaction data from the global bitcoin p2p network, concatenating a random nonce value, SHA256 hashing it twice, checking to see if the resultant hash has a more than a particular number of leading zeros, and relaying positive results back out to the bitcoin network.

Sokat lehetne még fejleszteni rajta, például átírni az egészet assembly-be, de lehet, hogy ez a projekt elég értelmetlen ahhoz, hogy bárki még többet foglalkozzon vele. Mindenesetre az jól látszik, hogy embereknek milyen érdekes és értelmetlen kattanásai vannak. 🙂

/via @neo_21670

Hétvégi programajánló: retro video- és kvarcjáték kiállítás

Most hétvégén a budapesti XV. kerületi Csokonai Művelődési Házban (ami még mindig magán hordozza a nyolcvanas évek mikroklubjának hangulatát) reggel 10-től 18 óráig az 5. videojáték kiállítása kerül megrendezésre. SakmaN:

A tárlat a 70-es évektől az ezredfordulóig tartó korszak számítógépeit, videojátékait és kézben fogós masináit vonultatja fel a teljesség igénye (és főleg lehetősége) nélkül. A korai kvarcjátékok és fekete fehér TV-focik mellett játéktermi videojátékok, 8 és 16 bites hobbiszámítógépek, kazettás és CD-s játékkonzolok lesznek megtekinthetők, ÉS KIPRÓBÁLHATÓK! A kiállítás igen fontos része, hogy az ismertebb konzolok és hobbigépek közül jó néhány MŰKÖDŐ állapotban a látogatók rendelkezésére áll!

A sok régi darab mellett több arcade játéktermi videojáték is bemutatásra kerül. A belépő igen baráti: felnőtt 800 forint, gyerek 500, család 1600. Az esemény Facebook lapja itt, hivatalos plakát az összes infóval erre.

Hogyan játszik egy számítógép régi NES játékokat?

Őrületesen aranyos projekt: egy fickó írt egy algoritmust, ami bármilyen NES játékot megpróbál végigjátszani az alapján, hogy egy hús-vér ember miket csinál, milyen inputokat ad egy játéknak. A videó 16 perc hosszú, ennyi ideje senkinek nincs, ettől függetlenül erősen javaslom mindenkinek, hogy szánja rá az időt, mert csak úgy van értelme.

Döbbenetes eredmények jönnek ki és egészen elképesztő volt számomra az, hogy látni lehet, hogy “tanul” a gép, illetve az “intelligenciáját” hogyan használja. Olyan dolgokat csinál, amit egy ember soha nem csinálna, mégis olyan eredménnyel, amire egy ember soha nem lenne képes. Például két játékban is felfedez bugokat (!) és ki is használja őket rendesen. Rettenetesen sokat nevettem.

A projekt honlapja itt, white paper itt.

OpenEmu hamarosan

MacRumors:

Open Emu is an open source project to bring game emulation to OS X (…) leveraging modern OS X technologies such as Cocoa, Core Animation and Quartz [and] based on a modular architecture, allowing for game-engine plugins, this means Open Emu can support a host of different emulation engines and back-ends while retaining a familiar OS X native front-end. (…) Version 1.0 of the software will include support for several 16-bit systems, including the Game Boy, Game Boy Color, Game Boy Advance, Game Gear, NeoGeo Pocket, Nintendo Entertainment System, Sega Genesis, and Super Nintendo, among others.

Ez valami olyasminek tűnik, amit én is szívesen fogok a gépemen tárolni.