GÖR en VOLYMETRISK projektor från skräp (3 / 7 steg)
Steg 3: programmering
Jag inser att jag hoppade över delen av bygga maskinen.Det är skräp, så varför skulle du göra det på samma sätt?
Detta är en kort beskrivning av programmet i engelska pseudokod:
1. RESET
Finns det någon användbar data i RAM?
Om inte, kopiera demo animeringen från ROM till RAM.
2. läsa listan animering ram och Visa nästa bildruta.
(Kopiera RAM i lysdioderna)
undantag: Frame 00 betyder gå till den sista bildrutan, FF innebär att gå den första bildrutan.
3. vänta för sync, sedan går du till steg 2
SYNC avbrott: som ovan, gå till steg 2
SERIELL INGÅNG AVBROTT:
Bara lagrar data i en buffert och fortsätta som förut om det inte är en retur, sedan lyda den.
Dataformat: 0 thru 9 och en thru F är hex. Vanligtvis kan lagras i RAM-minnet.
små bokstäver är kommandon...
r-kalla startar... kopia demo från ROM till RAM-minnet (testning)
en - följt av hexadecimala data från 01 till 3F som representerar animera bildrutesekvens, plus 00 för behålla sista bilden och FF för loop
d - följt av en hex byte, ram som ska visas
f - följt av en hex byte, ram att skriva data till
i - identifiera aktiv enhet på RS - 232C port, svarar med "Q" som godtyckligt betyder "KUBEN" (test)
HEX DATA - vanligtvis representerar en ny ram för 3D bitmapp, bekvämt upphör varje rad med en avkastning,
eftersom det innehåller en 2D 3D bitmapp ramen. Vissa kommandon markera bildrutor av den följande hex byten.
Många animationer, especailly rotera symmetriska objekt, kan animera i så få som 3 ramar, och efter ramar är
laddat upp, kommandot "en 01 02 03 00" Starta animeringen.
En lösning av volymetriska projektorn är för närvarande 16 x 16 x 16 = 4096 bitar = halva kilobyte,
så ca 62 ramar av 3D-bild animering passar i 32K.
Frame noll är uppdelad i animation sequence lagring och seriella bufferten, och ett kommando för att
Visa Frame noll kommer att tolkas som "Pausa animering, Visa aktuella bilden tills vidare"
Det är alla verkligen så enkelt som steg 1,2,3 och programvaran i ROM är mindre än 1K, och utrymmet som ROM innehåller
en demo-bild så att som alltid bör fungera även utan att vara ansluten till en dator.
En lång "3D TV show" kan strömmas in i den, eftersom den kan hämta en sak och spela en annan samtidigt.
Alla animeringar för denna volymetriska projektor genererades snabbt med hjälp av ett program skrivet i BASIC på mindre än en timme.
Frågor?