Damit wird das zeitkritische Procedere auf dem BWS umgangen.
Das müsstest Du am einfachsten erreichen, indem Du auf der BWS Platine das RD Signal am Buststecker auftrennst und die Seite zum BWS fest auf H legst. Damit wird der BWS nur beim Schreiben aktiviert und quasi parallel zum HuckPack RAM beschrieben.
Nachdem die Basis (CPU, BWS, PIO) jetzt seit 2 Wochen ohne Probleme funktioniert habe ich mich noch mal mit dem fehlendem Pixel am Anfang der Zeile und der Invers Schaltung beschäftigt. Die Lösung war einfach. Wie schon vorher beschrieben habe ich zuerst Pin1 von IC13 (74LS30) mit dem Ausgang von IC1E verbunden. Ebenfalls mit dem Ausgang von IC1E ist der Eingang des unbenutzen Inverters IC1B verbunden. Den Ausgang von IC1B habe ich mit Pin 1 des Schieberegisters IC15 (74LS165) verbunden. Die Pixel sind dann synchron zur Dunkeltastung. Das führt jedoch dazu das die Inversschaltung ein Zeich zu zeitig ein und aus schaltet. Das habe ich behoben in dem ich den Pin13 von IC14 (74HCT574) auch mit dem Ausgang von IC1B verbunden habe. Die Inversschaltung funktioniert dann wieder wie gehabt.
Noch 2 Anmerkungen zur Inversschaltung.
Sie wird am Zeilenende mit dem Zeilensynchronimpuls zurück gesetzt. ein Zeile besteht aus den sichtbaren Zeichen 0 - 63 und den unsichtbaren Zeichen 64 -83. Dabei sind die Zeichen 64 - 83 die Wiederholung der Zeichen 0 -19. Der Synchronimpuls beginnt bei Zeichen 69 und geht in etwa bis Zeichen 76. Danach findet kein Reset mehr statt. Das bedeutet, aktiviert man Invers innerhalb der Zeichen 13 - 19 und schaltet erst mit 20 und größer aus führt das zu einer nicht gewünschten Anzeige. Über eine einfache Lösung hierfür denke ich noch nach. Das Verhalten müsste schon beim original AC1 zu beobachten sein.
Und vielleicht noch eine interessante Veränderung. Verbindet man Pin2 von IC16A nicht mit dem Ausgang von IC14 sondern mit Pin6 von IC16A haben die Zeichen 10h und 11h die gleiche Funktion. Sie schalten die Inverschaltung einfach um.
PRINT CHR$(17);„HALLO“;CHR$(16) führt dann zu einem Hallo mit inversen Space davor und dahinter. PRINT CHR$(16);„HALLO“;CHR$(17) dagegen mit normalem Space. ( Zeichengenerator AC1 2010 ).
/RESET geht auf der Leiterplatte an Anschluß A21. A20 wäre richtig. Also Leiterzug trennen und Brücke nach A20 legen. Schaltplan und Layout ist aktualisiert ( für die Selbstätzer ).
Bei der Festlegung ob es ROM-Bank1 oder 2 sein soll, ist es von Vorteil dort eine Lötbrücke und keine Stiftleisten einzusetzen, da die Bohrungen für Stiftleisten 1 mm sein müssten und dann nicht viel zum Löten übrig bleibt. Lötbrücke ist sicherer als ein Jumper.