Beiträge von WTE im Thema „output to 80col is disabled... disk access...“

    You didn't analyse the original BASIC routines correctly (especially the exit to READY).
    Banking is a very complicated business.

    When you used your original program you missed any output on VDC screen.
    But you can find the remnants of your efforts in RAM 0 at $D600/$D601 (VDC register address)

    Code
    m 0d600 0d600
    >0d600 0f 80 00 00 00 00 00 00:........

    Change all jumps from $16ba to $16b7
    and add one line to your "READY"-exit:

    Code
    d 16b7
    . 016b7  20 45 a8 jsr $a845
    . 016ba  a2 00    ldx #$00
    . 016bc  bd 80 14 lda $1480,x
    . 016bf  c9 01    cmp #$01
    . 016c1  f0 07    beq $16ca
    . 016c3  20 d2 ff jsr $ffd2
    . 016c6  e8       inx
    . 016c7  4c bc 16 jmp $16bc
    . 016ca  60       rts


    Or shift the code from 16ba three bytes down and set the new line as 16ba
    jsr a845 makes MMU conf reg = 0 (Bank 15)

    Why is that necessary for 80 column? (and not for 40 column)

    Writing on VIC-creen is writing in memory => no problem
    Writing to VDC-screen is writing via I/O-Register to external RAM => you need Bank 15

    Executing BASIC-Line (also in READY-Mode) disables I/O and enables Charset/RAM 0 (that's done by the BASIC routine before your extension is executed)
    Your extension sees RAM 0 (Bank 0) and KERNAL/BASIC/CHARSET only. But no I/O.
    You have to reset Bank 15 configuration before printing to VDC!

    That's all.

    Regards WTE