Building up an Apple II Knowledge & Info-Pool
Auch relevant zum Thema: [ My6502+Ap2-Prj-Page
]
[ADT ,
FDC, VIA6522,...]
Prioritäten & primär nützliche Informationen
aus alten Apple II-Zeiten ( "welche Schätze zu heben...") :
- DISK-Images von den alten 5 1/4"-FD's ( trotz
umfangreicher Sammlungen
ftp.apple.asimov.net, apple2.caltech.edu ... , immer noch
Lücken !)
- Firmware/ROM-Inhalte (Apple II Software-Interface-Architektur
mit der großen Zahl ROMs mit I/O-Routinen )
- Hardware-Manuals , insbesondere auch kommentierte
Treiberlistings , die teilweise in den Manuals enthalten sind
- und vor allen Dingen: Schaltpläne (Circuit Plans)
- Indices,Lesezeichenlisten bzw. HTML-Intro's zu Web-Material
"rund um den apple II" .
Zusammengetragene Info und derzeitiger Focus / folgende
Themen:
Hardware: Schaltpläne
Aus meiner Sicht gibt es einen Mangel an zugänglichen
Informationsquellen,die Apple II-Hardware und Homebrew-Stuff betreffen.
Habe mehrere Meter Regalwand mit AppleII-Unterlagen, Ordnern,
Schaltungen, AppleII-HW-Projekte aus einschlägigen Magazinen etc.
, die ich durchsortiere , teilweise via Scanner aktivieren will.
Hier würde ich noch weitere interessierte Personen finden, die
diese Infoquellen-lücke füllen wollen.
Letztlich werde ich alle gesammelte Info auf CD brennen.
Diskimages ( Apple II-SW )
: ADT
Ein möglichst kompletten Pool der alten Apple II-Software ( 5
1/4"-Disketten transferiert mittels ADT auf adequate Medien wie
HDD oder CD ) ,
das wünscht sich wohl jeder , der noch einen alten Apple
II in seinem Fundus stehen hat.
6502-Code-Snippets
Hier liegt der wirkliche Schatz der Apple II Technologie und des 6502.
Für diese Prozessorarchitektur ist in den Pioniertagen viel
"brainware" in Form von Kodierungsstrategien und Code-segmenten
entstanden, dessen Wissen man sich noch heute zu Nutze machen
kann.
Aus Sachzwang (Speicher,generell begrenzten Resourcen,...) wurde in den
Zeiten des 6502 die Codierung optimiert und es sind sehr trickreiche,
wie "sophisticated" Kodierungen entstanden. Die frühen
Enthusiasten haben hier sehr effiziente Kodierungen entwickelt.
= >
Interesse bekunden am Aubau d. Infopools !
ap2_6502codeSnippets
TERM6551.as65 interrupt handler for the SSC I/O, which is a
Terminal-Emulation-Program
using a Hi/Lowater-Queue and the VIDEX-80Z-Card /Firmware to provide a
minimal Terminal-Emulation ( VT52 or alike)
( have also a 6850-Version: ask )
Beispiele f.
6502-Code-Snippets:
( taken fr. news ... )
jsr PrintRoutine
asc "Hello World!",00
> >> ...continue assembly code here
;****************************************
; 24-Jul-2000 StringWritePC
;
; PC = pointer to string
; ==> A,X,Y = saved
;
;****************************************
stringwritepc: STA strpc5+1; save A
PLA
STA strpc2+1; pull return address
PLA
STA strpc2+2
BNE strpc3; jump always (should not be zero)
strpc2: LDA $ffff; read characters from string
BEQ strpc4; endmarker reached?
JSR cout; print character
strpc3: INC strpc2+1; increment address
BNE strpc2
INC strpc2+2
BNE strpc2; jump always (should not become zero)
strpc4: LDA strpc2+2; push address on stack
PHA
LDA strpc2+1
PHA
strpc5: LDA #0; restore A
RTS
Gesuchte
6502-Code-Snippets:
Mit der VIA6522 und dem SR-Register/Funktionalität sollte es
möglich sein eine PC-PS2-Mouse-Port BiDirektionale Kommunication
zu realisieren.
Mit VIA6522 und ähnlichen LSI ( 6821, ? 8255 ) und der
automatischen Handshakefunktion ließe sich mit einem
Remote-System eine extrem schnelle Kommunikation aufbauen, die
schneller als ein indizierter Memory-Move ist. Damit ließe sich
so manches alte 286-AT-Mainboard als Sideboard für den Apple II
gebrauchen und die PC-ISA-Slot-Peripherie (LAN/Ethernet ,
IDE-HDD-Interface, ... ) nutzen ...
Links
There are several good places on the net to find out about programming:
Apple Assembly Line Archive
http://salfter.dyndns.org/aal/
Ron Kneusel's 6502 page- 6502 info, assem tutorials, and links
http://www.geocities.com/oneelkruns/65index.html
The Fridge- 6502 info, tutorials, assembly language routines
http://www.ffd2.com/fridge/
www.6502.org- 6502 info, tutorials, assembly language routines
http://www.6502.org/
Apple II DOS and ProDOS mini manual
http://home.swbell.net/rubywand/Csa2DOSMM.html
Apple //c .dsk Archive- Apple II BASIC Programming Reference Manual
on-line (in French, PDF format)
http://www.multimania.com/apple2c/Docs/Docs.htm
Applesoft BASIC FAQs on 'Another Computer Museum
http://www.xs4all.nl/~fjkraan/comp/apple2faq/app2asoftfaq.html
Ground
ftp://ground.ecn.uiowa.edu/apple2/MiscInfo/Applesoft/
ftp://ground.ecn.uiowa.edu/apple2/MiscInfo/Programming/
ftp://ground.ecn.uiowa.edu/apple2/apple8/Beagle.Oldies/
ftp://ground.ecn.uiowa.edu/apple2/MiscInfo/
Home of the Apple II- Apple II manual reprints, new user programming info
http://www.educate.net.au/~apple2/
Major Apple II Sites- many Apple II links
http://home.swbell.net/rubywand/A2FAQs4MAJORSITES.html
Nützliches und Anmerkungen "Rund um ADT"
( für Anregungen , Hinweise , Ergänzungen und Korrekturen bin
ich dankbar !!! Bitte mailen
)
Letzte Version meines Wissens ADT 1.22
Die eigentliche Software wurde entwickelt für den SCC 6551 an
der HW-Adresse $C088+10*SlotNo (4 Register:
C088,C089,C08A,C08B)
Deswegen ist die übliche Verwendung der ADT-Software mit der
Super-Serial-Card von Apple (SSC). Aber auch in IIc .... ist der 6551
standardmäßig an der gleichen Adresse vorhanden und ADT122
funktioniert folglich.
Die ältere Version ADT 1.21 wurde für einen anderen Chip, den
ACIA 6850 modifiziert. Die ADT-Software macht die Veränderung
einfach, da nur eine recht kurze PUTC und GETC-Routine als Interface
zum Hardwarechip genutzt werden. Ferner werden in der PARMINT-Routine
die Register des Chips programmiert, was natürlich auch
verändert werden mußte.
Bisher ungetestet habe ich ADT_CC ( Version f. Apple Communication-Card
/mit dem ACIA 6850) für die CCS7710 gepatched , so daß die
veränderte HW-Adress verwendet wird. Auf Anfrage schicke ich die ADT_CCS7710 zu.
Meine persönlich favorisierte Konstellation ist mit adtux
(UNIX-Version),die auf einem Serversystem läuft, so habe ich von
verschiedenen Systemen über NFS oder Samba Zugriff auf die
Dsk-Images.
Übrigens eigentlich wäre für die ADT-Software gar keine
spezielle Hardware (insbesondere eine UART wie die 6551 oder 6850)
erforderlich, da alles in der Software streng sequentiell und schon gar
nicht "full-duplex" abläuft ( allein die DISK-I/O-routinen
verbieten in der Regel unterbrechende Interrupts)!
Da die UART sowieso nur "gepollt" wird , könnte man auch eine
Software-UART in den Code einfügen und z.B. den vorhandenen
Cassette-Port
mit 2 Transistoren auf den RS232-Signalpegel bringen. Das wird dann
genauso
und auch mit 9600-19200 bps funktionieren , wie mit der speziellen
Hardware.
Wenn sich jemand mal die Arbeit machen will !?
Verweise auf andere Info z. ADT:
Apple Disk Transfer (ADT for short) is a set of two programs to
transfer a standard 16-sector Apple II disk to a 140k file on an
MS-DOS computer, and transfer a standard disk image file to disk on an
Apple II. ADT 1.22 requires the Apple II to have a Super Serial
Card or a card which is hardware-compatible with SSC.
(
A Complete
Guide to Using ADT for Apple PC
file Transfers
)
Tipps: How do I
make a "NULL Modem" cable? (für ADT reichen 3 Drahtverb.!) ,
..
Csa2T1TCOM: Telecom- hardware and transfers
.
001- How do I transfer files between my Apple and a PC or
Mac?
002- How do I transfer/convert my A2 word processor files to
a PC?
003- How do I use ADT and ap2222pc to xfer disks between A2
and PC?
004- How do I transfer files between computers using NULL
modem?
005- How do I NULL-modem Text files without getting garbage?
006- How do I make a "NULL Modem" cable?
007- What is the maximum length for a NULL modem connection?
008- What are the connections for a standard modem cable?
009- How do I make a GS hardware handshake High-Speed modem
cable?
010- What is the maximum modemming speed I can get from my
Apple II?
011- What telecom programs run on Apple II computers?
012- Where can I get ADT, ADTgs, Agate, Modem MGR, Spectrum,
...?
013- What are the settings for the Apple Super Serial Card?
014- What are the Serial Pro card's dip switch settings?
015- What are the settings for an Apple Serial Interface Card?
016- What cable can I use to do NULL modem transfers with my
IIc?
017- What cable(s) can I use to connect a modem to my IIc?
018- How can I connect a modem with a Dsub-9 socket to my
IIgs?
019- How can I program the Super Serial Card in assembly
language?
020- How do I set up Hyperterm to do transfers with my Apple
II?
021- How do I get an Applesoft program into a PC-DOS computer?
022- I want to use a faxmodem with my //GS. Is this possible?
023- Can I do modem-to-modem transfers between my home
computers?
024- What cable can I use to do Apple //c <---> PC ADT
transfers?
025- Where can I buy modem cables and NULL modem adaptors?
Das
Floppy-Disk-Interface und der "Bit-Stream"-Encoder/Decoder (
WozMachine FloppyDiskcontroller)
Das Floppy-Disk-Interface ist einer der herausragenden, genialen
Design-Highlights der Apple-II-Zeit.
z.Zt. versuche ich Informationen rund um "FloppyDiskDrives , dem Apple
WozMachine FloppyDiskcontroller zusammenzutragen:
( jede Info-Ergänzung ist willkommen )
Erphi FD-Controller ( "Auto-Patch"-Controller) & Doku ?
Firmware-Inhalt, Support-Disketten und Dokumentationen ???
Ehring & ELSA-FDC: ? FDC-Patchware ( spezielle gepatchte
Disketten-Images bzw. PATCH-Anleitungen , um die
AppleII-Betriebssysteme (DOS3.3 und Derivate<DiversiDOS,...> ,
CP/M2.2x und CPM3 , ProDOS, ... ??? ) auf die Möglichkeiten
des Shugart-Bus und der möglichen FloppyDisk-Laufwerk-Optionen
anzupassen. Insbesondere die Erhöhung d. Spurzahl und
Doppelseitigkeit und damit die Gesamtkapazität wurden
angepaßt. Aber auch die anderen Verhältnisse der
TRK-Step/Direction-Steuerung wurden angepaßt, die Umsetzung der
Unipolar-Schrittmotor-Rampensteuerung der Original-DISK-II-Laufwerke
war oft unzureichend und vernachläßigten die möglichen
schnelleren Kopfbewegungen.
ADT-Diskimages ? Doku-Ware ?
FDD-specials/Notes ( es gab verschiedene Detailprobleme , um
FloppyDiskDrives f. Apple II-FDC/ DiskII-Aufzeichnungsformat
geeignet zu machen )
Insbesondere die Signalaufbereitung (Impulsbreiten) f. die
RDDATA,WRDATA waren bei einigen Laufwerken erforderlich.
( entspr. hatte der Ehringcontroller und optional /Jumpering auch d.
ELSA-FDC einen RDDATA - OneShot-Delay (74LS123) um die
Impulslänge zu normieren.
Allerdings war das meines Wissens nur für einige Laufwerke
notwendig , ich glaube u.a. die ersten Pakete, die das BASF6106-FDD
nutzten
?
Auch die WRDATA-Leitung wurde beim Ehring-FDC mit einem "OneShot" LS123
(Low/High-Signalform) bzw. b. ELSA mit einem EOR-Gate(LS86) mit
RC-Delay aufbereitet.
Wer weiß hier mehr , hat Unterlagen ... ???
Info-Ergänzung
Ich habe bereits gefunden:
vorhandene Unterlagen über Apple II
FloppyDisk-Technology :
Schaltplan: AppleII-FDC / 2*20pol.Pfost.Stecker ; Disk
II-Analog-PCB
FDC4-Ehring ( Handbuch z. Ehring Floppy-Disk-Controller , 14
Seiten und Schaltplan A4-Einlage)
FDC-Ehring / Betriebssystemanpassung "Patch" f. Apple II 23 Seiten
ELSA-FDC Infoblatt Vorderseite: PCB-Bestückung &
Stückliste , Rückseite: Jumper-Doku ;
( aus alten Zeiten meine Handskizzen/redokumentiert :
Schaltplan ) , Modifikation: SideSel-FlipFlop ( 4 Drähte
und
gut, wenn d. optionale LS123 bestückt ist)
Patentschrift Wozniak "...",
"MC3470"-Datenblatt ( Motorola , 16 Seiten ) , zentrales
IC (neben d. ULN2003) d. "apple Disk II Analog Card"
( Anfragen
/ wenn jemand was haben möchte : Was ich schon
elektronisch habe - per eMail , sonst gegen Kostenerstattung
Fotokopien&Porto )
Z80-Karten Informationen
, 6502/Z80-Code-segmente alternierende CPU-Nutzung
( Als Circuit-Design-Freak interessieren mich Schaltpläne und
schaltungstechnische Kniffe.Außer dem MS-Softcard Schaltplan aus
dem MS-Paket ist mir da allerdings wenig bekannt. Leider habe ich nie
die
Originalunterlagen d. ALS Z80 oder APL Z80 etc. gesehen .
Überblick über verschiedene Z80-Karten:
AppleCPM .
Hat hier jemand mehr ??? Ggfs. funktionelle
Schaltungsbeschreibungen der verschiedenen Karten ???)
Die Kombination der Cmd-Set-Technologien 6502/Z80 erscheint mir auch
heute noch sehr interessant. Üblicherweise wurde CP/M gefahren und
nur seitens des Betriebssystems die Dual-CPU-Eigenschaft genutzt.
Hat jemand aber Code-segmente teils 6502/teils Z80 , die gemeinsam
effiziente Lösungen f. spezielle Problemstellungen bilden,
erstellt oder irgendwo gefunden ?