Omnimaga

Calculator Community => Discontinued => Major Community Projects => tiDE => Topic started by: SirCmpwn on May 12, 2011, 07:38:50 pm

Title: Stetson Progress
Post by: SirCmpwn on May 12, 2011, 07:38:50 pm
Hello,
Some of you may know that benryves (http://cemetech.net/forum/profile.php?mode=viewprofile&u=1288) once wrote (http://benryves.com/journal/3089868) an (http://benryves.com/journal/3088008) emulator (http://benryves.com/journal/2890418) known as Stetson.  He eventually dropped this project, but I came to the point where I needed a TI-83+ emulator written in C# for tiDE.  Lucky for me, there was already a working one ready by benryves!  I've picked up this project from him, and have begun my own work on Stetson.  First of all, this is where I picked it up from:
(http://benryves.com/images/stetson/20071026/pacman-99.png)
It had a screen, with keyboard mapped buttons (missing two buttons as well).  There was no debugger and only limited port implementation.  Flash control was working, but it was unprotected and flash was perpetually unlocked.  It had support for the LCD delay (which makes grayscale work), as well as full implementation of the z80 processor, and basic linking.
Since I got a hold of it, I have changed the GUI to this:
(http://img.removedfromgame.com/imgs/Stetson_Progress.png)
The virtual keypad is fully functional, and the memory viewer as well (though I have not yet completed the ability to modify its contents).  Here's what I've added:
-Linux compatability
-Protected port control
-Protected ports
-Fixed screen off state
-Virtual keyboard
-Memory viewer
-Pause/resume emulation
-Fixed broken keyboard mappings
-Added ROM selection dialog

Here are things I have planned to add:
-Finish memory viewer
-Register/status viewer/editor
-Disassembler
-Remaining ports
-15 MHz support
-Source level debugging integration with tiDE
-Sound
-Specialised debugging for KnightOS and GlassOS (the latter requiring more effort)
-GIF recording
-Improved file sending

Any feedback or feature requests?
Title: Re: Stetson Progress
Post by: squidgetx on May 12, 2011, 08:21:07 pm
Woah, that looks really nice/useful. Feature-wise, can't think of anything right now, seems like you have most of it covered between the two lists
Title: Re: Stetson Progress
Post by: Juju on May 13, 2011, 12:05:44 am
Nice :D

That looks awesome. Can't wait to see this, especially with the tiDE integration stuff :)
Title: Re: Stetson Progress
Post by: Aichi on May 13, 2011, 12:18:19 am
Yay, I'm looking forward to it. ^.^
Title: Re: Stetson Progress
Post by: TIfanx1999 on May 13, 2011, 09:17:42 am
Very cool. I'm assuming this is for the 83+ family only?

Feature idea: Virtual linking between 2 calcs.

Also, somewhat unrelated: What is GlassOS? I either missed it or am just unfamiliar with it.
Title: Re: Stetson Progress
Post by: Munchor on May 13, 2011, 09:51:58 am
Quote
-Linux compatability
O.O

Very well SirCmpwn, I'd also like a few other things like speed of emulation (100%, 200%, 50%, ...).

Can't wait for a beta release or a RC.
Title: Re: Stetson Progress
Post by: BrownyTCat on May 13, 2011, 10:46:17 am
This looks promising; I hope there's an RPM release.
Title: Re: Stetson Progress
Post by: jnesselr on May 13, 2011, 11:44:59 am
Feature request: USB support.
Title: Re: Stetson Progress
Post by: FinaleTI on May 13, 2011, 02:51:44 pm
Also, somewhat unrelated: What is GlassOS? I either missed it or am just unfamiliar with it.
It's an OS project for the 83+/84+ family over at Cemetech. It's being made in C with SDCC, if I'm not mistaken.
Title: Re: Stetson Progress
Post by: SirCmpwn on May 13, 2011, 03:57:18 pm
Feature request: USB support.
You got it.
Very cool. I'm assuming this is for the 83+ family only?
Feature idea: Virtual linking between 2 calcs.
Also, somewhat unrelated: What is GlassOS? I either missed it or am just unfamiliar with it.
z80 Family, yes.  Virtual linking, yes (this is already done for linking between emulator<->real calc.
GlassOS is an OS being developed by AHelper over at Cemetech in C.
Very well SirCmpwn, I'd also like a few other things like speed of emulation (100%, 200%, 50%, ...).

Can't wait for a beta release or a RC.
Emulation speed modding is planned, and a beta will probably be sooner than you think.
This looks promising; I hope there's an RPM release.
RPM?
Title: Re: Stetson Progress
Post by: BrownyTCat on May 13, 2011, 09:31:02 pm
This looks promising; I hope there's an RPM release.
RPM?
Redhat Package Manager, used in Fedora.
Title: Re: Stetson Progress
Post by: SirCmpwn on May 17, 2011, 02:53:39 pm
This looks promising; I hope there's an RPM release.
RPM?
Redhat Package Manager, used in Fedora.
Ah, I see.  I'll do my best to get it into as many repos as I can.

Also, I've finished the memory viewer, just double click a value to change it.  I've also almost completed the disassembler.
Title: Re: Stetson Progress
Post by: TIfanx1999 on May 20, 2011, 10:30:54 am
@Sir: Good to hear. When you say Z80 family do you mean there is a possibility of support for other Z80 models as well (TI-73, TI-82, TI-83, TI-85, TI-86)?
Title: Re: Stetson Progress
Post by: SirCmpwn on May 20, 2011, 01:42:11 pm
Yes, all of the above.
Title: Re: Stetson Progress
Post by: ben_g on May 20, 2011, 03:01:48 pm
Can it also emulate the ti-84 plus?

Feature request: step by step debugging (like ti flash debugger)

This is looking great (and the screenshot looks much like pindurTI, btw)

EDIT: when i posted this, i first got a database error saying it wasn't posted succesfully, then an error saying i've already submited this post. Strange...
Title: Re: Stetson Progress
Post by: SirCmpwn on May 20, 2011, 03:05:42 pm
TI-84+ is planned, and probably the next model to get support.
Step by step debugging is also planned.
Title: Re: Stetson Progress
Post by: aeTIos on May 20, 2011, 03:11:57 pm
Ooh, cool!
Title: Re: Stetson Progress
Post by: Munchor on May 20, 2011, 05:36:05 pm
Quote from: Scout
Very well SirCmpwn, I'd also like a few other things like speed of emulation (100%, 200%, 50%, ...).

Can't wait for a beta release or a RC.
Emulation speed modding is planned, and a beta will probably be sooner than you think.

So how's this coming along?
Title: Re: Stetson Progress
Post by: SirCmpwn on May 20, 2011, 05:56:32 pm
Speed modding is done.  It was just about the easiest feature to do.
Title: Re: Stetson Progress
Post by: TIfanx1999 on May 20, 2011, 06:04:11 pm
It's nice that this is going to support all Z80 models. =)
Title: Re: Stetson Progress
Post by: SirCmpwn on May 20, 2011, 06:09:55 pm
Stetson will only support z80, but tiDE itself will support every programmable calculator made by TI ever, and probably Prism, too.
Title: Re: Stetson Progress
Post by: TIfanx1999 on May 20, 2011, 06:41:48 pm
Awesome! ;D
Title: Re: Stetson Progress
Post by: jnesselr on May 20, 2011, 09:27:12 pm
I like the beta idea!  I can test on multiple platforms, if you want.  I always seem to have some trouble with your software for some reason.  :D
Title: Re: Stetson Progress
Post by: SirCmpwn on May 21, 2011, 02:06:22 pm
Sure.  Right now, I know it works on Windows and *nix under Mono.  Once I add more features, it's up for testing on Mac, too, as soon as the public beta is out.
Title: Re: Stetson Progress
Post by: Munchor on May 22, 2011, 06:02:02 am
Sure.  Right now, I know it works on Windows and *nix under Mono.  Once I add more features, it's up for testing on Mac, too, as soon as the public beta is out.

What Mono version is needed? 2.6 or 2.8 or 2.10? Is it .NET Framework 3.5?
Title: Re: Stetson Progress
Post by: SirCmpwn on May 22, 2011, 05:15:33 pm
It is .NET 3.5, and I always advise to get the latest Mono.
Title: Re: Stetson Progress
Post by: DJ Omnimaga on May 25, 2011, 04:26:01 pm
Although this is mostly intended for development, I wonder if the ability to change the calc speed in the middle of gif/video capture without breaking capture or even having the calc stop when it encounter direct input/getkey code could be possible? That's of course if capture is added in the future, but I thought it would be nice since sometimes we want to capture hard parts of a game, but then there's a long-ass NPC convo we want to speed up through or stuff like that, and for people who wanted to create tool-assisted speedruns.
Title: Re: Stetson Progress
Post by: SirCmpwn on May 25, 2011, 04:37:57 pm
Although this is mostly intended for development, I wonder if the ability to change the calc speed in the middle of gif/video capture without breaking capture or even having the calc stop when it encounter direct input/getkey code could be possible? That's of course if capture is added in the future, but I thought it would be nice since sometimes we want to capture hard parts of a game, but then there's a long-ass NPC convo we want to speed up through or stuff like that, and for people who wanted to create tool-assisted speedruns.
Those all sound like great ideas, I'll put them on my mental list.  Changing the CPU speed does not affect GIF capture as it is (even though GIF capture isn't done yet <.<).
Title: Re: Stetson Progress
Post by: DJ Omnimaga on May 25, 2011, 04:47:52 pm
Oh I thought it was just emulation speed change, not CPU speed change, kinda like in WabbitEmu or PindurTI. I was suggesting, though, because in Wabbitemu, if you start capturing then change the emulation speed, then stop recording, your GIF ends up being corrupted.
Title: Re: Stetson Progress
Post by: SirCmpwn on May 25, 2011, 04:52:56 pm
Oh I thought it was just emulation speed change, not CPU speed change, kinda like in WabbitEmu or PindurTI. I was suggesting, though, because in Wabbitemu, if you start capturing then change the emulation speed, then stop recording, your GIF ends up being corrupted.
Yeah, you change the emulation speed, which has the same effect.
And I won't corrupt the GIF, I'll properly handle it.
Title: Re: Stetson Progress
Post by: DJ Omnimaga on May 25, 2011, 05:00:45 pm
Good to hear :)

Also, make sure 1% speed is really 1%, lol. I remember in Wabbit it said 1%, but in fact when in busy mode it was like 5, so when  capturing, it speed up the gif by 100x because it thought it was really 1%, so as a result, animated GIFs ran like 4 times faster than the actual game x.x
Title: Re: Stetson Progress
Post by: Munchor on May 25, 2011, 05:25:57 pm
Good to hear :)

Also, make sure 1% speed is really 1%, lol. I remember in Wabbit it said 1%, but in fact when in busy mode it was like 5, so when  capturing, it speed up the gif by 100x because it thought it was really 1%, so as a result, animated GIFs ran like 4 times faster than the actual game x.x

What about 666%?

Runs, will there be a Max Speed Your Computer Can Handle like in Wabbitemu and wxwabbitemu?
Title: Re: Stetson Progress
Post by: SirCmpwn on May 25, 2011, 05:28:33 pm
Percentage will be user specified, and yes there will be a "Max Speed" option.
Title: Re: Stetson Progress
Post by: DJ Omnimaga on May 25, 2011, 05:34:03 pm
I guess the best options would be from 1% speed to 10000%, but I worry 10000 might cause some older computers to lock up x.x
Title: Re: Stetson Progress
Post by: SirCmpwn on May 25, 2011, 06:53:34 pm
Well, I won't restrict it, I'll just let them pick whatever speed works for them.
Title: Re: Stetson Progress
Post by: DJ Omnimaga on May 26, 2011, 12:17:06 am
Ah ok, so basically it won't necessarily be like 1000, but could be 1011% as well? (Like the Nspire emu)
Title: Re: Stetson Progress
Post by: SirCmpwn on May 27, 2011, 12:28:04 pm
Basically, there is an emulation menu.  Within that menu, "Speed" opens into a sub-menu.  In that submenu will be 25%, 50%, 200%, 500%, Normal, and Maximum, as well as a "Custom" option.  Clicking "Custom" will open a dialog where the user can specify a percentage to emulate at.
Title: Re: Stetson Progress
Post by: DJ Omnimaga on June 22, 2011, 09:12:27 pm
Ah that's cool to hear. :)

I forgot if I asked, but does the emu currently supports z-adress and contrast changing?
Title: Re: Stetson Progress
Post by: SirCmpwn on June 22, 2011, 09:32:30 pm
It supports z-addressing, but I cannot recall if contrast works.  I will check tommorow.