Jump to content

Recommended Posts

On 2/6/2021 at 2:57 PM, retroclouds said:

Some of you may have been following the Stevie development thread. For those that haven't, here are some key facts:

 

  • 64 kilobytes cartridge rom

 

2021-02-06 Stevie v1.0

 

How much of the 64K ROM space does Stevie use.

Asking for a friend...   :) 

 

(that's an enviable code space) 

  • Like 1
  • Haha 1
9 hours ago, TheBF said:

How much of the 64K ROM space does Stevie use.

Asking for a friend...   :) 

 

(that's an enviable code space) 

 

Have to take a look the next time when building the cart image.
What I can say is, that the first 2 banks were full and the next 2 banks about half full if I remember correctly.

But as part of the refactoring I decided to go to 64K right away to spread the code and group code per purpose.

 

Bank 0: “Jill” - Startup code, resident spectra2 and stevie modules. Copied to low memexp

Bank 1: “Jim” - Main editor code.

Bank 2: “Jacky” - File operations

Bank 3: “John” - Dialog code, menu entries and TI Basic support (will move to other bank)

Bank 4: “Janine” - Extended functions of main editor. Tabs, ruler, color code, …

Bank 5: “Jumbo” - Pattern data, sprites, etc.

Bank 6: “Jenifer” - Still empty

Bank 7: “Jones” - Full spectra2 library

  • Like 5
  • Thanks 2
  • 3 months later...

I've released Stevie 1.2Q

 

You can grab the binaries here:

 

 

This time there are 2 different cartridge binaries:

 

1. As usual we have the 30 rows 80 columns mode version.
   That one works best on the TI-99/4A with F18A and in the JS99er emulator.
   
2. Also have a 24 rows 80 columns mode version.
   This version is meant for using with the classic99 emulator.
   Don't see a reason to use it on the TI-99/4a itself, but if you do
   see a legit reason then let me know, I'm interested in your use case.

 

 

One thing to notice is, that some of the keyboard shortcuts have moved again.
That is due to technical reasons and for better compatibility. 
Check the help screen for current definitions.

 

The list of changes that made it to Stevie 1.2Q is quite long.

 

Check the issue tracker for full details:
https://github.com/MirrorPusher/Stevie/issues?q=is%3Aissue+is%3Aclosed

 

Features:

#46 Multiple help pages in help dialog
#43 Use KSCAN instead of custom keyboard scanning solution
#42 Improve compatibility with classic99
#41 Introduce session ID display in TI Basic
#40 Support multiple TI-Basic sessions
#39 Add file append functionality
#34 Smart filename selection on file load/insert/save
#26 Add print file option
#11 Upgrade to latest xas99 version
#08 Shortcut: Position cursor on bottome line of screen
#07 Insert file at cursor
#06 Clipboard file functionality


Bugfixes:
#39 Reset SAMS to default bank layout upon program exit
#32 Flickering in editor dialogs
#31 Fix color clash on help dialog
#29 Crash on file save/load with no filename given
#05 Cursor moves out of editor area into bottom row
#03 Crash on long filename

 

 

As usual bugs can be reported 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

 

 

Note: the classic99 cartridge binary has "(24X80)" in the program title.

image.png

 

 

Edited by retroclouds
  • Like 2
  • Thanks 2
On 7/18/2021 at 6:26 AM, jedimatt42 said:

Looks nice. Finally got around to trying this out. 

 

Gives my USB keyboard adapter lots of trouble. @retroclouds I would be curious to read your kscan code. So maybe I can use it to create a benchmark for testing my keyboard.

@jedimatt42 Would be interesting to know if Stevie 1.2Q is any better with your USB keyboard. My hope is that now that I've switched to OS rom KSCAN there's an improved compatibility.

  • Thanks 1

I've released Stevie 1.2S based on the feedback and suggestions of @Vorticon

  • First of all there is a regression as of Stevie 1.2Q which prevents key auto-repeat from working (after switching to the console KSCAN routine).
    If you want to learn more, check here: http://www.unige.ch/medecine/nouspikel/ti99/keyboard.htm#auto-repeat

    Did some tests with key autorepeat, but they didn't work out at this time. So in Stevie 1.2S I got rid of any delay loops and just live with it for now. 
    Benefit is that Stevie feels more responsive and also behaves well in classic99 CPU overdrive mode. So I'm currently biased on how to further proceed with this.
    Probably spend my attention to some things that are more fun, and come back to this at a later time. I just don't like burning CPU cycles in key debounce loops.
     
  • Feature: Insert new line upon pressing return when in insert mode
    As requested by @Vorticon
    It would be handier to have a new line inserted automatically upon pressing Return when in Insert mode. This is the usual behavior in Preditor and better than having to use F8 repeatedly for line insertion.
    https://github.com/MirrorPusher/Stevie/issues/48
    If you are in insert mode, then pressing return will push the following line down and insert a new line there. If you are in overwrite mode, the behaviour is the same as in Stevie 1.2Q
    Thank you @Vorticon for testing and your feedback, it is much appreciated!

 

 

As usual bugs can be reported 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

 

Features:

#48 Insert new line upon pressing return when in insert mode

 

Regressions:

#47 Key autorepeat no longer working

  • Like 3
  • 11 months later...

I've released Stevie 1.3Q

 

Usability:

  • Reworked menu system for easier navigation on real-iron and emulators.
    • Support 2 level navigation.
    • Added 'Shortcuts' menu for easy access to editor features.
    • Can now close menu by pressing 'SPACE' key.
       
  • Added possibility to load finalgrom99 cartridge via 'Cartridge' submenu.
    For this to work the cartridge image files must be present on FG99 SD card in same directory as Stevie.
    • Currently supported:
      • Extended Basic G.E.M (XB29GEMG)
      • Rich Extended Basic   (RXBG)
      • Force Command         (FCMDG)
      • fbForth                      (FBFORTHC)
         
  • Reworked build-system. Details: https://github.com/FilipVanVooren/stevie/issues/62   
  • Stevie now licensed under GPLv3

      
TI Basic integration

  • Possibility to unpack ("decrunch") TI Basic program to BASIC source code in Stevie editor.
  • Filename detection if TI Basic program is saved from inside TI Basic session.
  • AutoUnpack option exists (default is off). 
  • Possibility to resume Stevie session after quiting TI Basic to title screen (or calling external program).
  • Added option 'RESET STEVIE MEMORY' to TI selection screen. Used for resetting stevie if resume fails because of memory corruption.

         
Editor

  • Goto line functionality added
  • Added Possibility to turn on/off AutoInsert functionality. Is off by default.
  • Added possibility to back-tab cursor
  • Changed some editor keys for easy access on real-iron as well as emulators (tested with classic99 and js99er).
  • Switch to latest TI Basic session via FCTN-0 key.
  • Filename scan in editor text. Move cursor to a filename in the editor and file open dialog will pre-select the detected file.

    

Bug-fixes

 

Please be aware that the TI Basic integration is still a work in progress and there are bugs lurking there, always save your editor files often.

In case of a lock-up after returning from TI Basic, you might need to select the 'RESET STEVIE MEMORY' option for Stevie to proceed working.
 

Have fun! 

  • Like 4
  • 2 months later...

It's time for Stevie 1.4H

 

Usability / Features

  • Support lower case input in command buffer pane
  • Renamed 'Configure' main menu to 'Options'
  • Introduce 'Fonts' submenu under 'Options' and change default font
  • Introduce Master Catalog functionality
  • Configure Master Catalog file in 'Options' submenu
  • Added some more color schemes

 

Technical stuff

  • Vectors per bank increased from 32 to 96
  • Refactored many of the build flags & some code
  • Fine-tune FastMode IO for devices like HRD4000
  • Additional hint above bottom row (used in master catalog and TI-Basic mode)


Bugfixes

  • Insert line (FCTN 8 ) crashes stevie
  • Prevent crash when deleting block
  • Next/Previous file: crash when filename ends with whitespace
  • Some more code changes for improved stability
     

 

The full list of issues I worked on can be found here:

https://github.com/FilipVanVooren/stevie/issues?q=is%3Aissue+is%3Aclosed

 

Have fun!

 

 

Here's the proof-of-concept bash script I used to create the master catalog on my TIPI. 

Spoiler
#!/usr/bin/env bash

# Catalog starts on line 5
line=5

# Clear master catalog
rm -f MASTCAT

l="------------------------------------------------------------------|-------|-----"
h="Path/Filename                                                     |Size(b)| Line"


# Create catalog files of subdirectories
echo "# Created: $(date)" >MASTCAT
echo -e "$l\n$h\n$l"     >>MASTCAT

for fname in $(find SRC -print | sort);
do
   # TIPI file path for accessing file
   fpath="TIPI.${fname//\//.}"

   if [ -d "$fname" ]; then
      # It's a directory, skip
      echo -n ".";
   else

      # Trim filename
      if [ ${#fpath} -gt 66 ]; then
        fpath="${fpath:0:64}.."
      fi

      # Skip hidden sector files
      if [[ $fname != *".sectors"* ]]; then
         # Print catalog entry
         printf "%-66s|%6d |%4d\n" \
                "${fpath}" \
                "$(stat -c %s ${fname})" \
                $line >>MASTCAT

         ((line=line+1))
      fi
   fi
done

echo "$l"                      >>MASTCAT
echo '# End of master catalog' >>MASTCAT
echo ' Done!'

# List master catalog content
cat MASTCAT

exit 0

 

 

Edited by retroclouds
  • Like 8
  • 10 months later...

I've released Stevie 1.5.32 

 

As of this version I will be using semantic versioning. Actually I planned to release this around Xmas, but I wasn't pleased with the overal functionality yet. So I had to postpone for a bit.

Besides some minor things, the biggest update on this release is the catalog with its file picker functionality.

If you are on a supported device like TIPI or IDE you can move between subdirectories and this really improves the usability IMHO.

 

Besides that there are a ton of bugfixes again (and most likely a ton new bugs introduced) and some minor new features.

Going forward I will probably have to do a better job on documentation because there are quite a few hidden functionalities to speed-up navigation.


Having said that, here's a list of some of the changes (in no particular order)

Usability:


Bugfixes:

 

Grab the newest version here:

 

As usual a big thanks to @Vorticon for testing, feedback and keeping me motivated 

  • Like 2

Just a word on the file picker functionality. When you're in the File -> Catalog dialog or in File -> Open, Insert, Append you basically just type the device/file path.

  • If the last character is a dot "." and you press ENTER, Stevie will interpret that as a device path and will try to read the directory.
  • If the directory is successfully read, you can move the file selector by using arrow key up or down.
  • You can also switch pages (if you have more files than fit the screen) with CTRL-E and CTRL-X.
  • You can switch between columns with CTRL-S and CTRL-D
  • You can move to the parent directory by pressing SPACE.
  • In most of the dialogs you can press CTRL-1 to CTRL-9 to read the catalog from device DSK1 to DSK9. If you are on a supported dialog, the filepicker functionality will kick-in and you'r able to navigate on the device.
  • You can find the necesary key combinations by going to the Help screen (or use shortcut key CTRL-H)
  • Once a directory is read, it's cached in memory. So if you're in the editor screen, you can press CTRL-< to read the previous file, or CTRL-> to read the next file.
Edited by retroclouds
  • Like 1

Should you be running Stevie on a real TI-99/4A install, I wouldn't mind if you attach a photo or short video of the thing in action.

Did not have a chance yet to try it out on my TI-99/4a with IDE card, as my harddrive is broken.

So far it got tested with my TIPI PEB card and HRD4000B cards and in emulation land. But the latter obviously doesn't count 😁

  • Like 1

If I want to put the binary for a standard cartridge (user defined) in the classic99.ini file.  what settings do we need to put in?  all the ones i have tried do not work yet, but just doing a open does.

 

 I tried the below and after selecting it just resets..

 

[usercart27]
; *** Stevie Editor
name="Stevie Editor"
rom0=G|6000|2000|mods\stevie2c.bin

I’m not sure what settings to put in the settings file. There’s nothing too special, it’s just a 64K non-inverted ROM image.

For “mounting” the cartridge I always use the classic99 menu option “user cartridge” (or similar) and pick the file.

If it resets, its perhaps a sign that either SAMS and/or F18a are not enabled in classic99 ?

 

I’ll let @Vorticon chime in, because I think he used classic99 more than I.

Most of the development I did with js99er. Having said that, I can take a look at the weekend if it still don’t work.

What’s still lacking at the moment is a proper user message if SAMS and/or F18a are missing. 

3 minutes ago, retroclouds said:

I’m not sure what settings to put in the settings file. There’s nothing too special, it’s just a 64K non-inverted ROM image.

For “mounting” the cartridge I always use the classic99 menu option “user cartridge” (or similar) and pick the file.

If it resets, its perhaps a sign that either SAMS and/or F18a are not enabled in classic99 ?

 

I’ll let @Vorticon chime in, because I think he used classic99 more than I.

Most of the development I did with js99er. Having said that, I can take a look at the weekend if it still don’t work.

What’s still lacking at the moment is a proper user message if SAMS and/or F18a are missing. 

I have the F18A enabled on Classic99.  Don't see an option for SAMS but if I load the cartridge direct by browsing it works fine.  

  • Like 1
On 2/4/2024 at 6:22 PM, retroclouds said:

Should you be running Stevie on a real TI-99/4A install, I wouldn't mind if you attach a photo or short video of the thing in action.

Did not have a chance yet to try it out on my TI-99/4a with IDE card, as my harddrive is broken.

So far it got tested with my TIPI PEB card and HRD4000B cards and in emulation land. But the latter obviously doesn't count 😁

Just a simple example on "real iron"

 

EDIT: Just realised you wanted an image with IDE, should have my card next week

image.thumb.jpeg.5fe47e34f24f47290a5b9fd5cd5f5eb3.jpeg

  • Like 1
  • Thanks 1

romN=T|SSSS|LLLL|<path>

'n' is just a counting index starting at 0.

T is the Type. This is VERY important, it MUST be correct. G means GROM. 8 means non-inverted banked ROM.

SSSS - hexadecimal starting address. For GROM its in the entire system space, so cartridges start at 6000. For type 8 it's already in cartridge space, so starts at 0000.

LLLL - length in hexadecimal (and as you see can be more than 4 characters). If you get this wrong the DEBUG LOG WILL TELL YOU. So if your cart doesn't work, see if Classic99 is already trying to tell you why. ;)

 

  • Like 4

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