Weil mich klaly bzgl. der Zukunft des Junior ][ und eines eventuellen Nachfolgers gerade befragt hat, hier mal meine Aussichten:
Junior Computer ][
Die Floppy/Graphics Controller Karte wird von meiner Seite aus wahrscheinlich die letzte Hardware Erweiterung für den Junior ][ sein. Mit einer Fertigstellung rechne ich auf alle Fälle bis Ende des Jahres. Das heißt aber nicht, dass ich dann das Interesse an dem Rechner verlieren werde. Ich denke nur, die Möglichkeiten der Erweiterung sind dann erst mal soweit ausgereizt.
Bei der Software wird von meiner Seite natürlich noch am M/OS 65 weitergeschraubt (bzw. erst mal richtig angefangen). Das soll aber auch für den tatsächlich bereits angedachten neuen Rechner ebenso funktionieren.
Neue Hardware
Den Entschluss einen neuen Rechner zu bauen, der dann die alten Zöpfe abschneidet (also definitiv nicht Junior Computer I / ][ kompatibel sein wird) schlummert schon lange in mir.
Da ich (leider?!) mit der Z80 CPU nicht viel anfangen kann - auch wenn sie ein paar tolle Features bietet - bleibe ich beim 6502, bzw. bei dessen Nachfolger dem 65816. Dieser bietet durch seinen 24 Bit Adressbus die Möglichkeit 16MB Speicher anzusprechen - wenn auch durch eine etwas krude Bankswitching Methode via eines Bank Register. Dafür kann er dann aber auch Long Jumps im ganzen Adressraum ausführen. Ansonsten bietet er alles, was die 65C02 auch kann, nur halt an einigen Stellen (so finde ich) a Muggesäckele ( = ein wenig : Anmerkung des Übersetzers
) mehr. Die bisher geplante Hardware hier im Einzelnen:
CPU: 65816 mit 4 bis 8 MHz (14MHz wird dann schon wegen des Platinenlayouts vermutlich schon schwieriger)
Speicher on Board bis 8 MB statisches RAM (natürlich extern auf 16MB erweiterbar)
Paging MMU
Priorisierte Interrupts
DMA
8 Erweiterungsslots
Grafik Controller (V9938)
Floppy Controller (WD37C65C)
SD-Karte
Serielle RS232 Schnittstelle
Parallele Schnittstelle
SPI und I2C Schnittstellen
Echtzeituhr
Sound
PS/2 Tastatur (evtl. auch Maus)
Vieles davon werde ich ähnlich dem, was sich auf dem Junior ][ tummelt übernehmen.
Beim Speicher Management möchte ich aber andere Wege gehen.
Die geplante MMU soll aus einem schnellen S-RAM (für die Seitentabellen) und entsprechender Glue-Logik aufgebaut werden, die dann sicherlich in einem PLA sitzen wird. Über die MMU werden dann bis zu 256 per Hardware selektierte Tasks möglich sein. Sprich jeder Task (bzw. Prozess) bekommt seinen Speicher inkl. Stack und Zero Page über die MMU als n x 4KB zugewiesen und über ein Task Register kann dann der Adressbereich auf den Bus gelegt werden. So ist dann ein schnelles Taskswitching möglich. Ob 256 Tasks sinvoll sind ist erst mal dahingestellt. Mehr braucht man sicherlich nicht, weniger wäre auch möglich, also warum nicht 256.
Für ein eventuelles zusätzliches Multithreading hatte ich noch überlegt, einen weiteren 64KB Speicher als Stack-Pool für zusätzlich 256 Threads mit einzubauen. Diese 256 Thread liegen dann also soz. in diesem Pool aus dem sie dann von den Prozessen angefordert werden können, bis dieser leer ist. Also ein Prozess könnte auch alle 256 Threads nutzen, oder einer 20 und ein anderer die restlichen 236...
Hintergrund ist ja, das der 6502 nur einen 256 Byte großen Stack nutzen kann. Die 65816 macht das schon besser, und kann in den untersten 64KB mehrere Stacks (á 256Bytes) verteilen. Auch das wäre eine Möglichkeit vereinfachter Multithreading zu nutzen. Allerdings wird die unterste 64KB Page von der CPU besonders behandelt (Interrupt Handler etc.), so dass es eigentlich Sinn macht, diese für den Betriebssystemkern zu reservieren. Mal schauen. Das ist alles noch sehr Vage.
Für die Interrupts bietet die 65816 (wie auch die 65C02) das Schmankerl des VP Signals, welches für Vektor Pull steht, und dann ausgelöst wird, wenn die CPU einen Interrupt Vektor aus dem Speicher liest. Damit ist es dann Möglich bei vorher bereits priorisierten Interrupts (z.B. über einen 74148 8 zu 3 Prioritätsdekoder) den Interruptvektor dann gleich auf eine andere Adresse umzuleiten, sprich wie eine Interrupt Tabelle in den x86 Prozessoren zu nutzen.
Ich werde wie von Klaus vorgeschlagen auch mal einen Thread für den neuen Rechner aufmachen und gerne Vorschläge und Anregungen entgegennehmen.
Tja und dann noch der Name. Es wird definitiv nicht Junior Computer III lauten (diese Namenserweiterung hat auch bei Apple ja bekanntlich nur Unglück gebracht). Da ich ein großer Fan des BBC Micro (the Beep) bin, und das Australische Gegenstück dazu der MicroBee ist (was ich absolut klasse finde), habe ich jetzt mal den Namen
aamoo (vielleicht dann auch aaMoo geschrieben)
gewählt, was in der Sprache der Cree Indianer eben das Wort für Biene ist. Bis auf weiteres wird das also erst mal (zumindest) der Arbeitsname sein.
Das also erst mal zum Ausblick. Wir sind dann doch bereits ab heute Abend im Urlaub. Daher werde ich erst ab dem 4.10. wieder was am FDC weiterarbeiten, den Tread eröffnen usw.
Machts erst mal gut und evtl. sieht man sich auf der CC2023. 
See ja
Jörg