6502 / AppleII-HW-Projekte: ( Brainstorming & Konzepte )
Apple2-InfoPool ( Building up an Apple II
Knowledge & Info-Pool )
Prj
"6502-Entwicklungssystem für 6502-Anwendungen":
& Ap2-MB as SBC-uC
= "AP2-MB-Based-DIY 6502-SBC"
Als Target sollen einerseits alte AppleII-Motherboards mit
spezieller IO-Peripherie ( Slot-Steckkarten, z.B. MPA2 / IBS AP2 ,
6821/6522-Slotkarte (MPA5) dienen , wie auch "Homebrew"-6502-SBC's
, Elektronikbastler AddOn's f. Ap2-MB's
Funktionalität:
Ap2-Mainboard via "Nabelschnur" mit PC verbunden: a. Remote
FD-Emulation (auf PC), b. PC-Crossdevelopment ( siehe auch
www.6502.org ) und Control Via Nabelschnur ( spezieller
Monitor-Eprom auf MB) sowie Download der Anwendungen auf das
Apple2-System.
"Nabelschnur"-Alternativen: Serielles Interface ( SCC6551 oder
ACIA6850 based), ap2222pc-Interconnect oder
VIA6522-8bit-Parallel-Port-Protokoll
Die Idee kommt von den Leuten unter www.6502.org
/enthusiasts , die offensichtlich einen Vorliebe f. den
6502 haben , denn der
6502 ist ein wirklich "sophisticated" , gleichzeitig spartanischer
Prozessor, der die Programmierung sehr einfach macht.(Gilt heute als
einer der ersten RISC-Prozessor) Darüberhinaus sind für diese
Prozessorarchitektur in den Pioniertagen viel "brainware" in Form von
Codierungsstrategien und Code-segmente entstanden, dessen Wissen man
sich zu Nutze machen kann. Gerade für spezialisierte Projekte und
Hobbyisten ist die Entwicklungszeit und die Realisierung von
Anwendungen zu einem vernünftigen Preis bei gleichzeitig einfacher
Realisierung sowie Verfügbarkeit von wesentlicher Bedeutung .
Durch einen Artikel über einen "DIY" (Do It Yourself) -
6502-SingleBoardComputer ist hier offensichtlich eine neue Welle
entstanden , dessen Grundidee viele Hobby-Computeristen fasziniert hat
und Ihren Ideen für Computerisierungen neuen Freiraum geschaffen
hat.
Interesse am Projekt =>
in Mailing-Liste eintragen !
Warum Apple II -Mainboard:
Apple2-Mainboards bzw. Apple II-Geräte stehen bei diversen
Enthusiasten und sorgfältigen Privatleuten noch sehr häufig
auf dem Speicher oder im Archiv - somit immer noch zu besorgen.
Einen eigenen 6502-SingleBoard-Computer zu bauen ist dann doch eher was
für erfahrene Elektroniker.
Mit dem 50pol. Apple2-Bus bestehen gleichzeitig einfache
Erweiterungsmöglichkeiten, so daß eine schnelle Anpassung an
die jeweiligen Applikations bzw. Anwendungsbedürfnisse gegeben
ist. Zudem ist dieser Bus so einfach gehalten, daß sich schnell
eigene Erweiterungen bauen lassen, da nur mit 2-3 TTL volle
Bus-Funktionalität bzw. LSI sich teilweise direkt
anschließen lassen.
Anwendungsfelder:
"Messen,Steuern,Regeln"
Heimsteuerungstechnik, Haus&Heim-Automation ("computerize your
Home" , Beispiele Versorgungssysteme wie Heizung, Wasser, Strom
Motorsteuerungen und Robotics
Weitere interessante Konzepte und Ansätze:
Aus der Commodore-CBM und C64-Welt ist der IEE488-Bus (parallel bzw.
als Seriell-Variante ) zu Ehren gekommen.
Insbesondere die Speichereinheiten wurden über diesen Bus an
die jeweiligen Computer angebunden. Hier insbesondere das FD-Laufwerk
VC1541 . Dieser Bus und das zugehörige Protokoll haben ein weite
Verbreitung gefunden.
PC-basierender Server / HDD,
der booten und Diskimage-Zugriff eines AppleII-Systems über eine
Nabelschnur ( Serielle Schnittstelle , AP2222PC-Cabling bzw.
Bidirectionale Parallele Schnittstelle - siehe auch DIY6502-SBC,weiter
unten ) erlaubt. Alte Apple II-Disketten auf CD ( mittels ADT ! ) - so
kann man sich den Softwareschatz des Apple II heute wieder sinnvoll
erschließen. / Interesse am Projekt
=>
in Mailing-Liste eintragen !
Monitor-EPROM: PC Interlinked Apple II
Für "DIY6502-SBC" hilfreich ,auch generell interessant soll dieser
neue EPROM die Console auf alternative
PC-Interlink-Schnittstellen legen, so daß die Apple Console ,
insbesondere die Tastatur entweder durch ein Terminalprogramm
(Bsp.Hyperterm) oder ein spezielles PC-Programm mit zeichenorientiertem
Bildschirm repräsentiert wird.
PC/XT-Tastatur
am Apple II:
Technischer Hintergrund:
PC/XT-Tastaturen ( also die für die ersten IBM-PC's , nicht die
AT-Tastaturen !) waren undirektionale , "nur Ausgabe"-tastaturen.
Seriell auf Parallel (wie beim Apple II erforderlich ) läßt
sich
einfach mittelst eines Shift-Register-TTL's ( 74LS164) erreichen.
So wurden dann auch in den frühen 80er Jahren PC-Tastaturen von
"Kompatiblen"-Herstellern aus Taiwan geliefert, die eine kleine
Adapterplatine hatten, mit einem LS164, auf der einen Seite mit einer
Diodenbuchse f. d. Tastatur und auf der anderen mit dem 16pol.
IC-Stecker für ein
1:1 DIP16/DIP16-Kabel (bzw. dieses gleich eingelötet )
Allerdings hatten diese Tastaturen einen neuen Kontroll-EPROM f. den
8039-uC , der nicht Scancodes für die Tastendrücke sendete ,
sondern
ASCII-Ausgaben und auf dem 8.Bit die RESET-Leitung.
So war die Tastatur dann vollständig Apple 2 kompatibel.
Das ct-Projekt (c't 6/88, Seite 78 - s.u.) benutzt einen
nachgelagerten
Tastatur-Code-Umsetzer mittels eines zwischengeschalteten EPROMs. Das
ist leider von der HW wesentlich aufwendiger, aber dafür ohne
Firmwareänderung der Tastatur !
An weiterführenden Unterlagen habe ich:
1. den c't 6/88-Artikel, Seite 78-80 : Parallel
und preiswert ; IBM-Tastaturen
an parallelen Tastaturports ; Praxistip ; abdruckter
EPROM-Inhalt
2. Skizze des inneren Aufbau der Multitech IBM-Tastatur in der
Apple 2 Ausführung
3. Einen Schaltplan der PC/XT-Tastatur BTC-5050
4. In meiner Referenzbibliothek: Firmware der Apple2-Tastatur-Version
Verweis :
Interlink-Techniken:
Weiterentwicklung von Interlink-Techniken , insbesondere synchrone
serielle Kommunikationstechniken und Protokolle sowie
bidirektional parallele Kommunikation ( an PC- EPP )
Ein interessantes Projekt
hierzu im Web, das die bisher
unbeachteten Potentiale eindrucksvoll demonstriert:
NadaNet
einfaches, wirkungsvolles Netzwerk f. Apple II-Computer (mehrere Apple
II) - Paket-Datendurchsatz ~ 70 kbps /
Kabellängen 15-20m
zeigt eindrucksvoll, wie mit einfachen Mitteln ( in
diesem Fall 2 Transistoren&Widerständen an je einem GamePort
Ein+AusgabePin ) ein serielles Netzwerk aufgebaut werden kann.
Würde man den VIA 6522 hier ein-designen
ergeben sich höhere Datendurchsatzraten und via Interrupt ein
asynchrones Verhalten , so daß nicht per Software gepolled werden
muß und sich Latenzzeiten ergeben bzw ein Extra-Dispatchserver
vorgehalten werden muß. Dann wäre dieses Netzwerk auch
für Remote-Filesystem (Virtuelle Disk) geeignet und könnte
sinnvoll Shared Disk-Space von PC oder Linux-Server anbieten. ( Lesen
Sie auch hier nach: VIA
6522 -
universelle Verbindung zur Umwelt und Außenwelt )
Interessante ,wie kreative
Ideen von "Interlinks": ( taken fr. news ...
)
used the casette interface to transfer DOS to my Apple IIe. I patched the
ROM image of an emulator (Apple II Oasis) so that the cassette out is sent
to the speaker. It was also neccessary to suppress the ready beep. Then I
booted DOS on the emulator and connected PC's soundcard line-out to Apple
IIe's cassette in. On the Apple II type
CALL -151
9D00.BFFFR
And on the Emulator
CALL -151
9D00.BFFFW
Now DOS shoud be transmitted. It'll take a while. Now you need to activate
DOS on the Apple:
3D0:4C BF 9D 4C 84 9D
3F2:BF 9D 38 4C 58 FF
3F8:4C 65 FF 4C 65 FF 65 FF
9D84G
And finally you can INIT HELLO your first DOS disk.
bezogene Themen:
"sophisticated 6502-CPU" / Code-Snippets - Sammlung
zusammenstellen
Alles zielt auf Nutzung der AppleII-Technologie insbesondere d.
genialen 6502-Design's ab, dessen Befehlscode-architektur einfach ,wie
trickreich ist ( siehe auch www.6502.org
/enthusiasts ) und schnelle ,wie ausgefeilte (in den
Pioniertagen viel "brainware" in Form von Codierungsstrategien und
Code-segmente entstanden) Code-entwicklung verspricht.
PC-ISA-Slotkarten am Apple II
Der IBM-PC mit dem 8088-Processor führte den ISA-Slot ein.
Dieser Slot ( PC-XT / PC-AT
pinout. ) ist bzgl. seiner Signale gar nicht mal so
unterschiedlich zum Apple II Slot Bus.
Der 8bit-ISA-Bus (wie er im IBM PC / XT ausgeführt war ) hat auch
nur eine Datenbusbreite von 8bit. Der PC-Peripherals I/O-Bereich
( Peripheral ROMs mit 8088-SW sind im Apple II wenig nützlich )
ist mit den Adressleitungen A0-A9 und den Signalen !IOW sowie !IOR zu
bedienen.
Ferner sind Reset und IRQ individuell nach PC-Karte für die
Nutzung im Apple sinnvoll.
Siehe auch Harddiskcontroller-Kit
.
Aus IBM-PC's lassen sich Standardkarten wie serielle
Schnittstellenkarten, Parallelkarten, Gameportkarten etc. wie auch
spezielle Karten wie AD-Wandler, Soundkarten mit DSP-Processor so an
den Apple Bus anschließen.
Der Anschluß einer XT-Bus ISA-Karte kann sich auf ca. 12
Signalleitungen , der Stromversorgung und 5 diskreten
Bauelementen beschränken.
Das ist wirklich relativ schnell zu bewerkstelligen, wenn man auch dazu
etwas löten muß. Es ist vom Aufwand allerdings kaum
über dem , was man zur Herstellung eines seriellen
Null-Modem-Kabels löten muß.
Auf der Seite der ISA-Bus-Karte kann man einen PC-Slot (2*31-pol.)
verwenden oder einfach die Drähte an den Goldkontakten
anlöten. ( Letzteres ist natürlich eine "harte" Methode, wenn
der Wert relativ gering ist )
Seitens des Apple's hat man die Wahl zwischen den verschiedenen
Hobbyelektroniker-improvisierten Anschlußvarianten:
Elegant ,aber zusätzlicher Beschaffungsaufwand sind:
Apple II Prototyp-Karte / Leerplatine mit 2,54mm-Lochraster.
Ggfs. läßt sich auch eine nicht mehr benötigte Apple II
Slot-Karte (z.B. ein altes Druckerinterface) als Anschlußbasis
nutzen.
Unter Verwendung eines 24 pol. IC-Steckers ( wie bei der
Apple-Language-Card in 16 pol. Ausführung bekannt !) lassen sich
D0-D7 , sowie die Adressleitungen an einer EPROM/ROM-Position abgreifen.
Einfache ,aber harte Methode:
Litzendraht ( z.B. Flachbandkabelenden ) direkt an IC-Füßen
auflöten, so daß IC wieder in die IC-Fassung gesteckt werden
kann. ( Vorsicht ,kritisch erfordert etwas Erfahrung und ggfs.
Wärmenableitung über Spitzzange/Elektronik-Pinzette !)
Nach dem Hardwareteil ist der Softwareteil /Anschluß zu erledigen.
Bei einfachen Interfaces wie der seriellen Schnittstelle ist das
weniger aufwendig. Der 8250 mit seinen 8 Registern ist vielerorts gut
dokumentiert. Auch die parallele Schnittstelle hat im Web viele
Referenzen, da sie ja schon beim PC Ausgangspunkt eigener Elekronik
bzw. Erweiterungprojekte ist.
Bei speziellen PC -Interfaces ist es eine Frage der verfügbaren
Dokumentation der jeweiligen LSI mit Ihren Registern. Leider ist bei
vielen Interfaces (sofern noch archiviert) nur der Binäre
Treiber als Basis vorhanden.
In jedem Fall kann man die Möglichkeiten seines Apple II mit einem
PC-ISA-Slot-Adapter doch erheblich erweitern und sich ein neues
Experimentierfeld eröffnen.
Status und
Dokumentation meines Projektes des Adapters können Sie gerne
persönlich erfragen bzw. technische Details erfahren. ( eMail-Anfrage
)
68000-Subsystem
am Apple II Computer:
Status
und
Dokumentation meines Projektes des Adapters können Sie gerne
persönlich erfragen bzw. technische Details erfahren. ( eMail-Anfrage
)
Hardware:
Software:
- UCSD-pSystem (68K Version): Pascal , Fortran
- RTOS/PEARL, FORTH 68k
- UNIX-Derivate: Linux/68k, UNIX System III + V.2 , Minix ,
Xinu
Building the Bridge: Apple
II & 68000-Server-PCB
Analyse d. Interfaces b. DTACK 68000 Board und beim Gepard:
Gepard:
Version1: 8bit Bidirektionale Schnittstelle über 26pol.
Flachbandkabel (
68000-Seite: auf Boot-ROM-Karte integriert 8bitLatch und 8bit-Gate ,
auf AppleSlotkarte ( Latch, LS240-Gate , TTL)
Version2: 8bit Bidirektionale Schnittstelle als Bidirektionaler
Datenbuffer mit 4 Handshakeleitungen
DTACK:
andere Referenz-Artikel:
"Bus-Bridges":
Dual Ported RAM
VME-ECB-Bus Interface
Mit dem ems-VME-Board und d. OnBoard VIA6522 bietet sich die
Implementierung einer bidirektionalen Schnittstelle über diesen
LSI-Baustein an. Seitens des Apple II ist die VIA6522-Option an anderer
Stelle beschrieben. ( In dem DIY6502-Prj. wurde der VIA6522
bereits f. diese Aufgabe genutzt. Siehe: AUTL.TXT
description and theory of operation for autoloader , AUTL.AS
source code for autoloader from LPT1: )
Die optimale Integration der Apple II-CPU mit der 68000-CPU erreicht
man natürlich mit Dual-Ported RAM.
Für die Integration des Dual-Ported RAM's seitens des
68000-Subsystem ist natürlich der VME-Bus prädestiniert. Auf
der Apple-Seite bietet sich die Anlehnung an das
Language-Card-Extension-Interface an. Also den Dual-Ported RAM in den
$D000-DFFF-Bereich zu legen unter !INH der ROM/EPROM-Bank. Dazu kann
teilweise die Logik einer realen Language-Karte mitgenutzt werden,
indem man die Signale von dieser abgreift bzw. zur Integration in den
Apple II nutzt.
Es werden also mehrere Bus-Treiberbausteine (LS240/241/244 als
Adress-Treiber bzw. LS245/LS645/LS646 als Bidirektionale
Datenbustreiber) benötigt. Die Steuerlogik implementiert sich wohl
am besten in einem GAL, um den Verdrahtungsaufwand gering zu halten.
Die Leitungslängen f. das Flachbandkabel reduzieren sich bei
diesem Ansatz auf ca. 30-50 cm: Also mechanisch müssen das Apple
II-System und die 68000-PCB nebeneinander angeordnet werden.
Adding Network (
16bit ISA-Bus cards am 68000 )
Der 68000-CPU-Bus und der PC-ISA-Bus lassen sich aufeinander abbilden,
so daß der Anschluß von ISA-Ethernetkarten möglich
wird.
RTL8019/8029-ISA-Bus-karten eignen sich vielleicht am besten dazu, da
es sich um eine hochintegrierte Einchip-Lösung handelt, die sich
auch mechanisch relativ einfach anschließen läßt.
DIY-Projekte, die das bereits f. 68000-Systeme umgesetzt haben:
NE2000
ISA ROM-port and ACSI-port adapters
RTL8012
ROM-port adapter ; Atari
Ethernet Interface ( Using a parallel
port ethernet adapter based on the
RealTek RTL8012
controller )
Im AMINET Archiv findet man Treiber f. NE2000 Kompatible PCMCIA-Karten ,
z.B. pcmciafix.lha, cnetdevice.lha. Diese sind als
Ausgangspunkt für einen adaptierten Treiber f. die 68000-Welt
besonders geeignet.
( Siehe ~aminet/hard_drivr.
) 3COM-ISA -> , 3c589.lha
, gg_ne2000.lha
, AmiTCP /StartPoint f. eine TCP-Stack-Implementation .
Adding
MassStorage ( IDE - Harddisk-Drive )
Der IDE-Bus von PC-Festplatten ist wie ein Peripheriechip anzusteuern.
Je nach Kabellängen zwischen dem 68000-Board und der
IDE-Festplatte kann ggfs. auf die Line-Driver f. den 16bit-Datenbus
(LS245/LS645) verzichtet werden, so daß nur die
Steuer-Signalerzeugung bzw. Verknüpfung zu erledigen ist:
DTACK
-
Gated IORDY (IDE40)
Board-IRQ-Logik - IRQ (IDE
40)
IDE40-Signale: IOW und IOR müssen aus Adressendekodierung und
R/W-signal generiert werden.
Details bzw. als Referenz können diese Artikel genommen werden:
Atari
IDE disk interface ( Projekt-WebPage)
IDE-Adapter für Atari
ST , Projekt, Atari-Festplatten,
TOS 2.06, Harddisk, DMA-Port, ACSI-Bus, Blitter, AHDI, HDX , c't 9/93, Seite 170
Extending
Memory ( Using SIMMs , OLD PC-8bit-SIMM 30 pol. )
Zur Erweiterung des Onboard-Speichers eignen sich SIMM30 Module ( aus
der Zeit der 286,386 und ersten 486 PC's).
Diese haben einen Busbreite von 8bit ggfs. 9bit (mit Parity-Bit).
Das Board-Design muß bzgl. der Address-Space-Aufteilung
geprüft werden bzw. wie der RAM-Bereich erweitert werden kann (
Adress-Leitungen von der Bank-Selektionslogik abklemmen)
Ferner ist das mechanische Problem eines SIMM-Adapters individuell zu
lösen. Einfach , aber hart (aber der Wert der SIMM's ist
inzwischen relativ gering) , ist es einfach Drähte an die
Kontaktzungen anzulöten.
Ein besonderer Trick für das erforderliche DRAM-Refresh: 2
Speicherbänke a 16bit, die alternierend genutzt werden, so
daß der Refresh-Counter hidden für den Refresh auf der
jeweils anderen Bank aufgeschaltet werden kann.
Status und
Dokumentation meines Projektes des Adapters können Sie gerne
persönlich erfragen bzw. technische Details erfahren. ( eMail-Anfrage
)
An anderer Stelle ( 68k-Bauanl.
) habe ich zusammengestellt, was ich bereits zum 68000
zusammengetragen habe. Z.B. auch eine 68kCollection
auf CD mit OS (Betriebssysteme) f. 68k und Systemsoftware.