Jump to content
IGNORED

TurboForth Version 1.2.1:4 released


Willsy

Recommended Posts

Latest version of TurboForth V1.2.1 (build 4) is now available on the website. This is the last version of V1.2.1 - the next release (don't know when) will be 1.3 and it will be a monster.

 

V1.2.1:4 New Features:

  • Can now use lower case characters for digits when base >10. For example, try: $feed $.
  • Added "round" upper case 0 instead of horrible TI square O
  • Added SAVE#5 - TurboForth can now save a blob of VDP RAM (up to 8192 bytes) to disk as a binary/program image file. WOOHOO!
    Syntax: s"DSKx.FILENAME" #bytesToSave SAVE#5
    Great for saving character sets or other funky stuff.
  • Added LOAD#5 - TurboForth can now load program image/binary type files. Loads into VDP RAM from >1420 onwards.
    Syntax: S" DSKx.FILENAME" LOAD#5
    Great for loading character sets and the like.
  • Added COINC for sprite collision detection
  • Added the variable KDEL for setting the keyboard auto-repeat rate to be used in the block editor. This is intended for Geneve compatibility as the editor is unusable on the Geneve due to the delays being too short. This work-around poses a neat fix. Geneve users can set the delay by writing to KDEL in their BLOCKS startup file, or by typing directly at the command line (the command line works fine on the Geneve, though the cursor flash rate is somewhat rapid!). The value stored in KDEL has the following format: 0xIISS Where II is the initial delay (before auto-repeat starts) divided by 2. At power up, this value is 0xED. SS is the short delay (when auto-repeat is active). At power-up this value is 0x1E. Maximum value is FF.
  • Added V2! - VDP Write Word ( address value -- ) to allow writing 16 bits to VDP in a single instruction.
  • Added V2@ - VDP Read Word ( vdp_address -- n ) added to read 16 bits from VDP in a single instruction.
  • Added VWTR - VDP Write To Register ( value register -- ) to permit writing to the VDP registers.
  • On the blocks disk: Included a copy of the standard TF font. Load block 74 to restore your font. Once loaded, just type FONT. To save a font, type SAVEFONT - the font as currently defined in VDP memory from VDP >800 to >FFF will be saved to the blocks disk. FONT will subsequently load the new font. Useful if you want to replace the standard TurboForth font.



The gory details (for geeks only):

  • 0-00-Header.a99
    • Changed cartridge header to include build number on cart select screen.
  • 0-02-Stack.a99
    • Optimised .S saving 10 bytes.
  • 0-09-Console.a99
    • Redundant code removed from TYPE
  • 0-10-Compilation.a99
    • Added ALIGN to DOES>
  • 014-Variables.a99
    • Redundant variable WWRAP removed
  • 0-16-Graphics.a99
    • Added stub entry for COINC support (code is in bank 1)
  • 0-20-Sound.a99
    • Assembly language code moved to bank 1
  • 0-21-Editor.a99
    • Removed old redundant code. Saved space.
    • Block number now displayed using Forth code in bank 0 rather than assembler code in bank 1. Large space saving gain in bank 1.
    • Changed the order that things happen. There's no lengthy blank screen anymore when moving to the next block in the editor.
  • 1-00-Header.a99
    • Changed cartridge header to include build number on cart select screen.
  • 1-02-Console.a99
    • Removed redundant code from CLS routine. Saved 8 bytes.
  • 1-03-Graphics.a99
    • Added assembler code for COINC. At last! Hooray!
  • 1-08-Parsing.a99
    • Modified NUMBER such that lower case characters are permitted for bases greater than ten. For example, $FEED and $feed are now equivalent. Same when in HEX mode (or any base >10) For example: hex ffff is now legal.
  • 1-11-Editor.a99
    • Optimised initialisation in 1-11-Editor.a99
    • Removed code for display of block number. This is now done in bank 0.
  • 1-15-Sound.a99
    • New file. Hosts assembler code for the SOUND word. Also modified it to briefly enable interrupts.
  • 1-16-Initialiase.a99
    • Optimised part of the initialisation code responsible for loading the customised characters.
    • Added a nice round capital O instead of that horrible square O that TI always used.
    • Optimised block buffer initialisation code
  • Throughout: Changed TOTERM to save 2 bytes per call, and changed the TOTERM routine in 0-01-Startup.a99 suit.
  • Like 2
Link to comment
Share on other sites

Nah. The same cart board does up to 64K IIRC. I've got probably 100 of those Guidry boards still in their shrink-wrap direct from the fabricators.

 

I haven't decided if the next version of TF will be 32K or 64K. Probably 64K but there are some architectural constraints within TF that I need to overcome/re-write first. A consequence of nieve design decisions that go all the way back to 2009.

 

TF is a bit like that old saying we have here in Brit-land, maybe you have it in the US too: "This old broom has been in our family for generations. It was my grandfather's father's broom. It's had 3 new handles and 4 new heads!"

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

"This old broom has been in our family for generations. It was my grandfather's father's broom. It's had 3 new handles and 4 new heads!"

Funnily, this somewhat reminds me of Terry Pratchett. Could have been written by him. :)

 

(I just got The Color of Magic on Bluray...)

  • Like 1
Link to comment
Share on other sites

To create a series of files usable with the HSGPL Card, follow the procedure below:

 

For those using Winfredi Winkler's GROM0 add the following header to the TurboForthC file

 

6003 2000 . . . .

 

and for TurboForthD

 

6004 2000 . . . ..

 

For those using Tony Knerr's GROM0 add the following header to the TurboForthC file

 

6003 2000 . . . .

 

and for TurboForthD

 

6005 2000 . . . .

 

You will then need to load a third file (For Tony's GROM0 only). You can, of course, rename the files to whatever you wish. Here is the third file.

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...