Bygga pingvin spel systemet
Ja, är detta ett projekt som driver en 8-bitars ATMega32 mikrokontroller till gränserna.
Som ni gissat från titeln, är det ett spelsystem. Här är några av specifikationerna:
* 27MHz överklockade (från 16MHz) AVR ATmega32 mikrokontroller , med 32KB flash, 2KB RAM. Jag tror du kan också använda en ATMega644.They har den samma Stifttilldelningar. Jag har inte personligen provat med en atmega644.
* 128 x 64 monokrom KS0108 baserade display
* 4 röst ljud motor: (Låter samma som NES)
* 2 variabel volym fyrkantsvåg kanaler.
* 1 DDS (direkt Digital syntes) våg tabell kanal med fast volym, som kan spela: sinustoner, triangel vågor, Sawtooth vinkar, fyrkantsvågor eller någon annan enkel vågform.
* 1 DDS vitt brus kanal (i princip samma som den första våg tabell kanalen, men här använder ett vitt brus wave bord).
* Rambuffert baserade grafikdrivrutinen: (Penguin använder en grafikdrivrutin som är mycket avancerade jämfört med övriga grafiska bibliotek hittar du på mikrokontroller med KS0108 LCD )
* Instant färgeffekt inversion
* Övergångar
* Text ritning
* Sprite ritning med fast höjd 8 och X skalning (snabb)
* Sprite ritning med fast höjd 8 med både X och Y skalning (långsam)
* Vektorgrafik med rotation
* Geometriska former ritning: triangel, rektangel, cirkel (utan fyllning efter former)
* Flera bakgrunden ritning (för transparenta bakgrunder)
*Draw_pixel(x,y) funktion (ganska självförklarande...)
Drivrutinen använder 1KB RAM för rambuffert, och har ca 30 FPS med en genomskinlig bakgrund, ljud-motorn körs och 50 sprites på skärmen.
Det finns ingen bakgrund gräns, sprite limit eller något liknande. Det enda dåligt är att om du vill rita för mycket grejer, det blir långsammare och långsammare. Vektor grafikfunktioner använder ett eget format som genereras av ett verktyg som du hittat i kategorin "Verktyg" i detta instructable.