
/*************************************************************************/
/*                                                                       */
/*                 WOM-Expansion fr Amiga 1000                          */
/*                (512KByte Kickstarts im A1000)                         */
/*                                                                       */
/*                Eine Bauanleitung von Jrg Huth                        */
/*                                                                       */
/*************************************************************************/


Mit der Entwicklung der Kickstart2.0 und dem Aufkommen von
Kickstart-Umschaltplatinen fr den A500/A2000 fragt sich natrlich auch der
A1000 Besitzer, wie er in den Genu von Kick 2.0 kommen knnte. Zwar gibt
es Software-Lsungen (kickit u.), doch da dies sicher nicht der Weisheit
letzter Schlu ist, bekommt der User, wenn nicht schon bei einem Reset, 
sptestens nach einem etwas hrtern Absturz zu spren.

Aber auch die Eprom- bzw. Rom-Lsungen haben ihre Nachteile. Kommt ein
neues Kickstart-Release, so mu man die Eproms komplett lschen und neu
programmieren. Die Roms bleiben davon verschont, die kann man nmlich
gleich wegwerfen. Hat man dann aber Eproms und diese auch glcklich neu
programmiert, kann sich natrlich herausstellen, da das neue Release
vielleicht doch nicht so empfehlenswert ist, weil das teuer gekaufte
CAD-Programm oder die Software fr die Platte nicht mehr so richtig will.

Bisher stand der 1000'er User ber diesen Dingen. Er konnte nach
Herzenslust alle mglichen Kickstartversionen fahren und sich bei Bedarf
auch seine ganz persnliche Kick zusammenpatchen. Ging der Patch in die
Hose: Macht nichts; Diskmon rein und nochmal probieren.

Und genau so sollte es auch mit der Kick 2.0 gehen. Doch leider ist das WOM
des A1000 nur 256KByte gro, Kick 2.0 aber 512KByte lang.

Egal! Fr unter 70 Mrker lt sich der A1000 so umrsten, da nach dem
Einschalten neben normalen 256KByte Kicks (also 1.0-1.3) auch eine 512KByte
lange Kickstart-Diskette eingeschoben wird. Der Amiga verhlt sich dabei
ganz genau wie sonst, nur da die Kickstart jetzt eben evtl. doppelt so
lang ist ($f80000-$ffffff anstatt $fc0000-$ffffff).


Was man alles braucht:
----------------------

 1) 8 Stck: Speicherchips 41464 (120ns)
 2) 2 Stck: Eproms 27C256 (120ns)
            (Ersetzen die alten BootRoms im A1000)
 3) 1 Stck: 74LS32
 4) 1 Stck: 74LS74
 5) 1 Stck: 74F86
 6) 2 Stck: 74F138
 7) 8 Stck: Widerstnde 39 Ohm (1/4 Watt)
 8) 1 Stck: Widerstand 1 kOhm (1/4 Watt)
 9) 1 Stck: Leuchtdiode (3mm, gelb - die Farbe betrachte man als befohlen!)
10) 1 Stck: Schalter (1*UM)
11) 5 Stck: Abblockkondensatoren (0.1 MyFarad, keramisch)
12) 1 Stck: Elko 47 MyFarad / 16 Volt
13) Sockel fr die 74'er nach Bedarf, ein Stck Lochrasterplatine, etwas
    Schaltlitze
14) Software (Inhalt fr die Eproms) der neuen BootRoms


Die Funktionsweise:
------------------- 

Das WOM des A1000 liegt im Adressbereich von $fc0000 bis $ffffff. Kick 2.0
liegt aber im Bereich von $f80000 bis $ffffff (dies ist brigens auch im
A3000 so). Es fehlt also der Bereich von $f80000 bis $fbffff (genau
256KByte). Sieht man sich mittels eines Monitors an, was normal in diesem
Bereich liegt, so findet man eine Kopie des Bereichs von $fc0000-$ffffff.
Dies ist eigentlich nicht verwunderlich, im Schaltplan des
A1000 erkennt man, da zur Auskodierung der WOM-Adresse nur A17, nicht
aber A18 benutzt wird. Wenn man nun auf die schon vorhandenen WOM-RAMs (8
Speicherchips (U2J-U1M auf dem Mainboard) von Typ 41464) nochmals 8 Chips
- im Huckepackverfahren - vom gleichen Typ aufltet, die Chip-Select Leitungen
der neuen Chips jedoch abbiegt (also nicht mit den Beinchen der alten Chips
verltet) und das ganze so ansteuert, da jetzt auch A18 auskodiert wird,
so hat man einen durchgngigen WOM-Bereich von $f80000 bis $ffffff.

