Asmusr Posted December 25, 2022 Author Share Posted December 25, 2022 On 12/24/2022 at 9:50 AM, Asmusr said: I have made some experiments with pointer lock and it seems to be working fine, but I haven't decided what the best way of activating it would be. Just clicking anywhere would prevent the other mouse functionality (that you can click on numbers in the menus) from being used. I was thinking either a toolbar button that you have to click before entering full screen mode, or that you have to click in the border, which is a bit obscure. Because of Christmas I don't have much time for this now. I have added a toolbar button for pointer lock. 5 Quote Link to comment Share on other sites More sharing options...
TheMole Posted January 4 Share Posted January 4 (edited) On 12/25/2022 at 6:01 PM, Asmusr said: I have added a toolbar button for pointer lock. Tested, and I can confirm it works as advertised and solves all issues! Thanks! Edited January 4 by TheMole 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted January 17 Author Share Posted January 17 10 years ago I suggested to implement a feature where you could load a list file into a debugger and follow that instead of a disassembly view as you were debugging your code. Yesterday I finally added a simple version of the feature to https://js99er.net. In the debugger you choose List view and Load the list file. Then, as long as your program stays within the limits of the addresses in the file, you can use the List view to keep track of where you are as you run or step through the code. If you call code outside the limits of the list file, you will have to switch to one of the other views. I haven't tried it in a real situation yet, but it seems like it's working OK. Unfortunately, being a browser based app, you will have to open the list file again each time you have made a change to it. 9 1 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted January 17 Share Posted January 17 Looking forward giving it a spin, this might come in very, very handy I’m running js99er locally in WSL2 since a while now as I made some small mods for myself while working on Stevie. Quote Link to comment Share on other sites More sharing options...
+Retrospect Posted January 17 Share Posted January 17 I have a feature request. It's an idea I had earlier. Occasionally, I try to create old arcade games on the TI99, that used to use a different screen to 4:3 ... for example, "Space Invaders", "Lunar Rescue", and "HunchBack" all used a TV on it's side for the screen, so it was longer than it was wide. Would it be possible to add a feature that rotates the TI screen 90 degrees? We can do this in Windows but it's too invasive as it rotates the PC screen itself. In doing so, it might get around the 4 sprites limitation one-way. 3 Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted January 18 Share Posted January 18 14 hours ago, Retrospect said: I have a feature request. It's an idea I had earlier. Occasionally, I try to create old arcade games on the TI99, that used to use a different screen to 4:3 ... for example, "Space Invaders", "Lunar Rescue", and "HunchBack" all used a TV on it's side for the screen, so it was longer than it was wide. Would it be possible to add a feature that rotates the TI screen 90 degrees? We can do this in Windows but it's too invasive as it rotates the PC screen itself. In doing so, it might get around the 4 sprites limitation one-way. Kind of crazy, but if there's room for F18A, then why the hell not !? Absolutely brilliant ! I'd considering developing for that ! Sorry for those of you, who'd actually try and turn your "TV" on it's side ! 3 1 Quote Link to comment Share on other sites More sharing options...
+Retrospect Posted January 18 Share Posted January 18 (edited) 3 hours ago, sometimes99er said: Kind of crazy, but if there's room for F18A, then why the hell not !? Absolutely brilliant ! I'd considering developing for that ! Sorry for those of you, who'd actually try and turn your "TV" on it's side ! Thanks Here's my example .... note the red "rotate" option in "Graphics". This would be awesome. Edited January 18 by Retrospect 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted January 18 Author Share Posted January 18 27 minutes ago, Retrospect said: Thanks Here's my example .... note the red "rotate" option in "Graphics". This would be awesome. It's easier to make a special version than adding an option. Try this: https://rotated.js99er.net/#/ Are you sure you don't want it rotated the other way? It seems more natural to have 'address 0' at the bottom left corner. 2 2 1 Quote Link to comment Share on other sites More sharing options...
+Retrospect Posted January 18 Share Posted January 18 12 minutes ago, Asmusr said: It's easier to make a special version than adding an option. Try this: https://rotated.js99er.net/#/ Are you sure you don't want it rotated the other way? It seems more natural to have 'address 0' at the bottom left corner. Thank you Rasmus! That'll be perfect. I'll start creating code for this screen layout now, and see how I get on. Nice one! 1 Quote Link to comment Share on other sites More sharing options...
+Retrospect Posted January 18 Share Posted January 18 Love it !!!! JS99'er - Google Chrome 2023-01-18 16-35-53.mp4 5 1 Quote Link to comment Share on other sites More sharing options...
+Retrospect Posted January 18 Share Posted January 18 1 hour ago, Asmusr said: It seems more natural to have 'address 0' at the bottom left corner. Yeah , try that 1 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted January 18 Share Posted January 18 3 hours ago, Asmusr said: It's easier to make a special version than adding an option. Try this: https://rotated.js99er.net/#/ Are you sure you don't want it rotated the other way? It seems more natural to have 'address 0' at the bottom left corner. I also got a request 😀 Could you point me to the direction where in the F18a VDP a change could be made, so that the amount of available rows in 80 columns mode is doubled. So, if the bit is set you would get: - 48x80 instead of 24x80 - 60x80 instead of 30x80 Really would like to have such mode for seeing how that looks like in stevie. The scanline doubling could be removed in that case I guess. I discussed that topic also with Mat for the FPGA, but it wouldn’t be easily possible to implement in the F18a mk1 because of the VHDL and lack of memory (if I recall correctly, topic must be here somewhere in the forum) However really would like to evaluate that possibility in js99er, and you never know real hardware may follow (f18a mk2 feature request?) 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted January 19 Author Share Posted January 19 11 hours ago, retroclouds said: I also got a request 😀 Could you point me to the direction where in the F18a VDP a change could be made, so that the amount of available rows in 80 columns mode is doubled. So, if the bit is set you would get: - 48x80 instead of 24x80 - 60x80 instead of 30x80 Really would like to have such mode for seeing how that looks like in stevie. The scanline doubling could be removed in that case I guess. I discussed that topic also with Mat for the FPGA, but it wouldn’t be easily possible to implement in the F18a mk1 because of the VHDL and lack of memory (if I recall correctly, topic must be here somewhere in the forum) However really would like to evaluate that possibility in js99er, and you never know real hardware may follow (f18a mk2 feature request?) As a hack, I think you can do something like this around F18A line 409: this._drawScanline(y * 2); if (this.screenMode === F18A.MODE_TEXT_80) { this._drawScanline(y * 2 + 1); } Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted January 19 Share Posted January 19 15 hours ago, Asmusr said: As a hack, I think you can do something like this around F18A line 409: this._drawScanline(y * 2); if (this.screenMode === F18A.MODE_TEXT_80) { this._drawScanline(y * 2 + 1); } I must be missing something. VDP memory looks good, both for tiles and color attributes. But it still does not show more than 30 lines. As a test I additionally did the below (note drawHeight*2) _drawScanline(y) { const imageData = this.imageDataData; let imageDataAddr = this.imageDataAddr; if (this.displayOn && y >= this.topBorder && y < this.topBorder + this.drawHeight*2 ) { this.log.info("drawHeight y = " + this.drawHeight + ", topBorder y = " + this.topBorder ); and this is what I get: 1 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted January 20 Share Posted January 20 I just tried mouse support in js99er and it works perfectly. And now with the list file debugger feature, this emulator has become quite an attractive option for development. Well done. 2 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted January 20 Author Share Posted January 20 19 hours ago, retroclouds said: I must be missing something. VDP memory looks good, both for tiles and color attributes. But it still does not show more than 30 lines. As a test I additionally did the below (note drawHeight*2) _drawScanline(y) { const imageData = this.imageDataData; let imageDataAddr = this.imageDataAddr; if (this.displayOn && y >= this.topBorder && y < this.topBorder + this.drawHeight*2 ) { this.log.info("drawHeight y = " + this.drawHeight + ", topBorder y = " + this.topBorder ); and this is what I get: It's because of these lines (line 473-) that it duplicates. Try to comment them out. if (y1 >= scrollHeight) { y1 -= scrollHeight; nameTableBaseAddr ^= this.vPageSize1; } 1 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted January 21 Share Posted January 21 20 hours ago, Asmusr said: It's because of these lines (line 473-) that it duplicates. Try to comment them out. if (y1 >= scrollHeight) { y1 -= scrollHeight; nameTableBaseAddr ^= this.vPageSize1; } Works like a charm thanks! 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.