[abc80] ROM/RAM-emulering till ABC80 och SD-interface

juhasz at abc.se juhasz at abc.se
Tis Aug 28 01:50:18 PDT 2012


Hej på listan!

Här kommer en liten blänkare om ett projekt som Anders Jansson här på
listan och jag själv håller på med. Anders kontaktade mig i somras och
undrade hur det gått med mina försök att koppla en PIC32 microkontroller
direkt till ABC-bussen. Svaret blev "sådär", eller "timingproblem" och att
projektet låg på is. Vi tog i alla fall upp arbetet igen, och nu med ännu
högre ambitioner: att låta PIC32:an simulera minne kopplat till
ABC-bussen. Nu har vi hållit på och kodat och testat ett tag, och faktiskt
fått fram något som funkar!

För er som kan tänkas vara intresserade finns här en länk till ett
snapshot av projektet. Det är ett MPLAB-projekt, och allt är verkligen i
testfas än så länge, men det kan vara kul att kolla in för den
intresserade.

http://juhasz.se/abc80/abcbus/testing

Kolla in README.txt i projektbiblioteket.

Vi simulerar alltså minne, vilket kräver att man svarar på en interrupt
från /XMEMFL-ledningen inom ca 250 ns för att Z80:n ska kunna köra sin
M1-cykel vid 3 MHz. För det krävdes en handoptimerad interruptrutin i
assembler, som Anders knåpat ihop. Väldigt snyggt måste jag säga - det
görs ingen context switching att tala om utan interruptrutinen använder
bara PIC32-register som man kan ändra på utan att krascha något.

Jag själv har kodat ihop lite av backenden på PIC32:an och en
ABC-devicedriver som läggs in i det simulerade minnet. Denna, som
kommunicerar via minnesmappad I/O gör det möjligt att använda ett sd-kort
med FAT-filsystem som en drive (SD0:) i sin ABC80. Rätt smidigt! Fördelen
är att man kan lägga nästan hur mycket filer som helst där, men nackdelen
är att man inte kan köra ABCDOS och en del program som pratar direkt med
diskdrivarna/DOS. En framtidsplan är dock att simulera I/O också och göra
en mer direkt hårddiskemulering också, men där är vi inte riktigt än....

Som sagt, alltihop är under testning än så länge, så det är ingen färdig
lösning, men vi ser ganska stora möjligheter, speciellt som vi löser
ROM-biten och SD-interfacebiten i ett svep.

Konceptet borde också gå ganska lätt att överföra till andra Z80-baserade
datorer eller andra "långsamma" processorer som 6502 eller 6809... Vi har
heller inte sett några liknande projekt på nätet.

Hälsningar

Robert


More information about the ABC80 mailing list