Thread: Mk14 vdu
View Single Post
Old 9th Nov 2020, 9:35 pm   #851
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
Default Re: Mk14 vdu

Well I've looked at the difference between FW523 and FW692 and there are 8 sections that are changed; however the code is replicated 4 times for each buffer (A,B,C.D) so there are actually only 2 changes.

Code:
ian@FX503VD:~/MPLABXProjects/OrtonView.X$ git diff fw523 mk14vdu.asm
diff --git a/mk14vdu.asm b/mk14vdu.asm
index 27b9ffd..e2e21df 100644
--- a/mk14vdu.asm
+++ b/mk14vdu.asm
@@ -1131,12 +1131,12 @@ DTXTA   CLRF    INDF
        BSF     RCSTA,SPEN                      ; CALL DTXTA = 209~
        MOVF    TBGND,W
        MOVWF   TXREG
-       DELAY   2
-       BCF     PORTA,NENIN
+       DELAY   3^M
        MOVWF   TXREG
        DELAY   7
        MOVWF   TXREG
-       DELAY   2
+       DELAY   1^M
+       BCF     PORTA,NENIN^M
        MOVF    PCLATH,W
        MOVWF   PCHSAV
        MOVF    FNTPGE,W
:
: [snipped]
:
@@ -1714,8 +1714,8 @@ L401      BCF     PORTC,NSYNC
 ; Expects index 0..7 in FNTPGE
 DGRFA  BSF     INDF,0                          ; CALL DGRFA = 210~
        CALL    OFFBUS
-       DELAY   1
        BSF     RCSTA,SPEN
+       DELAY   1^M
        MOVF    TBGND,W
        MOVWF   TXREG
        MOVF    PCLATH,W
:
: [snipped]
:
In the first section, the PIC has just disconnected from the bus (the 2 statements before the diif output) and the point it drops NENIN is moved to after it starts outputting the blank space before the text on the line, so there is a longer interval the bus is floating before NENIN is sent to 0 and the SC/MP can access the bus.

In the second section, the (small) delay after coming off the bus in preparation for outputting a graphics line is moved to after enabling the serial port and before starting to transmit the blank area before the graphics (Giving more time for the serial port to initialise?)

Given that FW692 has less of a problem with corruption of memory (it would appear) then I would suggest the 2nd change is not involved but the 1st one is what caused the apparent change in behaiviour. Is it possible that it is the time that the VDU spends getting off the bus that is the problem, not getting on the bus? The fact that it hasn't completely cured the problem might just mean that a similar change might be needed when the 4 buffers are being pre-charged as Karen puts it.

Thoughts?
Slothie is offline