Jump to content
IGNORED

Classic99 Updates


Tursi

Recommended Posts

As long as we're trying for absolute faithfulness to the TI99 experience, you need to figure out a way for me to have a small, aggravating keyboard. And make sure that when XB is in the slot there are random lockups at the most inconvenient moments.

 

Should the sampling method be based on how active and frequent the joystick movements are?

  • Like 1
Link to comment
Share on other sites

As long as we're trying for absolute faithfulness to the TI99 experience, you need to figure out a way for me to have a small, aggravating keyboard. And make sure that when XB is in the slot there are random lockups at the most inconvenient moments.

 

I already did that :) I have the data files to program a Keywarrior EEPROM to make a TI-99/4A keyboard matrix show up as a PS/2 keyboard. Then in Classic99 you can experience a double frustration by trying to use that as an emulated keyboard and trying to figure out where the hell the FCTN keys actually ended up. ;)

 

I have no idea if the Keywarrior is still available, but it was a bit more expensive than it needed to be, IMO.

 

Keywarrior.zip

  • Like 1
Link to comment
Share on other sites

I'm still voting for profiles. All too often I have to reconfigure my DSK locations and loaded carts to check out the latest upload to AA, then do it again to use the compiler and again for testing other things. If I could have my different setups saved as configuration profiles, well... I think I'd have to visit your Amazon wishlist again... just sayin' - I mean, bribes count for something right? :)

 

Sometimes ;)

 

Due to my tendency to jump from project to project, and never finish any of them, I've been trying to roll all my outstanding and retro-wishlist projects into a list and force myself to work on one at a time (as much as I can handle, anyway :) ). Since I couldn't decide on an order, I decided to just put together a survey monkey folder which I occasionally point people at. The downside is that each project still takes quite a while, so it's not a terribly exciting thing to watch, but I noticed a recent push on the TI side. I'm going to need to go poke the Coleco guys to let me finish Super Space Acer. ;)

 

That's here, and whenever I get Dragon's Lair done, I'll take whatever's on top. I'll keep it going until it frustrates me, but since I get to choose what's on it, it should be okay for a while!

 

https://www.surveymonkey.com/r/8CJDR5C

 

I figured it was just like a Kickstarter, except you don't lose any money when I don't get it done. ;)

Edited by Tursi
  • Like 2
Link to comment
Share on other sites

 

Sometimes ;)

 

Due to my tendency to jump from project to project, and never finish any of them, I've been trying to roll all my outstanding and retro-wishlist projects into a list and force myself to work on one at a time (as much as I can handle, anyway :) ). Since I couldn't decide on an order, I decided to just put together a survey monkey folder which I occasionally point people at. The downside is that each project still takes quite a while, so it's not a terribly exciting thing to watch, but I noticed a recent push on the TI side. I'm going to need to go poke the Coleco guys to let me finish Super Space Acer. ;)

 

That's here, and whenever I get Dragon's Lair done, I'll take whatever's on top. I'll keep it going until it frustrates me, but since I get to choose what's on it, it should be okay for a while!

 

https://www.surveymonkey.com/r/8CJDR5C

 

I figured it was just like a Kickstarter, except you don't lose any money when I don't get it done. ;)

 

I completed that last week. :)

 

Link to comment
Share on other sites

  • 1 month later...

Here's, well not exactly a bug, so let's call it a quirk. When using CPU overdrive, the screen sometimes does not get updated. For example, when you start to assemble using the TI assembler, at normal speed you get the message "Assembler Executing". With CPU overdrive, the assembly process goes fine, but the message does not appear on the screen until assembly is complete. But "Assembler Executing" is in VDP ram starting at >02C4, just where it should be. What is going on and why don't the letters appear on the screen?

Edited by senior_falcon
Link to comment
Share on other sites

