Frispel

sedan 2001

DMD info

Sonar

  • Hero Member
  • Hero Member
  • *****
    • Antal inlägg: 2937
    • Visa profil
Har suttit och klurat lite på hur dmd infon är uppbyggt och lagrat i romen. Har kikat på Bofhs sida men har fortfarande ett par funderingar.

Det verkar som om de lagras som bitmaps, eller? Lagras animationen som en Sekvens av bitmaps med andra ord? Vilken "refreshrate" är det, dvs hur många bitmaps per sekund.

Bofh eller någon annan som sitter och ruvar på info om detta och annat om DMD så får ni gärna skriva av er lite här.


wpcmame

  • Full Member
  • ***
    • Antal inlägg: 100
    • Visa profil
  • Stad: Huddinge
Vilken DMD menar du? Det fungerar lite olika beroende på vilken tillverkare.

Alla tillverkare använder olika sätt att lagra informationen beroende på hur de kommunicerar med DMD:n.

Alla har de dock det gemensamt att de måste lagra bilderna så "snålt" som möjligt eftersom de har begränsat med minne. Stern har ju en egen CPU för DMDn så de kan använda ganska avancerad komprimering (vet dock inte om de gör det) medan WMS använder den vanliga CPUn och därför måste se till att det går snabbt att kopiera bilderna till DMDn.

I WMS ROM ligger i stort sett alla bilder lagrade som rena bitmaps. Dock är bilderna  ofta uppdelade i små objekt. Både för att spara plats och göra det enklare att animera.

Uppdateringsfrekvensen på DMDn är runt 350Hz men animeringarna använder ofta väldigt låga frekvenser (10-20Hz). Eftersom DMD:n bara är 128x32 "pixlar" så finns det ingen anledning att animera fort.


Sonar

  • Hero Member
  • Hero Member
  • *****
    • Antal inlägg: 2937
    • Visa profil
Inser nu att jag kanske var lite otydlig, syftade på williams WPC.

Så de lagras i flera del bitmappar, misstänkte det, men alltså en bild (ett objekt på dmdn d.v.s.) kan bestå av flera bitmaps också?

Hur funkar animationen rent praktiskt, är den kodad på ett unikt sätt för varje spel, eller är är det någon standard för williams wpc. Jag menar måste man tolka programkoden för att veta hur en dmd sekvens ska se ut för ett visst spel eller står det som data eller nåt nånannanstans?

Krångliga frågor blir det. Men intressant är det.


wpcmame

  • Full Member
  • ***
    • Antal inlägg: 100
    • Visa profil
  • Stad: Huddinge
Lite bakgrund.

En bild på DMDn består oftast av pixlar med olika intensiteter. De olika intensiteterna uppnås genom att man snabbt slår på/av dioderna. För WMS fungerar det så här:

Varje bild består av två bilder, låt oss kalla dem A & B. Varje gång DMD:n uppdateras så växlar den mellan bilderna enligt följande mönster AABAABAAB....
Detta innebär att en punkt som är aktiv i både A&B kommer alltid att vara tänd och således ha 100% instensitet.
En punkt som bara är aktiv i A kommer att vara tänd 2/3 av tiden och således ha en intensitet på 67%. På samma sätter kommer en punkt som bara är aktiv i B att ha 33% instensitet.

Som du förstår så blir det knepigt att hitta bilderna i ROM eftersom bilderna A & B var för sig troligen ser konstiga ut.

När det gäller animationer så styrs de i de flesta fall helt och hållet av programet. Det finns hela tiden en process som sköter vad som skall visas på DMDn. Denna process fungerar oftast så här:

Rita Frame 1
Vänta en stund
Rita Frame 2
...

"Rita Frame" kan innebär allt från att kopiera en hel bitmap till att flytta nåt litet objekt en pixel åt höger.


Tags: diod DMD  rom   cpu