Sunday, January 27, 2013

NCB85

Keď som sa rozhodol hrať so SmallC bolo mi jasné, že budem potrebovať niečo, kde by som mohol overiť vygenerovaný kód. Nazrel som do šuflíku so skromnými zásobami súčiastok. Mal som jeden SAB8085, dve 8155, dve SRAM 128kB, asi 5 EPROM 27128, dve 74LS373, nejaké 8255, jednu 8253 a kopec 7400, 7490A a podobne. Hneď som začal kresliť schému. Cieľ bol jednodoskáč, ktorý by využil čo najviac súčiastok zo šuflíka. Mal vedieť načítať Intel HEX file a spustiť ho. Nechcel som niečo na univerzálke, pretože som uvažoval nad dvoma kusmi.

Ešte nikdy som nenavrhoval vlastné PCB. Pre istotu som sa radšej obrátil na Jirku http://www.nostalcomp.cz/ncb85.php. Odhovoril ma od dynamickej rekonfigurácie pamäte, za čo som mu veľmi vďačný. Výsledkom je jednoduchý dekodér adries vyskladaný zo 7432. V rámci šetrenia počtu čipov som uprednostnil 8155 oproti kombinácii 8255 s 8253.

Software pre NCB85 je bohatší ako som plánoval. Ako prvý som napísal zamýšľaný jednoduchý shell s LOAD, JUMP, DUMP, SET, MOVE, COPY príkazmi. V dnešnej dobe PC už nemá asi veľký zmysel používať tool chain priamo na 8-bite. Oveľa pohodlnejšie je robiť cross development. Preto je takýto jednoduchý shell dostačujúci. Program v assembleri alebo C sa napíše a preloží na PC a spustí na NCB85.

Lenže jedného dňa som natrafil na MON85 od Dave Dunfielda. Po prečítaní dokumentácie mi bolo jasné, že Dave myslel dopredu. Portácia na NCB85 spočíva v úprave pár riadkov. MON85 umožňuje debugovanie a trasovanie programu, nastavenie breakpointov, prezeranie a modifikáciu obsahu registrov a pamäte. Ďalej výpis pamäte v HEX alebo v disassemblovanom formáte. Ovládanie portov pomocou príkazov IN a OUT. A aby toho nebolo málo, Roman Bórik tento monitor ešte vylepšil http://blog.borik.net/2012/01/upraveny-monitor-pre-ncb85.html. Roman ale neostal len pri MON85. Ako skúsený CP/M guru, preportoval CP/M na NCB85.

Ďalšia stránka kde je NCB85 popísané je u Martina na 8-bity.cz http://www.8bity.cz/2011/ncb85-single-board-computer/