Jump to content
retroclouds

Stevie Development Thread

Recommended Posts

So I have been playing with TI Basic integration in Stevie.

Really think that TI Basic needs some love, and it's fun to mess with.

 

Not sure where this is heading to, but I'd like to make a good TI Basic integration.

That means that I can jump from Stevie to TI Basic while retaining both the Stevie editor buffer  as well as the TI Basic environment.
Part 1 (keeping the Stevie editor buffer) is in a working state now. Let's see how far I get with part 2.

 

Anyway, here's a short video:

 

 

 

  • Like 10

Share this post


Link to post
Share on other sites

I've released Stevie v1.1x

 

 

Here's a recap of what's new:

 

Features

  • Introduced menu system (press F9 while in editor mode)

    • Shortcut letters are highlighted with underscore.
  • Added TI Basic integration

    • Select B in the main menu or CTLR+/ if in editor mode.
    • Press F9 (Back) in TI-Basic command line mode for returning to Stevie.
    • Possibility to jump between Stevie and TI-Basic while keeping environment.
  • Editor

    • Added key auto-repeat functionality.
      • Press and hold down key for repeating multiple times.
    • Added line-wrap functionality

      • Possibility to continue adding characters beyond 80th character
      • Currently only active if cursor at last position on line)
    • Added possibility to jump to next tab (F7)

    • Added ruler (toggle with CTRL-U) to better indicate tabs and cursor position.

    • Easier marking of text-blocks (Mark M2 with M1 if M1 unset)

Changes

  • Key-bindings changed for compatibility with Editor/Assembler.
  • Cursor is now always a solid block for better visibility.
  • Redesigned icon for alpha lock up/down.

Bug-fixes

  • A ton of bugfixes added (and probably some new bugs introduced along the way)
    • See commit log on github for details

 

 

As usual bugs can be reported either via the Github issue tracker https://github.com/MirrorPusher/Stevie/issues 

You can also contact me on Atariage via PM or report bugs in the Stevie development thread

 

 

Have fun!

  • Like 6

Share this post


Link to post
Share on other sites

I finally wanted to get this release out to the public, as I want to concentrate on new stuff I'm going to add.

There are also quite a few changes to the use of SAMS and there's some things I really want to implement (but that may cause an unstable version for the new few minor releases)

 

So what do I have planned for the next releases:

  • Enhanced TI Basic integration
    • Copy and paste between Stevie and TI-Basic
    • multiple TI-Basic sessions
    • 30 rows-mode TI Basic 
       
  • SAMS page allocater
    • I'm wasting too many SAMS pages by having a "fixed" range of pages for each specific purpose.
      So I want to implement a page allocator that hands out new pages as required. That will also open the door to multi-file editing on Stevie
       
  • Editor enhancements
    • Got a few user requests on editor enhancements
      • Better cursor positioning
      • Rework and fine-tune keyboard scanning
    • Add search functionality
    • Make the menu system compatible with the js99er mouse-pointer
      (That's already possible for some editor actions, but not all).
       
  • Expose Stevie editor buffer as a DSR 
    • Read (and possibly write) to the editor buffer from TI-Basic
    • Main purpose is something different though. I want to integrate the Editor/Assembler assembler in Stevie.
      By exposing the editor buffer as a DV80 
  • Like 5

Share this post


Link to post
Share on other sites
6 hours ago, retroclouds said:

SAMS page allocater

  • I'm wasting too many SAMS pages by having a "fixed" range of pages for each specific purpose.
    So I want to implement a page allocator that hands out new pages as required. That will also open the door to multi-file editing on Stevie

Don't know if this is of any value but I did something with SAMS that is pretty simple but effective. It comes from a function in Forth called BLOCK.

Normally BLOCK is used for files that work as virtual memory.

 

BLOCK takes a numerical argument from 0 to >FF

It returns the CPU address of a buffer, where a block of a file is loaded, but in this case it is a 4K SAMS page that is mapped into the space.

I used all of the low RAM for two 4K buffers.

If the SAMS page is already in memory, nothing happens. 

If the page is not in memory it is pulled into the last used buffer.

 

I only have the code in reverse polish assembler. :) 

Happy to share it but you can probably make it better yourself for your purposes.

It doesn't get much simpler but it lets you grab any page anytime.

 

 

 

  • Like 3

Share this post


Link to post
Share on other sites

One request if at all feasible:

When a block is selected, could it be stored in a "clipboard" area in SAMS then copied back into a different file? This would be tremendously helpful if one keeps commonly used routines in a separate file.

Share this post


Link to post
Share on other sites
1 hour ago, Vorticon said:

One request if at all feasible:

When a block is selected, could it be stored in a "clipboard" area in SAMS then copied back into a different file? This would be tremendously helpful if one keeps commonly used routines in a separate file.

I've added it to the feature request list.

https://github.com/MirrorPusher/Stevie/issues/6

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

I cleaned up the 1st post in the Stevie development.

  1. Added some additional topic links.
  2. Removed targets I have abandoned as of Stevie 1.1x: 32K only version, Use of FG99 RAM instead of SAMS memory
  3. Added reference to Stevie on github
Edited by retroclouds
  • Like 2

Share this post


Link to post
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...