Doch leider stehen dem einige Probleme entgegen, auf die ich im folgenden
eingehen will:

Zunchst zur Adressdekodierung, die nun auch mittels A18 erfolgen soll. Im
A1000 wird das WOM ber einen F139 auskodiert (2 Stck: 2 zu 4 Dekodierer).
Dieser hat zur Auskodierung von A18 aber keine Eingnge mehr frei. Deshalb
verwendet meine Schaltung zwei 74F138 (3 zu 8 Dekodierer). Der F139 auf dem
Motherboard mu nun aber freilich stillgelegt werden. Dies geht am
einfachsten, indem die vier 39 Ohm-Widerstnde (R112-R119) abgeknipst
werden.

Damit ist der untere Teil der Schaltung beschrieben. Doch wofr ist nun der
obere Teil? Dazu zunchst einige Erluterungen, was im A1000 nach dem RESET
passiert:

Nach einem RESET schaut der 68000 in Adresse 4 nach, wohin er springen
soll. Da ab Adresse 0 in der Regel aber RAM liegt und nach dem Einschalten
des Rechners hier keine vernnftigen Werte erwartet werden knnen, blendet
der Amiga ab Adresse 0 seine BootRoms ein, die normalerweise ab
Adresse $f80000 liegen (hoppla, hier liegt doch auch der neue WOM-Speicher
!!! Doch dazu spter mehr). Zum Einblenden der BootRoms nach Adresse 0 ist
eine I/O-Leitung eines 8520 zustndig (CIAA PRA Bit 0). Nach einem RESET
wird diese Leitung auf High gesetzt und dies bewirkt die Einblendung des
BootRoms. ber den Zeiger in Adresse 4 wird dann sofort in die
Originaladresse der BootRoms gesprungen und dort wird dann das
OVL-Bit auf Null gesetzt, womit die Einblendung verschwindet und alles
wieder beim alten ist.

Nach einigen Testroutinen berprft das BootRom nun die Checksum des
WOM-Bereichs. Ist die Checksum (mu $ffffffff sein) in Ordnung, so gehen die
BootRoms davon aus, da schon eine Kickstart geladen wurde. Daraufhin wird
der Schreibschutz-Mechanismus fr das WOM aktiviert und die Kickstart
gestartet. Ist die Checksum nicht in Ordnung, so wird ber DF0: eine
Kickstart eingelesen, anschlieend dann der Schreibschutz-Mechanismus
aktiviert und die geladene Kickstart gestartet.

Und genau bei der Schreibschutz-Aktivierung liegt der Knackpunkt:
Ausgelst wird er durch einen beliebigen Schreibzugriff auf den Bereich
$f80000-$fbffff. Doch wie soll man dann den neuen WOM-Bereich berhaupt mit
der Kickstart beschreiben, wenn doch der erste Schreibzugriff den Bereich
sofort gegen weiter Schreibzugriffe sperrt? Ein anderes Argument kommt noch
hinzu:

In dem neuen Bereich von $f80000-$fbffff liegen doch auch die Boot-Roms.
Wie soll man also berhaupt darauf zugreifen?

Die Lsung ist eigentlich relativ einfach: Zunchst einmal werden mit der
Schreibschutz-Aktivierung des WOMs auch die BootRoms abgeschaltet. D.h. der
Adressbereich von $f80000-$fbffff steht wieder zu Verfgung (im Normalbetrieb
des A1000 befindet sich hier ja der gespiegelte WOM-Bereich $fc0000-$ffffff).

