Tursi Posted May 3, 2011 Share Posted May 3, 2011 It's just the interpreter, nothing more. There are patched GPL interpreters floating around that run from RAM. Quote Link to comment Share on other sites More sharing options...
RXB Posted May 3, 2011 Author Share Posted May 3, 2011 It's just the interpreter, nothing more. There are patched GPL interpreters floating around that run from RAM. Well then everyone should get a kick out of my next GPLHOW2 I am showing how to take a TI Basic program and turn it into GPL. Quote Link to comment Share on other sites More sharing options...
Willsy Posted May 4, 2011 Share Posted May 4, 2011 Well then everyone should get a kick out of my next GPLHOW2 I am showing how to take a TI Basic program and turn it into GPL. Now that's what I'm talking about!!!! :thumbsup: Quote Link to comment Share on other sites More sharing options...
RXB Posted May 9, 2011 Author Share Posted May 9, 2011 REA@ This is a update to REA that has GRAM files that will load the REA module into GRAM 1,3,4,5,6 or 7. I discovered I needed a REA that loads where TI Basic loads so I can disassemble the GPL of Modules in GRAM 3,4,5,6 or 7. The GPLDISASS is also included in this ZIP. REA@.zip 1 Quote Link to comment Share on other sites More sharing options...
Davvel Posted February 14, 2016 Share Posted February 14, 2016 RXB Do you think you can give me a head start with a simple question I have. Imagine writing a small application that needs to span across 2 GROM chips and I would like to have my main code stored in GROM 1 and all my sprites, music and graphics is GROM 2. Now as an example I will focus on having a small application that is executed from GROM space >6000 and that simply clears the screen and writes Hello by moving 5 bytes of data from GROM 2 to VDP. The below is pseudo code and thus may contain GPL errors or misconceptions given that I still need to find the right way to do this. I am not sure how to compile a 2 GROM application, will it be one BIN file in the end or two ? GROM 1 code GROM >6000 Header stored in 6000-6030 AORG >30 Program starts at 6030 start ALL 32 Move 5, G@Hello, V>0000 .... Done EXIT Grom 2 GROM >7000 Hello TEXT 'Hello' END Quote Link to comment Share on other sites More sharing options...
lucien2 Posted February 16, 2016 Share Posted February 16, 2016 I am not sure how to compile a 2 GROM application, will it be one BIN file in the end or two ? I think the most used format for GROM binaries is a single cartridge file with "*g.bin" extension. To join multiple binaries assembled with ralphb's xga99, and fill the holes with 0's, I did a small command line utility in VB.NET: gromcart.zip. 4 Quote Link to comment Share on other sites More sharing options...
RXB Posted March 14, 2016 Author Share Posted March 14, 2016 RXB Do you think you can give me a head start with a simple question I have. Imagine writing a small application that needs to span across 2 GROM chips and I would like to have my main code stored in GROM 1 and all my sprites, music and graphics is GROM 2. Now as an example I will focus on having a small application that is executed from GROM space >6000 and that simply clears the screen and writes Hello by moving 5 bytes of data from GROM 2 to VDP. The below is pseudo code and thus may contain GPL errors or misconceptions given that I still need to find the right way to do this. I am not sure how to compile a 2 GROM application, will it be one BIN file in the end or two ? GROM 1 code GROM >6000 Header stored in 6000-6030 AORG >30 Program starts at 6030 start ALL 32 Move 5, G@Hello, V>0000 .... Done EXIT Grom 2 GROM >7000 Hello TEXT 'Hello' END LOL this is so easy it is silly! First off what kind of GPL assembler are you using as I have never seen GROM 2 commands ever. GROM >6000 or GROM >8000 would be what I use. GROM >6000 Header stored in 6000-6030 AORG >30 Program starts at 6030 (adds >30 to counter) start ALL 32 MOVE 5,G@Hello,V@>0000 .... Done EXIT AORG >1000 (adds 1000 to counter >7000) Hello TEXT 'Hello' END Have you seen my GPL HOW 2 video and examples? http://atariage.com/forums/topic/153704-ti-994a-development-resources/ Look for GPL HOW 2 Series 1 Quote Link to comment Share on other sites More sharing options...
Davvel Posted March 15, 2016 Share Posted March 15, 2016 LOL this is so easy it is silly! First off what kind of GPL assembler are you using as I have never seen GROM 2 commands ever. GROM >6000 or GROM >8000 would be what I use. GROM >6000 Header stored in 6000-6030 AORG >30 Program starts at 6030 (adds >30 to counter) start ALL 32 MOVE 5,G@Hello,V@>0000 .... Done EXIT AORG >1000 (adds 1000 to counter >7000) Hello TEXT 'Hello' END Have you seen my GPL HOW 2 video and examples? http://atariage.com/forums/topic/153704-ti-994a-development-resources/ Look for GPL HOW 2 Series Thanks. I will try it out later. Tursi has kindly explained that if I am using pure GPL I should not worry about the physical GROM boundaries at all as it will be handled by the machine. One should simply make a huge blob of code and then when this is transferred to physical chips it will still work even if I am fetching data from an address not on the same chip. Quote Link to comment Share on other sites More sharing options...
Davvel Posted March 15, 2016 Share Posted March 15, 2016 I think the most used format for GROM binaries is a single cartridge file with "*g.bin" extension. To join multiple binaries assembled with ralphb's xga99, and fill the holes with 0's, I did a small command line utility in VB.NET: gromcart.zip. Thanks. Much appreciated. Quote Link to comment Share on other sites More sharing options...
Tursi Posted March 15, 2016 Share Posted March 15, 2016 Tursi has kindly explained that if I am using pure GPL I should not worry about the physical GROM boundaries at all as it will be handled by the machine. I vaguely remember this conversation but it would be ill advised to create production code that way... I may have answered from a different mindset. You should absolutely test anything built with that assumption. Although the GPL interpreter will reload the address for every access and it should not matter technically, I would not personally write code that just makes that assumption because you can't always predict what it's going to run on. (For instance, I've wanted to rewrite the GPL interpreter for years. I would totally not reload the address every byte if I did, and GROM hardware wraps around the address at the end of a chip ). I would totally advise honoring the chip boundaries and jumping over them, just like existing software does, even IF it does work not to worry about it. 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.