+retroclouds Posted December 2, 2018 Share Posted December 2, 2018 Think I read somewhere that the F18A also supports a 30 rows/80 character mode as opposed to the "normal" 24 x 80 columns mode. If that is true, can someone point me how the F18A VDP registers must be set to activate the mode? Thanks retroclouds *EDIT* It's 30 rows, not 31 rows. Quote Link to comment Share on other sites More sharing options...
PeteE Posted December 2, 2018 Share Posted December 2, 2018 The ROW30 flag is in register VR49. I have crudely made the register layout here: +----------+--------+-------+-------+--------+-------+-------+-------+ VR49 >31 | TILE2_EN | ROW30 | ECMT0 ECMT1 | Y_REAL | LINK | ECMS0 ECMS1 | +----------+--------+-------+-------+--------+-------+-------+-------+ Tile map 2 enable ECM (T)ile real sprite Y coord ECM (S)prite 24/30 tile rows Sprite linking enable 2 Quote Link to comment Share on other sites More sharing options...
matthew180 Posted December 3, 2018 Share Posted December 3, 2018 You can thank the NES for the 30-row support (and a few other enhancements). Keep in mind that when all 30-rows are enabled, the name tables are larger. Pixel scrolling is also available in T80 mode, but not the multiple pages. Unlock the F18A and set bit >40 in VR49 (as shown above, thanks PeteE), and you will have 30-rows available. The Text modes also have the "position-based attributes" available. Note that in the next F18A firmware (yes, there is going to be at least one more, if not two, updates), Sprite Linking and the Real Sprite Y position features are going away. I only mention those here because they are part of VR49. 2 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted December 3, 2018 Share Posted December 3, 2018 Sprite Linking and the Real Sprite Y position features are going away. Have any programs even used them? Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 3, 2018 Share Posted December 3, 2018 The 30 row mode is good news for reasons. Quote Link to comment Share on other sites More sharing options...
matthew180 Posted December 3, 2018 Share Posted December 3, 2018 Have any programs even used them? Not AFAIK, which is not really definitive I know. The reason for the change it technical and I needed to remove something to get FPGA resource utilization below 99%. It is common for software that uses multiple spites (like games) keep a copy of the sprite table in CPU RAM and just overwrite the whole table in VRAM when a sprite needs to be updated. Quote Link to comment Share on other sites More sharing options...
matthew180 Posted December 3, 2018 Share Posted December 3, 2018 The 30 row mode is good news for reasons. News? It has been there since the original release in 2012. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 3, 2018 Share Posted December 3, 2018 News? It has been there since the original release in 2012. Sadly been low-priority for me. Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted December 21, 2018 Author Share Posted December 21, 2018 Here's a little demo recorded using js99er. I apologize for the bad YouTube video quality. This isn't 30 rows mode yet, but you get the idea. 4 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted December 23, 2018 Author Share Posted December 23, 2018 (edited) Is there a proper way to fully reset the F18a after coming out of 80 columns/30 rows mode? In the following demo I run the F18a in 80 columns, 30 rows mode and then exit to the title screen by doing a blwp @0 after having done the below steps: Turn bit >40 in VR49 off Lock the F18a NOTE: At the end of video I wrote 30 columns mode, that is wrong ofcourse, it's 30 rows mode. Recorded with js99er. The behaviour is consistent on the real deal and js99er. I have to turn the TI-99/4a to reset the F18a. Even swapping modules and going to TI-Extended Basic for example shows the same behaviour, so I presume the F18a is still stuck in 30 rows mode? Unfortunately I can't test it on classic99 as this mode is not (yet) supported. Edited December 23, 2018 by retroclouds Quote Link to comment Share on other sites More sharing options...
PeteE Posted December 23, 2018 Share Posted December 23, 2018 (edited) Before reset, also write >80 to VR50 to "Reset all VDP registers to power-on defaults" Edit: Do you have the F18A register documentation? I'm attaching a PDF conversion from the original spreadsheet. f18a_register_use - V1.8.pdf Edited December 23, 2018 by PeteE 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted December 23, 2018 Share Posted December 23, 2018 I toggle between 24 and 30 line mode within TIMXT for some menu options. Before resetting with BLWP @0 I also use the same step PeteE mentions, writing >80 to VR50. Quote Link to comment Share on other sites More sharing options...
Tursi Posted December 23, 2018 Share Posted December 23, 2018 Yep.. if you're using the extended F18A functions, you should disable QUIT in the interrupt function and handle it yourself, so you can reset the F18A first. 2 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted December 24, 2018 Author Share Posted December 24, 2018 ok, that sounds like a plan. Thanks for the update guys! Quote Link to comment Share on other sites More sharing options...
matthew180 Posted December 29, 2018 Share Posted December 29, 2018 F18A settings survive a warm reset, as well as cartridge inserts (when doing so does not lock up the console). It is just the way it all worked out. I suppose this could be handy for making a utility that can set certain F18A features for various reasons. For example, the virtual scan lines, sprites per line, and other such settings are all software controllable regardless of the jumper settings (the jumpers are just the power-on defaults). So a utility could let the user turn those (and other) features on or off until the console is power-cycled. The palette registers are another example. You could set a completely new color palette if you want, which will survive until you power-cycle. I'm glad others chimed in to help you, since I have literally forgotten about half of these things! Uh, I just make the tools, I don't actually *use* them... 3 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.