+TheBF Posted April 30, 2020 Share Posted April 30, 2020 2 hours ago, Tursi said: Hmm.. makes it seem unlikely. Is it possible that the instruction before the decrement is responsible? It's unlikely, but sometimes I don't trust the internal PC in debug statements, the cause can be an instruction or two earlier. I just noticed I was focused on A074, cause that's where the arrow is, but the debug says A072. Definitely look at the previous instruction. The PC needs to be incremented before the hardware access occurs. I was thinking the it must be something like that. (I am your favourite pain in the _ss I think.) It was happening in my key scan loop which was calling the 9901 timer to determine when to flash the cursor or flash the space character. {called BL in Forth (blank)} : KEY ( -- char) BEGIN \ start the loop PAUSE \ Essential for Multi-tasking with Console \ *BAD* TMR@ 1FFF < \ compare harware timer to 1FFF \ *good* 8378 @ 0F AND 7 < \ compare interrupt counter to 7 IF CURS @ \ true? fetch the cursor char ELSE BL \ false? get the screen char THEN VPUT \ then put on screen KEY? \ check the keyboard ?DUP \ DUP IF <> 0 UNTIL \ loop until a key pressed BL VPUT ; \ put the space char on screen Here is VPUT which does the talking to the 9918. The BL to WMODE sets LIMI 0 on entry. variable: VPG \ holds address of VDP page ( >400 increments only) CODE: VPUT ( char -- ) \ put a char at cursor position TOS PUSH, R1 STWP, \ workspace is USER area base address 32 (R1) R3 MOV, \ vrow->r3 2E (R1) R3 MPY, \ vrow*c/l->tos 34 (R1) TOS ADD, \ add vcol VPG @@ TOS ADD, \ add video page address l: _VC! ( char Vaddr -- ) \ VSBW in Forth style pronounced "Vee-Cee-store" TOS R0 MOV, WMODE @@ BL, *SP SWPB, *SP+ VDPWD @@ MOV, \ write char & POP 2 LIMI, TOS POP, \ refill TOS NEXT, END-CODE Here is that code to read the 9901 timer, which you have seen before. ? CODE: TMR@ ( -- n) \ read the TMS9901 timer 0 LIMI, TOS PUSH, R12 2 LI, \ cru = 1 (honest, 2=1) -1 SBO, \ SET bit 0 TO 1, Enter timer mode TOS 0E STCR, \ READ TIMER (14 bits) -1 SBZ, \ RESET bit 1, exit timer mode 2 LIMI, NEXT, END-CODE First I remove the call to TMR@ above and voila! Problem solved. So then I remove the LIMI 2 instruction at the end of this and it flashed the warning once, but only once for the 2 ..3 minutes that I tried to make it happen. Not sure why calling the timer did it. Quote Link to comment Share on other sites More sharing options...
Tursi Posted April 30, 2020 Author Share Posted April 30, 2020 That's why debugging is fun. (I am your favourite pain in the _ss I think.) Hehe, right now that's Turbo Pascal.... 3 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted April 30, 2020 Share Posted April 30, 2020 (edited) Any chance of adding a 99/2 mode to classic99? You already support /4a and /4, /2 would be a nice touch. Edited April 30, 2020 by jrhodes Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 1, 2020 Author Share Posted May 1, 2020 3 hours ago, jrhodes said: Any chance of adding a 99/2 mode to classic99? You already support /4a and /4, /2 would be a nice touch. 4A and 4 are the same hardware. I don't think there's much overlap with the 2. But if I get a free 2 for a few years to learn it before I start, I'll consider it. 5 Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 2, 2020 Author Share Posted May 2, 2020 Classic99 399.027 - fix disk full on image disks (would just keep overwriting the same sector) - fix crash bug in debug of writing very large files - fix recorded length of variable-length record files (would be off by 1) - fix reporting of errors on CLOSE (/all/ disk types suffered here) - updated Tunnels of Doom in CartPack to describe how to load the built-in games I made the mistake of playing with disk images on my own this time. Serves me right. https://harmlesslion.com/software/classic99 2 1 Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted May 2, 2020 Share Posted May 2, 2020 I like updating the Classic99, because it just takes seconds, without any risk for my config files. (But I make backups from time to time, of course, by just zipping the whole folder) 1 Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted May 2, 2020 Share Posted May 2, 2020 (edited) ah, and I have one question: If I press ->Help & ->Open Manual I get this message. Maybe I have a path wrong in my INI ? (Prerequisites from the message are met) (But I only use the older Acrobat Reader 9.5) (Not dramatic, as I know how to open the PDF manually) Edited May 2, 2020 by Schmitzi Quote Link to comment Share on other sites More sharing options...
jrhodes Posted May 2, 2020 Share Posted May 2, 2020 2 hours ago, Tursi said: Classic99 399.027 - fix disk full on image disks (would just keep overwriting the same sector) - fix crash bug in debug of writing very large files - fix recorded length of variable-length record files (would be off by 1) - fix reporting of errors on CLOSE (/all/ disk types suffered here) - updated Tunnels of Doom in CartPack to describe how to load the built-in games I made the mistake of playing with disk images on my own this time. Serves me right. https://harmlesslion.com/software/classic99 Whats better then fresh apple pie? Fresh Classic99 release. Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 2, 2020 Author Share Posted May 2, 2020 1 hour ago, Schmitzi said: I like updating the Classic99, because it just takes seconds, without any risk for my config files. (But I make backups from time to time, of course, by just zipping the whole folder) Unlike too many modern systems, I believe in backwards compatibility. Even if I do change the configuration file, I will always provide an upgrade path, as automatic as is reasonable. This has happened several times and nobody has noticed, which means I did my job right. 2 Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 2, 2020 Author Share Posted May 2, 2020 1 hour ago, Schmitzi said: ah, and I have one question: If I press ->Help & ->Open Manual I get this message. Maybe I have a path wrong in my INI ? (Prerequisites from the message are met) (But I only use the older Acrobat Reader 9.5) (Not dramatic, as I know how to open the PDF manually) Your working folder is probably wrong. Can happen if you started Classic99 from a shortcut with a starting folder that isn't the one containing the exe and the pdf. Or you have come up with a sequence of file operations that I didn't anticipate and there's a hole I didn't know about. (This is not the case if it happens as soon as you open the emulator). I can't reproduce it here. As always, the debug log would provide insight - it reports the Windows error code from ShellExecute. But it does rely on the working folder containing the manual. 1 Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted May 2, 2020 Share Posted May 2, 2020 2 hours ago, Tursi said: Your working folder is probably wrong. Can happen if you started Classic99 from a shortcut with a starting folder that isn't the one containing the exe and the pdf. Or you have come up with a sequence of file operations that I didn't anticipate and there's a hole I didn't know about. (This is not the case if it happens as soon as you open the emulator). I can't reproduce it here. As always, the debug log would provide insight - it reports the Windows error code from ShellExecute. But it does rely on the working folder containing the manual. I start it from the folder where it resides, just with a double-click on the Classic99.exe Where do I find the Debug log ? Is it this ? Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted May 2, 2020 Share Posted May 2, 2020 Are you running this as administrator if not you may have a rights issue in the folderSent from my LM-G820 using Tapatalk 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted May 2, 2020 Share Posted May 2, 2020 3 hours ago, Schmitzi said: I start it from the folder where it resides, just with a double-click on the Classic99.exe Where do I find the Debug log ? Is it this ? Found this: Please download Windows Installer clean up utility from the below link, http://download.microsoft.com/download/e/9/d/e9d80355-7ab4-45b8-80e8-983a48d5e1bd/msicuu2.exe After installing, run the tools by clicking on Start --> Programs --> Windows Clean up. Inside the window, you will see different installed versions of .NET Framework. You should select & remove only that versions of .NET Framework, which is failing to deploy each time \ for which you are receiving error code. Now, download the Microsoft .NET Framework Version 1.1 Redistributable Package from the following link and save it to the C drive (C:\) Microsoft .NET Framework Version 1.1 Redistributable Package http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe Now, try to install your stuffs. Quote Link to comment Share on other sites More sharing options...
RXB Posted May 2, 2020 Share Posted May 2, 2020 And GOOGLE says this: 1155 Error Code is caused in one way or another by misconfigured system files in your windows operating system. So, If you got 1155 Error then We strongly recommend that you Download (Error 1155) Repair Tool. 1 Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted May 2, 2020 Share Posted May 2, 2020 1 minute ago, RXB said: Found this: Please download Windows Installer clean up utility from the below link, http://download.microsoft.com/download/e/9/d/e9d80355-7ab4-45b8-80e8-983a48d5e1bd/msicuu2.exe After installing, run the tools by clicking on Start --> Programs --> Windows Clean up. Inside the window, you will see different installed versions of .NET Framework. You should select & remove only that versions of .NET Framework, which is failing to deploy each time \ for which you are receiving error code. Now, download the Microsoft .NET Framework Version 1.1 Redistributable Package from the following link and save it to the C drive (C:\) Microsoft .NET Framework Version 1.1 Redistributable Package http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe Now, try to install your stuffs. yeah thanks, but I never ever touch (uninstall/clean) a dotNET if it seems to work. This did some very very bad things to some customers machines in the past. And the problems occured a long time later. But I will have a manual look at the registry. Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted May 2, 2020 Share Posted May 2, 2020 3 minutes ago, RXB said: And GOOGLE says this: 1155 Error Code is caused in one way or another by misconfigured system files in your windows operating system. So, If you got 1155 Error then We strongly recommend that you Download (Error 1155) Repair Tool. Same same, no fixup tools from Microsoft for me, on a single, small problem. but thanks a lot 1 Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted May 2, 2020 Share Posted May 2, 2020 (edited) I think, "1155" is an internal error number from Classic99 (?) uuh Edited May 2, 2020 by Schmitzi 1 Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted May 2, 2020 Share Posted May 2, 2020 Just now, Schmitzi said: I think, "1155" is an internal error number from Classic99, not coming from Windows (?) 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted May 2, 2020 Share Posted May 2, 2020 2 hours ago, Schmitzi said: Yea if Classic99 is loaded into wrong folder or bad folder permissions or group permissions or antivirus folder options this all crops up as 1155 error. 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 2, 2020 Author Share Posted May 2, 2020 Hey guys, go slow on decoding the error codes when you haven't looked at the source code to see where they come from. Even I always check before I try to decode them. The 1155 is actually an erroneous value off the stack - that debug statement does not use FormatMessage. I've fixed that for next release. Error 31 is the actual return from ShellExecute. It's a strange error, it's a general error. Permissions are unlikely - if he can launch Classic99 he should be able to read the PDF in the same folder. Please don't run Classic99 as Administrator - if you need to you probably should run it from a different folder. Remember you are responsible for the security of your system. Anyway, the manual open literally just does an "Open" verb on the manual file, which must be named "Classic99 Manual.pdf". As a test, you can right-click the PDF and see if Windows provides you an "Open" verb at the top of the list, and click that (rather than double-click). If that works, in theory that is the same thing Classic99 is trying to do. One thing I wonder about is localization... are you on an English version of Windows, Schmitzi? Is the verb different otherwise? Only other thing I can do is add some extra debug to say where it's trying to open it from. 2 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted May 2, 2020 Share Posted May 2, 2020 Last night I gave this a try and AVG's cyberprotection thingie (cannot remember what that is called, shame on me) caught Classic 99 and put it in a "sand box." Once it determined all was good*, it restarted Classic99 -- apparently this is a common complaint. The restart notwithstanding, I am curious if an anti-virus program is detecting Classic99 calling out to another program and putting the kibosh on the process. * It did open the PDF on the second attempt. Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted May 2, 2020 Share Posted May 2, 2020 (edited) 49 minutes ago, Tursi said: ... One thing I wonder about is localization... are you on an English version of Windows, Schmitzi? Is the verb different otherwise? Only other thing I can do is add some extra debug to say where it's trying to open it from. HA !! My Windows is german, but the (standard) command is "Read" (and should be "Öffnen") Maybe some struggle on my PC, from older times Edited May 2, 2020 by Schmitzi Quote Link to comment Share on other sites More sharing options...
RXB Posted May 3, 2020 Share Posted May 3, 2020 3 hours ago, Tursi said: Hey guys, go slow on decoding the error codes when you haven't looked at the source code to see where they come from. Even I always check before I try to decode them. The 1155 is actually an erroneous value off the stack - that debug statement does not use FormatMessage. I've fixed that for next release. Error 31 is the actual return from ShellExecute. It's a strange error, it's a general error. Permissions are unlikely - if he can launch Classic99 he should be able to read the PDF in the same folder. Please don't run Classic99 as Administrator - if you need to you probably should run it from a different folder. Remember you are responsible for the security of your system. Anyway, the manual open literally just does an "Open" verb on the manual file, which must be named "Classic99 Manual.pdf". As a test, you can right-click the PDF and see if Windows provides you an "Open" verb at the top of the list, and click that (rather than double-click). If that works, in theory that is the same thing Classic99 is trying to do. One thing I wonder about is localization... are you on an English version of Windows, Schmitzi? Is the verb different otherwise? Only other thing I can do is add some extra debug to say where it's trying to open it from. 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. Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 3, 2020 Author Share Posted May 3, 2020 3 hours ago, OLD CS1 said: Last night I gave this a try and AVG's cyberprotection thingie (cannot remember what that is called, shame on me) caught Classic 99 and put it in a "sand box." Once it determined all was good*, it restarted Classic99 -- apparently this is a common complaint. The restart notwithstanding, I am curious if an anti-virus program is detecting Classic99 calling out to another program and putting the kibosh on the process. * It did open the PDF on the second attempt. It's probably just hooking any call to ShellExecute... I still need to investigate if signing my software will make AV less paranoid. Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 3, 2020 Author Share Posted May 3, 2020 3 hours ago, Schmitzi said: HA !! My Windows is german, but the (standard) command is "Read" (and should be "Öffnen") Maybe some struggle on my PC, from older times Hmmm. Well, the documentation notes that I can pass NULL instead of a string for the "default" action, and since the default action is probably what we want, that may still be safe enough while working on international versions. Since Windows ties to the extension I can't think of a way that could easily go south, so I guess I'll do it. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.