|
Der MFP 68901 im F030
MFP ist eine Abkürzung, hinter der sich das folgende
"Langwort" Multi-Funktion-Peripheral-Baustein versteckt. was
auch nicht gelogen ist. Dieses IC ist ein kleines Wunderwerk, in dem
sich einige Funktionen verstecken.
- 8 Bit Parallelport - Datenrichtung eines Portbits separat
Programmierbar - Verwendung eines Portbits als Interrupteingang (siehe
ST) - verschiedene Interruptquellen - Vier programmierbare universal
Timer und eine serielle Schnittstelle
Diese Funktionen sind nun alle in einem Gehäuse
untergebracht, das dieses etwas Platz beansprucht fällt dann an
dem 52 poligen Baustein schnell auf. Ich will an dieser Stelle
für die mehr Hardware orientierten Freaks auch die komplette
Pinbelegung dieses und des MFP-Bausteines des alten ST ablichten. So
werden die Unterschiede am deutlichsten.
Pinbelegung des MFP im ST und im Falcon F030
Der MFP im ST befinden sich im 48 Pin DIL-Gehäuse. Der MFP im
Falcon besitzt hingegen ein 52 poliges PLCC-Gehäuse!
Tabelle 3: Die MFP-Pinbelegung
PIN |
FUNKTION ST |
FALCON |
PIN |
FUNKTION ST |
FALCON |
|
|
|
|
|
|
|
|
|
52 |
- |
CS |
1 |
R/W |
NC |
51 |
- |
DS |
2 |
A1 |
RXW |
50 |
- |
DTACK |
3 |
A2 |
RS1 |
49 |
- |
IACK |
4 |
A3 |
RS2 |
48 |
CS |
D7 |
5 |
A4 |
RS3 |
47 |
DS |
D6 |
6 |
A5 |
RS4 |
46 |
DTACK |
D5 |
7 |
TC |
RS5 |
45 |
IACK |
D4 |
8 |
SO |
TC |
44 |
D7 |
D3 |
9 |
SI |
SO |
43 |
D6 |
D2 |
10 |
RC |
SI |
42 |
D5 |
D1 |
11 |
Vcc |
RC |
41 |
D4 |
D0 |
12 |
NC |
Vcc |
40 |
D3 |
GND |
13 |
TA 0 |
NC |
39 |
D2 |
CLK |
14 |
TB 0 |
NC |
38 |
D1 |
IE1 |
15 |
TC 0 |
TAO |
37 |
D0 |
IE0 |
16 |
TD 0 |
TBO |
36 |
Vss |
IRQ |
17 |
XTAL 1 |
TCO |
35 |
CLK |
NC |
18 |
XTAL 2 |
TDO |
34 |
IEI |
NC |
19 |
TA 1 |
XTAL1 |
33 |
IEO |
NC |
20 |
TB 1 |
XTAL2 |
32 |
INTR |
IO7 |
21 |
RESET |
NC |
31 |
RR |
IO6 |
22 |
I0 |
TAI |
30 |
TR |
IO5 |
23 |
I1 |
TBI |
29 |
17 |
IO4 |
24 |
I2 |
Reset |
28 |
16 |
IO3 |
25 |
13 |
IO0 |
26 |
14 |
IO1 |
26 |
14 |
IO1 |
27 |
15 |
IO2 |
Kommen wir nun zu den Funktionsbaugruppen des MFP-Bausteins:
Beachten Sie bitte das die Beschreibung vom ST auf den MFP des
Falcons nicht immer zu 100% übereinstimmt.
- GND,Vcc,CLK
-
An GND und Vcc wird der Baustein mit der Betriebsspannung
versorgt, der Pin CLK dient dazu den Baustein mit dem Systemtakt zu
versorgen (4Mhz)
- DO-D7,CS,DS,DTACK,RS1-RS5,RESET
-
D0-D7 verbindet den MFP mit dem 8-Bit Datenbus CS-Chipselekt /
DS-Datastrobe / DTACK-Data Transfer Acknowledge / RS1-RS5 Register
Select / RESET.
Das Restet Signal muß 2uS stabil Anliegen um den MFP in
einen definierten Grundzustand zu versetzen.
Die nächste und wichtige Gruppe sind die
Interruptanschlüsse. IRQ-Interrupt ReQuest / IACK-Interrupt
ACKnowledge / IEI,IEO-Interrupt Enable In/Out
Der Anschluss IRQ wird LOW wenn ein Ereigniss innerhalb des MFP
einen Interrupt ausgelöst hat. Es wird dann dem Prozessor mittels
diesem Anschluss ein Interrupt signalisiert.
- IACK
-
Legt bei LOW an IRQ u.IEI einen Interruptvector auf die
Datenleitungen. Jede der 16 Interruptquellen kann einen eigenen Vector
liefern, so daß die Behandlung dessen für den Prozessor
wesentlich vereinfacht und somit beschleunigt wird.
- IEI,IEO
-
An diesen Pin's können mehre MFP's untereinander Verkettet
werden. Was aber im Atari nicht der Fall ist. Betrifft auch nur den
ST.
- IO0 - IO7
-
Man kann diese Leitungen als normale Ein od. Ausgabeleitungen
verwenden. Die Datenrichtung ist mittels der Portbits frei
einstellbar, zusätzlich kann jedes Portbit als Interrupteingang
programmiert werden. Mit den internen Registern können für
jedes Bit getrennt die Flanke des auslösenden Signals eingestellt
werden.
- XTAL1 und XTAL2
-
Timer Quarz
An diesen Pin können für die internen Timer ein Quarz
angeschlossen werden, welcher die Arbeitsfrequenz der internen Timer
festlegt
- TA0,TB0,TC0,TD0
-
Timer Ausgang
Die vier internen Timer verfügen jeder über einen
eigenen Ausgang, an dem der Pegel wechselt wenn der Timer den
Zählerstand von 01 nach 00 wechselt. Die Zähler arbeiten nur
als Abwärtszähler !
- SI, SO
-
serieller Eingang, serieller Ausgang
- RC,TC
-
Receive Clock, Transmit Clock
Die Übertragungsgeschwindigkeit der Sende/Empfangsdaten wird
durch die an diesen Pin liegende Frequenz bestimmt.
- RR,TR
-
Receiver Ready,Transmitter Ready
Finden im Atari ST und im Falcon keine Verwendung.
- Reg 1 GPIP
-
General Purpose I/O Interrupt Port
Datenregister des 8 Bit Ports, mit dieser Adresse werden die Daten
an die Portbits geschrieben / gelesen.
- Reg 2 AER
-
Active Edge Register
Falls die Portbits als Interrupteingang benutzt werden,wird mit
diesem Register festgelegt ob der Interrupt bei LOW od. HIGH Pegel
ausgelöst wird.
- Reg 3 Data
-
Direction Register
Dieses Register legt die Datenrichtung eines jeden Portbits fest.
Eine 0 bedeutet dabei "Eingang" eine 1 hingegen ein
"Ausgang".
- Reg 4,5
-
IERA,IERB Interrupt Enable Register
Jede Interruptquelle kann hier separat Ein bzw. Ausgeschaltet
werden. Eine Interruptquelle an einem Ausgeschaltetem Kanal wird vom
MFP komplett ignoriert.
- IERA
-
Bit 7 I/O Port Bit 7, höchste Stufe
Bit 6 I/O Port Bit 6
Bit 5 Timer A
Bit 4 Empfänger Buffer voll
Bit 3 Empfänger Fehler
Bit 2 Sender Buffer voll
Bit 1 Sender Fehler
Bit 0 Timer B
- IERB
-
Bit 7 I/O Port Bit 5
Bit 6 I/O Port Bit 4
Bit 5 Timer C
Bit 4 Timer D
Bit 3 I/O Port Bit 3
Bit 2 I/O Port Bit 2
Bit 1 I/O Port Bit 1
Bit 0 I/O Port Bit 0, niedriegste Stufe
Diese Zuordnung findet auch Anwendung bei den IP,IM,u.IS
Registern.
- Reg 6,7
-
IPRA,IPRB Interrupt Pending Register
Wenn bei einem eingeschaltetem Kanal ein Interrupt auftritt, wird
das dem Kanal zugeordnete Bit im IPRA, IPRB Register auf "1"
gesetzt. Wenn das System gebrauch von der Vektor-Erzeugung macht, wird
das entsprechende Bit automatisch wieder gelöscht, sobald der MFP
die Vektornummer auf den Bus legt. Wenn das System von dieser
möglichkeit keinen Gebrauch macht, muß das IPR-Register
Softwaremässig gelöscht werden. Zu diesem Zweck ist ein Byte
an den MFP zu schicken in dem alle Bits bis auf das zu löschende
gesetzt sind.
- Reg 8,9
-
ISRA,ISRB Interrupt In-Service Register
Die Funktion dieser Register hängen vom Bit 3 des Registers
12 ab. Dieses "S"-Bit bestimmt ob der MFP im Software
End-of-Interruptmodus (SEI) oder im Automatic End-of-Interruptmodus
(AEI) arbeitet. Im AEI Modus wird das IPR-Bit gelöscht,sobald der
Prozessor während eines IACK-Zyklus die Vektornummer auf dem Bus
abholt. Auch das zugehörige In-Service Bit wird zu diesem
Zeitpunkt gelöscht. Danach können erneute Ereignisse
(Interrupts) auftreten. Im SEI-Modus dagegen wird das entsprechende
ISR-Bit gesetzt,wenn die Vektornummer des Interrupts, vom Prozessor
angefordert wird. Am Ende der Interruptroutine muß das Bit
gelöscht werden, in dem ein Byte in dem alle Bits bis auf das zu
löschende gesetzt sind, an den MFP geschickt wird. Wenn das
Sevice In-Bit gesetzt ist, sind alle Interrupts niedriger Stufe im MFP
ausmaskiert Da das IPR Bit des aktiven Kanals mit der übergabe
der Vektornummer gelöscht wurde, kann jetzt ein gleichartiger
Interrupt sofort wieder auftreten. Allerdings werden dieser u.
niedrigere Interrupts erst wieder bearbeitet (lösen IRQ aus) wenn
das gesetzte Service-In Bit gelöscht wird.
- Reg 10,11
-
IMRA,IMRB Interrupt Mask Register
Mit diesem Register können einzelne, in den IER geschaltete
Interruptquellen ausmaskiert werden. Die Ereignisse werden dann zwar
erkannt und dem IPR signalisiert, die IRQ-Leitung bleibt aber auf
High-Pegel.
- Reg 12
-
VR Vektor Register
Im Fall eines Ereigniss kann der MFP auf die Anforderung des
Prozessors im Interrupt-Acknowledge Zyklus eine der Ereigniss-Quellen
entspechende Vektornummer generieren. Jeder der 8 (16) Kanäle
verfügt über seinen eigenen Vektor. Die 8 (16) Kanäle
werden entsprechend der Priorität in den unteren 4 Bits der
Vektornummer codiert,die oberen 4 Bits des Vektors werden aus dem VR
Vektorregister kopiert. Dazu müssen diese Bits im VR gesetzt
sein. Das Bit 3 des VR ist das schon erläuterte S-Bit, welches
über die beiden Arbeitsmodi des MFP entscheidet.
- Reg 13,14
-
TACR,TBCR Timer A/B Contoll Register
Die internen Timer A und B verfügen über die gleichen
Möglichkeiten. Sie bestehen aus je einem Datenregister, einem
programmierbaren Vorteiler und einem 8-bit Abwärtszähler.
Der Inhalt des Zählers wird bei jedem Impuls, der vom Vorteiler
geliefert wird um eins verringert. Wenn der Zähler auf 01 steht,
wechselt er beim nächsten Impuls am zugehörigen Ausgang
seinen Pegel. Zugleich wird der Timer mit dem Wert des
Timer-Datenregisters geladen. Ist bei diesem Kanal das IER-Bit
gesetzt, wird ausserdem ein Interrupt ausgelöst. Als Quelle des
Zählertaktes wird üblicherweise die Frquenz genommen, die
als Quarz an den Anschlüssen XTAL1/XTAL2 anliegt, diese Frequenz
wird auch als Delay-Mode bezeichnet. Das selbe trifft auch für
die Timer C und D zu. Doch können auch bei den Timern A und B
externe Impulse an den Timer- eingängen TAI / TBI gezählt
werden. Das wird dann als Event-Count-Mode bezeichnet. Beim
zählen externer Impulse wird der Vorteiler abgeschaltet, um
wirklich jeden ankommenden Impuls exakt zählen zu können.
Die Maximale Zählfrequenz darf 1Mhz nicht überschreiten, was
einem viertel der Betriebsfrequenz des MFP entspricht. Eine weitere
Besonderheit dieser Betriebsart ist das, die Timer-Eingänge den
Interrupts der I/O-Anschlüsse I3/I4 zugeordnet sind. Je nach
Programmierung der entsprechenden Bit's im Active Edge Register kann
durch einen Pegelsprung an den Timereingängen ein Interrupt
ausgelöst werden. TAI ist I4,TBI ist I3 zugeordnet,I3 und I4
können dabei jedoch immer noch als I/O-Anschlüsse ohne
Interrupt benutzt werden. Timer A/B haben noch eine dritte
Betriebsart, die man Pulsweitenmessung nennt. Diese Betriebsart
ähnelt dem Delay-Mode,als unterschied ist zu erkennen das mittels
der Timereingänge TAI /TBI die Timer ein/aus geschaltet werden
können. Auch bei dieser Betriebsart werden die AER-Bit's von
I3/I4 benutzt,um festzulegen ob die Timer bei High oder Low-Pegel an
den Timereingängen arbeiten dürfen. Wenn z.B das AER-Bit 4
gesetzt ist,arbeitet der Zähler,wenn TAI High ist. Wechselt TAI
von High nach Low, so wird ein Interrupt erzeugt, vorrausgesetzt, der
Interrupt des I4-Kanal's ist zugelassen.
Die Programmierung von TACR und TBCR.
In diesen beiden Registern werden nur fünf der acht
möglichen Bits genutzt. Die Bits 0 bis 3 bestimmen die
Betriebsart des entsprechenden Timers nach der Tabelle:
Bit 3 2 1 0 Funktion
-----------
Bit 0 0 0 0 Timer Stop ,Keine Funktion
Bit 0 0 0 1 Delay Modus ,Vorteiler teilt durch 4
Bit 0 0 1 0 " " , " " " 10
Bit 0 0 1 1 " " " " " 16
Bit 0 1 0 0 " " " " " 50
Bit 0 1 0 1 " " " " " 64
Bit 0 1 1 0 " " " " " 100
Bit 0 1 1 1 " " " " " 200
Bit 1 0 0 0 Event Count Mode,
Bit 1 0 0 1 Pulsweiten Mode , Vorteiler teilt durch 4
Bit 1 0 1 0 " " " " " 10
Bit 1 0 1 1 " " " " " 16
Bit 1 1 0 0 " " " " " 50
Bit 1 1 0 1 " " " " " 64
Bit 1 1 1 0 " " " " " 100
Bit 1 1 1 1 " " " " " 200
- Reg 15
-
TCDCR Timer C und D Controll Register
Bit 2 1 0 Funktion Timer D
Bit 6 5 4 Funktion Timer C
-----------
Bit 0 0 0 Timer Stop , Keine Funktion
Bit 0 0 1 Delay Modus, Vorteiler teilt durch 4
Bit 0 1 0 " " " " " 10
Bit 0 1 1 " " " " " 16
Bit 1 0 0 " " " " " 50
Bit 1 0 1 " " " " " 64
Bit 1 1 0 " " " " " 100
Bit 1 1 1 " " " " " 200
Die Bits 3 u.7 in diesem Register haben keine Funktion.
- Reg 16-19
-
TADR,TBDR,TCDR,TDDR Timer Data Register
Die Timer Datenregister werden mit dem Wert programmiert der in
den Zähler geladen wird wenn er nach erreichen des
Zählerstandes 01 einen Impuls bekommt. Von diesem Wert aus wird
dann kontinuierlich abwärts gezählt.
- Reg 20
-
SCR Syncron Character Register
In diesem Register wird bei einer synchronen Datenübertragung
ein Wert geschrieben der beim Empfang den beginn der Daten
kennzeichnet. Anschliessend werden alle Daten mit diesem Wert
verglichen und nach übereinstimmung in den Datenbuffer
übertragen.
- Reg 21
-
UCR,USART Controll Register
Mit diesem Register werden alle Parameter der Schnittstelle
eingestellt. Ausgenommen der Baudrate.
Bit 0 : nicht benutzt
Bit 1 : 0 parity odd
Bit 1 : 1 " even
Bit 2 : 0 keine parity (Bit 1 wird ignoriert)
Bit 2 : 1 parity entsprechend Bit 1
Bit 3,4: diese Bits bestimmen Start u. Stoppbits und das
gewünschte Format.
Bit 4 3 Start Stop Format
Bit 0 0 0 0 Syncron
Bit 0 1 1 1 Asyncron
Bit 1 0 1 1,5 "
Bit 1 1 1 2 "
Bit 5,6: geben die Anzahl der zu übertragenen Datenbits an.
Bit 6 5 Wortlänge
Bit 0 0 8 Bits
Bit 0 1 7 "
Bit 1 0 6 "
Bit 1 1 5 "
Bit 7 : 0 = Frequenz an TC u. RC wird Direkt als
Übertragungsfrequenz benutzt.
Bit 7 : 1 = Frequenz wird intern durch 16 geteilt.
- Reg 22
-
RSR Receiver Status Register
Bit 0 Receiver Enable Bit
Wenn dieses Bit gelöscht wird ist der Empfangsteil sofort
ausgeschaltet. Alle Flags im RSR werden automatisch gelöscht.
Wird das Bit wieder gesetzt arbeitet der Empfänger normal weiter.
Bit 1 Syncronous Strip Enable
Mit diesem Bit kann bei einem synchronem Datentransfer bestimmt
werden ob ein mit dem im SCR gespeicherten identischen Zeichen in den
Receiver Buffer übertragen wird oder nicht.
Bit 2 Match/Character In Progress
Im synchronen Übertragungsmodus wird mit diesem Bit angezeigt
daß ein mit dem SCR-Byte identisches Zeichen empfangen wurde. Im
asynchronen Modus wird dieses Bit gesetzt sobald das Startbit erkannt
wurde. Mit dem eintreffen des Stopbits wird das Flag sofort wieder
gelöscht.
Bit 3 Found-Search/Break Detected
Bit 3 im RSR zeigt an ob ein empfangenes Zeichen im synchon Modus
mit dem Zeichen in SCR übereinstimmt. Diese Bedingung kann
über den Receiver Error Kanal einen Interrupt auslösen. In
der asynchronen Betriebsart wird das Bit gesetzt sobald ein Break
empfangen wird, die Break-Bedingung wir dann nur erfüllt wenn
nach dem Startbit nur Nullen empfangen werden. Zur Unterscheidung
zwischen einem Break und einer 'echten null' muß die
Empfängerleitung auch in der Zeit des Stop-Bits auf Low bleiben.
Bit 4 Frame Error
Ein Frame Error taucht auf wenn ein Byte empfangen wird das nicht
Null ist, dessen Stopbit aber eine Null ist.
Bit 5 Parity Error
Dieses Bit gibt an ob auch das letzte empfangene Zeichen den
Anforderungen der Parität gerecht wurde. Wenn die
Paritätsprüfung beim Empfang ausgeschaltet wurde wird das
Bit 5 nicht beeinflusst.
Bit 6 Overrun Error
Das Bit 6 zeigt an das ein vollständiges Zeichen im Empfangs-
schieberegister bereit liegt, das zuvor empfangene Zeichen aber noch
nicht aus dem Empfängerbuffer ausgelesen wurde. Dieser Fehler
kann einen Interrupt auslösen.
Bit 7 Buffer Full
Bit 7 wird gesetzt sobald, ein fertiges Zeichen aus dem
Schieberegister in den Empfängerbuffer übertragen wird.
Sobald der Prozessor das Byte ausliest wird das Bit gelöscht.
- Reg 23
-
TSR Transmitter Status Register
Bit 0 Transmitter Enable
Wenn dieses Bit gelöscht wird,ist der Sendteil
vollständig abgeschaltet.Das End-Bit wird gelöscht und das
UE-Bit wird gesetzt.
Bit 1,2 High, Low-Bit
Mit diesen beiden Bits kann der Zustand des abgeschalteten
Senderausgangs beeinflusst werden,wenn beide Bits gelöscht sind
wird der Ausgang hochohmig. Wird das L-Bit gesetzt ist der Ausgang
Low. Im Gegenzug, also bei gesetztem H-Bit wird der Ausgang High. In
dem Falle das beide Bits gesetzt werden wird der Senderausgang mit dem
Empfängereingang intern (Loop-Back-Modus)verbunden. Der Ausgang
selber liegt dann auf High-Pegel.
Bit 3 Break
Bit 3 hat im Synchron-Modus keine Bedeutung. Im
Asynchronen-Betrieb wird wenn das Bit gesetzt wird die Break Bedingung
ausgesendet.
Bit 4 End of Transmitt
Wird der Sendeteil während der laufenden Übertragung
ausgeschaltet so wird das End-Bit gesetzt nachdem das aktuelle Zeichen
vollständig gesendet wurde. Wird zum Zeitpunkt des Abschaltens
gerade kein Zeichen gesendet wird das End-Bit sofort gesetzt.
Bit 5 Auto Turnaround
Ist das Bit 5 gesetzt wird der Empfänger automatisch
eingeschaltet wenn der Sender das letzte Zeichen vollständig
gesendet hat.
Bit 6 Underun Error
Dieses Bit wird gesetzt wenn ein im Sendeschieberegister
enthaltenes Zeichen komplett gesendet wurde, bevor ein neues Zeichen
in den Sendebuffer geschrieben wurde.
Bit 7 Buffer Empty
Wird gesetzt, wenn ein Zeichen aus dem Senderbuffer in das
Schieberegister übertragen wird. Das Bit wird gelöscht, wenn
neue Daten in den Sendebuffer gelangen.
- Reg 24
-
UDR,USART Data Register
In diesem Register werden Sende/Empfangsdaten übertragen.
Beim hineinschreiben gelangen die Daten in den Sendebuffer und beim
Auslesen kommen sie automatisch aus dem Empfangsbuffer.
A smal english description of the MFP Chip follows.
MC68901 Multi-Function Peripheral Chip
Jeff Rigby/SOTA Computers
The 68901 is a very inexpensive very powerful multi-function chip.
In the ST it is responsible for the interrupt generation of the busy
line on the printer port, the interrupt signal from the hard drive
port and the prin- ter port, Midi port, keyboard, and RS-232 port as
well as the entire RS - 232 receive, transmit and controll lines (16
levels of interrupt ). In ad- dition, the MFP can be daisy chained ( a
second 68901 can be added allo - wing the interrupt levels to be
chained ). All this in a chip with a re - tail cost of about $12.00.
How it works; the 68000 CPU has 7 levels of interrupt, one of
those levels points to the 68901 MFP, when the CPU is told that the
MFP needs servi - ceing, the address of the service routine is given
controll, it addresses $fffffa00 which the glue chip decodes and sends
a low on the chip select pin 48 of the MFP, then the routine sends an
address to the lower 5 lines of the address bus to select a register
in the MFP and the routine, depen- ding on what it needs to do writes
or reads the registers in the chip.
The operating system has previously set the interrupt registers in
the MFP with the priorities the Interrupt lines I0-I7 and the internal
receive and transmit buffers require. The 68901 then talks directly to
the 68000 tel - ling it that one of it's interrupt's needs servicing,
giving the vector adress of the service routine, and this goes on
until all the 68901 inter- rupts are serviced then control is passed
back to the 68000 and the pro - cess starts all over again. If no
interrupts need servicing then control is passed back to the 68000
immediately.
I'll try to make this as non-technical as possible.
MFP tells the Glue chip that it needs servicing. Glue thinks and
says OK, I guess it is your turn. Glue tells CPU that a IRQ level is
pending. CPU to Glue " what level is it ". CPU to Glue tell
the MFP it's his turn. Glue tells MFP to go ahead -> CS on MFP goes
low MFP gives the CPU the vector for the needed routine The routine
services the MFP and clears the Interrupt register. Control is passed
back to the CPU and the next level down interrupt has a chance.
Maybe that was too simple, the 68901 does alot more than that and
I could spend all day and 30 screens to tell you about it.
Literature is available from Motorola on the MC68901, I believe
the 28 pa- ge technical booklet is #ADI-984, The great thing is that
we can add a se- cond RS-232 very cheaply by daisy chaining the IEI
and IEO pins on the 68901 and changing the vector addresses for the
service routines.
A few suggestions for standards in the ST upgrades.
- 1)
- The output pin in the video out port be used for Monitor
switching (Mo no to Color).
- 2)
- Pin 25 I3 of the 68901 MFP be used for an interrupt to tell
software
that the power has been interrupted. In battery backups in the
1040 all
power 12v and 5V can be provided for 10 min with C cell Ni-Cad.
The
software has to be informed that power is out and to save the
data.
Suggest a low for power interrupt on pin 25.
- 3)
- Address $fffffb00 be used for a second 68901 MFP and the second
MFP be
daisy chained using the IEO and IEI pins.
- 4)
- An address for battery backup clocks be picked as standard. I
don't ha-
ve any thoughts on this one but an address should be suggested.
Anyone
have an address that is already being used for this purpose and
the
reason it was chosen please respond.
As a hardware hacker, I am interested in other people's input on
this sub- ject. The great thing about PD software is that people build
upon the work of others and eventually the PD software can be better
than commercial software. I would like to see something like that
started on the technical side, if someone finds a flaw or a better way
to describe the 68901 please add it to this file and upload to CIS.
Jeff Rigby/SOTA Computers
3949 Sawyer Road
SARASOTA, FL. 33583 (USA)
Copyright © Robert Schaffner (support@doitarchive.de)
Letzte Aktualisierung am 23. Dezember 2003
|