+9640News Posted December 24, 2019 Share Posted December 24, 2019 I'm working on something, and it has been over 20 years since I did this with another routine, and need some help. I am in Graphics mode 6, with a 512x255x16 color screen. I am on display page 0, and want to display the last 8 pixel rows of page 1, with the balance of the display of pixel rows from page 0. I believe I need to send >01F7 to Register #23 with a BLWP @VWTR instruction. What I do not recall is how to code/write that address to the register correctly. If someone can provide me with the two to four lines of code to do it, I would appreciate it. I am mixing some coding in MDOS with direct video writes to use of the MDOS XOP's, and I am hoping by changing the display page coordinates, the MDOS XOP's will not realize the display page range is shifted making some other code a lot easier to use. Any feedback is much appreciated. Beery Quote Link to comment Share on other sites More sharing options...
+FarmerPotato Posted December 24, 2019 Share Posted December 24, 2019 16 hours ago, BeeryMiller said: I'm working on something, and it has been over 20 years since I did this with another routine, and need some help. I am in Graphics mode 6, with a 512x255x16 color screen. I am on display page 0, and want to display the last 8 pixel rows of page 1, with the balance of the display of pixel rows from page 0. I believe I need to send >01F7 to Register #23 with a BLWP @VWTR instruction. What I do not recall is how to code/write that address to the register correctly. If someone can provide me with the two to four lines of code to do it, I would appreciate it. I am mixing some coding in MDOS with direct video writes to use of the MDOS XOP's, and I am hoping by changing the display page coordinates, the MDOS XOP's will not realize the display page range is shifted making some other code a lot easier to use. Any feedback is much appreciated. Beery I was not aware of such a trick. Are you sure you remember that it was possible to cross a page boundary? There are only 8 bits in vertical scrolling register #23 so >FF is the limit. If you write >F8 then the display should take the last 8 rows from Page 0 rows 248-255, followed by Page 0 rows 0-183. For what you want to do, one way would be to set an interrupt on a particular line, then use the interrupt handler to change the page number in R#2 (manual says values are >3F and >7F for pages 0 and 1.) But that is surely not what you recall either... What do the other, undocumented values of R#2 do? If you put in >3E do you get something like what you describe? I'm taking a wild guess. I have not yet seen any "undocumented 9938" writeups. I found this nice annotated 9938 manual on GR8BIT http://rs.gr8bit.ru/Documentation/V9938-programmers-guide.pdf For one thing, explanation of R#23 in section 2.1.4 has color screenshots. My Geneve is still sitting here for lack of a working 5.25" floppy drive (of all the things). Quote Link to comment Share on other sites More sharing options...
+9640News Posted December 24, 2019 Author Share Posted December 24, 2019 I tried >F8. I'm getting something close to what I was wanting. I think I am going to need to shift it to >F4 as at 212 pixel rows, that works out to 26.5 rows. What is happening, is I have shifted the page display at the hardware level of the 9938, however MDOS and the XOP's that permitting "text writing" in Graphics mode, is unaware the page is shifted, so they are writing as though the boundary starts at 0,0 and is writing in the lower window. This has given me a "menu" at the top row instead of a status bar at the bottom of the screen so I can do some things. Beery Quote Link to comment Share on other sites More sharing options...
+9640News Posted December 24, 2019 Author Share Posted December 24, 2019 Hmm, unfortunately, when trying to return back to text mode from graphics mode, I adjusted R23 with a >0C as well or an >08, but all I get is a split character. Looks like the pattern table is shifted somehow. Trying to resolve the issue. Beery 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.