Das die BootRoms durch neue ersetzt werden mssen, drfte mittlerweile
schon klar geworden sein, schlielich mssen ja 512KByte von Disk eingelesen
werden und auch die Checksumme ist ber einen greren Bereich zu
ermitteln. Auerdem mssen die neuen BootRoms wahlweise mit 512KByte Kicks
oder 256KByte Kicks umgehen. Um von den BootRoms aus jetzt auf den neuen
WOM-Bereich zugreifen zu knnen, verwendet meine Schaltung eine kleine
Logik, mit der die Adressbereiche von $f80000-$fbffff und $fc0000-$ffffff
miteinander vertauscht werden knnen. D.h. der Bereich ab $f80000 lt sich
nach Vertauschung ber den Adressbereich ab $fc0000 ansprechen. Soll auf
den Originalbereich ab $fc0000 zugegriffen werden, so mu die Vertauschung
eben wieder rckgngig gemacht werden.

Die Vertauschung an sich ist relativ einfach. Man mu nur die Adresse A18
entweder invertieren oder normal zu den Dekodern F138
durchschalten. Zur Steuerung der Vertauschung habe ich eine I/O-Leitung
verwendet, die eigentlich zur Steuerung der Power-LED vorgesehen ist.
Natrlich bleibt die LED weiter angeschlossen (wollte ich vorsichtshalber
noch einmal erwhnen). Jetzt mu eigentlich nur noch sichergestellt
werden, da die Vertauschung nach dem Abschalten des BootRoms nicht mehr 
funktioniert, sonst wrde jedes Programm, das die LED umschaltet, den
Rechner zu Absturz bringen, weil es die Adressbereiche $f80000 und $fc0000
vertauschen wrde.

Zu diesem Zweck dient das D-Latch 74LS74. Nach einem RESET fhrt der
Ausgang (Q) einen Low-Pegel. Damit kann das LED-Bit von CIAA den Ausgang
des Oder-Gatters (74LS32) bestimmen. Ist der Ausgang High, so wird im XOR
(74F86) die Adress-Leitung A18 invertiert. Bei einem Low am LED-Bit dagegen
wird A18 unverndert durchgeschaltet. Kurz bevor sich die BootRoms
abschalten, erzeugen sie am OVL-Bit (CIAA PRA Bit 0) nochmals eine 0-1-0
Flanke, wodurch das D-Latch LS74 ihren Ausgang bis zum nchsten RESET auf
High schaltet. Damit ist eine Umschaltung der Adressbereiche ber den
LED-Pin nicht mehr mglich.
Genau genommen wird jetzt A18 ber das XOR-Gatter stndig invertiert. Die
RAMs sind jedoch so an den Dekodern (F138) angeschlossen, da dies gerade
wieder aufgehoben wird. Mit den neuen BootRoms ist die Schaltung also
vollkommen zum alten A1000 kompatibel. Nur der Adressbereich von $fc0000
bis $ffffff ist nicht mehr gespiegelt, sondern ab $f80000 liegt nun evtl.
(256KByte Kick geladen) uninitialisierter Speicher. Aber dies sollte kein
Programm stren, und trotz Murphy ist mir bisher auch kein solches Programm
bekannt.

Probleme treten nur auf, wenn die Schaltung in Verbindung mit den originalen
BootRoms verwendet wird, da diese das D-Latch nicht aktivieren. Somit wrde
jeder Zugriff auf die LED-I/O-Leitung das System zum Absturz bringen.
Vorsorglich lt sich dies ber den Umschalter aber unterbinden. Steht der
Schalter in Stellung 'Original', so sind die Adressbereiche nicht
umschaltbar, und es knnen die alten BootRoms verwendet werden. 

Da die neuen BootRoms die alten aber vollstndig ersetzen, ist der Schalter
eigentlich unntig. Er ist hchstes sinnvoll, wenn man die Eproms mit dem
eigenen Rechner mal umprogrammieren (oder auslesen) will, da man dann in
den Rechner die alten BootRoms wieder einsetzen mu (die Eproms stecken ja
jetzt im Epromer).


Die neuen BootRoms:
------------------- 

