Jump to content
IGNORED

Classic99 Updates


Tursi

Recommended Posts

5 hours ago, InfiniteTape said:

Well, that's a test, I suppose. :)

 

image.thumb.png.337214b3b87b9abb310e897f63c6c2ea.png

Looks great. What virtualization software are you using on the M1? Parallels Desktop?

Also did you have to buy the Windows 11 ARM edition or is it possible to test without license key?

have a M1 macbook myself and very much like the idea running classic99 on it.

  • Like 1
Link to comment
Share on other sites

17 hours ago, retroclouds said:

Looks great. What virtualization software are you using on the M1? Parallels Desktop?

Also did you have to buy the Windows 11 ARM edition or is it possible to test without license key?

have a M1 macbook myself and very much like the idea running classic99 on it.

I'm using the preview of VMWare Fusion for ARM. I have a Visual Studio subscription through work, so I didn't have any trouble getting access to the Windows build through the Windows Insider program. When I was figuring out how to get the VM built (which takes some tricks since Fusion doesn't claim official support), it seems that it's pretty easy to get the Windows build as an ISO or VHDX.

 

I've honestly been astonished how well the x86 and x64 emulation works in Windows 11.

  • Like 1
Link to comment
Share on other sites

On 11/10/2021 at 5:41 AM, Vorticon said:

Curious why that is the case...

Honestly, because I spent some time thinking about it and couldn't really come up with anything. The TI-99/4A doesn't have a low power mode or a mode in which it is doing less work - by the time you get to the title page, the CPU is barreling along at full speed, the VDP is displaying one of the more complex modes it can display, and the sound chip is generating a full stream. As far as normal TI-99/4A emulation is concerned, it's already doing everything.

 

You can add slightly more load by executing some speech or running bitmap mode - Parsec gives you that in the first few seconds. You can add in some SID stuff, which is expensive on the host cpu but isn't up to date in the emulation anyway. Running some F18A GPU stuff adds load too, but the enhanced modes are not supported in Classic99 so that's got a limited amount of software. Some of the expanded RAM AMS stuff would be interesting.

 

I suppose you could try the TI Megademo to force the scanline code to run, that's probably a good test. Scanline detection isn't really a greater effort - again, all the scanlines are being generated anyway - but it's trickier for emulation to get right.

 

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, InfiniteTape said:

I'm using the preview of VMWare Fusion for ARM. I have a Visual Studio subscription through work, so I didn't have any trouble getting access to the Windows build through the Windows Insider program. When I was figuring out how to get the VM built (which takes some tricks since Fusion doesn't claim official support), it seems that it's pretty easy to get the Windows build as an ISO or VHDX.

 

I've honestly been astonished how well the x86 and x64 emulation works in Windows 11.

That is pretty impressive, yes. Guess I don't need cross platform at all! ;)

 

Link to comment
Share on other sites

  • 3 weeks later...

Hi Tursi,

 

Do you make any of your previous versions of classic99 available for download?  I upgraded to the latest (prior being the July 2021 version) and it no longer works in wine under Linux. 
 

x570:~/.wine/drive_c/Program Files (x86)/classic99$ wine classic99.exe 
0078:fixme:imm:ImeSetActiveContext (0x3fa90, 0): stub
0078:fixme:imm:ImmReleaseContext (0000000000010020, 000000000003FA90): stub
0024:fixme:imm:ImeSetActiveContext (0x2afdf70, 1): stub
0024:fixme:imm:ImmReleaseContext (00010056, 02AFDF70): stub
00fc:fixme:ver:GetCurrentPackageId (04FBFEF0 00000000): stub
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0124:fixme:d3d:texture2d_blt Can't handle WINED3D_BLT_DO_NOT_WAIT flag.
wine: Unhandled page fault on read access to 0F900030 at address 7CF01D29 (thread 0124), starting debugger...
Can't attach process 0020: error 5
x570:~/.wine/drive_c/Program Files (x86)/classic99$ 012c:fixme:imm:ImeSetActiveContext (0x23f080, 1): stub
012c:fixme:imm:ImmReleaseContext (0002008A, 0023F080): stub


Not sure what the issue is just yet, but would like to try the previous version again and I did not keep a copy of it.

 

Thank you!

 

Link to comment
Share on other sites

I do not. But it's worth noting that I haven't touched the Classic99 graphics engine in years. I've barely touched it at all this year.

 

Is the unhandled page fault related to the missing BLT flag on the previous line? If not you may have just found an outright crash...

 

I should be able to build a previous version, in theory. As long as it's not related to a change in the compiler itself (which is increasingly likely, much to my annoyance), it should be the same.
classic99_late_july_2021.zip
There were two versions in July - a small update that just added some configuration and CPU load tracking, and a big one that rewrote the speech engine. The speech code included a crash fix, so I'll rebuild that. It would be interesting to know if that introduced the issue. The only changes after that were to the joystick handling and the background noise simulation.
 

  • Like 1
Link to comment
Share on other sites

3 hours ago, Tursi said:

I do not. But it's worth noting that I haven't touched the Classic99 graphics engine in years. I've barely touched it at all this year.

 

Is the unhandled page fault related to the missing BLT flag on the previous line? If not you may have just found an outright crash...

 

I should be able to build a previous version, in theory. As long as it's not related to a change in the compiler itself (which is increasingly likely, much to my annoyance), it should be the same.
classic99_late_july_2021.zip
There were two versions in July - a small update that just added some configuration and CPU load tracking, and a big one that rewrote the speech engine. The speech code included a crash fix, so I'll rebuild that. It would be interesting to know if that introduced the issue. The only changes after that were to the joystick handling and the background noise simulation.
 

Thank you for doing this, Tursi.  Still crashing on me and not sure what changed.  There was a recent update to Wine, so perhaps something with it.  I've attached a backtrace log, but I'm guessing it won't reveal anything useful.  

backtrace.txt

Link to comment
Share on other sites

No, it looks like it didn't find any symbols. I can attach a PDB if you want.

But in the meantime, here's the other July build. If this also crashes it may be something in Wine (which in turn may be revealing a Classic99 bug, but I don't know how deep down the rabbit hole I want to dig ;) ), or it could be a changed compiler option.

 

