Jump to content
IGNORED

TI Forth ONLY machine?


GDMike

Recommended Posts

I'm waiting for someone to come and make this! A system that Boots up only to * ok * not a cart but possibly a peb card.

And uses all my existing PEB cards - speech / printer / SAMs card / dsk contr

2 really great flavors of Forth already exist. But to have it expanded to further hardware would be super!

 

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

In the meantime I'm working with tiForth. Why? I want to experiment with the cart port and forth with the Supercart. I'd like to see if storage of words is possible, PLUS I have a SAMs card and I don't want to lose that accessory.  But I'm not sure if I can dig up any SAMs code that would work in tiForth to use in a similar fashion as FB forth, TurboForth.

I cranked up TIF yesterday and what fun it is.

  • Like 1
Link to comment
Share on other sites

I am pretty sure that Lee worked with Willsy on a version for FB Forth.

 

Here is a version for Camel99 Forth that is in Forth. That might help you in your own study. (?)

 

You will need the CRU block loaded.  

 

https://github.com/bfox9900/CAMEL99-V2/blob/master/LIB.ITC/SAMSFTH.FTH

 

It works by creating multiple 64k segments.  You set the segment to use, with n SEGMENT where n is the segment number.

 

Then you can access bytes and words with special words. C@P means char fetch "paged".  But for the programmer it is like C@ but for SAMS.

 

you need to define 

 

: BOUNDS. OVER + SWAP ;  

 

and 0SBO can be replaced with 0 SBO

I think UM/MOD is M/MOD in Ti Forth (?)

 

Ask me about anything else or maybe Lee will answer faster cuz I am on vacation.

  • Like 1
Link to comment
Share on other sites

19 hours ago, GDMike said:

I'm waiting for someone to come and make this! A system that Boots up only to * ok * not a cart but possibly a peb card.

And uses all my existing PEB cards - speech / printer / SAMs card / dsk contr

2 really great flavors of Forth already exist. But to have it expanded to further hardware would be super!

 

I’m imagining replacing the ROMs. You would need to investigate all the ROM addresses used in TI FORTH.

 

For instance, the SCAN routine. Any GPLLNK calls like BEEP. Any XMLLNK calls like floating point. Any XOP. 

 

These would have to be dealt with, either by preserving that portion of the ROM, or rewriting that part inside FORTH.

 

Then  you would have to check for similar things in the disk controller DSRs.

 

Also there are memory addresses in PAD that would retain their original meaning. 

 

You would need your own interrupt routine, but that’s a sweet opportunity. 

 

Lee’s fbFORTH uses 4 cartridge banks. It would be great if some of that moved into 16-bit ROM with the rest in I dunno. Maybe the ROM could work as 4K banks at >1000.

 

 

  • Thanks 1
Link to comment
Share on other sites

Is it a possibility to cut a couple pins on existing ROMs, then solder some type of low profile headers to a board that attaches to the ROMs and allows a switch to take place between them? 

I think it's probably pretty tough to remove those ROMs but not too bad to solder to each pin??

 

Link to comment
Share on other sites

4 minutes ago, GDMike said:

Is it a possibility to cut a couple pins on existing ROMs, then solder some type of low profile headers to a board that attaches to the ROMs and allows a switch to take place between them? 

I think it's probably pretty tough to remove those ROMs but not too bad to solder to each pin??

 

Yes, see Thierry's instructions for replacing console ROMs.

 

 

  • Like 1
Link to comment
Share on other sites

5 hours ago, TheBF said:

I am pretty sure that Lee worked with Willsy on a version for FB Forth.

<snip>

I think UM/MOD is M/MOD in Ti Forth (?)

 

Ask me about anything else or maybe Lee will answer faster cuz I am on vacation.

 

Yes, I worked a bit with @Willsy on SAMS. Mostly, though, I lifted and modified his code—with his permission, of course..

 

UM/MOD is U/ in TI Forth and fbForth.

 

I might answer, but, this week, at least, I will be slow—I am preparing for a wine tasting I will be presenting on Sunday afternoon. |:)

 

