Jump to content
Tursi

Classic99 Updates

Recommended Posts

43 minutes ago, RXB said:

Ummm if folder permissions are bad for say like /DSK4./ and you get stack overflow and other errors, learned this one the hard way on Classic99.

I was using GPL Assembler and could not figure out what the problem was and Debug was not helping.

Also my Classic99 is in the Documents folder along with everything TI related and every time I open Classic99 Windows 10 asks for permission to open it.

Also with the latest Windows 10 updated it crashes with a protection error if Classic99 writes to a folder.

But I have to give it permissions again after each Windows 10 updates.

Rich, I build and test on the latest Windows 10 here, and I don't have that experience. It's something unique to your system.

 

But my recommendation is to make sure you are NOT running in one of the Windows monitored folders, like Program Files or Documents. Windows /specifically/ blocks programs writing to those folders without special permissions because of the number of viruses that have done so. Move Classic99 to a base path like "C:\Classic99" (I actually use D) and I will bet that you have a better experience.

 

  • Like 3
  • Thanks 2

Share this post


Link to post
Share on other sites
12 hours ago, Tursi said:

Rich, I build and test on the latest Windows 10 here, and I don't have that experience. It's something unique to your system.

 

But my recommendation is to make sure you are NOT running in one of the Windows monitored folders, like Program Files or Documents. Windows /specifically/ blocks programs writing to those folders without special permissions because of the number of viruses that have done so. Move Classic99 to a base path like "C:\Classic99" (I actually use D) and I will bet that you have a better experience.

 

Yea using C:\Classic99 is kind of suicidal for virus problems.

The other drive D:\Classic99 would be better.

But see my main drive C is a Rocket 2TB M2 drive, and my D drive is a 8TB SATA drive.

Most of the time my SATA 8TB drive is never being used unless a back up is running or I am saving something I do not normally need like a disc image.

By the way my M2 drive is wicked fast, I can boot from power on in under 20 seconds, from sleep mode in 4 seconds.

 

Share this post


Link to post
Share on other sites

C:\Classic99 is just fine, it's not a standard system path, and doesn't automatically grant access to any other folders. Only reason I'm on D now is a couple of years ago I tried switching to a laptop and moved all my work folders to an external drive. When I hated that and switched back, I decided since I was finally migrated off the system drive I'd keep it that way. ;)

 

  • Like 2

Share this post


Link to post
Share on other sites

and yeah, I still want one of those onboard flash drives. ;) I tried to upgrade my system in January and that was a disaster. ;)

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)
18 minutes ago, Tursi said:

and yeah, I still want one of those onboard flash drives. ;) I tried to upgrade my system in January and that was a disaster. ;)

 

 

I use Acronis True Image for swapping drives, and 1 year ago there still was a problem

to change from a plain SATA to an M2-drive. It didn´t boot, nor with using the  ´Universal Discovery´ option.

I think, at this time the drivers were missing. Have to use again, but I just bougth a new Laptop

with SSD for C:, and freshly installed Win81 on it. Perfect :thumbsup:

 

For the other topic, install path, I (again) added a 2 TB SATA drive as my second drive,

where I (historically) use the path D:\Programme.DOS\. (like your "\Programs"),

where all my "older" or portable or more the less "install-free" software (like Classic99) resides.

On this path, I (the user) has full access permitted, to have no problems with that struggle.

 

One more advantage is, for the new Laptop I just had to copy this path, and my Desktop-Folder

where all the Links/Icons to this programs reside, and all programs work immediately...

(But I am going to change that to C:\Programme\DOS\. in the next years)

 

I also make backups of all my data and programs almost every evening, with one click,

with my own written software (DOS/Batch), which copies all these and my network drives,

then sends me an eMail, and then shutdowns the Laptop :)

 

Here this is all the stuff I mean:

 

grafik.thumb.png.9f89f64e0fd9bd720911253f129bf300.png

 

 

 

 

Edited by Schmitzi
  • Like 2

Share this post


Link to post
Share on other sites
8 hours ago, Tursi said:

and yeah, I still want one of those onboard flash drives. ;) I tried to upgrade my system in January and that was a disaster. ;)

 

You need a Asus or other type of Mother board that has the M2 drive slots built into the Motherboard.

That way you can avoid the SATA ports and the transfer rates are insane.

Also do not get a dinky M2 Drive as the smaller the slower they are and smaller cache on board for speed use.

Yea you waste space with a 2TB M2 drive as most of it is empty but really just unlike a normal drive when a bad sector pops up you lose NO SPEED at all!

