Jatkokehitysehdotuksia
v1.0
15.04.96
Yleistä
- Liitäntäriman luvun ja kirjoituksen tehokkuusoptimointi
Liitäntärimassa olisi jäsenfunktioita, joiden avulla prosessorin
ei tarvitse aina tarkistaa kaikkia nastoja vaan ainoastaan tehdä
se silloin kun joku nasta on muuttunut.
- Makefilen käännösoptioista ainakin osa voisi olla ohjelman
pääikkunasta kytkettäviä valintoja.
- Ratoja olisi helpompi tehdä, jos käytössä olisi jokin työkalu
tähän tarkoitukseen.
- Koodinlatausfunktio ei tee tarkistuksia, vaan hyväksyy minkä tahansa syötteen.
Fysiikkamalli
Fysiikkamalli on ensiluokkainen ja tarkoitukseensa nähden miltei liian
hyvä (kood. huom.). Mutta jos haluaa lähestyä täydellisyyttä ...
- Nopeusanturin näkemän sutimisen määrä olisi ehkä mahdollista
määrittää totuudenmukaisemmin kuin nopeudelle moottorivoiman ja
toteutuneen kitkavoiman suhteesta määritettävästä kertoimesta.
Tämä malli taitaa aliarvioida sutimista pienillä nopeuksilla ja
yliarvioida sitä suurilla.
- Kitkavoimien pitäisi olla jotain muuta kuin vakioita, esim. muotoa
a + bv.
- Kolmiulotteinen mallinnus, jotta rataan voidaan määrittää mäkiä ja
hyppyreitä (tottakai!). Tällöin päästäisiin nauttimaan
painonsiirtojen mallinnuksesta.
Käyttöliittymä
Seuraavat lisäykset käyttöliittymään voisivat olla hyödyksi:
- Disassembler.
- Rata-ikkuna skaalautuvaksi. Nyt liian isot radat eivät näy kokonaan
ikkunassa.
- Auton kulkemasta reitistä voisi piirtää jälkeä.
- Mittakaava näkyviin rata-ikkunaan.
- Sitten kun fysiikkamalli ja rata on mallinnettu kolmiuloitteisiksi,
voi myös auton näyttää kolmiuloitteisena. Asettamalla 'kamera'
haluttuun kohtaan pystyisi seuraamaan auton liikkeitä eri
kuvakulmista. Tästä saisi myös hauskan pelin ...
Mikrokontrolleri
- Mikrokontrollerin (varsinkin IO-laitteiden) toimintaa voisi optimoida.
- Reset voisi toimia niin, että se palauttaa prosessorin alkutilaan sen
sijaan, että se toimii niin kuin oikean prosessorin resetointi eli
nollaa vain osan muistista ja rekistereistä.
- ROM-alueen suojaus on nyt käännösoption takana, koska kaikki
c-kääntäjällä käännetyt ohjelmat näyttävät KIRJOITTAVAN alustukset
sinne ja suojaus pysäytti suorituksen heti alkuunsa.
Assembler-kääntäjällä tehdyt ohjelmat toimivat hyvin.
- AD-muuntimen toimintaa voisi vielä testata. Se jäi ajan puutteen takia
vähän vähemmälle, koska sillä ei lopultakaan ole oikeastaan mitään
käyttöä.
- Sarja- ja rinnakkaismuotoisen tiedonsiirron, watchdog-systeemin,
suojattujen kontrollirekisterien toiminnan ym. voisi toteuttaa.
Debuggaus
- Voisi tallettaa lokiin osoitteet, joista on luettu tai kirjoitettu, ja
mitä luettiin/kirjoitettiin.
- Muuttujien nimet voisi laittaa näkyviin, mikä tosin ei ole helppoa,
koska kääntäjän tuottama map-tiedosto muuttujista on eri kääntäjillä
erilainen.
- Lokiosuutta voisi parantaa, nyt lokitiedoston koko kasvaa nopeasti
liian isoksi.
- Breakpoint-algoritmeja voisi optimoida, jolloin ohjelma nopeutuisi.
- Jos käyttäjä antaa monimutkaisemman rekisteriehtolausekkeen palautetaan
käyttäjälle ehdon toteutuessa tieto vain merkkijonossa viimeisenä olleesta
toteutuneesta ehdosta (vaikka koko annettua ehtoa käytetään tietenkin
laskettaessa pysähdytäänkö vai ei). Tämän voisi korjata.
- Rekisteriehtojen toimintaa ei ole testattu tarpeeksi perusteellisesti
virheellisillä syötteillä.