...lee

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

14 hours ago, FarmerPotato said:

<snip>

Lee’s fbFORTH uses 4 cartridge banks. It would be great if some of that moved into 16-bit ROM with the rest in I dunno. Maybe the ROM could work as 4K banks at >1000.

 

fbForth in 16-bit ROM would certainly be nice. There might be one or two timing issues to address. The speech routines come to mind.

 

Using 4 KiB ROM banks would be quite another matter, however. The dictionary in the ROM kernel would need to be redesigned because it currently relies on the 8 KiB bank size to keep all the word headers and support code for searching the dictionary in one bank. The amount of code involved exceeds 5 KiB.

 

...lee

  • Like 1
Link to comment
Share on other sites

6 hours ago, Lee Stewart said:

 

fbForth in 16-bit ROM would certainly be nice. There might be one or two timing issues to address. The speech routines come to mind.

 

Using 4 KiB ROM banks would be quite another matter, however. The dictionary in the ROM kernel would need to be redesigned because it currently relies on the 8 KiB bank size to keep all the word headers and support code for searching the dictionary in one bank. The amount of code involved exceeds 5 KiB.

 

...lee

What about moving bank 0 into ROM at >0000 while requiring the cartridge to be at >6000 for the other banks?

Along with fast 32K inside the console, this would make a pretty mean FORTH machine.

 

 

 

 

Link to comment
Share on other sites

My cross compiler can make an image pretty simply. I would need to split the odd/even data into two files and declare my variables correctly in ram.

 

what is the best format for rom burners?  I used to use Intel HEX in the Stone Age.

 

i would need code for the current interrupt handler integrated into the image eventually but for a start I could maybe just build Camel99tty that communicates on the com port.  

It's not bullet  proof yet when using the file system but we could get a boot "ok" ?

 

I think in 16k bytes I could incorporate core Forth plus ANS files, block files, programmer tools and the assembler and my rs232 interface.

 

Not a bad start.

 

it would cool to use 2 8K battery rams instead so we could make a proper interrupt table.

 

but you can make a prefab table that jumps to RAM addresses in upper Ram so they can be programmed after the image is locked in ROm.

 

this sounds like fun.

 

anybody know what format is used for rom files for Classic99 or are they compiled as source in the program?

Link to comment
Share on other sites

7 hours ago, FarmerPotato said:

What about moving bank 0 into ROM at >0000 while requiring the cartridge to be at >6000 for the other banks?

Along with fast 32K inside the console, this would make a pretty mean FORTH machine.

 

I am sure we could work out something. There is obviously a lot to consider besides the Forth code—the vectors at >0000; the XOP vectors at >0040; system routines like KSCAN, ISR, cassette tape I/O, XMLLNK, (GPLLNK), DSRLNK. I put GPLLNK in () because it invokes the GPL interpreter, which is a significant part of the system ROM, and we would probably need to remove any GPL access. The only use made of GPLLNK in fbForth 2.0 is at startup for loading the system font(s); for the BEEP and HONK tones; allowing use of GPLLNK by Forth; and the MG DSRLNK for disk I/O. If we eliminate GPLLNK , we (I) would need to load the system font(s) and manage the two system tones with our own ALC. DSRLNK would need to be rewritten in ALC that does not invoke the GPL interpreter (easy enough without cassette I/O). If we want cassette I/O, we would have to keep that routine and figure out how to include it in DSRLNK .

 

Sorry for all the rambling, but there is a lot to consider.

 

...lee

  • Like 1
Link to comment
Share on other sites

Of course. I think if anything, it Should be thought out..look at all the stuff..

I'm hoping to make good use of cassette. Hopefully this won't tie down any ports unavailable..

Wondering if different flavors of forth could be options? I tend to lean towards TF myself... but that's just me.

TI should have made this computer a Forth OS from the beginning!

But other than my forth wish list, F18A would be nice.  Does anyone have another video enhancement coming?

 

Edited by GDMike
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...