I call that a bug.. the new scanline based display update really messed with some of the debug functionality, since it's trying to sync scanlines to the CPU - but the CPU's not running at the rate it's supposed to anymore, and I can't (shouldn't) speed up the VDP display. I just need to spend more time in that system... or provide a better workaround to force a repaint. I run into it sometimes too. (I need to check why I don't just run more cycles per scanline, that's the obvious short-term fix...)

Link to comment
Share on other sites

Hello Tursi...

 

I have been composing some music and I have come across some inconsistencies in what Im hearing from my computer speakers.

 

In the video below, you will hear some varying degrees of choppiness or staccato in the 4 plays of this short piece of music. The 4th and final play is the smoothest, and what I expect to hear from the sound chip. The first and third are very choppy.

 

Am I looking at an issue with my CPU processor speed, or is something happening in emulation here?

 

 

Link to comment
Share on other sites

  • 3 weeks later...

Ok TURSI new request:

 

PLEASE give correct address in GPL GROM on Debugger PLEASE.

 

GPL program is running at Address GROM >E823 in REA yet it shows on Classic99 Debugger screen >3F3F

(NOT EVEN REMOTELY CLOSE)

 

This is the line it is executing at >E823 : MOVE 31,V@>0380,V@>0381

 

Why is the GROM address in Classic99 Debugger so freaking crazy off?

Link to comment
Share on other sites

Because it's showing you what is actually in the GROM chip's address register, not necessarily the last GROM address that was accessed. Remember that when you read the GROM address, this is a destructive act -- the GROMs shift the bytes from LSB to MSB (or vice versa, I can't check right now), and that's why you see a duplicated byte in the address. If you did a GROM read at that point, that's the address that would actually be accessed. (Actually, the prefetch byte would be returned and THEN that address would be accessed.) This happens a lot in GPL as the interpreter reads the address back from the GROMs fairly often and rewrites the address before every single access.

 

However, you've asked this enough times that just today I finally understand the problem. :) You are trying to debug GPL and what YOU really need is the last address that was actually accessed (ie: where the heck is GPL executing). I think I can add that. It might not be 100% perfect, because it's not a function of the hardware, but I think it should cover 80-90% of the cases you are hitting.

  • Like 1
Link to comment
Share on other sites

Thank you Tursi!

I go out of my mind when I know for a fact it should be GROM Address in XB >8928 but Classic99 Debugger says >2742 which is TI Basic?

Or next GROM Address it says is >00FF which is actually:

00F9 : MOVE >0050 TO VDP@>0808 FROM GROM@>094C Special signs

 

So thanks this will really help me.

Link to comment
Share on other sites

Classic99 v399

 

-updated manual

-updated to Visual Studio 2017

-added CS1 read support

-flagged manifest as hidpi aware

-fixes for 9901 timer handling, found via CS1 in BASIC and EasyBug

-fix for "windowshade" mode where Classic99 started as just a title bar

-allow debugger to write more than 1 or 2 bytes at a time (to CPU, VDP or GROM)

-display last accessed GROM address next to the hardware register

-fix current directory changing when breakpoints were loaded or saved

-allow an interrupt to trigger immediately even if there aren't quite enough cycles left

-fix VDP scanlines to draw more correctly regardless of such things as overdrive and breakpoint

-add 'unsupported operation' debug to the file handlers so they don't silently fail when it's deliberately not supported

 

Couple of bigger ones -- the 'windowshade' mode was first reported by Bob ages ago, then a couple more people saw it, and finally I started to see it. When I caught it in the debugger I was able to find a race in the window startup code and fix that - it shouldn't happen anymore.

 

Added the ability to read cassette files. Yes, you got a win. ;) I only tried with a couple of files. They must be WAV, and you must select them at or before the "REWIND TAPE" message. They will then auto-cue up and start when you press enter after the PRESS PLAY. (Internally, it's just waiting for an off->on transition on the cassette motor control).

 

Cassette SAVE is not implemented, and there's no way to tune it, but it worked on the files I tried from the cassette thread. It was kind of fun to see Classic99 do that for the first time. Oh, and loading works in Overdrive, so you can speed it up a bit. The audio will lag and skip in that case, but you'll barely notice. ;)

 

Also, the debugger multiple byte write is now in there -- even I wanted that forever. Just keep typing bytes on a set command and they'll all get written.

 

And for RXB, the GROM address register will now display in parentheses the last accessed GROM address, so you don't need to figure out the scrambled hardware register. It will also display the base as a point value (in case you're working with multiple GROM bases - Classic99 only supports 16 of them so it's a single digit.)

 

And finally the screen draw should work a lot better in debug, pause, and similar situations. I hope so anyway. ;)

 

You'll note I'm all out of numbers for the point release. When my TODO list lets me get back here, hopefully that will be for the rewrite and 400. I'll need a new codename since I used up QI... ;)

 

http://harmlesslion.com/software/classic99

  • Like 11
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...