+TheBF Posted June 30, 2021 Share Posted June 30, 2021 United States Patent 4,286,320 Ott August 25, 1981 Digital computing system having auto-incrementing memory Abstract A digital computing system having an auto-incrementing memory subsystem includes one or more separate memories. Each memory in the memory subsystem has its own address counter which is automatically incremented to the next sequential address after each memory readout. In the case of plural memories, a page select enables memory readout only when a page designation portion of the address matches a unique page number associated with the memory. An automatic memory refresh is provided by a refresh address counter along with a refresh address incrementer in the case that a memory is a dynamic RAM. These features enable improved performance in the digital computing system by reducing the required CPU overhead for memory subsystem control. ----- This sounds like GROM devices and the VDP memory interface or maybe the entire TI-99 architecture. (?) A GPL Forth would likely be byte-code compiler and not interactive but it could be done by starting with a GPL assembler in Forth. Then build the GPL Forth compiling words onto top of that. Not an outlandish idea actually. The piece I know nothing about is how does one make a program image of a GPL file run? Format it like a cartridge? Could you do that in Super Cart Ram for testing purposes? 1 1 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted July 1, 2021 Share Posted July 1, 2021 Tursi might be able to shed some useful light here when it comes to making GPL run in new spaces. @RXB could definitely help with understanding the way GPL works in the first place too. . . 3 Quote Link to comment Share on other sites More sharing options...
Tursi Posted July 1, 2021 Share Posted July 1, 2021 6 hours ago, Ksarul said: Tursi might be able to shed some useful light here when it comes to making GPL run in new spaces. @RXB could definitely help with understanding the way GPL works in the first place too. . . GPL is generally absolute addresses, yes. I wrote a little program that was essentially a subset of the GPL interpreter so it could find addresses and relocate them to another GROM.. wouldn't work for tables since it was very thin. 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 1, 2021 Share Posted July 1, 2021 3 hours ago, Tursi said: GPL is generally absolute addresses, yes. I wrote a little program that was essentially a subset of the GPL interpreter so it could find addresses and relocate them to another GROM.. wouldn't work for tables since it was very thin. I am ok with absolute addresses. What I don't know anything about is how do you give TI-99 a GPL program image and have it run. Can I start a GPL program from XB? Can I load a program image with the E/A loader and jump into the GPL interpreter somehow. Some comments indicate that the program must live in a GROM? Is that true or is there a work around? It's all PFM to me. (pure F... magic) Is there a resource I could study to learn more? Quote Link to comment Share on other sites More sharing options...
RXB Posted July 1, 2021 Share Posted July 1, 2021 5 hours ago, TheBF said: I am ok with absolute addresses. What I don't know anything about is how do you give TI-99 a GPL program image and have it run. Can I start a GPL program from XB? Can I load a program image with the E/A loader and jump into the GPL interpreter somehow. Some comments indicate that the program must live in a GROM? Is that true or is there a work around? It's all PFM to me. (pure F... magic) Is there a resource I could study to learn more? I created the GPL Tutorial and long with videos too: TI-99/4A development resources - TI-99/4A Development - AtariAge Forums GPL HOW 2 Series video A complete series on how to program GPL (Graphics Progroamming Language) on the TI-99/4A. Each tutorial has its own support package with example code, GPL assembler, etc. Video tutorials done by Rich, the programmer of Rich Extended Basic. (Author: @RXB) GPLHOW2A - Introduction video / zip GPLHOW2B - Sprite demo video / zip GPLHOW2C - How to make a Screen Editor like TI Writer or Editor Assembler video / zip GPLHOW2D - Editor Assembler TI BASIC support.video / zip GPLHOW2E - DMII cartridge upgrades and how GPL works video / zip GPLHOW2F - TI Basic to GPL. Converting a TI Basic program to GPL video / zip GPLHOW2G - TI Basic CALL SOUND to GPL video / zip GPLHOW2H - Simultaneous sound lists and interrupt timer in GPL video / zip GPLHOW2I - XB2GPL demo of a XB game Baloons converted into a GPL program video / zip GPLHOW2J - Update to GPLHOW2I and adds a automatic music to the game from the last demo video / zip GPLHOW2K - How to make XB Program Image files into I/V 254 files video / zip CLICK the ZIP to get the files! Have fun RXB (Rich Gilbertson) 2 2 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 1, 2021 Share Posted July 1, 2021 Thanks Rich. These demos are kind of one level above where I want to learn. This lets me make GPL programs with existing tools. I want to replace the existing tools. :) (yes I know I need a psychiatrist but whatever) I will have to go through this to get a feel what is going on under the hood so thanks again. 2 Quote Link to comment Share on other sites More sharing options...
RXB Posted July 2, 2021 Share Posted July 2, 2021 6 hours ago, TheBF said: Thanks Rich. These demos are kind of one level above where I want to learn. This lets me make GPL programs with existing tools. I want to replace the existing tools. (yes I know I need a psychiatrist but whatever) I will have to go through this to get a feel what is going on under the hood so thanks again. Just what kind of tools? Not like we can replace ROM 0 in Console as that is where GPL resides written in Assembly. Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 2, 2021 Share Posted July 2, 2021 1 hour ago, RXB said: Just what kind of tools? Not like we can replace ROM 0 in Console as that is where GPL resides written in Assembly. Not the ROMs but the GPL Assembler and then see if I can lay a Forth on top of that assembler In theory it's possible. Am I the guy who can do it? I don't know but I would like to try. It should be possible to make a Forth compiler with structured branching and looping and all the regular trappings, but it emits GPL code to a file. Then I need to learn how to make that file run. If I make the file format a cartridge I should be able to test it on Classic99... I think. 3 Quote Link to comment Share on other sites More sharing options...
Tursi Posted July 2, 2021 Share Posted July 2, 2021 On 7/1/2021 at 6:15 AM, TheBF said: I am ok with absolute addresses. What I don't know anything about is how do you give TI-99 a GPL program image and have it run. The short and simple answer is with a stock machine, you can't. TI didn't build in any way to load and run a GPL program. GROM is meant to be executed from GROMs, meaning to develop software in GPL you need to use a GROM Simulator of some kind. There are workarounds, as always. There's at least one GROM interpreter that runs code from RAM. But other people will need to talk about how to use them 5 1 Quote Link to comment Share on other sites More sharing options...
+chue Posted July 2, 2021 Share Posted July 2, 2021 The FinalGrom is able to run grom images. It’s probably the simplest hardware solution. Otherwise it can be done using an emulator. @ralphb has a gpl assembler which will produce cartridge images which can be used in the FinalGrom or in an emulator. 3 Quote Link to comment Share on other sites More sharing options...
RXB Posted July 3, 2021 Share Posted July 3, 2021 16 hours ago, chue said: The FinalGrom is able to run grom images. It’s probably the simplest hardware solution. Otherwise it can be done using an emulator. @ralphb has a gpl assembler which will produce cartridge images which can be used in the FinalGrom or in an emulator. Yea but I use the same GPL Assembly as Miller Graphics did the Ryte Data GPL Assembler and Linker for over 30 years now. It is pretty involved converting to FinalGROM but I do not want to have to convert all my source code to another GPL Assembler as the syntax is different and the amount of time that would take. I can currently convert everything now to FinalGROM in about 15 minutes that is time well spent. Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted July 8, 2021 Share Posted July 8, 2021 On 7/1/2021 at 7:15 AM, TheBF said: Can I start a GPL program from XB? Can I load a program image with the E/A loader and jump into the GPL interpreter somehow. Some comments indicate that the program must live in a GROM? Is that true or is there a work around? If you set XB, E/A, etc. to use GRAM, on FinalGROM 99, Classic99, then load your program, bounce it into GRAM, set the GROM address register to the program's entry address, load GPLWS, perhaps clear the STATUS byte, then BRANCH to >0070... that might be just enough to do it! Dunno. Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 8, 2021 Share Posted July 8, 2021 4 hours ago, HOME AUTOMATION said: If you set XB, E/A, etc. to use GRAM, on FinalGROM 99, Classic99, then load your program, bounce it into GRAM, set the GROM address register to the program's entry address, load GPLWS, perhaps clear the STATUS byte, then BRANCH to >0070... that might be just enough to do it! Dunno. Is there a special way I have to hold my tongue as well? ? Thanks I will have to do some homework on how to do all that. Never been to those places in the 99. I guess it's time I learned. Quote Link to comment Share on other sites More sharing options...
lucien2 Posted July 8, 2021 Share Posted July 8, 2021 On 7/3/2021 at 6:30 PM, RXB said: I do not want to have to convert all my source code to another GPL Assembler as the syntax is different and the amount of time that would take. I takes 1 second to convert your sources with this WSH script: https://atariage.com/forums/topic/233677-xdt99-new-ti-99-cross-development-tools-available/?do=findComment&comment=3747491 But then you have to install python and learn how to run Ralph's assembler. 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted July 8, 2021 Share Posted July 8, 2021 11 minutes ago, lucien2 said: I takes 1 second to convert your sources with this WSH script: https://atariage.com/forums/topic/233677-xdt99-new-ti-99-cross-development-tools-available/?do=findComment&comment=3747491 But then you have to install python and learn how to run Ralph's assembler. Yea I do not load bloatware onto my PC, if I did not game with this PC I would do so, but last time I did do that is made my PC sluggish. The more files you stuff into the root directory the slower it is going to run. Now indexing helps but if you keep the root directory small and do not index you get faster returns. Oddly having to open a index and update it takes longer then just looking at what is there. Now if this was in a loop yes indexing would be faster, but who does that? Besides I have been working on RXB this way for 30 years and there would be no real advantage to this other then save me 15 when I am done. I run GPL@LOADER using Classic99 to test my GPL code so the only time I need a .bin is when totally finished. Same goes for the ROMs I created now, I just use Editor Assembler to load a ROM and save it using CSAVE. Quote Link to comment Share on other sites More sharing options...
+TheBF Posted July 8, 2021 Share Posted July 8, 2021 1 hour ago, RXB said: Yea I do not load bloatware onto my PC, if I did not game with this PC I would do so, but last time I did do that is made my PC sluggish. The more files you stuff into the root directory the slower it is going to run. Now indexing helps but if you keep the root directory small and do not index you get faster returns. Oddly having to open a index and update it takes longer then just looking at what is there. Now if this was in a loop yes indexing would be faster, but who does that? Besides I have been working on RXB this way for 30 years and there would be no real advantage to this other then save me 15 when I am done. I run GPL@LOADER using Classic99 to test my GPL code so the only time I need a .bin is when totally finished. Same goes for the ROMs I created now, I just use Editor Assembler to load a ROM and save it using CSAVE. What is and where to I get GPL@LOADER Rich? Quote Link to comment Share on other sites More sharing options...
RXB Posted July 8, 2021 Share Posted July 8, 2021 2 hours ago, TheBF said: What is and where to I get GPL@LOADER Rich? TI-99/4A development resources - TI-99/4A Development - AtariAge Forums GPL HOW 2 Series video A complete series on how to program GPL (Graphics Progroamming Language) on the TI-99/4A. Each tutorial has its own support package with example code, GPL assembler, etc. Video tutorials done by Rich, the programmer of Rich Extended Basic. (Author: @RXB) GPLHOW2A - Introduction video / zip GPLHOW2B - Sprite demo video / zip GPLHOW2C - How to make a Screen Editor like TI Writer or Editor Assembler video / zip GPLHOW2D - Editor Assembler TI BASIC support.video / zip GPLHOW2E - DMII cartridge upgrades and how GPL works video / zip GPLHOW2F - TI Basic to GPL. Converting a TI Basic program to GPL video / zip GPLHOW2G - TI Basic CALL SOUND to GPL video / zip GPLHOW2H - Simultaneous sound lists and interrupt timer in GPL video / zip GPLHOW2I - XB2GPL demo of a XB game Baloons converted into a GPL program video / zip GPLHOW2J - Update to GPLHOW2I and adds a automatic music to the game from the last demo video / zip GPLHOW2K - How to make XB Program Image files into I/V 254 files video / zip 3 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.