-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....tware/classic99