Willsy Posted February 27, 2012 Share Posted February 27, 2012 I had the following post on planet-99.net - can anyone offer any advice... I took a little time to review your latest posting: TurboPascal V1.0 from 1986.I think there may be a problem with one or two of the files. The linker runs fine. and all the documentation is readable (even with an occassional German word. However, when the TP99 file is run from Opt 5 of the EA Cart, the "Green" Screen of Death sets in. It could be two files are affected: TP99 and/or RUNLIB. I am assuming TP99 sets things up so that RUNLIB can run the TP99 system..... I left a message for the contributor, but I thought you might have some valuable input. If you can try running it on some actual hardware, it could help the effort..... I have two complete systems, but I am a little ways to finishing the cleaning and hardware re-assembly. TP99 failed to run on both the Win994a simulator and the Classic99 emulator...... but that darn linker works great....! Quote Link to comment Share on other sites More sharing options...
apersson850 Posted February 27, 2012 Share Posted February 27, 2012 Since I did the translation, I do at least know that RUNLIB contains support for all standard functions in Pascal (those supported by this implementation). RUNLIB is a library which should be loaded together with all user programs. It's linked automatically. TP99 I presume is the editor/compiler environment, i.e. the development tool for programs. If I'm right, it probably runs without loading RUNLIB, since RUNLIB hosts the run-time support, not the compile-time support. At least that's how I understood it. The linker is used to link your own programs to libraries other then RUNLIB. So if your linker runs fine, but not TP99, then you can link the programs you unfortunately can't compile... Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted February 29, 2012 Share Posted February 29, 2012 There is something weird going on with these disks... I am able to run TP99 fine from the disk images I created, but when I try to save a file entered in the Editor, the system crashes. This does not occur with the disks I received from Retrocloud, which are copies. Worse, while the linker (lk99) runs, it is refusing to link any modules, giving me an I/O error #2 everytime, even though the modules compile just fine with no errors with TP99, and seem fine when edited. Am I missing a step here? Anders, do you have original disks of TurboPasc'99 by any chance? Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted February 29, 2012 Share Posted February 29, 2012 (edited) Hi Vorticon, you are seeing the crash in the editor because of the copy protection. I used a track copier to copy the disks for you. I seem to recall that's exactly the behaviour I got when copying the disks with disk manager 2. But now that we have disk images for emulator use, it would be interesting to check with a debugger. Might well be they are doing some funky stuff, like reading in between sectors (without using the DSR). On the other side this product originally comes from Austria. Perhaps kl99 can help in finding out who was the owner and if they are willing to donate it to the public domain. I tried to find out who Wiposoft was, but failed. Asked around in user groups, etc. Edited February 29, 2012 by retroclouds Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted March 1, 2012 Share Posted March 1, 2012 Actually, WiPoSoft was based out of Munich. IIEC, one of the reasons there isn't a lot of data on them is that they apparently also liked to copy software from other companies and sell it in their store--and the German Police had issues with that. . . Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted March 1, 2012 Share Posted March 1, 2012 (edited) Yesterday evening I took a quick look at the TP99 disk. The TP99 EA5 program is quite small (4). Way too small for being an editor with a compiler included. Basically it appears to be a loader. As soon as it is started, it tries to read a whole bunch of sectors before it locks up. Could see that by watching the debug messages from the classic99 debugger. What I did not find -and I forgot the key combination again for making breakpoints work in classic99- is where the TP99 loader gets stored. It does not load at >A000, guess I'll have to take a look at the EA5 6-byte header. Any hints where I can find details on the EA5 file header ? UPDATE: Just found the EA5 file header format here: http://nouspikel.gro.../ea_mod.htm#EA5 Edited March 1, 2012 by retroclouds Quote Link to comment Share on other sites More sharing options...
lucien2 Posted March 1, 2012 Share Posted March 1, 2012 Does anyone had success trying to compile anything with it on an emulator? http://www.atariage.com/forums/topic/153704-ti-994a-development-resources/page__view__findpost__p__2470216 The command interpreter and the editor does load with Classic99 and MESS, but writing files does not work (editor or compiler). I get "error 27" when I compile "KNIGHT/P" form the "TP99DEMO" disk with MESS. With Classic99, it crashes with an illegal opcode. Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted March 2, 2012 Share Posted March 2, 2012 It's the copy protection. Quote Link to comment Share on other sites More sharing options...
lucien2 Posted March 3, 2012 Share Posted March 3, 2012 Yesterday evening I took a quick look at the TP99 disk. The TP99 EA5 program is quite small (4). Way too small for being an editor with a compiler included. Basically it appears to be a loader. As soon as it is started, it tries to read a whole bunch of sectors before it locks up. OK, I stepped into the TP99 program. It does 4 things: - Load sectors 184..279 at >A000 - Load sectors 280..284 at >2C00 - Load sectors 285..287 at VDP >03C0 - Jump at >A000 There was no problem until there. That does not explain why it crashes during compile and editor save. Enough for today. Quote Link to comment Share on other sites More sharing options...
lucien2 Posted March 4, 2012 Share Posted March 4, 2012 (edited) Here's what it does from >A000: 1. Jump at >FDC0 2. Change the "B @>FDC0" from >A000 to "B @>B7B2" 3. Use low level disk controller routines to read the sector 19 from the track 33. Write it at VDP >1000 4. Transfer the sector (256 bytes) from VDP >1000 to >FDC0 and 32 mystery bytes from VDP >1100 to >FEC0 5. Jump to >B29E The disk is formatted with single density (9 sectors per track), so I don't know what is this sector 19. I'm no floppy expert, I just read everything from here http://nouspikel.gro.../ti99/disks.htm and here http://nouspikel.gro...ti99/disks2.htm The first step should be to load from the original disk and copy the 288 bytes from >FDC0 and put that in the sectors loaded to >FD00 and >FE00 (sectors 277 and 278). The sector 277 begins at >11500 in the disk image. The 288 bytes must be written at >115C0. Then, change the entry point to >B7B2 or >B29E (not clear). I don't understand what should be written at >FEC0 (after the 256 bytes of the mystery sector). Here are my notes: http://lb3.one/public/TP99 notes.txt Edited October 10, 2016 by lucien2 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted March 4, 2012 Share Posted March 4, 2012 Somebody wrote that it's copy protected. Then it may be protected by having illegal sector numbers. Thus normal copying will not work. It takes that you have another program which can create an identical illegal track on the disk, then copy the content to that funny track. There are other programs that use similar principles, like MG's Explorer and Advanced Diagnostics. Quote Link to comment Share on other sites More sharing options...
lucien2 Posted March 4, 2012 Share Posted March 4, 2012 It takes that you have another program which can create an identical illegal track on the disk, then copy the content to that funny track. On a real floppy. But does it work for a disk image? Quote Link to comment Share on other sites More sharing options...
apersson850 Posted March 5, 2012 Share Posted March 5, 2012 I have no idea. Reasonably that must depend upon how these images are handled by the simulators. Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted September 25, 2012 Share Posted September 25, 2012 Bumping this thread cause we're talking about TurboPascal99 today. Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted September 26, 2012 Share Posted September 26, 2012 (edited) The first step should be to load from the original disk and copy the 288 bytes from >FDC0 and put that in the sectors loaded to >FD00 and >FE00 (sectors 277 and 278). The sector 277 begins at >11500 in the disk image. The 288 bytes must be written at >115C0. Then, change the entry point to >B7B2 or >B29E (not clear). I don't understand what should be written at >FEC0 (after the 256 bytes of the mystery sector). Here are my notes: https://drivehq.com/.../TP99 notes.txt Perhaps the below screenshots can help you. This is what I did. 1) I loaded my memory viewer into my supercart (the viewer completely runs from the cartridge space so it does not scramble the 32K memory expansion range) 2) Started my working version of Turbo Pasc'99. 3) Did a reset of the TI-99/4A, this does not clear the 32K memory expansion 4) Jumped into the memory viewer and took some screenshots Edited September 26, 2012 by retroclouds 1 Quote Link to comment Share on other sites More sharing options...
lucien2 Posted September 26, 2012 Share Posted September 26, 2012 Great! Now all we need to do is type that in the disk image at >115C0 with an hex editor and change the entry point ...if I understood it correctly. I'll try that tomorrow evening if nobody does it until then. Quote Link to comment Share on other sites More sharing options...
CantStopClicking Posted September 27, 2012 Share Posted September 27, 2012 This is what I did. 1) I loaded my memory viewer into my supercart (the viewer completely runs from the cartridge space so it does not scramble the 32K memory expansion range) What memory viewer do you speak of? Is it available somewhere? Sounds interesting. -D "Long Live the TI-99/4a!" Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted September 27, 2012 Share Posted September 27, 2012 What memory viewer do you speak of? Is it available somewhere? Sounds interesting. -D "Long Live the TI-99/4a!" It's a utility I wrote, mostly for fun actually. It allows you to browse ROM/RAM and can attach itself to the load interrupt. Have some more plans for it though, so you might see a new version sometime in the future. Anyway, as it is you can download it here. Remember it loads into the cartridge space at >6000 so you need a supercart. http://www.atariage.com/forums/topic/201505-detect-if-cf7nanopeb-present/#entry2581298 Quote Link to comment Share on other sites More sharing options...
CantStopClicking Posted September 27, 2012 Share Posted September 27, 2012 Cool, thanks for the program and info! This will go well with my current experimenting. I have built a SuperCART, actually a couple, having battery issues with one and no idea why, gave up built another and it works - go figure! Now I'm working on a LOAD Interrupt circuit for assisting myself in my assembly learning and hardware building/modification urges. Now, if I just had more time, or better yet, ability to instantly learn and retain. Again, thanks for sharing and sorry for getting the thread off on a tangent. -D "Long Live the TI-99/4a!" Quote Link to comment Share on other sites More sharing options...
lucien2 Posted September 27, 2012 Share Posted September 27, 2012 (edited) It works, but... you need to write >E0EC at >837E with the debugger before running the "CO" command. The "LO" command does not always work with Classic99, and it compiles only without output file. With MESS, it seems to work perfectly. I wrote the 288 bytes at >115C0 in the disk image and replaced the entry point at >0B802 with >B29E. TP99COMP patched.zip Edited October 10, 2016 by lucien2 Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 27, 2012 Share Posted September 27, 2012 The "LO" command does not always work with Classic99, and it compiles only without output file. I don't know the TP system at all, but if you can give a step by step on how to test the above statement and see the problems, I can probably work out why it sometimes fails and maybe fix the emu. Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted September 28, 2012 Share Posted September 28, 2012 Very nice, great work! Perhaps if all is working, we can take a RAM dump using the classic99 debugger. From there it should be possible to chop the dump up in multiple files and add #EA5 headers. Do not know if that is enough, perhaps some code should be added to patch memory when it starts. But sounds doable I guess. Quote Link to comment Share on other sites More sharing options...
lucien2 Posted September 28, 2012 Share Posted September 28, 2012 Good idea. I just tried that with the command "Make / Save memory as program" in Classic99 that automatically creates an EA5 program. But we need to add some code to adjust/load the character patterns. Quote Link to comment Share on other sites More sharing options...
lucien2 Posted September 30, 2012 Share Posted September 30, 2012 (edited) Done! TP99.zip You must run "DSK1.TP99A" instead of "DSK1.TP99". I don't know the TP system at all, but if you can give a step by step on how to test the above statement and see the problems, I can probably work out why it sometimes fails and maybe fix the emu. I must correct: it compiles also to output file. But the problem is still there. If you have luck, you must do 3 to 4 times LO and CO to see the problem. Here are the commands: LO <filename>: Load source file CO: Compile without output file CO <filename>: Compile to output file ED: Edit source file SA <filename>: Save source file Then, assemble the generated assembly and run it with LK99. Edited September 30, 2012 by lucien2 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted September 30, 2012 Share Posted September 30, 2012 (edited) I created a new DISK image and copied your latest work on it. Then I copied the disk image on a flash card for running with my CF7+ Everything seems to work fine. That means, I'm able to create a small pascal program, compile to disk, assemble and then go through the linker for creating an EA5 program file. However, running the program via the linker or directly as a EA5 program file, will not show any text on screen. I presume that the program is working fine, because I'm still able to use FCTN-QUIT to return to the title screen, meaning the computer is not locked up. Could imagine this a character set or color set issue (hopefully not related to the F18A). Doing the test in classic99 runs the program as expected. The program I tried was the simplest possible: PROGRAM T1; WRITELN(9900); END . Anyway, I'm very excited that you already got that far, that the compiler and linker work without any issues. EDIT: It seems the latest revision of the Atariage forum board software is kinda messing my source code. Identation not as expected. Edited September 30, 2012 by retroclouds 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.