tane Posted July 31, 2021 Share Posted July 31, 2021 (edited) I thought it was just to scan the memory and find the characters, and then replace them by zeros, but is not that easy. How can be fixed a transition between 2 programs? It's shown around 0.1 seconds, but the screen should be black without any character. The characters are located in memory around $2000 and $2600. The strange thing is if the characters are located let's say between $21a0-$22a0, and then they are replaced by zeros before to enter in the transition, then unexpectedly the screen shows the next set of characters of $2500-$2600. Edited July 31, 2021 by tane Quote Link to comment Share on other sites More sharing options...
tane Posted July 31, 2021 Author Share Posted July 31, 2021 (edited previous) Quote Link to comment Share on other sites More sharing options...
globe Posted July 31, 2021 Share Posted July 31, 2021 For simple fix you could set color registers (708-712) to zero. Quote Link to comment Share on other sites More sharing options...
tane Posted July 31, 2021 Author Share Posted July 31, 2021 19 minutes ago, globe said: For simple fix you could set color registers (708-712) to zero. Tested but it didn't work. lda #$00 sta $02c4 sta $02c5 sta $02c6 sta $02c7 sta $02c8 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted August 1, 2021 Share Posted August 1, 2021 Do you load the 2nd program from an IO device (e.g. disk?). This will disable parts of the VBI which read the shadow registers. You have to wait one frame after setting the shadows before you continue. lda #$00 sta $02c4 sta $02c5 sta $02c6 sta $02c7 sta $02c8 lda $14 wait: cmp $14 beq wait Quote Link to comment Share on other sites More sharing options...
tane Posted August 1, 2021 Author Share Posted August 1, 2021 2 hours ago, JAC! said: Do you load the 2nd program from an IO device (e.g. disk?). No, just a different segment. P.M. sent. Quote Link to comment Share on other sites More sharing options...
Rybags Posted August 1, 2021 Share Posted August 1, 2021 Easy solution would be just blank the screen then re-enable once the next segment has loaded. Or have some sort of interim loading screen. Quote Link to comment Share on other sites More sharing options...
tane Posted August 1, 2021 Author Share Posted August 1, 2021 9 hours ago, Rybags said: Easy solution would be just blank the screen then re-enable once the next segment has loaded. Almost. Problem solved: to delay a "cli" makes the trick. 16 hours ago, JAC! said: Do you load the 2nd program from an IO device (e.g. disk?). Still I don't have a SIO device, but already in the way. Quote Link to comment Share on other sites More sharing options...
+JAC! Posted August 2, 2021 Share Posted August 2, 2021 On 8/1/2021 at 5:16 AM, tane said: No, just a different segment. P.M. sent. In fact that is loading from an IO device. Control returns to DOS at the RTS of the first segment and DOS blocks NMI 2nd stage via SEI and IRQ. That's why CLI solves the problem. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.