This is unlike a normal SATA or SCSI drive as bad sectors slow down the drive performance as a physical head has to move farther, M2 all electrons.

So over time the M2 drive has a smaller lifespan but performance is exactly the same over that time unlike a normal hard drive.

Also my Backup 8TB drive will last longer as hell it hardly ever is powered up.

  • Like 2

Share this post


Link to post
Share on other sites

V399.028

- add 'reset timer statistics' to debug menu
- dump a 'CycleCounts.txt' after a timer is run (breakpoint to get it)
- change the execute method for manual and disks from "Open" to default

 

To support my heavy benchmarking I added the ability to reset the timer breakpoints from the debug menu. Also, all code executed inside a timer block will be counted, and when you breakpoint "CycleCounts.txt" will dump a disassembly of that code with the total cycles each instruction spent executing (in the default Classic99 folder). This can let you see slightly more easily where the heavy hitters are in a block of code.

 

The 'Open Manual' option and 'Open Disk' options should hopefully work on non-English Windows now, as well. The Disk open requires that you map a program to DSK image files, if you want them to open (that's outside of Classic99's scope), and 'Open Manual' requires you to have a default action for PDF files as well. But it now uses the default verb instead of assuming that "Open" exists... 

 

No useful changes otherwise for non programmers. But nothing I do is terribly useful. So have fun with it.

 

http://harmlesslion.com/software/classic99

 

  • Like 10

Share this post


Link to post
Share on other sites
2 hours ago, Tursi said:

But nothing I do is terribly useful. So have fun with it.

Don't beat yourself up Tursi.

Honestly i think you ought to take a week off from anything computer related, go enjoy a camping trip or something.

Share this post


Link to post
Share on other sites

I'm compiling on real metal at 4.11 mins using Al's macro assembler, classic in Turbo mode is saving me 3.11 minutes compiling to and from TIpi folder.

I'm forever grateful!

Share this post


Link to post
Share on other sites

Hello Tursi,

Today I found that my time/date routine no longer works in the new version of classic99.

 

But maybe I'm just doing something wrong?

 

Up to version QI399.026 everything is OK, from QI399.027 I get an I / O ERROR 13 when I open the "CLOCK" device.

The two pictures above show my clock routine, the two pictures below show a small test program.

image.thumb.png.d3053991bc2a220a471e0a55e3850c47.png   

 

Normal access to the "CLOCK" device works!
In my program I first test whether the device "PI.TIPI" is available. The device does not exist in classic99, so my program jumps via ON ERROR to the line with the> OPEN # 1: "CLOCK" <command.

Here is a simple test routine

Spoiler

110 ON ERROR 140
120 OPEN #1:"PI.CLOCK" :: LINPUT #1:A$ :: CLOSE #1 :: PRINT A$
140 PRINT "KEIN TIPI"
150 OPEN #1:"CLOCK" :: LINPUT #1:A$ :: CLOSE #1 :: PRINT A$

 

and here is my program that unfortunately doesn't work anymore:

 

TCLOCK6.dsk

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Good catch, that was confusing! The problem is that at some point in the past I added a call to "flush" to the CLOSE opcode, since it needs to flush any changed data to disk, but the CLOCK didn't implement flush and so returned illegal operation. Yes, the CLOSE failed. ;) It didn't used to be able to, but in the event that flushing the file failed it was important to report it.

 

Anyway, I'll post the new build in a few minutes.

 

  • Like 3

Share this post


Link to post
Share on other sites

v399.30

 

- Added View->Log Disasm to Disk to the Debug menu
- Some work on SID debug but it's not visible yet
- proper line counting in the debug output, so the cursor stays where it's supposed to
- bugfix so that CLOSE doesn't return an error on devices without FLUSH (like CLOCK)

 

http://harmlesslion.com/software/classic99

 

  • Like 7
  • Thanks 2

Share this post


Link to post
Share on other sites
On 7/15/2020 at 9:41 PM, Tursi said:

- bugfix so that CLOSE doesn't return an error on devices without FLUSH (like CLOCK)

Thank you @Tursi for the new version of classic99. It's working fine.

  • Like 1

Share this post


Link to post
Share on other sites

I asked for the disasm to disk option. :) It helped find a bug in my game. Fair warning, it will crash your hard disk if left running too long... a minute or two created a 33mb text file.

  • Like 2
  • Haha 3

Share this post


Link to post
Share on other sites

33mb text file - pah! Amateurs! When I was at NET we regularly had to parse multi-GIGABYTE text files. ;)

 