Ich habe die BootRoms (U5N und U5S) durch zwei Eproms vom Typ 27C256 (120ns)
ersetzt. Ob die Eproms auch langsamer als 120ns sein knnen, habe ich nicht
ausprobiert. Mit 120ns Eproms ist man aber auf der sicheren Seite. Die
Pinbelegung der 27C256 stimmt mit denen der BootRoms berein, soda sie
einfach in die Sockel der BootRoms gesteckt werden knnen. Dabei mu aber
der Pin 1 der Eproms abgebogen werden. Auf dem Sockel liegen hier +5 Volt
an. Die Eproms erwarten hier ihre Programmierspannung, die im
Normalbetrieb aber auf keinem Potential liegen sollte (Pin 1 der Eproms
also abbiegen und in der Luft hngen lassen).

Die neuen BootRoms funktionieren auch, wenn die Schaltung berhaupt nicht
vorhanden, oder ber den Schalter ausgeschaltet ist. Die BootRoms weisen
dann aber 512KByte Kickstart-Disketten mit dem Hinweis ab, da mit dem
Speicherbereich ab $f80000-$fbffff etwas nicht in Ordnung ist. 256KByte
Kickstarts werden akzeptiert wie eh und je.

Allerdings kann man die Kickstart-Diskette jetzt auch in DF1: oder DF2:
stecken. Das Schreckgespenst: 'DF0 ist defekt und der Rechner lt sich
nicht mehr hochfahren, um zu testen, was mit dem Laufwerk los ist' hat
somit ein Ende. 

Die BootRoms testen zunchst, ob ein 512KByte Kick geladen ist (anhand der
Checksumme und des Codes $11144ef9 an Adresse $f80000). Ist dies der Fall
so wird die Kick direkt gestartet. Ist dies nicht der Fall, so wird auf
eine 256KByte Kick geprft (wieder anhand der Checksumme und des Codes
$11114ef9 ab $fc0000). Ist auch dies erfolglos, so wird der User
aufgefordert, eine Kickstart-Diskette einzulegen (DF0-DF2).


Die Kickstart-Disketten:
------------------------  

Die neuen BootRoms untersttzen zwei verschiedene Formate von
Kickstart-Disketten:

1) Die normale 256KByte Kickstart-Diskette (d.h. 1.0-1.3)
   In Block 0 steht zur Kennzeichnung der String 'KICK'.
   Die Blcke 1 bis 512 enthalten die Kickstart.
   Dabei wird die Kickstart in den Bereich $fc0000-$ffffff geschrieben.
   Als Kennzeichen steht bei $fc0000 der Code $11114ef9.
   Die Checksumme betrgt $ffffffff.

2) Die neue 512KByte Kickstart-Diskette (d.h. z.B. 2.0)
   In Block 0 steht zur Kennzeichnung der String 'f8-KICK'
   Die Blcke 1 bis 1024 enthalten die Kickstart.
   Die Kickstart wird dann in den Bereich $f80000-$ffffff geschrieben.
   Als Kennzeichnung steht bei $f80000 der Code $11144ef9 (bei 2.0
   automatisch der Fall) 
   Die Checksumme mu auch hier $ffffffff betragen! Da dies normalerweise
   nicht geprft wird, kann es passieren, da die Checksumme nicht stimmt.
   Trotzdem wird die Kickstart z.B. in einem A2000 funktioniern (in Eproms
   mit Umschalt-Platine). Evtl. mu die Checksum angepasst werden. Sonst
   erkennt der A1000 die Kickstart nach einem RESET nicht mehr und fordert
   zum Einlegen einer Kickstart-Diskette auf!
   
   Zum Erstellen einer 512KByte Kickstart-Diskette gibt's nachher noch ein
   paar Tips. (Auf Kickstart 2.0 liegt ein Copyright von Commodore. Deshalb
   darf es nicht einfach kopiert werden. Ich darf also keine
   Kickstart-Diskette mit Kick 2.0 anbieten.) 

  
Der Aufbau:
-----------

Die blichen Hinweise, da die Schaltung nur von jemandem aufgebaut werden
sollte, der auch wei, an welcher Seite der Ltkolben hei wird, spare ich
mir hier. Zum Aufbau ist es sicher nicht erforderlich die Funktionsweise
der Schaltung bis aufs letzte verstanden zu haben. Sie sollten aber selbst
abschtzen, ob Sie sich an den Zusammenbau der Schaltung wagen knnen.

Auch der Hinweis auf einen Garantie-Verlust bei ffnung des Rechners 
entfllt, da es wohl kaum noch einen A1000 mit Garantie geben drfte.

