Kisszámítógép
Túllévén a már elmesélt előző kisszámítógép történetén, komolyabb továbbfejlesztésekre adtam a fejemet. Az előző verzió sok gyermekbetegséggel küszködött. Az átláthatatlan és javíthatatlan drótgubanc helyett egy átlátható jól javítható kontrukciót akartam. Így nem volt kérdés, a legközelebbi számítógépemet nyomtatott áramkörre terveztem.
Itt is megtartottam a 8085ös processzort. Suliban ezt tanultuk részletsen, persze hogy ezt építettem bele. Meg amúgy is tetszett nekem. De már az általa maximálisan címezhető 64kBájt memóriát kapott. Ebbe már ó nagy programokat lehet írni, komolyabb játékokat is. Persze viccesen hagozhat egy 8bites 6MHz-ez géptől a "komoly" játék kifejezés. Pedig szerettem volna videójátékokat is írni rá.
A készülék moduláris. És még jelenleg is csak deszkamodellszerű állapotban van: Én olyan Apple MAC féle monitorral billentyűzettel egybeépített gépet képzeltem volna el végső stádiumként. De erre nem volt már idő. Ez a számítógép az utolsó műveim közé tartozott mielőtt kiléptem a "nagy életbe" ahol már nincs szabadideje az embernek barkácsolni. Vagyis még a mai napig barkácsolok csak egy egész ház összebarkácsolása tán már nem nevezhető szimplán barkács-hobbinak, az már életküldetés része.
Ilyentájabn ismerkedtem meg más processzorokkal. PL PIC meg ATMEL processzorokkal. Az PIC olcsósága miatt tetszett meg, a piac legolcsó mikrokontrollere. Ebből akartam a péztárcámhoz mérhető felbontású képmegjelenítőt megalkotni. Egyszerűen a PIC mikrokontroller három lábát felhasználva az egyik a képszinkron, a másik a sorszinron, harmadik meg a világosságjelet állítaná elő. A világosságjel csak a képpont be illetve kikapcsolására korlátozódna. Egybites színmélység. Ennyi bőven elég lesz nekem egyszerű tetsris szerű játékok írására.
Később szereztem egy FPGA nagysebességű (800MHz) Spartan egységet amiből később lecseréltem volna már színes nagyfelbontású grafikusra a képmegjelenítést. A képcső is megvolt hozzá, egy mini orosz színes képcső amiből lett volna a monitor hozzá. De erre már nem került sor, csak a tetris szerű fekete-fehér megjelenítés valósult meg.
Ekkoriban első PC-met birtokolva azt is kezdtem kiismerni. Kicsit játszottam vele néha DOS-os programokkal, de engemet sokkal inkább a ROM-BIOS sötét gépi titkai érdekeltek jobban. Örömömet abban leltem hogy kinyertem és visszafejtettem a ROM chip tartalmát. Ennek a tudásnak a felhasználásával sikerült a kisszámítógépemhez Winchester perifériát is illeszteni. Erről boot-olódott a már saját magam írta pici operációs rendszer. Pontosan úgy mint az igazi számítógépekben. Elkezdtem egy FAT fájlrendszer olvasó részt is írni a kis OS-embe, de végül nem fejeztem ezt be. Csak nyersen olvasta be az egymás utáni szektorokat és töltötte be a memóriába mindenféle fájl-struktúra nélkül.
A kísérlet csak addig jutott hogy a betöltődő OS automatikusan magával húzta a kis játékomat is a Super Lövő-t és el is indította. Ezt persze valami fájlkezelős indításúra írtam volna meg tovább de ez elmaradt.
A PIC mikrokontroller azon kívül hogy folyamatosan rajzolta a pixeleket a képernyőre egyéb más feladatokat is ellátott, de csak a kép és sorviszafutás idején. Amíg rajzolt ki egy sort a képernyőre, a proci teljes gőzzel a pixelek rajzolásán ízzadt. Amikor a képcső nyalábja visszafutott a sor vagy kép elejére, akkor tudott foglalkozni a winchesterrel, a soros porttal, a hanggenerálással, nyomógombokkal. És a fő perifériájával a 8085-ös processzorral. Betöltéskor a PIC perifériájaként működött a 8085ös processzor. Mivel indláskor a 8085ös processzor RAM memóriájában nincs program, ezért a PIC veszi át az irányítást és egy pici programmal feltölti a 8085 ös rendszer memóriáját. Kb 200bájtos programot küld át. Ezután a PIC és a 8085 között a szerep felcserélődik, és a 8085 programja elindul, a PIC meg vezérlő szerepből átlép periféria szerepbe.
A 8085 a PIC felé kéréseket irányíthat. PL winchestert olvassa ki, írjon, olvasson a soros porton, olvassa be a nyomógombokat, írjon üzenetet az LCD kijelzőre, vagy monitoron pixeleket állítson be, adjon hagot.
Erre egy speciális busz van fenntartva, hogy a hardver kommunikáció lejátszódhasson a két processzor között. A PIC mint egy periféria processzor működik itt, maga a PIC rövidítés is ezt jelentette elsősorban: Peripherial Interface Circuit.
A játék amit írtam rá, egy eygszerű játék, le kell lőni egy mozgó járművet a képernyőn.
Sok ötletem merült fel a továbbfejlesztésére. Különféle perifériákkal bővítettem volna. Mint említettem, színes grafikus kijelzőt akartam volna készíteni hozzá FPGA-ból vagy CPLD-ből. Erre már nem volt időm, el kellett költöznöm otthonról 120km-rel nyugatabbra a fővárosból miután befejeztem az összes sulit és munkába álltam. Azóta meg nem foglalkoztam vele.
És végül vége is lett életem eddigi legbonyolultabb hobbi projektjének,... gondoltam magamban mire kaptam az élettől egy egész házat felújatani/átépíteni a nyakamba...
Dokumentációk, kapcsolási rajzok:
Operációs rendszer folymatábrája
PIC és I8085 processzorok közötti kommunikáció
PIC és I8085 processzorok közötti kommunikáció
PIC16F877A processzor perifériakártyája
PIC16F877A processzor perifériakártyája
I8085 proceszoros központi egység kártyája
I8085 proceszoros központi egység NYÁK rajza (felső)
Központi egység memóriájának bekötése
Kártya közi csatlakozók bekötései
PIC16877A proceszzorral megvalósított periféria vezérlő
PIC16877A proceszzoros központi egység
Periféria egység vázlata és a szoftver folyamatábrája
Periféria egység és az LCD kijelző
Teendők listája és a gombok funkcióterve
A teljes rendszer összeállítása előtti lista
By Bognár András (2015)