I had a tool that could play the text log back into our graphical monitoring tool. It was invaluable to have so much detail in the logs but could be painful when you didn't know what you were looking for. ;)

 

  • Like 1
  • Haha 2

Share this post


Link to post
Share on other sites

I have been meaning to ask about this.

When I start Classic99 on my new Windows 10 machine I get this dialog box.

I can click yes or no, it makes no difference from what I can see.

 

Anyone know what it means?

 

Classic99 dialog.png

Share this post


Link to post
Share on other sites

Microsoft has started this weird secure thing that only runs apps that come from their store you can disable it but you have to install yet another app from their store to disable it I noticed it on a new Windows installation the other day perhaps this is your issue

Sent from my LM-V600 using Tapatalk

Share this post


Link to post
Share on other sites
2 minutes ago, arcadeshopper said:

Microsoft has started this weird secure thing that only runs apps that come from their store you can disable it but you have to install yet another app from their store to disable it I noticed it on a new Windows installation the other day perhaps this is your issue

Sent from my LM-V600 using Tapatalk
 

Wonderful. Thank you Microsoft.

 

Thanks for the quick reply.

Share this post


Link to post
Share on other sites
1 hour ago, TheBF said:

Wonderful. Thank you Microsoft.

 

Thanks for the quick reply.

go to settings-update & security-for developers: set to developers mode. this is enable unsigned and untrusted apps to run.

forgot to note: there were a few old Win10 out there that you will have to run a app from the store to allow the developer mode. these were 'store only' versions but I think it was phased out. if you run across one it'll tell you that you need to run the app to upgrade the version.

  • Thanks 1

Share this post


Link to post
Share on other sites

@Tursi I don't know when the ability to add a cartridge bank specifier to breakpoints was added, or if it has been there relatively forever, but Thank you!

 

Also I just noticed, and updated to latest, but still see:  The F3-Step-Over function to break after a BL doesn't respect the bank. 

 

9  60B8  069D  bl   *R13                   (20)
2  60BC  D842  movb R2,@>0003(R1)          (30)
         0003

This is a snippet from the disasm window... The left column is the cartridge bank. then the program counter.  I press F3 and end up still in bank 2, I just happen to also have code in bank 2 that ran from that next address before we would have fully returned to my caller.

  • Like 2

Share this post


Link to post
Share on other sites

hmm.. that makes sense, yeah. The step over function doesn't use a traditional breakpoint, it's special case code. It seems to break in all the "just right" cases. ;) I'll add it to the list.

 

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

Not to add to your list of things to do...

But...is there a future classic99 slated for rasberry pi?

Just wondering...

OR a compiler for 9900 that runs without a ton of fuss, not in a command line but in a gui with a sense of knowing which folders I want the code to reside.

Ok, I'll continue running classic99 on my laptop that I don't need because I've got a pi now doing everything else, EXCEPT for compiling my assembler code. 

I'm ok with that and it is what it is. 

But just wondering out loud.

Thx

 

 

 

Share this post


Link to post
Share on other sites

But...is there a future classic99 slated for rasberry pi?

 

Not anytime soon. They use different CPUs and even if you load Windows, the CPU will still be an issue. Am considering options for future cross platform but making zero promises, because I do this for fun and I'm not going to bang my head against a dozen open source libraries if I don't have to. ;)

 

OR a compiler for 9900 that runs without a ton of fuss, not in a command line but in a gui with a sense of knowing which folders I want the code to reside.

 

If you want to be serious about programming you should learn to love the command line. ;) I don't know if anyone has wrapped a GUI around it but the XDT toolchain is the most mature and updated toolset for the TI right now. I'm not involved in this project and can't give you any deeper information, except I used it for Dragon's Lair. ;)

 

Ok, I'll continue running classic99 on my laptop that I don't need because I've got a pi now doing everything else, EXCEPT for compiling my assembler code.

 

There's always MAME. Supposed to be really good. ;)

 

  • Like 2
  • Haha 3

Share this post


Link to post
Share on other sites

Thx for the info And where we stand on that side of things.

Maybe the raspberry pi should have been setup with a USB cable connected to a PC with the PC doing the work that a pi does? But I'm still enjoying it.

 

Anyway, I'll work on getting a larger table for all my equipment, as I'm not going to get rid of my TI AND PEB anytime soon.

But your CL'99 is absolutely superb and would never want it replaced by anything!!

 

 

 

 

  • Like 2

Share this post


Link to post
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.

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