005
02.01.2023, 18:19 Uhr
Lötspitze
|
Hallo Tino,
das ist mein Programm zum Initialisieren der BWS-Karte im Z1013-128:
Quellcode: | BEGIN EQU 0E7D0H ;Beginn CLS Routine BWSA EQU 0E800H ;ANFANG BWS BWSE EQU 0F000H ;ENDE BWS + 1 ADR1 EQU 12H ;I/O-AdRESSE BWS 1Xh 2=Schreiben BIT 0 ADR2 EQU 11H ;I/O-AdRESSE BWS 1Xh 1=Schreiben BIT 1-3 STSCP EQU 0DE00H ;SCP Startadresse ; ASEG .PHASE BEGIN ; JP CLS CLS: LD C,ADR1 LD A,1 OUT (C),A ;COLOR-RAM ON LD B,2 ;GRUEN/SCHWARZ ; call fill ; LD A,0 OUT (C),A ;TEXT-RAM ON LD B,20H ;LEERZEICHEN ; call fill ; LD C,ADR2 LD A,0 ;Bit 1-3 = Low OUT (C),A ;Bit 1=0 entspricht 64x32 ; CALL STSCP ;STARTE SCP RET ; ; BWS mit Inhalt von B fuellen ; evtl. HL und DE vorher retten ; fill: ld hl,bwsa ;Beginn BWS ld de,bwse-bwsa ;Laenge BWS fil1: ld (hl),b inc hl dec de ld a,d or e jr nz,fil1 ret ; END ; ;
|
Der Code für die Umschaltung ist identisch wie bei Dir und funktioniert. Ich starte den Rechner im 32x32-Modus und lade dann mit J FF70 diese Routine und das SCP, wie das in der Beschreibung zum 128er steht. Dein Rechner hat jetzt zwar eine andere Konfiguration, trotzdem sollte Dein Programmschnipsel funktionieren. Meine Vermutung wäre nun, daß Du zwar die Umschaltungen machst, aber dann wieder so in das CP/A reinspringst, daß die ursprüngliche Konfiguration des BWS erneut geladen wird. Anders kann ich es mir nicht erklären.
VG Matthias -- ___________________ ...geboren, um zu löten.
Wer rennen soll, muß auch mal stolpern dürfen. |