classic99_early_july_2021.zip

 

And if you know how to use it, here are the debug symbols for that build. If you don't, don't even worry about this one.

 

classic99_pdb.zip

  • Like 1
Link to comment
Share on other sites

Maybe related:

For awhile now, i have had to change all my wine launching scripts from:

wine path/to/windows/*.exe

 

to:

export MESA_GL_VERSION_OVERRIDE=4.4&&wine path/to/windows/*.exe

otherwise all i get is errors.

 

But, i don't run Classic99 directly under linux, i go through a windows XP virtual machine and run it there.

Edited by jrhodes
  • Like 1
Link to comment
Share on other sites

On 12/3/2021 at 8:04 PM, Tursi said:

No, it looks like it didn't find any symbols. I can attach a PDB if you want.

But in the meantime, here's the other July build. If this also crashes it may be something in Wine (which in turn may be revealing a Classic99 bug, but I don't know how deep down the rabbit hole I want to dig ;) ), or it could be a changed compiler option.

 

As it just so happens, there was a wine update yesterday.

 

I installed it and and it works (this should be the most recent version of classic99).

 

I really apologize for the wild goose chase on this.  The wine/classic99 combo has been stable for me so long.  Guess I was spoiled.  :)

 

Thank you again, Tursi, for the older builds.  These will be good to hang on to.

 

1229750103_Screenshotfrom2021-12-0508-56-37.thumb.png.7a5a3112c7a2f2837383a5418feae4d7.png

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

While attempting to alter program data(for no reason in particular|:))...

 

I'm going out on a limb here a bit... or eight:lol:...

I believe that I may have come upon an actual bug in your debugger:-o:

 

longlines.thumb.png.76cc6895238b81904af33a424918e7aa.png

 

It seems that...

 

 W(xxxx-xxxx)=ABCD

 

Is a valid\useful BREAKPOINT SYNTAX.

However, the BREAKPOINT entry field will accept only 16 characters!:twisted:

 

         P.S. In other words... What imparticular, did I not do right ...lol!:-D

  • Like 3
Link to comment
Share on other sites

Classic99 399.053

 

- Detect "File x of y" in filenames
- Remove reverse DSSD layout option
- Fix input length of debugger breakpoints to allow full commands with newer syntax to be entered
- Mouse capture for TIPI 
    - click on window while mouse-aware TIPI app is running to capture, press ESC to release.
    - use mouse wheel to adjust sensitivity - up for faster, down for slower
    

http://harmlesslion.com/software/classic99

 

I used Texcaster to get the mouse capture usable. :) @Asmusr, I couldn't copy what you did in JS99er cause it's not working there right now.

 

  • Like 4
  • Thanks 2
Link to comment
Share on other sites

17 hours ago, Tursi said:

hehe..

As long as you're in a good mood, and since you're working on the debugger anyway...
I didn't want to mention it, but these days, the Debugger window freezes when active, if Pause While Window Inactive is ticked.

This had me confused ...for about 20-30 seconds.

 

     P.S. I should have mentioned this sooner.:roll:

Link to comment
Share on other sites

12 minutes ago, HOME AUTOMATION said:

As long as you're in a good mood, and since you're working on the debugger anyway...
I didn't want to mention it, but these days, the Debugger window freezes when active, if Pause While Window Inactive is ticked.

This had me confused ...for about 20-30 seconds.

 

     P.S. I should have mentioned this sooner.:roll:

Sure should have. ;)

 

What do you expect the debugger window to do if Pause While Window Inactive is ticked, and you click off the window?

  • Haha 1
Link to comment
Share on other sites

33 minutes ago, HOME AUTOMATION said:

Considering the designer... something extremely magnanimous!;-)

 

Though your argument is true to context(Windows')...:evil:
I had grown accustomed to the carte blanche afforded in previous versions.:cool:

:)

I'm not being facetious, I legitimately do not understand what the concern is.

 

Nothing has changed in "Pause when Window Inactive" for a good decade, literally. If the main window is not active, the emulation pauses.

 

I think you are saying that you want to access the debugger window with that option set, but if that's true, my answer is "don't do that". There's no good reason for me to have to enumerate a list of windows every cycle to see if one of them has focus... if you're debugging, you can press F1 to pause the emulation when you need it to stop.

 

  • Like 1
Link to comment
Share on other sites

Sounds good. I hadn't considered all/if-any ramifications. I suppose that I was just taken off-guard, as for a moment, I assumed a breakpoint or crash had occurred.

 

It seems that this behavior changed when you addressed the slow-pasting while "Pause when Window Inactive" was ticked issue, some months ago.

 

Previous versions acted as though the two windows were on par with one another.

 

I considered that this might be unintentional on your part. Anyway, I just unticked it, since I often have to rearrange the two windows on my small screen, and still want to steadily monitor working processes. Perhaps I also switch back and forth between the two windows since they respond differently to key presses.

 

...I'll let you know if it becomes any real issue for me.:ponder:

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