Jump to content
IGNORED

Pascal on the 99/4A


apersson850

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

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

  • 1 month later...

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

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.

Link to comment
Share on other sites

  • 1 month later...

 

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

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.

  • Like 5
Link to comment
Share on other sites

  • 2 months later...
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
Link to comment
Share on other sites

  • 2 weeks later...

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

  • 4 months later...
  • 6 months later...
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 by apersson850
  • Like 4
  • Thanks 2
Link to comment
Share on other sites

  • 2 months later...
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. 

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

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 by apersson850
  • Like 5
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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