Delphi a emulace historického HW - dsp-emulator

vložil Radek Červinka 3. listopadu 2024 20:57

Mám rád historické počítače a konsole. Na některých jsem začínal, jiné mám doma (pár historických konzolí a počítačů jsem v průběhu času koupil) ale u spousty mohu jen z dálky pokukovat.

Dlouhodobě se zajímám o emulaci a tak dnes chci představit open source, multi HW emulátor, kompletně v Delphi: DSP emulator.

Emulátor emuluje nespočet klasických arkádových automatů, několik konsolí (např. NES, GameBoy Color, Megadrive) a počítačů (ZX Spectrum včetně 128, Commodore 64, Amstrad CPC, Oric).

Ze seznamu je jasné, že zvládá emulaci několika různých CPU (kromě mé srdeční Z80 je to např. m68000 a další).

Console select

Velká pečlivost je věnována právě ZX Spectru, kdy i AY hudba zní tak jak si ji pamatuji - ono většina emulací AY má společné kořeny. Takže moje srdcovka od Fuxoftu zní tak jak má.

Tetris 2 Fuxoft

Zdrojáky se dají přeložit s aktuální verzí Delphi a jsou celkem dobře čitelné.

Projekt

Jak je možné, že to podporuje tolik arkád? Hodně z nich je postavených na stejných procesorech, a když už máte emulaci jednoho CPU, tak ho použijete i jinde, takže např. BombJack ma Z80 jako hlavní, druhou Z80 jako sound procesor + 3x známou AY8910 (třeba právě ze ZX Spectra 128).

iniciar_video(256,224);
//Main CPU
z80_0:=cpu_z80.create(4000000,264);
//Sound CPU
z80_1:=cpu_z80.create(3000000,264);
z80_1.change_io_calls(snd_inbyte,snd_outbyte);
z80_1.init_sound(bombjack_update_sound);
//Sound Chip
ay8910_0:=ay8910_chip.create(1500000,AY8910,1);
ay8910_1:=ay8910_chip.create(1500000,AY8910,1);
ay8910_2:=ay8910_chip.create(1500000,AY8910,1);

Pro zájemce je zde popis HW arkádové verze BombJack, když už jsem to nakousl.

Emulátor je nejen pro nadšence starých her, ale i pro ty, koho zajímá právě starý HW, a jak tehdejší konstruktéři musejí kolikrát použít špinavý trik pro dosažení výsledku. A to mne baví. Takže neváhejte.

Tagy: , , , ,

Komentáře

4.11.2024 13:07:17 #

Jiří Vráždil

Díky😀

Jiří Vráždil

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců