Jump to content
IGNORED

8K Super Cart for Finalgrom99?


jrhodes

Recommended Posts

3 hours ago, HOME AUTOMATION said:

If you are running the code above, from FG99's, address range of(>6000->7FFF), and you're getting back to GPL, I'm afraid it's a fluke!:ponder:

Meaning that, some unintended code is running first, and eventually happens to do a RETURN or other type of branch, back into GPL.

 

When this code runs from FG99 ...as soon as the CLR @>6000 is executed ...the page changes ...thus, the next instruction that executes, will not be the B *R9

...but instead, the next address that executes(or attempts to, if it does not contain a valid op-code), will be on PAGE ZERO.

 

Also, PAGE 1, is the second page, accessed by writing to >6002.:)

I just noticed the...

On 5/23/2022 at 2:26 PM, RXB said:

And you need this small routine on every page at top. 

...Yes, this can be workable, since the B *R9, will be the next instruction in all cases.

 

...You didn't happen to EDIT this post when I wasn't looking!:lol:

 

...or borrow the idea from me.;-)

:)

Link to comment
Share on other sites

2 hours ago, HOME AUTOMATION said:

If you are running the code above, from FG99's, address range of(>6000->7FFF), and you're getting back to GPL, I'm afraid it's a fluke!:ponder:

Meaning that, some unintended code is running first, and eventually happens to do a RETURN or other type of branch, back into GPL.

 

When this code runs from FG99 ...as soon as the CLR @>6000 is executed ...the page changes ...thus, the next instruction that executes, will not be the B *R9

...but instead, the next address that executes(or attempts to, if it does not contain a valid op-code), will be on PAGE ZERO.

 

Also, PAGE 1, is the second page, accessed by writing to >6002.:)

LOL no you are way off.

In GPL to access Assembly in the ROMs there is a GPL command called XML >xx

Tell you what look at the RXB source code for ROM3 and see how it is done. NO FLUKE INVOLVED!

  • Thanks 1
Link to comment
Share on other sites

1 minute ago, HOME AUTOMATION said:

I just noticed the...

...Yes, this can be workable, since the B *R9, will be the next instruction in all cases.

 

...You didn't happen to EDIT this post when I wasn't looking!:lol:

 

...or borrow the idea from me.;-)

:)

No actually the Trampoline idea came from Lee Stewart and Greg.

 

  • Like 1
Link to comment
Share on other sites

I used something similar in this thread...

 

Using 8k - 512k MIMI MEMORY with PAGING on FinalGROM 99

 

...It lets you call a subroutine on any page and return to next line on the calling page seamlessly, but uses more overhead.:ponder:

 

I should have changed the LABEL, DS, to something like START, or RUN, for better clarity.:roll:

  • Like 1
Link to comment
Share on other sites

1 hour ago, PeteE said:

Who heard it from me in a conversation about bank switching at Fest West '18

Who heard it from me see,  through telepathy all things are possible,  Well, I thought of it and I wrote it down and somehow someone read my mind. Can you read what I'm thinking now? Ohhhhh...I even suck at telepathy apparently.

Edited by GDMike
  • Haha 2
Link to comment
Share on other sites

1 hour ago, GDMike said:

Who heard it from me see,  through telepathy all things are possible,  Well, I thought of it and I wrote it down and somehow someone read my mind. Can you read what I'm thinking now? Ohhhhh...I even suck at telepathy apparently.

The number you're thinking of is... 43

 

<sorry for the derail>

  • Haha 3
Link to comment
Share on other sites

On 5/25/2022 at 6:37 PM, HOME AUTOMATION said:

If you are running the code above, from FG99's, address range of(>6000->7FFF), and you're getting back to GPL, I'm afraid it's a fluke!:ponder:

Meaning that, some unintended code is running first, and eventually happens to do a RETURN or other type of branch, back into GPL.

 

When this code runs from FG99 ...as soon as the CLR @>6000 is executed ...the page changes ...thus, the next instruction that executes, will not be the B *R9

...but instead, the next address that executes(or attempts to, if it does not contain a valid op-code), will be on PAGE ZERO.

 

Also, PAGE 1, is the second page, accessed by writing to >6002.:)

I"m only interested in the AL FG99 behavior, and getting back to TI Basic (at >6001/>6002/>6003/>6004) or switching to Super Cart AL code by writing to >6005/>6006/>6007/>6008 for the time being (MENU-SC, REMIND-SC, etc.)

 

RetroBill (fdos).

  • Like 2
Link to comment
Share on other sites

4 hours ago, Bill R Sullivan said:

I"m only interested in the AL FG99 behavior, and getting back to TI Basic (at >6001/>6002/>6003/>6004) or switching to Super Cart AL code by writing to >6005/>6006/>6007/>6008 for the time being (MENU-SC, REMIND-SC, etc.)

 

RetroBill (fdos).

Have you already solved this, or still WIP?:ponder:

 

Writing to ROM, in order to switch PAGES, is done on a WORD basis.

So, writing to either >6000, or >6001, will restore PAGE 0.

Writing to >6002, or >6003, will restore PAGE 1.

>6004, or >6005, will restore PAGE 2...

Link to comment
Share on other sites

1 hour ago, HOME AUTOMATION said:

Have you already solved this, or still WIP?:ponder:

 

Writing to ROM, in order to switch PAGES, is done on a WORD basis.

So, writing to either >6000, or >6001, will restore PAGE 0.

Writing to >6002, or >6003, will restore PAGE 1.

>6004, or >6005, will restore PAGE 2...

Only true for Assembly as I use CLR @>6000 to return to ROM1, but in GPL I use a byte command CLR @>6004 to turn on ROM3

Link to comment
Share on other sites

It's a DEMO!

 

paging0.thumb.jpg.8bfd7099ec2aa1bb60b5f5c5ddec7037.jpg

 

Using a HEX-EDITOR, I moved the following code, down to the >7000, address range, on all pages of a four-page, cartridge image.

 

paging.thumb.jpg.ff78f02ab30729aa66d7336c391b2d7e.jpg

 

Classic99, doesn't yet emulate the FinalGROM 99(uses non-inverted images). However, when the TTL 378 register mode is used, page-switching is also non-inverted...

 

paging1.thumb.jpg.e7e66d9b3ec87bf40eb3a12c0b13a7aa.jpg

paging2.thumb.jpg.c144ea19544e26ec387bfeed2e786ba7.jpg

 

...Note that the PAGE numbers are shown to the left of the lines that they are executing.

...Classic99, starts the image from the LAST bank, so, the cartridge HEADER must be there.
The FinalGROM 99, starts images from PAGE 0, so, that's where the HEADER needs to be.

 

Using TTL 379's register mode, the BANKS switch in reverse order...

 

paging3.thumb.jpg.7cbc987dfb0dbcc345442aa788a7c33e.jpg

paging4.thumb.jpg.c3ee8562686543b8771f79fab340b7fc.jpg

...To RUN the IMAGE inverted, change the last digit of the filename to 9.

 

...Alright to use multiple HEADERS to achieve compatibility.

 

  P.S. If this image ran only on 378, or 379, logic, only two lines of the program would need to be on any one page.
        But, to run on both 378, and 379, logic, PAGES 0, and 3, both need copies of lines 1,2,5,6. While PAGES 1, and 2, both need copies of
        lines 3,4,7,8. 

 

  P.P.S. hope this wasn't too far off-topic.:ponder:

 

    -GL :)

paging_8.bin

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

20 hours ago, HOME AUTOMATION said:

Have you already solved this, or still WIP?:ponder:

 

Writing to ROM, in order to switch PAGES, is done on a WORD basis.

So, writing to either >6000, or >6001, will restore PAGE 0.

Writing to >6002, or >6003, will restore PAGE 1.

>6004, or >6005, will restore PAGE 2...

It's most important to me for my 16 bank SNUG TI-99/4P system which uses 16 bit addressing even for the 1 MB SAMS on the SGCPU!  But I do hope do adapt your paging technique to my NanoPEB systems currently in use.  Therefore, I will keep these pages and all useful pages that follow.  I certainly appreciate all that you've done so far, as it exceeds all my expectations for my previous message here.

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

8 hours ago, HOME AUTOMATION said:

It's a DEMO!

 

paging0.thumb.jpg.8bfd7099ec2aa1bb60b5f5c5ddec7037.jpg

 

Using a HEX-EDITOR, I moved the following code, down to the >7000, address range, on all pages of a four-page, cartridge image.

 

paging.thumb.jpg.ff78f02ab30729aa66d7336c391b2d7e.jpg

 

Classic99, doesn't yet emulate the FinalGROM 99(uses non-inverted images). However, when the TTL 378 register mode is used, page-switching is also non-inverted...

 

 

 

 

