apersson850 Posted September 5, 2020 Author Share Posted September 5, 2020 (edited) I had it in my vault (I wasn't at home when I wrote the first answer). But it's on the net too. The p-system program development manual for the TI Professional computer. Look in appendix H for the backend errors. Edited September 5, 2020 by apersson850 1 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted September 5, 2020 Share Posted September 5, 2020 39 minutes ago, apersson850 said: I had it in my vault (I wasn't at home when I wrote the first answer). But it's on the net too. The p-system program development manual for the TI Professional computer. Look in appendix H for the backend errors. That manual states that Backend Error 8 is triggered when the jump table has more than 400 entries. I'm pretty certain I don't have that many jumps in the procedure in question, so I'm guessing the TI implementation has a smaller jump table limit? In any case, braking up the procedure into two separate procedures solved the problem Quote Link to comment Share on other sites More sharing options...
apersson850 Posted September 5, 2020 Author Share Posted September 5, 2020 Well, it's for the TI professional computer, which had much more memory than the 99/4A. So it makes sense that the problem comes quicker on our little machine. That's why I didn't give you any number, just a general explanation. Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted September 6, 2020 Share Posted September 6, 2020 I have a 4 character string which I want to split into 2 sub-strings each 2 characters long. The following gives an error 125 (type error) which I assume is because the concat intrinsic is being passed characters rather than strings. program test; var pmove,pto,pfrom : string; begin readln(input,pmove); pfrom:=concat(pmove[1],pmove[2]); pto:=concat(pmove[3],pmove[4]); writeln(pfrom,pto); end. I there another way of doing this? EDIT: Ok figured it out using the copy function. prom:=copy(pmove,1,2); pto:=copy(pmove,3,2); I am now keeping this little handy UCSD Pascal reference card on hand to help with remembering what's available on the system... UCSD Pascal Quick Reference Card.pdf 2 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted September 6, 2020 Author Share Posted September 6, 2020 (edited) Using copy is the neat way. The brutal way to copy any data from any variable to any other variable is using moveleft. moveleft(pmove[1],pfrom[1],2) will move two bytes starting from pmove[1] to pfrom. It starts filling at pfrom[1]. In pfrom[0] is the length indicator. So either you have to turn off range checking and set that to 2 manually, or you have to first assign pfrom a two character dummy string. moveleft(pmove[3],pto[1],2) vill take care of the other one, with the same prerequisites. For such short strings and where an easy, neat way exists, moveleft isn't really worth it. But there are other cases where it's very handy. Edited September 6, 2020 by apersson850 2 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted September 6, 2020 Share Posted September 6, 2020 Handy feature indeed. It's going into my reference notes. Quote Link to comment Share on other sites More sharing options...
DPOLARA Posted October 18, 2020 Share Posted October 18, 2020 WOW! Just finished reading this entire thread. I used the TI-99/4A UCSD PASCAL with P-CODE card in the late 80's when I was in college. I think I was the only student using the TI at University of Iowa in the 80's. The Terminal Emulator did great connecting to main frames so I could upload my code, test it on the University's systems, then print my code on greenbar sheets and turn it in to the TA. I'm buying a fairly complete system with a P-CODE card, so going to start looking for the Editor, Compiler and Linker software online. (If anyone has a complete set of the original manuals and disks, let me know.) Thanks! Ron 5 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted October 18, 2020 Share Posted October 18, 2020 8 hours ago, dpolara@msn.com said: WOW! Just finished reading this entire thread. I used the TI-99/4A UCSD PASCAL with P-CODE card in the late 80's when I was in college. I think I was the only student using the TI at University of Iowa in the 80's. The Terminal Emulator did great connecting to main frames so I could upload my code, test it on the University's systems, then print my code on greenbar sheets and turn it in to the TA. I'm buying a fairly complete system with a P-CODE card, so going to start looking for the Editor, Compiler and Linker software online. (If anyone has a complete set of the original manuals and disks, let me know.) Thanks! Ron Hi Ron. All the disk images are here. Quote Link to comment Share on other sites More sharing options...
DPOLARA Posted November 20, 2020 Share Posted November 20, 2020 On 10/18/2020 at 10:59 AM, Vorticon said: Hi Ron. All the disk images are here. Vorticon, Thanks for the link! I didn't see this posted on this thread, but here is a great page that references plenty of good info on the UCSD P-Code system on the TI 99/4a http://pascal.hansotten.com/ucsd-p-system/texas-instruments-and-ucsd/ Thanks all! 2 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted November 20, 2020 Share Posted November 20, 2020 What a beautiful site. Thanks. There is a lot of reading there. I found this by Dick Pountain. http://pascal.hansotten.com/simplicity/ I remember his name from years back. He was a big proponent of object oriented extensions to Forth which gave rise to a language called NEON and Yerks Forth. It was like Smalltalk but with a data stack. 3 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted November 20, 2020 Author Share Posted November 20, 2020 7 hours ago, dpolara@msn.com said: I didn't see this posted on this thread, but here is a great page that references plenty of good info on the UCSD P-Code system on the TI 99/4a http://pascal.hansotten.com/ucsd-p-system/texas-instruments-and-ucsd/ Interesting to see that apart from the official documentation from TI, he has also chosen to add copies of some of my development efforts for the TI 99/4A UCSD p-system. 5 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted February 6, 2021 Share Posted February 6, 2021 A new version of Pcode Tool has been released by Rhodanaj. If you program in pcode, this is a must. p-code-tool-V3.0.exe manual.pdf 4 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted February 9, 2021 Share Posted February 9, 2021 On 11/20/2020 at 5:07 AM, apersson850 said: Interesting to see that apart from the official documentation from TI, he has also chosen to add copies of some of my development efforts for the TI 99/4A UCSD p-system. Hans Otten has been a p-System person almost forever--I remember seeing things from him back when I was a member of USUS. . .and stuff from you too, for that matter, @apersson850 3 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted February 20, 2021 Share Posted February 20, 2021 A small bug fix for pcode tool was released today (attached). Also the same author created a Windows program called Read Dir which, when given a folder containing disk images, will create a directory listing of every TI and pcode disk it finds and dump it into a text file for easy reference. Great for archiving purposes. I have attached an example listing of my UCSD Pascal directory to give you an idea. p-code-tool V3.1 manual.pdf p-code-tool-V3.1.exe read_dir-v1.0.exe Read-Dir manual.pdf tmp.txt 6 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted June 23, 2021 Share Posted June 23, 2021 How much program RAM is actually available to the user with the p-code system without the use of overlays? 1 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted January 18, 2022 Author Share Posted January 18, 2022 (edited) On 6/23/2021 at 2:37 PM, Vorticon said: How much program RAM is actually available to the user with the p-code system without the use of overlays? The question was asked long ago, but I've not noticed until now. Answer: About 20 kbytes. There are two code pools, one in VDP and the other in CPU RAM. But to use both with one program, you have to split it in at least two segments. The simplest way to most efficiently use the memory is to make parts of your program a separately compiled unit. Units are automatically handled as a segment different than the main program, so they can end up in different code pools, depending on what's available and how big they are. Since I've understood that some people have had problems figuring out even how to make the simplest program with the p-system, I've now made a video of creating, compiling and executing a program. I then modify it a little, compile and execute again. The video will show up on YouTube in a little while. When it does, I'll add the link here. The video should show up here. Edited January 20, 2022 by apersson850 4 2 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted April 13, 2022 Share Posted April 13, 2022 Michael Thomas has recently created a TI 99/4A simulator for Linux with special emphasis on UCSD Pascal, including an 80 column version and file transfer tools. Works quite well. https://github.com/statpascal/ti99.pas?fbclid=IwAR335quOzGO1UUOqhmjOOTMCfjAzXVbq3RI6oV4mvaBEwUJdF34CpQgtVpY 6 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted April 13, 2022 Share Posted April 13, 2022 Probably cool stuff. Unfortunately not for me as I don’t do facebook. 80 columns sounds interesting. 1 Quote Link to comment Share on other sites More sharing options...
RickyDean Posted April 13, 2022 Share Posted April 13, 2022 17 minutes ago, retroclouds said: Probably cool stuff. Unfortunately not for me as I don’t do facebook. 80 columns sounds interesting. This is the site that pulls up after going through Facebook, https://github.com/statpascal/ti99.pas?fbclid=IwAR335quOzGO1UUOqhmjOOTMCfjAzXVbq3RI6oV4mvaBEwUJdF34CpQgtVpY 1 1 Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted April 13, 2022 Share Posted April 13, 2022 Reading this, my first thought was, can I let run this .PAS in the PCODE-card, to simulate the TI-99 on a TI-99 ? ? 2 1 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted April 13, 2022 Author Share Posted April 13, 2022 It depends. I haven't studied his source code. Free Pascal contains language elements that aren't in UCSD Pascal IV.0. So it may not work in reality, but it's a fun thought. 3 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted April 13, 2022 Share Posted April 13, 2022 I would highly recommend this, as an application specific PS... 1 Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted April 13, 2022 Share Posted April 13, 2022 7 hours ago, retroclouds said: Probably cool stuff. Unfortunately not for me as I don’t do facebook. 80 columns sounds interesting. Oops... I meant to put a direct link to the github. I corrected the post. For the record, the one and only reason I go into Facebook is for the technical groups. 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted April 13, 2022 Share Posted April 13, 2022 12 hours ago, retroclouds said: Probably cool stuff. Unfortunately not for me as I don’t do facebook. I can't even tell how the front page looks like. 1 1 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted August 3, 2022 Author Share Posted August 3, 2022 (edited) For those who do use Facebook, I've managed to create a video with same examples of the TI 99/4A using Turtlegraphics, based on bitmap (Graphics II) mode. In Classic 99, but that's just to get a better video. It works on the real machine as well. https://www.facebook.com/groups/683624905997903 You can see it if you are, or become, a member. Edited August 3, 2022 by apersson850 5 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.