diff --git a/applecorn.po b/applecorn.po index 322c3d9..8e03c40 100644 Binary files a/applecorn.po and b/applecorn.po differ diff --git a/auxmem.vdu.s b/auxmem.vdu.s index fc2f2b3..fdd4c63 100644 --- a/auxmem.vdu.s +++ b/auxmem.vdu.s @@ -598,7 +598,14 @@ VDU10DONE RTS VDU10SCRL JMP SCROLL * Move cursor up -VDU11 LDA VDUTEXTY ; ROW +VDU11 LDA VDUSTATUS + AND #$20 ; Bit 5 -> VDU5 mode + BEQ VDU11SKIP + BIT VDUSCREEN + BVC VDU11SKIP ; Not SHR, skip + >>> XF2MAIN,SHRVDU11 +VDU11RET >>> ENTAUX +VDU11SKIP LDA VDUTEXTY ; ROW CMP TXTWINTOP BNE :S1 LDA VDUTEXTX ; COL diff --git a/mainmem.shr.s b/mainmem.shr.s index 2590494..3046b54 100644 --- a/mainmem.shr.s +++ b/mainmem.shr.s @@ -523,6 +523,27 @@ SHRVDU10 >>> ENTMAIN >>> XF2AUX,VDU10RET +* Handle cursor up in VDU5 mode +SHRVDU11 >>> ENTMAIN + CLC ; 65816 native mode + XCE + REP #$30 ; 16 bit M & X + MX %00 ; Tell Merlin + LDA SHRYPIXEL + CLC + ADC #$08 ; Height of row of text + CMP SHRWINTOP + BPL :TOPPAGE + STA SHRYPIXEL + BRA :DONE +:TOPPAGE LDA SHRWINTOP + STA SHRYPIXEL +:DONE SEC ; 65816 emulation mode + XCE + MX %11 ; Tell Merlin + >>> XF2AUX,VDU11RET + + * Handle linefeed in VDU5 mode - does the actual work * Called in 65816 native mode, 16 bit M & X SHRVDU5LF MX %00 ; Tell Merlin