...Note that the PAGE numbers are shown to the left of the lines that they are executing.

...Classic99, starts the image from the LAST bank, so, the cartridge HEADER must be there.
The FinalGROM 99, starts images from PAGE 0, so, that's where the HEADER needs to be.

 

Using TTL 379's register mode, the BANKS switch in reverse order...

 

 

 

...To RUN the IMAGE inverted, change the last digit of the filename to 9.

 

...Alright to use multiple HEADERS to achieve compatibility.

 

  P.S. If this image ran only on 378, or 379, logic, only two lines of the program would need to be on any one page.
        But, to run on both 378, and 379, logic, PAGES 0, and 3, both need copies of lines 1,2,5,6. While PAGES 1, and 2, both need copies of
        lines 3,4,7,8. 

 

  P.P.S. hope this wasn't too far off-topic.:ponder:

 

    -GL :)

paging_8.bin 32 kB · 0 downloads

I'm very busy these days, so I don't know when I'll get to run your DEMO.   The VA has been harassing me with medications, prescribing two new ones, sending me for lab work, and then prescribing two different ones (new primary care doctor; we've talked on the phone 12 times or so, and have done two video links, but have not met in person.)  She, the VA, arranged to send me to a nearby urologist as they could not arrange a VA appointment for several months.  Now this local doctor is threatening to sue me as the VA did not pay him the full amount that he billed them!  I will eventually get the things I've said I would do done, Lord willing.

 

RetroBill (fdos)

  • Like 3
  • Sad 1
Link to comment
Share on other sites

Normally, a doctor has to agree to accept the VA rates for specific services when they refer a patient to them. There may still be a deductible that falls to the patient to pay though. . .but the VA should be able to sort that part out (and define what payment responsibility (if any) remains on your plate).

  • Like 1
Link to comment
Share on other sites

4 hours ago, Ksarul said:

Normally, a doctor has to agree to accept the VA rates for specific services when they refer a patient to them. There may still be a deductible that falls to the patient to pay though. . .but the VA should be able to sort that part out (and define what payment responsibility (if any) remains on your plate).

There is a deductable. I've run into that when the VA approved my cat scan locally, because my VA is 2 hours away from me, so I went to a local hospital. Even though they said it's all in my head ..

Edited by GDMike
  • Like 3
Link to comment
Share on other sites

6 hours ago, Ksarul said:

Normally, a doctor has to agree to accept the VA rates for specific services when they refer a patient to them. There may still be a deductible that falls to the patient to pay though. . .but the VA should be able to sort that part out (and define what payment responsibility (if any) remains on your plate).

Yes, I will be asking them at my next appointment June 1st at the VA hospital in N. Las Vegas.  I'm also not compensated for all the miles I drive for any medical appointment.  I think I would be better off just driving to Mexico, and coming back as an illegal alien!

 

RetroBill (fdos)

  • Haha 3
Link to comment
Share on other sites

2 hours ago, GDMike said:

There is a deductable. I've run into that when the VA approved my cat scan locally, because my VA is 2 hours away from me, so I went to a local hospital. Even though they said it's all in my head ..

Maybe, just head trauma, as they didn't inform me of any deductible when I went.

 

RettroBill (fdos)

  • Like 1
Link to comment
Share on other sites

22 hours ago, HOME AUTOMATION said:

Classic99, doesn't yet emulate the FinalGROM 99(uses non-inverted images). However, when the TTL 378 register mode is used, page-switching is also non-inverted...

...Note that the PAGE numbers are shown to the left of the lines that they are executing.

 

...Classic99, starts the image from the LAST bank, so, the cartridge HEADER must be there.
The FinalGROM 99, starts images from PAGE 0, so, that's where the HEADER needs to be.

Classic99 probably won't emulate the FinalGROM unless I need to develop software for the advanced functionality... at least not with the free time I have now. ? 

 

As for the start bank, Classic99 /searches/ for the start bank as of 399.038a, so it's not fussy anymore. I got tired of trying to enforce it. If you're building hardware, make sure you know where your hardware starts. (Personally, I put the header in every page if I can ;). This has an additional advantage beyond power up - if the cartridge crashes or resets without changing the page, it will be left wherever you set it, and the master title page won't see any header unless it's in every one. It only costs a few bytes to do it.. I usually reserve 32.)

 

 

 

Edited by Tursi
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...