Jump to content


+AtariAge Subscriber
  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by retroclouds

  1. Having SAMS on the 16 bit bus would already show a lot of the true 16 bit power.
  2. Yes, the code is not optimized for space. Premature optimisation is the root of all evil.😁 With the FG99 there’s so much space it does not make sense for me to do that much space optimisation. At least not while the program is very much still a work in progress. More of a concern was to get things working properly and stable. Space optimisation can happen once it is stable. Anyway, the way the trampoline works is that you have 32 vectors per bank, so you can have up to 32 routines per bank you can call. There is also stacking, you can basically have a call chain like: bank1.funcA -> bank2.funcB -> bank1.funcC and safely return. The trampoline function all takes care of that, so the individual subroutines do not need to keep track of where they came from (saving some space there). Having said all that, obviously for your extended basic rewrite you don’t want to have such routine in place. It could be much simpler as you pointed out. Only wanted to get the idea accross.
  3. Here’s how I switch banks in Stevie on the FG99: https://github.com/MirrorPusher/Stevie/blob/master/src/modules/rom.farjump.asm To get the bigger picture, look at the files with the rom prefix (e.g. rom.vectors.bankX.asm and rom.stubs.bankX.asm) https://github.com/MirrorPusher/Stevie/tree/master/src/modules Forgot to mention that I run the trampoline function itself from RAM at >3000 https://github.com/MirrorPusher/Stevie/blob/master/src/modules/ram.resident.3000.asm Switching banks itself is not complicated, the challenge is more that after switching banks you need to have the PC on an address where it continues doing something useful. So either program code need to be very properly alligned or you switch banks while the PC is in RAM (or in the part of ROM bank that is not switched).
  4. Rich, if your extended basic rewrite is to run on a FG99 or similar cartridge couldn’t you relocate some of the existing calls and move them to an extra bank. That would give you more space for the NUD table. You then “just” need to add a trampoline function that goes to the extra bank and run the code there. Thinking about a vector table and stubs in the existing ROM bank for each of the relocated calls. That would take less space then the actual code and free up some space for the NUD table. Then again, FWIW probably should take a look at the extended basic source code again. Can’t recall if the XB roms only have the meat of the interpreter or if the ROMs also have code for the extended basic calls themselves (there probably mostly in GPL right?) On the topic of bank switching I did something similar in my Stevie editor, because 8K is never enough. Started with an 16K rom bank and am up to 64K now (although not all banks are full because I keep spreading calls accross banks). Anyway source code is on github, if you want to take a look.
  5. Perhaps you want to share some pictures or progress video? Would be so cool. 😃
  6. Lotus F3 for MSX1. Granted it’s not a 3D first person. But this is the best smooth scrolling racing game I’ve seen for the 9918. It’s a homebrew of Dvik & Joyrex, they did some very impressive over the years.
  7. What would it take to implement a 1MB SAMS hanging on the 16bit bus, so no wait-states?
  8. Rich has a point there. Myself I find it very important to release the source code. It’s the only way (except going the reverse engineering route) that you can fix bugs and make enhancements to software over a long time period. With that I mean over several decades, and that’s not so unrealistic considering we’re still dealing with the TI-99/4a. On a sidenote, in my professional career I had to take care of the closed-source, commerical version of an open source software. It’s a very complex software and for several reasons I can’t detail here, it did make sense to use the commercial version. Major backdraw was we had no access to the source code. We just had the binaries to run. As the years progressed we got a lot better at knowing the internals by comparing behaviour with the open source version. Then it got redicilous because of complex license mgt software to install required to run the software. Also bugfixes and small enhancements had to be paid, for stuff that would take only few code changes in the open source version. Long story short, without access to the open source version, we would never have had the chance to get to know enough of the internals. So in the end we felt confident enough to switch to the open source version.
  9. Have no chance to try it out, but could it be F18a support? That would be cool and the core is out there. Not sure if it can be made compatible with mister. Something important for the feature list: 1 mb SAMS support
  10. You can only map >2000, >3000, >A000, >B000, >C000, >D000, >E000, >F000
  11. That is very impressive. Looks like listing the program is faster too, compared to the previous version. Is the edit80 mode completely driven by the interrupt service routine? Could the same be possible for TI Basic as well, or is it custom tailored for Extended Basic G.E.M. ?
  12. Here's a short demo of things I'm working on in Stevie right now. The idea is that I can jump from the editor into TI Basic. Do some stuff there and then return to the editor from TI Basic with the current file still present in the editor. It's not there yet. But should be doable. js99er-20210828205011.webm
  13. Thank you for your hard work on this. It is much appreciated. Looking forward doing tests and experiments. We’re currently renovating the house, so TI hobby time is very limited at this time. Might take a bit for me to reply. Anyway do have some plans for this one. Could imagine writing a GPL DSR (think mini memory style) that exposes the Stevie editor buffer in SAMS as DV80 file. Jump from Stevie straight into GEM where you can then load with CALL DV2XB(“STV.1”) (1 means Stevie editor buffer #1)
  14. Yes, the HRD 4000 is a fantastic device and by no means obsolete because of TIPI. Just different use cases.
  15. So do you have any of these and do they work well?
  16. I'd like to jump into the TI Basic interpreter coming from an assembly language program running from cartridge space. It's not that I want to run a specific call or so, just start the TI Basic interpreter like selecting option 1 "TI Basic" on the selection screen. Is there any sample code to show how that works? Guess that I basically need to get the GPL interpreter running TI Basic at >216F (?) Was hoping for a vector address in the console ROM that triggers the TI Basic interpreter, but couldn't find it.
  17. Basically both. The possibility to halt the 9900 GPU after a program has run. And then in a second step how to "properly" restore the 9918A so that the environment is identical as after a cold restart of the TI-99/4a.
  18. I read the documentation and looked at the register excel file, but questions remains (and I'm assuming I'm doing something wrong in Stevie) What is the proper way to halt the emulated TMS9900 CPU in the F18a? Is it sufficient to use the IDLE instruction as last line in assembly program or do I need to halt the CPU in the F18a GPU by writing 0 to extended register VR56 (>38) ? What is the proper way to lock the F18a GPU after it has been unlocked? Is it sufficient to write >00 to extended register VR57 (>39)?
  19. I thought about that while taking a walk few moments ago and also came up with the idea to look for the line number as indicator of the new line.
  20. It’s not available in Germany (at least not that I’m aware of). I’ve ordered all my boards directly with @Ksarul in the US. European Import taxes really is an annoyance though. The thing that bothers me the most is that you have to go pickup your parcel at the german Zoll, they open up the parcel and then they have no clue with what they are dealing with, and charge you import taxes on shipping costs as well. Go figure. We need an european seller for the many interesting boards available in the US 😀
  21. Ik -kom uit Vlaanderen en woon sinds 25 jaar in Duitsland- ben elke dag op Atariage. Kan het niet meer missen. 😃
  22. Did anyone ever try to build the 16MB HAMS board designed by Thierry Nouspikel ? http://www.unige.ch/medecine/nouspikel/ti99/hams.htm Would -with todays component availability- still be feasible to build such board? Myself I’m dreaming of a SAMS board with >1MB of RAM 😄
  23. For details on the line number table you for example also might want to check the Extended Basic design document (page 20 onwards).
  24. How would you disable the cartridge port, guess that has to be done in hardware right?
  • Create New...