Vom A1000 gibt es zwei unterschiedliche Versionen. Bei der lteren ist das 
WOM noch nicht in die Hauptplatine integriert, sondern sitzt auf einer 
Backplane-Platine (Piggy-Board).
Der Autor dieser Bauanleitung besitzt die neuere Version des A1000.
Deshalb beziehen sich die IC-Angaben, sowohl im
Schaltplan, wie in dieser Anleitung auf die Hauptplatine des 1000'er mit
integriertem WOM. Die Referenzliste am Ende dieses Artikels soll den Lesern mit
Piggy-Board das Finden der einzelnen IC's erleichtern.

Als erstes sollten Sie die Eproms programmieren. Dazu verwenden Sie die
beiden Files BootRom_2.0.LByte und BootRom_2.0.UByte und programmieren die
Eproms ab Adresse 0. Die Files fllen die Eproms brigens nicht aus. Das 
LByte-Eprom stecken Sie dann in den Sockel U5S (odd). Das UByte-Eprom in den
Sockel U5N (even). Dabei mssen Sie jedesmal den Pin 1 der Eproms abbiegen
und nicht mit in den Sockel stecken, also in der Luft hngen lassen.

Wenn bis hierher alles gut gegangen ist, so mu der Recher gang normal
hochfahren. Insbesondere mu die Power-LED sofort anfangen zu blinken.
Funktioniert der Rechern nicht mehr, so sind die Eproms defekt, falsch
programmiert oder stecken falsch im Sockel.

Funktioniert alles, so knnen Sie weitermachen. Natrlich vorher wieder den
Netzstecker ziehen, den Monitor abklemmen, smtliche Erweiterungen abziehen
usw.

Nun kommt der etwas hrtere Teil. Bauen Sie jetzt die Schaltung nach dem
Schaltplan auf. Ich empfehle dazu die Verwendung von einem Stck
Lochrasterplatine. Dies geht bei den paar Chips sicherlich am 
schnellsten. Wenn die Schaltung fertig ist, knnen Sie sie anlten. Dabei
die Versorgungsspannung (+5V und Masse) nicht vergessen. Achten Sie
weiterhin darauf, die richtigen Signale zu verwenden. Sie bentigen z.B. 
/UCEN und nicht UCEN (Der / steht fr ein invertiertes Signal). Weiter
braucht die Schaltung /LCEN und nicht LCEN, C1 anstatt /C1. Achten Sie auch 
darauf, die Prozessoradresse A18 und nicht etwa MA18 zu verwenden, welche 
man auf dem Motherboard vermutlich schneller findet. 

Haben Sie auch dies erledigt, so knnen Sie den Rechner wieder testen. Er
sollte sich verhalten wie frher. Stimmt etwas nicht, so sollten Sie
nochmals kontrollieren, ob Sie die richtigen Leitungen angeschlossen haben.
Auch die Verdrahtung der Schaltung an sich kann nochmals kontrolliert
werden. Steht der Schalter in Stellung Original, so mu die neue LED 
stndig aus sein. In Stellung 'Neu' sollte die LED whrend des Bootens immer
dann leuchten, wenn auch die Power-LED leuchtet. Nach dem Booten (Kickstart
ist dann geladen) hat die LED wieder stndig aus zu sein, egal ob die
Power-LED an oder aus ist. Bei jedem RESET mu die LED aber mit der
Power-LED synchron blinken (ist ja Bootvorgang).

Nun knnen Sie die Widerstnde R119-R122 durchknipsen und damit den F139 
auer Betrieb setzen. Sie brauchen natrlich nur einen Anschlu zu durch-
trennen. Whlen Sie dabei den Anschlu, der mit dem Pin 16 der RAMs verbunden
ist. Die Widerstnde bleiben somit an dem F139 und nicht an den RAMs hngen.
Zur Not knnen die Widerstnde dann wieder relativ einfach angeltet werden.

