Eternity - 8-bitars spelkonsol
Eternity - 8-bitars spelkonsol
Tyckte det var dags att dela med mig av ett av mina pågående elektronikprojekt.
Nuvarande hårdvara:
Illuwatars ATmega128 utvecklingskort som körs i 20 MHz
3-3-2 bitars R2R kort med VGA anslutning
VGA timing
Gjorde ett "excel" document för att räkna ut klockcyklar för att få rätt VGA timing.
För tillfället är upplösningen begränsad till 120x100 eftersom varje scanline har 480 klockcyklar för pixelrendering, varje pixel kräver 4 klockcyklar, 3 för att läsa från minnet och 1 för output.
Så småningom ska jag använda ett externt bufferminne (128KB) vilket kommer ge mig 2klockcyklar / pixel och därmed dubbla upplösningen. Kommer utöka till 512klockcyklar / scanline och därmed 256 upplösning horizontellt precis som NES.
Framebuffern kommer delas upp i 2 delar så jag kan köra dualbuffering (2*256*256 = 128KB), 16bitars indexering samt en bit för att välja buffer.
Inspirationssidor:
http://www.lucidscience.com/pro-vga%20v ... tor-1.aspx
http://belogic.com/uzebox/index.asp
http://www.xgamestation.com/
/////////////////////////////////////////
//Under uppdatering
/////////////////////////////////////////
Nuvarande hårdvara:
Illuwatars ATmega128 utvecklingskort som körs i 20 MHz
3-3-2 bitars R2R kort med VGA anslutning
VGA timing
Gjorde ett "excel" document för att räkna ut klockcyklar för att få rätt VGA timing.
För tillfället är upplösningen begränsad till 120x100 eftersom varje scanline har 480 klockcyklar för pixelrendering, varje pixel kräver 4 klockcyklar, 3 för att läsa från minnet och 1 för output.
Så småningom ska jag använda ett externt bufferminne (128KB) vilket kommer ge mig 2klockcyklar / pixel och därmed dubbla upplösningen. Kommer utöka till 512klockcyklar / scanline och därmed 256 upplösning horizontellt precis som NES.
Framebuffern kommer delas upp i 2 delar så jag kan köra dualbuffering (2*256*256 = 128KB), 16bitars indexering samt en bit för att välja buffer.
Inspirationssidor:
http://www.lucidscience.com/pro-vga%20v ... tor-1.aspx
http://belogic.com/uzebox/index.asp
http://www.xgamestation.com/
/////////////////////////////////////////
//Under uppdatering
/////////////////////////////////////////
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av G4jm0r 8 juni 2013, 18:38:55, redigerad totalt 5 gånger.
Re: Eternity - 8bitars spelkonsol
Mer
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av G4jm0r 8 juni 2013, 18:16:12, redigerad totalt 1 gång.
- Electricguy
- Inlägg: 12481
- Blev medlem: 15 augusti 2007, 16:52:14
- Ort: Kälmä' typ..
Re: Eternity - 8bitars spelkonsol
Kul att ni gillar det, ska föröka uppdatera förstaposten med så mycket info som möjligt, om det är något specifikt ni undrar över är det bara att fråga på.
Re: Eternity - 8bitars spelkonsol
Så kul !
Lekte lite med med en PIC32, Julen 2 år sedan, och drog ut lite bilder. Hade väl lite samma idé som TS.
BTW rekomenderar PIC32:an (80 MHhz, 512k flash och 128k RAM).
Lekte lite med med en PIC32, Julen 2 år sedan, och drog ut lite bilder. Hade väl lite samma idé som TS.
BTW rekomenderar PIC32:an (80 MHhz, 512k flash och 128k RAM).
Re: Eternity - 8-bitars spelkonsol
Önskar jag hade tid och kunskap att göra något liknande...
Om rubriken är 8-bitars spelkonsol, varför då gå på VGA och 32KHz upplösning? Alla de gamla spelen var ju 15kHz och betydligt lägre upplösning och antal färger.
Hur som helst, ser fram emot att följa framtida utveckling.
Om rubriken är 8-bitars spelkonsol, varför då gå på VGA och 32KHz upplösning? Alla de gamla spelen var ju 15kHz och betydligt lägre upplösning och antal färger.
Hur som helst, ser fram emot att följa framtida utveckling.
Re: Eternity - 8-bitars spelkonsol
Njae..
Det fanns en dator som hette https://en.wikipedia.org/wiki/Commodore 65
Den hade minsann en 8-bit 6502 derativ och skärmupplösning på 1280×200 så att 8-bit inte använde upplösning i klass med VGA stämmer inte riktigt.
Det fanns en dator som hette https://en.wikipedia.org/wiki/Commodore 65
Den hade minsann en 8-bit 6502 derativ och skärmupplösning på 1280×200 så att 8-bit inte använde upplösning i klass med VGA stämmer inte riktigt.
Re: Eternity - 8-bitars spelkonsol
Nåja, att hänvisa till en prototyp, som dessutom inte är en spelkonsol om man skall vara väldigt fyrkantig, är väl inte helt rättvist?
I den generationen så hade alla konsoler/TV-spel en 15KHz bild (dvs ca 250-300 linjers upplösning), kanske mest för att användarna skulle kunna använda befintlig TV. Så var fallet även med de tidiga 16-bitars konsollerna (typ Intellivision) och det var väl först i 32-bitars generationen (typ Dreamcast) man kunde köra VGA...
Många hemdatorer kunde köra högre upplösning, men det krävde i praktiken en monitor.
I den generationen så hade alla konsoler/TV-spel en 15KHz bild (dvs ca 250-300 linjers upplösning), kanske mest för att användarna skulle kunna använda befintlig TV. Så var fallet även med de tidiga 16-bitars konsollerna (typ Intellivision) och det var väl först i 32-bitars generationen (typ Dreamcast) man kunde köra VGA...
Många hemdatorer kunde köra högre upplösning, men det krävde i praktiken en monitor.
Re: Eternity - 8-bitars spelkonsol
Fast han skriver ju att det är 6-bit och 160x100 upplösning, som ska komma att utökas till 256 linjers upplösning. Så jag ser inte vad som är problemet. Att anslutningen går till en VGA-skärm och inte en TV? Upplösningen är ju definitivt inte VGA.
Re: Eternity - 8-bitars spelkonsol
VGA kändes som det enklaste valet, skärmen visar en upplösning på 640x480 @60Hz, det är vad syncsignalerna genererar och det är minimum för VGA om jag inte minns fel. Jag kommer däremot inte uppdatera pixeldatan lika ofta eftersom jag är begränsad av minne och hastighet, förklarade lite slarvigt i första inlägget om begränsningen. Kommer sikta på en upplösning på 256x240 precis som NES, då klarar jag mig med ett 8bitars index och mitt frambuffer minne på 64KB kommer räcka.
Re: Eternity - 8-bitars spelkonsol
Precis, det är stor skillnad på en 15, 24 eller 32 kHz sync-signal. (CGA, EGA, VGA´, om man så vill).
Med lite mer information om själva projektet och dess syfte skulle motverka dessa spekulationerna
För min egen del så spelas "8-bitars spel" bäst på en lågupplöst CRT skärm, men det är så jag vill ha det.
Kan köpa att man väljer andra lösningar om man har andra preferenser eller ser det som ett bättre alternativ av rent praktiska skäl.
De flesta "gamla" upplösningarna kan ju dubbleras och köras inom VGA (256*240 = 512*480, 320*240 = 640*480 osv).
Med lite mer information om själva projektet och dess syfte skulle motverka dessa spekulationerna

För min egen del så spelas "8-bitars spel" bäst på en lågupplöst CRT skärm, men det är så jag vill ha det.
Kan köpa att man väljer andra lösningar om man har andra preferenser eller ser det som ett bättre alternativ av rent praktiska skäl.
De flesta "gamla" upplösningarna kan ju dubbleras och köras inom VGA (256*240 = 512*480, 320*240 = 640*480 osv).
Re: Eternity - 8-bitars spelkonsol
C64 fuskade dessutom med det hemska chippet VIC-II
Den där ATmega 128 verkar ju få jobba helt själv på den biten.

Re: Eternity - 8-bitars spelkonsol
Yes, tanken är att använda en AVR processor för rendering och ljud, och sen en annan processor för spellogik, troligtvis AVR men kanske arduino och isåfall göra video/ljudkortet som en expansion.