Jump to content
apersson850

Pascal on the 99/4A

Recommended Posts

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 :)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

  • Like 2

Share this post


Link to post
Share on other sites

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 by apersson850
  • Like 2

Share this post


Link to post
Share on other sites

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

  • Like 5

Share this post


Link to post
Share on other sites
8 hours ago, [email protected] 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.

Share this post


Link to post
Share on other sites

 

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!

 

  • Like 2

Share this post


Link to post
Share on other sites

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.

 

 

  • Like 2

Share this post


Link to post
Share on other sites
7 hours ago, [email protected] 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.

  • Like 5

Share this post


Link to post
Share on other sites
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

  • Like 3

Share this post


Link to post
Share on other sites

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

  • Like 6

Share this post


Link to post
Share on other sites

How much program RAM is actually available to the user with the p-code system without the use of overlays?

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