Lten Sie nun die Ausgnge der vier 39 Ohm Widerstnde, die sich auf der
Schaltung befinden und mit 'Original' bezeichnet sind, an die RAMs. Dabei 
knnen Sie sinnvollerweise die abgeschnittenen Enden der Widerstnde auf
dem Motherboard verwenden. Jetzt kann wieder ein Test erfolgen. Der Amiga
mu ganz normal hochfahren. Wenn Sie einen Monitor zur Hand haben, knnen
Sie ja mal nachsehen, ob der Speicherbereich $fc0000-$ffffff ab $f80000
noch gespiegelt ist. Er darf es nicht mehr sein! Steht ab $f80000
ziemlicher Mist (eben ein nicht belegter Speicherbereich), so ist alles 
in Ordnung.

Bereiten Sie nun die RAM-Chips zum Auflten auf die Chips U2J-U1M des
Motherboards vor: Die Pins leicht zusammendrcken, jeweils Pin 16
abbiegen und diesen zur Hlfe abschneiden (da die RAMs nachher sehr nahe
beieinander stehen und der abgebogene Pin sonst im Wege sein wrde).

Beim Auflten der Chips gehen Sie bitte uerst sorgfltig vor. Auf der
einen Seite sollte das Zinn schon ordentlich flieen - nicht damit sparen,
sonst erhlt man spter schwierig zu lokalisierende Fehler, weil die RAMs dann
evtl. keinen guten Kontakt haben. Auf der anderen Seite drfen aber auch
keine Kurzschlsse zwischen den IC-Pins entstehen. Auerdem drfen die RAMs
auch nicht zu stark erwrmt werden, sonst werden sie zerstrt. Fazit:
Arbeiten Sie sorgfltig, nehmen Sie sich Zeit, um die RAMs immer wieder 
abkhlen zu lassen und halten Sie Entltlitze bereit, falls doch einmal ein
Kurzschlu entstehen sollte. Kontrollieren Sie alle Ltstellen peinlich
genau, und untersuchen Sie die Pins auf Kurzschlsse. Danach knnen Sie auch
die abgebogenen Pins mit den entsprechenden Widerstnden der Schaltung
verbinden. Vertauschen Sie die Verbindungen dabei nicht!  

So, jetzt ist der Umbau eigentlich beendet. Bootet der Amiga nach diesem
letzten Schritt nicht mehr, so ist davon auszugehen, da doch irgendwo
zwischen den RAM-Bausteinen ein Kurzschlu entstanden ist. Oder Sie haben
die RAMs zerbraten!

Steht der Schalter in Stellung 'Neu', so mu die Zeit zwischen dem Blinken
der Power-LED nach dem Einschalten und dem Anlaufen der Laufwerke deutlich
lnger sein sollte als vorher, da jetzt doppelt soviel WOM-Speicher
getestet werden mu. Nach der Hlfe der Zeit mssen beide LEDs (Power-LED
und die neue) eingeschaltet werden. Geschieht all dies, so knnen Sie sich
schon mal beruhigt gratulieren.


Erstellen der neuen Kickstart-Diskette:
---------------------------------------

Um Kickstart 2.0 auf ihrem A1000 fahren zu knnen, brauchen Sie jetzt
nur noch eine Kickstart-Diskette im neuen Format. Prinzipiell ist dies kein
Problem. Auf Block 0 mu der Text 'f8-KICK' stehen. In den Blocks 1 bis
einschlielich 1024 folgen dann die eigentlichen Kickstart-Daten, die 
spter ab Adresse $f80000-$ffffff abgelegt werden. Dabei wird auf Adresse
$f80000 der Code $11144ef9 erwartet. Dies ist die, von Commodore festgelegte,
Kennung fr 512KByte Kickstarts. (D.h. in 2.0 ist dies automatisch der
Fall). Auerdem mu die Checksumme ber den gesamten Bereich den Wert
$ffffffff (entspricht -1) haben.

Da auf der Kickstart 2.0 natrlich ein Copyright von Commodore liegt und
zumindest im Moment auch nur mit den 3000'ern ausgeliefert wird, darf ich
leider keine fertige Kickstart-Diskette fr 2.0 zur Verfgung stellen. Sie
brauchen also ein Kick 2.0, welches im Bereich ab $f80000 liegt und z.B.
auf einem 2000'er oder 500'er luft. Da es mittlerweile fr die 2000'er und
500'er Kickstart-Umschaltplatinen gibt, die fr 2.0 geeignet sind und somit
auf vielen 2000'er und 500'er schon Kick 2.0 installiert ist, sollte dies
aber kein unberwindliches Problem sein. Sie brauchen auf einem solchen
Rechner nur den Bereich von $f80000 - $fffffff auszulesen und
abzuspeichern. Diese File hat dann eine Lnge von genau 524288 Bytes. Mit
einem entsprechenden Tool knnen sie das File auf die Blcke 1 bis
1024 einer Diskette schreiben.

