Re: Moderkort som mikrokontroller mini proj i egen tråd.
Postat: 24 oktober 2012, 23:13:58
Tips om du får datorn att starta utan grafikkort:
MODE COM1: 9600,n,8,1 obs den här raden är jag osäker på
CTTY COM1:
Detta gör att de rena doskommandona (och editorn EDLIN från dos upp till version 5, går att köra under dos 6) kan köras med en terminal (t.ex. pc ansluten med nollmodem och körande terminalprogram) mot COM1.
OBS att detta funkar INTE med program som själva hanterar skärm och tangentbord, d.v.s. det funkar bara med t.ex. enklare dos-kommandon.
INT 20 ingår i DOS, de lägre INT-numren finns i BIOS-rom'et.
Angånde ISA-platserna så har de alla adresser och all data, samtidigt, kan man säga.
När datorn kör ditt assemblerprogram så skickar processorn först ut adressen till din första instruktion och minnet lägger ut instruktionens kod på databussen, processorn tar emot instruktionens kod och kör den, och då kanske den laddar in data i nåt register och då skickar processorn ut adressen till den datan och minnet skickar tillbaka den datan. Allt detta, ihop med en klase kontrollsignaler (som t.ex. säger om processorn vill läsa eller skriva) skickas bland annat ut på ISA-bussen.
En paralellport består i stort sett av dels en krets som tittar på adressbussen och känner igen om rätt adress finns där, och då säger den kretsen till en annan krets att "lyssna av" databussen och lagra vad som ligger på databussen. Det lagrade skickas sen hela tiden ut på paralellportens datapinnar. OBS, detta är något förenklat, dels använder paralellporten inte en enda utan ett par adresser, dels har den även ett par ingångar förutom utgångarna, och dessutom ingår det läs/skrivsignaler och port/minne-styrsignaler å lite annat jox åxå).
Det absolut minsta du behöver för att bygga en egen I/O-port ansluten mot ISA-bussen är en komparator t.ex. 74xx688 och antingen en styrbar buffer (t.ex. 74xx244) för inport eller en d-vippa (t.ex. 74xx273 om jag inte minns numret fel) och ett par till kretsar.
Kolla på sidan D-25 i den här PDF'en, det är schemat på originalparallellporten i en "ur-PC":
http://www.retroarchive.org/dos/docs/ibm5160techref.pdf
En bild på kortet:
http://www.c-reset.com/images/ibmprt2.jpg
Det här är ungefär vad du behöver för att bygga en egen port för ISA-bussen själv. Skillnaden är att idag bygger man inte adressavkodning med 74LS30, 74LS86, 74LS02 utan med 74xx688 eller liknande.
(Om man har ett sånt kort så kan man i princip bygga till det så att man får två åttabitarsutgångar till genom att bara hänga på två till 74LS374'or på samma sätt som U4 fast med 2Y1 och 2Y3 istället för 2Y0 från U6, fast det är väl ingen som idag moddar ett sånthär vintagekort idag)
Förresten, är du säker på att du inte har nåt grafikkort i burken? Det brukar vara 9-polig DSUB och kanske 1-2 RCA-kontakter, och kanske en paralellport, på de gamla grafikkorten. RCA-kontakten kan funka att koppla till video in på en vanlig TV (oftast NTSC).
MODE COM1: 9600,n,8,1 obs den här raden är jag osäker på
CTTY COM1:
Detta gör att de rena doskommandona (och editorn EDLIN från dos upp till version 5, går att köra under dos 6) kan köras med en terminal (t.ex. pc ansluten med nollmodem och körande terminalprogram) mot COM1.
OBS att detta funkar INTE med program som själva hanterar skärm och tangentbord, d.v.s. det funkar bara med t.ex. enklare dos-kommandon.
INT 20 ingår i DOS, de lägre INT-numren finns i BIOS-rom'et.
Angånde ISA-platserna så har de alla adresser och all data, samtidigt, kan man säga.
När datorn kör ditt assemblerprogram så skickar processorn först ut adressen till din första instruktion och minnet lägger ut instruktionens kod på databussen, processorn tar emot instruktionens kod och kör den, och då kanske den laddar in data i nåt register och då skickar processorn ut adressen till den datan och minnet skickar tillbaka den datan. Allt detta, ihop med en klase kontrollsignaler (som t.ex. säger om processorn vill läsa eller skriva) skickas bland annat ut på ISA-bussen.
En paralellport består i stort sett av dels en krets som tittar på adressbussen och känner igen om rätt adress finns där, och då säger den kretsen till en annan krets att "lyssna av" databussen och lagra vad som ligger på databussen. Det lagrade skickas sen hela tiden ut på paralellportens datapinnar. OBS, detta är något förenklat, dels använder paralellporten inte en enda utan ett par adresser, dels har den även ett par ingångar förutom utgångarna, och dessutom ingår det läs/skrivsignaler och port/minne-styrsignaler å lite annat jox åxå).
Det absolut minsta du behöver för att bygga en egen I/O-port ansluten mot ISA-bussen är en komparator t.ex. 74xx688 och antingen en styrbar buffer (t.ex. 74xx244) för inport eller en d-vippa (t.ex. 74xx273 om jag inte minns numret fel) och ett par till kretsar.
Kolla på sidan D-25 i den här PDF'en, det är schemat på originalparallellporten i en "ur-PC":
http://www.retroarchive.org/dos/docs/ibm5160techref.pdf
En bild på kortet:
http://www.c-reset.com/images/ibmprt2.jpg
Det här är ungefär vad du behöver för att bygga en egen port för ISA-bussen själv. Skillnaden är att idag bygger man inte adressavkodning med 74LS30, 74LS86, 74LS02 utan med 74xx688 eller liknande.
(Om man har ett sånt kort så kan man i princip bygga till det så att man får två åttabitarsutgångar till genom att bara hänga på två till 74LS374'or på samma sätt som U4 fast med 2Y1 och 2Y3 istället för 2Y0 från U6, fast det är väl ingen som idag moddar ett sånthär vintagekort idag)
Förresten, är du säker på att du inte har nåt grafikkort i burken? Det brukar vara 9-polig DSUB och kanske 1-2 RCA-kontakter, och kanske en paralellport, på de gamla grafikkorten. RCA-kontakten kan funka att koppla till video in på en vanlig TV (oftast NTSC).