[abc80] Diskettstation till ABC-80

H. Peter Anvin hpa at zytor.com
Fre Aug 20 09:34:11 PDT 2010


On 08/20/2010 01:28 AM, juhasz at abc.se wrote:
>>
>> ABC-DOS/UFD-DOS använder inte DMA ändå.  Fast det kanske vore praktiskt
>> om man kunde få PIC:en att signalera RDY till ABC-bussen; kanske via en
>> extern krets.
> Det går säkert! Ett litet aber är dock att jag bara har portarna
> card-select via latchen (out 1) och data in/out (in/out 0) implementerade.
> Behöver inte DOS-et också någon statusport eller två för att funka? Och
> register för sektor etc.?
> 

DOS-et behöver följande portar:

IN 0	- (INP#) data in
IN 1	- (STATUS#) status
IN 7	- (RST#) global reset

OUT 0	- (OUT#) data out
OUT 1	- (CS#) card select
OUT 2	- (C1#) start command
OUT 4	- (C3#) local reset

C1#, C3# och RST# används bara som strobesignaler; inga data skickas med.

Jag tror att du skulle kunna göra detta i din PIC32 t.o.m. utan extern
buffer helt enkelt genom att skicka dessa 7 signaler plus databussen
till en 16-bitars parallelport; programmera den att ge interrupt om
någon av dessa 7 signaler är låg.  Om du får IN 7 eller OUT 1 med fel
selectkod kan du tillfälligt stänga av interrupt på de andra signalerna,
eller så kan du helt enkelt strunta i dem.

Sen sköter du demultiplex i din interrupthandler helt enkelt.

En stor fördel med det är att du lätt kan simulera flera enheter i samma
PIC på samma gång, t.ex. ett skrivarinterface.

Ett något större problem är att om du ska köra på ABC80 (ej 800) så
måste du ju också ha ett DOS-ROM.  Om du ska simulera det med PIC-en så
måste du ha åtminstone XMEMRD# och A15-A0 till chippet med; annars så
kan du ju ha en sockel för ett riktigt ROM; för det så skicka XMEMRD#
till OE# och (A15 | ~A14 | ~A13 | A12) till CS#
(4K ROM på address 6000h).  Alternativt kan du ha ett 8K ROM som också
innehåller optionsrom-arean (för skivare o.s.v.); släpp bara A12 från
ekvationen; avkodnings-PROMMet inuti själva ABC80 gör att du inte får
XMEMRD# när bildminnet addresseras.

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.



More information about the ABC80 mailing list