Damit die BootRoms nach einem RESET feststellen knnen, ob die Kickstart
noch in Ordnung bzw. schon geladen ist, mu die Checksume den Wert
$ffffffff haben. Stimmt dieser Wert nicht, so funktioniert zwar alles, da
die Checksumme nach dem Einlesen einer Kickstart-Diskette nicht geprft
wird, aber nur bis zum nchsten RESET. Dann meckern die BootRoms nmlich die
falsche Checksumme an und fordern zum Einlegen einer Kickstart-Diskette auf.   

Dieser Hinweis ist besonders wichtig, da die Checksumme beim 2000'er oder
500'er nicht geprft wird und deshalb meist auch nicht stimmt. Was sollte
das System beim Feststellen einer falschen Checksumme in den ROMs (bzw.
Eproms) auch machen? 

Erstellen Sie aber ruhig zunchst eine Kickstart-Diskette mit evtl.
falscher Checksumme. Mit dieser Anleitung stelle ich ein kleines Utilities 
zur Verfgung, mit dem Sie die Checksumme der Kickstart automatisch anpassen
knnen. Dieses Utilities schreibt dann auch den Wert 'f8-KICK' auf Block 0.

Auerdem mssen die RESET-Routinen des Kick 2.0 auf den A1000 angepasst
werden, sonst startet der Amiga nach einem Guru nicht mehr selbststaendig,
sondern es mte mit dem Klammergriff nachgeholfen werden. Das Utilitie
erledigt aber auch dies:

Legen Sie dazu die Kickstart-Diskette, auf die Sie auf die Blcke 1 bis 1024 
das Kick 2.0 kopiert haben, in ein Laufwerk DFX: und geben das
Kommando: AdaptKick dfX: -r -h -c
ein. AdaptKick liest dann die Kickstart-Diskette ein, adaptiert die
RESET-Routinen, berechnet die Checksumme und schreibt schlielich noch den
Header-Block auf die Disk.  
 

Erstellen der neuen Kickstart-Diskette:
---------------------------------------

Um Kickstart 2.0 oder 2.1 auf ihrem A1000 fahren zu knnen, brauchen Sie jetzt
nur noch eine Kickstart-Diskette im neuen Format. Prinzipiell ist dies kein
Problem. Auf Block 0 mu der Text 'f8-KICK' stehen. In den Blocks 1 bis
einschlielich 1024 folgen dann die eigentlichen Kickstart-Daten, die 
spter ab Adresse $f80000-$ffffff abgelegt werden. Dabei wird auf Adresse
$f80000 der Code $11144ef9 erwartet. Dies ist die, von Commodore festgelegte,
Kennung fr 512KByte Kickstarts. (D.h. in 2.0 oder 2.1 ist dies automatisch der
Fall). Die Checksumme ber den gesamten Bereich mu den Wert
$ffffffff (entspricht -1) haben.

Sie brauchen ein Kickstart 2.0 oder 2.1, welches im Bereich ab $f80000 liegt und 
z.B. auf einem 2000'er oder 500'er luffhig ist. Dazu kaufen sie sich das
Umrstkit 2.0 von Commodore. Dieses ROM, stecken Sie in einen
2000'er oder 500'er und lesen den Bereich von $f80000 - $fffffff aus und 
speichern ihn abschlieend ab. Das File hat dann eine Lnge von genau 
524288 Bytes. Mit einem entsprechenden Tool (sihe unten) 
knnen sie das File auf die Blcke 1 bis 1024 einer Diskette schreiben.

Danach mssen Sie das zu dieser Bauanleitung gehrige Utilities
Adaptkick starten, da die Checksumme der Kickstart automatisch anpat und
den Wert 'f8-KICK' auf Block 0 der Diskette schreibt.

