+dhe Posted September 23, 2022 Share Posted September 23, 2022 Can someone (anyone 😃 ) point me to how to access memory banks from GPL mode? Is that thing even possible? Quote Link to comment Share on other sites More sharing options...
+FarmerPotato Posted September 24, 2022 Share Posted September 24, 2022 In GPL, the map registers live at 8000 instead of F110.  Reference:  https://www.ninerpedia.org/wiki/Geneve_logical_memory_map  1 Quote Link to comment Share on other sites More sharing options...
+dhe Posted September 24, 2022 Author Share Posted September 24, 2022 Thanks @FarmerPotato, the reason I was looking at that, is TheBF's VI editor works in GPL mode in 80-Columns. I feel eventually he will want to use expanded memory of some sort, and thinking/hoping it would be possible to have two different versions. Maybe one that used AMS expanded memory and one that used Geneve memory. I'm not sure the page size would be as critical if it's just storing text data, vs program code. Â Have you seen actual code to do bank switching in GPL mode? Quote Link to comment Share on other sites More sharing options...
+TheBF Posted September 24, 2022 Share Posted September 24, 2022 When I look at the native Geneve memory map it looks like I could make a Forth kernel that lives in Low RAM and compile the vi99 on top of that. Then there would be more than 16K of RAM for the text files. I have a bit of a learning curve to get Mame on my windows box and port Camel99 Forth but it's pretty clear path. Quote Link to comment Share on other sites More sharing options...
+dhe Posted September 24, 2022 Author Share Posted September 24, 2022 29 minutes ago, TheBF said: I have a bit of a learning curve to get Mame on my windows box @TheBF I can help with that having just been down that path. Â Step 1, is to pull mame from whtech. Â Â http://ftp.whtech.com/emulators/MAME/full/ Â Here is an example of a working batch file for standard geneve emulation: D:\mame>type grun.bat mame genmod -bios 1.00 -peb:slot3 horizon -peb:slot5 tirs232 -peb:slot6 tipi -conn rpi.192.168.3.2 -peb:slot8 hfdc -peb:slot8:hfdc:h1 generic -peb:slot8:hfdc:h2 generic -peb:slot8:hfdc:h3 generic -peb:slot8:hfdc:f3 525dd -peb:slot8:hfdc:f4 525dd -hard1 genos7boot.HD -hard2 Bootdisk2.HD -hard3 Bootdisk3.HD -flop1 DSDD1.dsk -flop2 DSDD2.hfe -flop3 DSDD3.dsk -flop4 DSDD4.dsk -serl1 socket.localhost:10000 Â Next you can build a HD Image - with TI image tool, or if you can wait a couple of days, I can try to send you what I have. Â At this point, it would be helpful if @9640News would ok me to release my update to the HD image he used to make available. Â 2 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 24, 2022 Share Posted September 24, 2022 Apart from the fact that this line is a Genmod, not a Geneve emulation, once again I'd like to recommend including only those switches in the MAME command line that you really need. If it is working for you, OK, but that does not mean that it is the optimal way for other users. Â Here is my line: mame geneve -peb:slot5 speech -peb:slot8 hfdc -peb:slot8:hfdc:h1 generic -hard1 maindisk.hd 1 Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted September 24, 2022 Share Posted September 24, 2022 Accessing the system memory (i.e., non-VRAM) from GPL mode is possible but you need to set up the environment and do some legwork to request and use the memory. Remember, GPL is "just" a task emulating the /4A, and that task is running from within the Geneve OS framework. GPL versions 6.0 and later store GPL's task 0 page number at >8100 which can help to facilitate calling system XOPs. GPL 1.9 saved the free memory pagelist for the programmer but this has not been replicated since GPL 2.x due to a problem releasing memory when GPL exited. I think the issue has been since been resolved but there hasn't been any demand for GPL-based paging, and the only program I know of that uses the XOPs from GPL is my BBS software (which has its own handlers and code).  Anyway, my suggestion for easy-to-use buffer space is to exploit the mostly-unused VRAM memory. All Geneve systems have a minimum of 128K VRAM available in 16K pages. The 9938 bank switch is simple: write the bank number to video register 14. If you discount VRAM page 0, the programmer has 128K-16K = 112K of memory to play with. Yes, you have to know which of the eight 16K banks you are using but that's standard fare for any banking mechanism. The Funnelweb editor is a great example of how the VRAM can be used for file editing/buffers.  With TIMODE invoked to run GPL, you won't get much more CPU-based ram from a standard system anyway.  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.