Home
Elektronikteile: Bauteile,Steckverb.,..
68k-Bauanl.
Computerzubehör
Schrittmot.&Steuer&Mech Ap2 Teile
InfoPool
eMail-Kontakt


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.

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:                                                                                 

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.


 GOWEB Counter by INLINE