Auerdem werden von Adaptkick die RESET-Routinen des Kick 2.0 oder 2.1
auf den A1000 angepasst. Dies ist notwendig, da der Amiga sonst nach einem Guru 
nicht mehr selbststaendig booten wrde,
sondern es mte mit dem Klammergriff nachgeholfen werden.
AdaptKick ist fr die Kickstartversionen 37.59, 37.175 und 37.210 geeignet.

Legen Sie die Kickstart-Diskette, auf die Sie auf die Blcke 1 bis 1024 
das Kick 2.0 kopiert haben, z.B. in das Laufwerk DF0: und geben das
Kommando: AdaptKick df0: -r -h -c
ein. AdaptKick liest die Kickstart-Diskette ein, adaptiert die
RESET-Routinen, berechnet die Checksumme neu und schreibt schlielich noch den
Header-Block auf die Disk.  
 

Noch einige Anmerkungen zum Schlu:
-----------------------------------

Um die Kickstart von
einem auf 2.0 umgersteten 500'er oder 2000'er auslesen zu knnen und
mit diesem File dann eine Kickstart-Diskette erzeugen zu knnen, eignet
sich das Programm 'TrackDos' von Nic Wilson. Dieses befindet sich auf der
Fish-Disk 365 von Fred Fish.
Den meisten 1000'er Besitzern ist wohl das Utilities ChangeKick bekannt,
mit dem man eine Kickstart aus dem WOM werfen kann. Die neuen BootRoms
machen ein neues ChangeKick notwendig. Dieses wird mit dieser Bauanleitung
ebenfalls zur Verfgung gestellt.  

Referenzliste benutzter Chips auf dem Mainboard:
------------------------------------------------

Wie bereits oben erwht, beziehen sich alle IC-Angaben auf den 1000'er mit
integriertem WOM. Damit Sie die entsprechenden Ltpukte auch auf anderen
1000'ern finden, hier die Beschreibung der Chips:

Referenzliste benutzter Chips auf dem Mainboard:
------------------------------------------------

Wie bereits oben erwht, beziehen sich alle IC-Angaben auf den 1000'er mit
integriertem WOM. Damit Sie die entsprechenden Ltpukte auch auf anderen
1000'ern finden, hier die Beschreibung der Chips:

U6T: CIAA (8520), ist mit den Data-Leitungen des  Centronics-Port verbunden 
U2H: F399, davon gibt es nur einen
U1R: F139, auch hiervon gibt es nur einen
U1H: F138, es gibt zwei Chips mit dieser Bezeichnung. Pin 4 ist bei beiden
           aber gleich belegt.
U2J, U1J: WOM-Speicherchips, Pin16 ist ber 39 Ohm mit Pin 5 U1R verbunden.
U2K, U1K: WOM-Speicherchips, Pin16 ist ber 39 Ohm mit Pin 7 U1R verbunden.
U2L, U1L: WOM-Speicherchips, Pin16 ist ber 39 Ohm mit Pin 11 U1R verbunden.
U2M, U1M: WOM-Speicherchips, Pin16 ist ber 39 Ohm mit Pin 9 U1R verbunden.
U5N: ROM 23256 (even)
U5S: ROM 23256 (odd)

Die Informationen in der vorliegenden Bauanleitung habe ich ohne Rcksicht 
auf einen eventuellen Patentschutz oder Copyright erstellt und sind nur fr
den privaten Gebrauch bestimmt. Warennamen werden ohne Gewhrleistung der
freien Verwendbarkeit benutzt. Ich bin beim Zusammenstellen der Anleitung 
mit grter Sorgfalt vorgegangen. Trotzdem knnen Fehler nicht vollstndig 
ausgeschlossen werden. Ich kann fr fehlerhafte Angaben und deren Folgen 
weder eine juristische Verantwortung, noch irgendeine Haftung bernehmen. 


Copyright (c) 1991 by Jrg Huth

Kaiserslautern, den 23.05.91


Meine Adresse:

Jrg Huth
Trippstadter Str. 121-1315
W-6750 Kaiserslautern
Tel: (0631) 13796 (Voice)
E-Mail: J_Huth@JoKL.ZER
	jhuth@scooter.informatik.uni-kl.de



