1|1|2004-08-21 01:59:16|GarberStreet Enterprises|Thank you|
I appreciate the welcome to the group. I hope this proves to be
a great learning experience for me since I have almost no idea
what Pascal is and would like to know. :o()

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 2|2|2004-08-21 02:01:43|Willi Kusche|Welcome|
Hi, y'all!

I did a bit of looking around on Yahoo and saw that there was no
group specifically for UCSD Pascal. Well, there is now...

Willi
| 3|2|2004-08-21 02:08:14|GarberStreet Enterprises|Re: Welcome|
I just hope some people join it now that there is one.
I am really interested in what you've been doing with
your patch. I saw you met with a bit of resistance in
the beginning on CSA2, and didn't think it fair. For
the number of people who actually use Pascal on their
Apple IIs, making a change like that is not a bad idea.
Also, for the number of total Apple IIs there are, all
of us can download your updated version and use that.

I've been considering a few changes to ProDOS, but with
all of the versions floating about and so many people
using different ones, it isn't feasible. With Pascal it
is much more feasible. I am anxious to see how many of
the Apple II users actually join this group.

Good Luck and again thanks for the welcome aboard,

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



: Hi, y'all!
:
: I did a bit of looking around on Yahoo and saw that there
was no
: group specifically for UCSD Pascal. Well, there is now...
:
: Willi



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 4|2|2004-08-22 16:22:21|Ben Yates|Re: Welcome|
--- In UCSDPascal@yahoogroups.com, "GarberStreet Enterprises"
it replied to just the author...

: It was also interesting reading about the date problems on the
Apple.
: On the TI version (IV.0), the only problems are:
: 1. a year of 0 is not allowed when keying it in the Filer
: 2. The editor prepends 19 to the year in the Set Environment
options.
:
: Otherwise, it appears to be just a two-digit year.

Also, it was never a real problem on the TI. Whereas Apple Pascal,
UCSD or whatever you call it was used to create a real OS, on the TI,
the UCSD was a separate entity - it's own OS. I remember reading the
manuals that came with my version, and realizing they were all just
dreams... since it was several years after TI left the market and they
never really supported the Pascal system. It was, after all, very hard
to obtain the system while TI was in the market.

Ben
| 5|2|2004-08-22 17:12:35|GarberStreet Enterprises|Re: Welcome|
Well, I'm not sure Apple really ever supported UCSD Pascal
either, which is probably why it has so many date problems.
I know they never dreamed Apple IIs would still be used all
the way in 2004. :o()

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 6|2|2004-08-22 17:57:06|John B. Matthews M.D.|Re: Welcome|
On Aug 22, 2004, at 10:29 AM, GarberStreet Enterprises wrote:

I would say they supported developers (technical notes, licensing), but
the users were left out in the cold.

I used UCSD Pascal for several years on Apple and other hardware. It
was the original cross-platform development system. I've since moved on
to Ada (with a separate compilation model very reminiscent of UCSD
Units) and Java (yet another intermediate-code system). But I've still
got a "Pascal Spoken Here" sign over my desk, and I often refer to my
copy of Wirth's data structures book.

Legacy: I was running code on the p-System, running on a 6502 emulator,
running on a 680x0 emulator, running on a PPC; and then the warp core
overheated:-)

John
----
jmatthews@...
http://www.wright.edu/~john.matthews/
| 7|2|2004-08-22 18:02:36|Willi Kusche|Apple II and TI-99 comparison|
Hi, y'all!

--- In UCSDPascal@yahoogroups.com, "Ben Yates" TI,
they
hard
If I read the above paragraph correctly, you're saying that the
situations are the same for both the Apple II line and the TI-99. On
both hardware systems, the standard operating system and the Pascal
operating system are different operating systems. I know this is the
case for the Apple, is it true for the TI-99?

Apple II Pascal is based of version II.1 of UCSD Pascal. Is it
true that the Pascal for the TI-99 is based on a later version?

For a description of the various versions of UCSD Pascal, check
the following URL:
http://williambader.com/museum/at/psysversions.html

Willi
| 8|2|2004-08-22 18:14:33|GarberStreet Enterprises|Re: Welcome|
I am actually here to learn about UCSD-Pascal.
That cross-platform usage seems like a good way
to get the most out of an OS. To be able to take
programs and data from one machine type to another
is always a problem. If Pascal can bridge that gap,
then by all means I'd love to know more.

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me




---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 9|9|2004-08-22 18:35:32|Willi Kusche|Modified version of APPLE1:|
Hi, y'all!

I recently discovered that Apple Pascal, based on version II.1 of
UCSD Pascal, examines all on-line files during the boot process. If
it find a file with a "bad" date, it will delete that file.

This was a problem for me because I frequently 'port ProDOS files
to the Apple Pascal environment. My ProDOS files have what Apple
Pascal considers to be "bad" date stamps because I have modified my
version of ProDOS to have values over 100 in the year field of date
stamps. For example, this year any files written will have 104 in the
year field of the 'date created' field.

So, to keep Apple Pascal from erasing the files I 'port from
ProDOS to Apple Pascal, I created a patched version of the "APPLE1:"
disk. I just uploaded that file here so it should available for
downloading.

The title page display has been modified to show 'Pascal 1m1'
instead of 'Pascal 1.1' to indicate that it has been modified.

Willi
| 10|10|2004-08-22 19:35:02|Willi Kusche|Amiga utility for use with "p-interp"|
Hi, y'all

There is a P-Code interpreter available at the following URL:
http://www.klebsch.de
There are no executables available at that site. It's a "roll your
own" kind of thing.

Stefan Haubenthal recently created an Amiga 'port of "p-interp"
which is available on Aminet. Amigoids know what that is.

I just uploaded an '.lha' archive that contains the Pascal source
(what else?) and executable for a program that takes a Pascal source
file and turns it into a disk image file that can be used with
Stefan's 'port.

If anyone knows of an MS/DOS version of "p-interp", please let me
know.

Willi
| 14|2|2004-08-22 21:10:14|Shirl|Re: Welcome|
Bill @ GarberStreet Enterprizez <willy46pa@... 2004, 8:29 AM:

My understanding is Apple Computer's implemenation of Pascal on the Apple II
family of computers was based on UCSD p-system version II.1. This was the
byte-coded Pascal version.

As such, it does seem to me that Apple II Pascal was basically UCSD Pascal.

Maybe I am missing something here in this discussion.

The Apple II Pascal system date support is only for dates in the 1900-1999
range. The date format on the file system directory is what determines this.

- David Craig
| 15|2|2004-08-22 21:28:00|GarberStreet Enterprises|Re: Welcome|
: My understanding is Apple Computer's implemenation of Pascal on
the Apple II
: family of computers was based on UCSD p-system version II.1.
This was the
: byte-coded Pascal version.
:
: As such, it does seem to me that Apple II Pascal was basically
UCSD Pascal.
:
: Maybe I am missing something here in this discussion.
:
: The Apple II Pascal system date support is only for dates in
the 1900-1999
: range. The date format on the file system directory is what
determines this.

What I meant was, beyond the system itself, what else did they
develope
for Pascal? I seem to find very little that runs under the Pascal
system
other than maybe utilities.

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 16|2|2004-08-22 22:37:01|Mithrandir|Re: Apple II and TI-99 comparison|
--- Willi Kusche <wilserv41@...
Yes, very separate on the TI. Basically, it required a
P-code card. Most of the OS was in ROM. The TI only
had 32k RAM and 16k Video RAM used for P-code. With
the tables in RAM, you have about 20k CPU RAM for
P-code or Assembly, and about 10k VDP RAM for P-code.

Then, they had the Editor/Filer, the Compiler, the
Assembler/Linker, and Utilities disks - all as
separate packages.

The P-System OS was 'hard-wired' to the three standard
TI disk drives - it is hard to add devices. I haven't
been able to, others have added a fourth drive, even a
Ramdisk. Never could get the code to work on my
Ramdisk, though.

The TI version was based on version IV.0 of the
system.
It lacked the 'turtle graphics' so popular on the
Apple version. I have a 'turtle graphics' package I've
never keyed in (transferring programs can be
troublesome). It also has very impressive sound units
and decent graphic units (without the turtle
graphics).

Ben

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
| 17|2|2004-08-22 22:42:15|Mithrandir|Re: Welcome|
--- GarberStreet Enterprises <willy46pa@... wrote:

For the TI, they released "FreeForm" and another
package. Don't remember which was which, but one was a
word processor (so much like the standard Editor, but
with an external formatter and maybe a couple of
enhancements) and a spreadsheet with multiple sheet
ability (I tried it, it is a little primitive even
compared to the spreadsheets of the day)...

There were some third-party offerings, mostly tax
related or financial planning. And a terminal program,
"TEP", to transfer files back/forth to the p-system
and other utilities.

Ben




__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail
| 18|2|2004-08-22 23:32:58|GarberStreet Enterprises|Re: Welcome|
: For the TI, they released "FreeForm" and another
: package. Don't remember which was which, but one was a
: word processor (so much like the standard Editor, but
: with an external formatter and maybe a couple of
: enhancements) and a spreadsheet with multiple sheet
: ability (I tried it, it is a little primitive even
: compared to the spreadsheets of the day)...
:
: There were some third-party offerings, mostly tax
: related or financial planning. And a terminal program,
: "TEP", to transfer files back/forth to the p-system
: and other utilities.

I'm hearing quite a lot about the TI Pascal, but I am mainly
interested in knowing more about the Apple II implementation.
Also, I would be interested in DSK images and Documentation
for same. Any help in this area would be appreciated. :o()

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 19|2|2004-08-23 00:50:28|Mithrandir|Re: Welcome|
--- GarberStreet Enterprises <willy46pa@... wrote:


I'm sure the TI interest is only because of curiosity,
and will die down soon enough given I'm the only one
here that I know of that has this implementation.

I'm mainly here to interchange ideas and source code.
I wonder how "portable" the system actually is. I've
read a lot about it in the manuals, how only some
"dirty tricks" aren't portable, and would like to see
this in action. I know this rules out using any
special units ( :( ), but you have to start somewhere.

If this is to be an Apple Pascal only discussion
group, I suggest it be renamed and I will move on. If
it makes any difference, I do own a couple of //e
systems, and a //c. Even running Prodos, not sure of
the version. I have a couple versions, 1.1 I think and
a later one (3.5?). Don't have any Apple Pascal I know
of (besides what may be behind the OS).

It would really be nice to find a Pascal group (esp.
concerning my favorite implementation, which gets a
bad rap among other programmers) that isn't littered
with "do my homework for me" type questions. Doubt
many schools still use UCSD, although it is quite
capable.

Ben



_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
| 20|2|2004-08-23 01:02:33|Mithrandir|Which UCSD Pascal implentation?|
We all know my answer to this one, but we have nine
members as of this posting...

Which UCSD implementation do/did you use or are
interested in? System and version?

Just curious.

I realize there is a "Polls" section on these Yahoo!
Groups, but they are inflexible and many may not like
signing into the web interface...

Ben




__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail
| 21|2|2004-08-23 01:07:02|GarberStreet Enterprises|Re: Which UCSD Pascal implentation?|
: We all know my answer to this one, but we have nine
: members as of this posting...
:
: Which UCSD implementation do/did you use or are
: interested in? System and version?

I will be using Apple II version when I finally do.
I snagged the image Willi posted, but I need docs to
understand what I'm doing with it. Maybe he'll post
some of those as well. :o)

: Just curious.

Aren't we all???

: I realize there is a "Polls" section on these Yahoo!
: Groups, but they are inflexible and many may not like
: signing into the web interface...

I know I prefer not to, but that's just me. :o)

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 22|2|2004-08-23 01:16:59|GarberStreet Enterprises|Re: Welcome|
: I'm sure the TI interest is only because of curiosity,
: and will die down soon enough given I'm the only one
: here that I know of that has this implementation.

I might if I could get my hands on a TI. :o)

: I'm mainly here to interchange ideas and source code.
: I wonder how "portable" the system actually is. I've
: read a lot about it in the manuals, how only some
: "dirty tricks" aren't portable, and would like to see
: this in action. I know this rules out using any
: special units ( :( ), but you have to start somewhere.

Maybe I can snag you some Apple Pascal code and you can
see just how portable it is, eh??

: If this is to be an Apple Pascal only discussion
: group, I suggest it be renamed and I will move on. If
: it makes any difference, I do own a couple of //e
: systems, and a //c. Even running Prodos, not sure of
: the version. I have a couple versions, 1.1 I think and
: a later one (3.5?). Don't have any Apple Pascal I know
: of (besides what may be behind the OS).

Oh no, you are more than welcome to discuss the TI
implementation of Pascal. Not a problem. I've heard
that Pascal was developed to be a way of transferring
programs between platforms. I'd be interested in seeing
that myself. Maybe Willi will shed some light on this
conversation soon, then we'll both know more about the
cross-platform usage of Pascal. :o()

: It would really be nice to find a Pascal group (esp.
: concerning my favorite implementation, which gets a
: bad rap among other programmers) that isn't littered
: with "do my homework for me" type questions. Doubt
: many schools still use UCSD, although it is quite
: capable.

I think the OP of this group intends it to be for
other than Apple Pascal as well. Stay and let's see
where it all leads us. :o()

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 23|2|2004-08-23 02:56:41|Mithrandir|Doing Business with UCSD Pascal|
I got a book somewhere "Doing Business with UCSD
Pascal". Kind of ticked me off, a little, as I'm sure
it did the author. He wrote a business system or a
collection of inter-related busines programs in UCSD
Pascal on an Apple II. The pictures in the book
clearly show a gentleman (you know, like an image of
Blaise Pascal) using an Apple II. Then on the front
cover, they had to change it to an image of an IBM PC!

Anyway, it appears to be a nice collection of
programs, although very repetitious in much of the
coding (the author could have benefitted from more
efficient re-use of code). It did have some nice
Units, which is strange that he didn't compile the
re-useable code into some standard Units or just
library routines themselves...


Ben



_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
| 24|2|2004-08-23 03:19:56|GarberStreet Enterprises|Re: Doing Business with UCSD Pascal|
I could benefit from such a book, or even a scan of it.
Of course I still have Apple II related books that I have
yet to read through. I have skimmed them all for info in
the time that I've had them, but I would be better off if
I was to actually read them through. I figure the more
books I have on programming languages the better I will
understand programming overall.

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



: I got a book somewhere "Doing Business with UCSD
: Pascal". Kind of ticked me off, a little, as I'm sure
: it did the author. He wrote a business system or a
: collection of inter-related busines programs in UCSD
: Pascal on an Apple II. The pictures in the book
: clearly show a gentleman (you know, like an image of
: Blaise Pascal) using an Apple II. Then on the front
: cover, they had to change it to an image of an IBM PC!
:
: Anyway, it appears to be a nice collection of
: programs, although very repetitious in much of the
: coding (the author could have benefitted from more
: efficient re-use of code). It did have some nice
: Units, which is strange that he didn't compile the
: re-useable code into some standard Units or just
: library routines themselves...



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 25|25|2004-08-23 04:30:45|Willi Kusche|Intentions|
Hi, y'all!

When I started this group, I hoped to attract ANYONE interested in
UCSD Pascal no matter what variant of UCSD Pascal they are using or
are interested in. I have extended invitations to every e-mail
address I could find on sites that have information about UCSD Pascal.
That effort seems to have been a waste of time. As a result, the
initial nucleus of this group appears to be mostly Apple people. I am
pleased that we have attracted a TI user especially since I almost bid
on the TI card that was recently offered on eBay. But the reality of
TI's small market share suggests that there may not be another.

We need a better group description that the one liner I used when
I started this group. I tried updating it but came up dry. Send me a
good one in private mail and I'll use it.

Willi
| 26|25|2004-08-23 04:35:30|Ben Yates|Re: Intentions|
--- In UCSDPascal@yahoogroups.com, "Willi Kusche" group. It lists almost 600 members, but probably only has about 50
active members. Of those, only a handful probably have any interest in
UCSD Pascal.

I saw the postings on comp.lang.pascal.misc and on
comp.sys.apple2.programmer, as I haunt those usenet groups. I'm not
sure what other machines besides the PC, Apple and TI had a version of
UCSD (at least mainstream machines). I think I saw some talk on
comp.sys.cbm about UCSD, but I think it was Apple related.

I believe the TI is the "smallest" machine UCSD was ever implemented
on. Small being the limited CPU RAM (32k)... I believe it is probably
also one of the slowest implementations, but cannot be sure.

Ben
| 27|25|2004-08-23 04:38:57|GarberStreet Enterprises|Re: Intentions|
So basically this version of Pascal will have a small
userbase to begin with??? Hmmm, maybe we should not limit
ourselves to UCSD Pascal. What is your thought on this?

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 28|2|2004-08-23 04:51:32|John B. Matthews M.D.|Re: Welcome|
On Aug 22, 2004, at 4:42 PM, Mithrandir wrote:

On the Apple II, there were many programs that used the p-system
run-time: Incredible Jack, PFS series, VersaForm, QuickFile, Smartcom,
Apple Business Graphics, Wizardry and the AppleWorks tutorial.

The Pascal technical notes outline how the disks were put together.

John
----
jmatthews@...
http://www.wright.edu/~john.matthews/
| 29|2|2004-08-23 04:59:09|John B. Matthews M.D.|Re: Apple II and TI-99 comparison|
On Aug 22, 2004, at 12:02 PM, Willi Kusche wrote:

And IBM. Apple and Softech were the two original UCSD licensees.
Softech produced a version of the p-System for IBM PC and XT when that
system debuted. The p-system on IBM was operationally identical to that
on the Apple, right down to the the keystrokes in Filer and Editor.
MS-DOS was nowhere to be found.

Where/when did the TI version fit in?

John
----
jmatthews@...
http://www.wright.edu/~john.matthews/
| 30|2|2004-08-23 05:01:06|GarberStreet Enterprises|Re: Welcome|
| 31|25|2004-08-23 07:15:55|Willi Kusche|Re: Intentions|
Hi!

--- Ben Yates <ti99_forever@... Aha, so that's why we have four new TI-ers.

I have a version for the early Macintosh. I
haven't looked at it in quite some time but I seem to
remember thst it had extensive docs on version IV.0

Willi





_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
| 34|33|2004-08-23 15:10:53|Mithrandir|Re: IBM PC version of UCSD, anywhere?|
--- Hans Otten <h.otten@...
Not that I could find. Not a real version, anyway. I
did once find a p-interp that didn't seem to run
anything at all.

Ben



_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
| 35|2|2004-08-23 15:19:31|Mithrandir|Re: Apple II and TI-99 comparison|
--- "John B. Matthews M.D." <jmatthews@... wrote:

The manual for the TI version is copyright 1981. I
remember magazine articles about the time the 99/4A
was scheduled for release but everyone had 99/4s. This
would be about 1980, when TI built a prototype
P-system box that plugged in the side. And that 99/4s
would have to be sent into TI for a modification to
work with the P-system. This was probably not IV.0.
They then came up with the Peripheral Expansion
System, and an early card was the P-code card with
IV.0 in ROMS.

Ben



__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail
| 36|2|2004-08-23 15:30:54|Shirl|Re: Which UCSD Pascal implentation?|
Apple II Pascal version 1.3 releaed in 1985.

Apple III Pascal version 2.0 is also a very nice Pascal implementation. This
compiler could even generate a listing which combined the Pascal lines and
their compiler-generated p-code.

- David Craig
| 37|2|2004-08-23 16:35:10|GarberStreet Enterprises|Re: Welcome|
: On the asimov ftp archive you can find most Apple Pascal
versions (1.0,
: 1.1, 1.3 at least). On online stores like amazon.com
introduction books
: on Apple Pascal are available for a few dollars (Rodney Zaks
for
: example). That will get you started in Pascal programming very
quickly.
:
: I do not know of online documentation. If you are really
interested I
: can recommend the 1.3 kit as sold by Syndicomm: full
documentation and
: all media including all 5 1/4 and the 3,5 inch floppy.

Thank you Hans. This info should give me the start I need.
I have the image as posted by Willi. Not sure if it is the
one he has patched. I would hope so. :o()

Keep forgetting about Syndicomm. And, I am a member too. :o()

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 38|33|2004-08-23 16:41:23|GarberStreet Enterprises|Re: IBM PC version of UCSD, anywhere?|
Try here Hans.

http://www.threedee.com/jcm/psystem/

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



: Is there a version of UCSD Pascal for the IBM PC available
online
: somewhere?



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 39|39|2004-08-23 18:34:00|Mithrandir|Ok, I'm ready!|
I have my UCSD Pascal manuals with me at work today.

Ask away!


Ben :)



_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
| 40|39|2004-08-23 18:42:32|GarberStreet Enterprises|Re: Ok, I'm ready!|
Me??? I'm not into it far enough to have any questions yet. :o)

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



: I have my UCSD Pascal manuals with me at work today.
: Ask away!
: Ben :)



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 41|39|2004-08-23 18:50:45|Mithrandir|Re: Ok, I'm ready!|
--- GarberStreet Enterprises <willy46pa@... wrote:

There is a section in the manual with a run-down of
the different versions, at least up to IV.0. And a
summary of differences between IV.0 and previous
versions...

Really wish it had been IV.1, but we are 'frozen in
ROM'...

Ben



_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
| 42|39|2004-08-23 18:56:57|GarberStreet Enterprises|Re: Ok, I'm ready!|
I had downloaded a bunch of PC related UCSD_Pascal
stuff this morning. I'll check it out later today
and see if it will help me in my quest to learn.
Maybe I will have some questions for you after that.
I also have several disk images for the Apple II
that I can try out. Still looking for documentation
however. I have a couple different ROM cards, one
that holds the Apple II and II+ ROMs, and another
that a friend built that uses a FlashRam and I might
be able to put UCSD Pascal on one of those and have
virtually the same thing you have, Ben.

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



: There is a section in the manual with a run-down of
: the different versions, at least up to IV.0. And a
: summary of differences between IV.0 and previous
: versions...
:
: Really wish it had been IV.1, but we are 'frozen in
: ROM'...



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 43|39|2004-08-23 19:04:27|Mithrandir|Re: Ok, I'm ready!|
--- GarberStreet Enterprises <willy46pa@... wrote:

Well, re-reading the book has answered at least one
question. IV.0 is compatible at the SOURCE level (for
the most part), not the OBJECT level. So, we cannot
exchange compiled programs, only the source...

Ben



__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail
| 44|39|2004-08-23 19:08:38|GarberStreet Enterprises|Re: Ok, I'm ready!|
I believe that is Uscd Pascal's purpose. Cross-platform
transfers.

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



: Well, re-reading the book has answered at least one
: question. IV.0 is compatible at the SOURCE level (for
: the most part), not the OBJECT level. So, we cannot
: exchange compiled programs, only the source...



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 45|39|2004-08-23 19:25:38|Mithrandir|Re: Ok, I'm ready!|
--- GarberStreet Enterprises <willy46pa@... wrote:

I think it means that, given we run the same version,
we can exchange p-code (meaning no linked assembly) as
long as we stay away from machine-dependent features.
I supposed you could re-link programs with, say,
compatible turtle-graphics units if you both had them.

But another problem was always the disk formats of the
various computers...

Ben



_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
| 46|46|2004-08-23 19:29:32|Willi Kusche|TI-99/4A emulation|
Hi, y'all!

I just did a quick Google search and found a couple of TI-99/4A
emulators. Is is possible to see how UCSD Pascal for the TI works
using either of these emulators?

Willi
| 48|48|2004-08-23 19:35:31|Alan Brown|Re: TI-99/4A emulation|
I think that the only emulator supporting UCSD for the TI-99 is the commercial PC99 emulator.

- Alan
| 49|49|2004-08-23 19:58:58|Chris Schneider|UCSD Pascal|

Well I am going to get back into programming with the UCSD Pascal system.  I have a Ti-99/4a that has the original P-code v4.0 UCSD system card.

 

I want to code some better terminal programs to be used with this system, with xmodem, zmodem, etc protocols.

 

Any direction would be greatly appreciated.

 

Chris

 

| 50|46|2004-08-23 20:27:09|Mithrandir|Re: TI-99/4A emulation|
--- Willi Kusche <wilserv41@...
I'm surprised MESS doesn't support it. Classic99 is
working on the support, but PC99 is the only one I
know of that has supported it for years. And yes, it
is commercial.

Ben



__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail
| 51|49|2004-08-23 20:36:05|Mithrandir|Re: UCSD Pascal|
--- Chris Schneider <clssr1@...
I know there was TEP (terminal emulator program), that
did Xmodem. I also know that the P-system access to
the remin:, remout: and printer: was one character at
a time, so expect to use assembly for the low-level
routines. I remember 9600 baud seemed to output
characters like 300 baud using the built-in routines.

Ben

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
| 52|46|2004-08-23 20:59:22|Willi Kusche|Re: TI-99/4A emulation|
Hi!

| 53|39|2004-08-23 21:41:00|GarberStreet Enterprises|Re: Ok, I'm ready!|
: I think it means that, given we run the same version,
: we can exchange p-code (meaning no linked assembly) as
: long as we stay away from machine-dependent features.
: I supposed you could re-link programs with, say,
: compatible turtle-graphics units if you both had them.

True, but also it means that text-based source codes can be
transferred between platforms. Also true that machine specific
codes would need to be translated as with any language.

: But another problem was always the disk formats of the
: various computers...

Definitely. So far nothing can write an Apple II 140K
disk except for an Apple 5.25" drive. :o()

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 54|46|2004-08-23 21:41:04|GarberStreet Enterprises|Re: TI-99/4A emulation|
: I just did a quick Google search and found a couple of TI-99/4A
: emulators. Is is possible to see how UCSD Pascal for the TI
works
: using either of these emulators?

I doubt they would have included the UCSDPascal ROMs in the
emulator code, but there may be the ROMs available somewhere.

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 55|39|2004-08-23 22:43:09|John B. Matthews M.D.|Re: Ok, I'm ready!|
On Aug 23, 2004, at 2:43 PM, GarberStreet Enterprises wrote:

Sadly true, but I'm able to move source using AppleCommander to get the
text onto a ProDOS volume then using Apple System Utilities to move to
a Pascal volume. I'm trying to resurrect my Pascal disk editor this
way.

Also, for example code worth studying, the USUS library is here:

http://www.threedee.com/jcm/usus/index.html

John
----
jmatthews@...
http://www.wright.edu/~john.matthews/
| 56|39|2004-08-23 22:49:01|GarberStreet Enterprises|Re: Ok, I'm ready!|
: Sadly true, but I'm able to move source using AppleCommander to
get the
: text onto a ProDOS volume then using Apple System Utilities to
move to
: a Pascal volume. I'm trying to resurrect my Pascal disk editor
this
: way.

John, CiderPress will allow you to extract a file from a ProDOS
disk, then insert it into a Pascal disk. No conversion necessary.
I believe you may need to convert the disk images to file images
though. Still works a lot faster and better, and I have tried
both.

: Also, for example code worth studying, the USUS library is
here:
: http://www.threedee.com/jcm/usus/index.html

Lots of stuff in there. I was looking at that earlier.

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 57|39|2004-08-24 01:24:48|John B. Matthews M.D.|Re: Ok, I'm ready!|
On Aug 23, 2004, at 4:50 PM, GarberStreet Enterprises wrote:

I think CiderPress requires Windows. I like ADFS, but it sets the high
bit of imported text. AppleCommander works well on ProDOS, and itreads
Pascal; but it'll take some work to make it write Pascal.

I found apple trek on volume 9. WooWho!!!

John
----
jmatthews@...
http://www.wright.edu/~john.matthews/
| 58|39|2004-08-24 01:28:40|GarberStreet Enterprises|Re: Ok, I'm ready!|
: I think CiderPress requires Windows. I like ADFS, but it sets
the high
: bit of imported text. AppleCommander works well on ProDOS, and
itreads
: Pascal; but it'll take some work to make it write Pascal.

I have Apple Commander, but it runs under windows also.
Which one are you talking about???

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 59|39|2004-08-24 02:03:27|John B. Matthews M.D.|Re: Ok, I'm ready!|
On Aug 23, 2004, at 7:30 PM, GarberStreet Enterprises wrote:

Rob Greene's AppleCommander

http://sourceforge.net/projects/applecommander/
http://www.wright.edu/~john.matthews/ac.html

It's written in Java. I got a command line version going on darwin and
linux. I can build the gui, but I can't get it to respond to events on
MacOS X. I'm trying to build it in Eclipse, but I see a steep learning
curve ahead:-)

Veering even further off topic, I _did_ submit a fix to the Integer
Basic exporter. Until Rob gets a chance to integrate it, I can email it
to anyone who needs it

John
----
jmatthews aht wright doht edu
http://www.wright.edu/~john.matthews/
| 60|60|2004-08-24 07:28:39|GarberStreet Enterprises|Apple II Pascal|
Willi,

I am trying to format a disk in AppleWin drive 2.
I copied your image to APPLE2.do and inserted it
into drive 2, but now I can't find how to format
it, please help.

TIA,

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/12/04
| 61|60|2004-08-24 12:43:21|Willi Kusche|Re: Apple II Pascal|
Hi!

--- In UCSDPascal@yahoogroups.com, "GarberStreet Enterprises"
disks so you won't have a problem creating disks, But I think that
Apple Pascal is a lousy way to try and learn Pascal if you don't have
documentation. Even with documentation, the Editor is a real bear
because it's not a true screen editor.

Willi
| 62|60|2004-08-24 14:13:33|GarberStreet Enterprises|Re: Apple II Pascal|
: I'm going to mail you copies of APPLE1: and APPLE2: on 5.25
inch
: disks so you won't have a problem creating disks,

There is an Apple2: ??? That is very kind of you to do this.

: But I think that Apple Pascal is a lousy way to try and learn
: Pascal if you don't have documentation. Even with
documentation,
: the Editor is a real bear because it's not a true screen
editor.

I'm finding out how difficult it is. Similar to CP/M without
Docs.
Once I had Docs though, CP/M came back to me fairly quickly.

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa @ comcast DOT net
Change DOT to a dot to contact me



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.737 / Virus Database: 491 - Release Date: 8/11/04
| 63|63|2004-08-25 15:34:33|Mithrandir|memory availability|
How much memory does Apple's UCSD Pascal have
available to programs and data? And is it expandable
by design?

Ben



__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail
| 64|63|2004-08-25 18:54:00|John B. Matthews M.D.|Re: memory availability|
On Aug 25, 2004, at 9:34 AM, Mithrandir wrote:

Apple UCSD Pascal 1.3 (UCSD version II.1) comes in 64 K and 128 K
versions. In addition to the development system, the run-time can be
configured for a variety of target systems. Fro example, a 64 K //e can
get up to 40 K for code & data. By judicious use of library segments
and chaining, arbitrarily large program can be accommodated. See Pascal
Technical Note #10:

http://web.pdx.edu/~heiss/technotes/pasc/tn.pasc.10.html

John
----
jmatthews aht wright doht edu
http://www.wright.edu/~john.matthews/
| 65|65|2004-08-25 19:43:29|Chris Schneider|ti programming|

How many UCSD Pascal TI Programmers for the 4a do we have here?  I’m looking for someone to consult with and maybe do a few programming projects for the TI community in UCSD Pascal.

 

Chris

 

| 66|63|2004-08-25 19:47:27|Willi Kusche|Re: memory availability|
Hi!

--- In UCSDPascal@yahoogroups.com, "John B. Matthews M.D."
can
segments
Pascal
Also, inserting {$s+} into the Pascal source text file will force
the Compiler to utilize memory swapping instead of keeping all
segments in mrmory. Inserting {$s++} into the Pascal source text will
cause a higher level of swapping. Using either of these options will
slow down the Compiler.

Willi
| 68|65|2004-08-25 22:44:03|Mithrandir|Re: ti programming|
--- Chris Schneider <clssr1@...
I recognized between 6-10 names on the list. The UCSD
P-system suffers the same problems that are currently
being discussed on the OLUG. Not everyone has one.
Unlike all the discussions that go round and round on
the OLUG, about which memory card to use, what devices
to support, at least UCSD is a have it or not
proposition. No arguments over WHICH TI UCSD system
you have...

But not all emulators support it. Does MESS? It is
just another peripheral card. Classic99's author was
testing the P-system, but it isn't working yet...

Ben



__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail
| 69|69|2004-08-25 23:01:38|Alan Brown|Re: ti programming|
TI UCSD Pascal Developers.....

1. Chris Schneider
2. Alan Brown
3.
4.
| 70|65|2004-08-26 00:44:06|Chris Schneider|Re: ti programming|

I actually do not use an emulator to program in UCSD, but the actual UCSD Pcode card in my TI.

 

-----Original Message-----
From: Mithrandir [mailto:ti99_forever@...]
Sent: Wednesday, August 25, 2004 3:44 PM
To: UCSDPascal@yahoogroups.com
Subject: Re: [UCSDPascal] ti programming

 


--- Chris Schneider

4a do we
do a


I recognized between 6-10 names on the list. The UCSD
P-system suffers the same problems that are currently
being discussed on the OLUG. Not everyone has one.
Unlike all the discussions that go round and round on
the OLUG, about which memory card to use, what devices
to support, at least UCSD is a have it or not
proposition. No arguments over WHICH TI UCSD system
you have...

But not all emulators support it. Does MESS? It is
just another peripheral card. Classic99's author was
testing the P-system, but it isn't working yet...

Ben


           
__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail


| 71|69|2004-08-26 00:44:26|Chris Schneider|Re: ti programming|

Didn’t you order an IDE parts kit from me?

 

 

 

-----Original Message-----
From: Alan Brown [mailto:TI99@...]
Sent: Wednesday, August 25, 2004 4:01 PM
To: UCSDPascal@...
Subject: [UCSDPascal] Re: ti programming

 

TI UCSD Pascal Developers.....

1. Chris Schneider
2. Alan Brown
3.
4.






| 72|63|2004-08-26 01:29:14|Dr A.P. Whichello|Re: memory availability|
There is a MEMAVAIL function in Apple Pascal to tell you this at runtime. I
haven't done any programming on the Apple for some years, but I recall that
around 25K was the upper limit on what was really available in the 64K
system. Several "segment procedures" and close attention to scheduling
their use are necessary in large programs. The 128K system is a bit more
generous. There are also fairly tight limits on how large a procedure's
code can be, too.

Adrian.

--
Dr A.P. Whichello Phone: +61 2 6201 2431
Electronics & Telecommunications Engineering Fax: +61 2 6201 5041
University of Canberra Email: adrianw@...
Australia WWW: http://www.ise.canberra.edu.au/sete
| 73|65|2004-08-26 02:46:54|Dr Jerry Coffey|Re: ti programming|
Hi Chris,
 
I haven't done it in YEARS.  I have some old stuff logged in various UG libraries.
 
   Jerry
Jerry L. Coffey, Ph.D.   Mathematical Statistician
      drjerrycoffey@...
| 74|65|2004-08-26 08:42:33|Mithrandir|Re: ti programming|
--- Chris Schneider <clssr1@...
I was talking about the expanded audience for UCSD
programs, given that at least one emulator supports
it. In the old days, with limited cards, there was a
limited audience.

Ben



_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush
| 75|75|2004-09-02 21:49:21|Willi Kusche|TI-99/4A question|
Hi!

What is the end of line character in a TI-99/4A text file? I
found an interesting Pascal source text file that I'd like to see
compiled by both TI and Apple variants of UCSD Pascal.

Willi
| 76|75|2004-09-02 22:30:50|Mithrandir|Re: TI-99/4A question|
End of line for a standard text file,
Or
EOLN for a standard UCSD TEXT file?

I'm sure you mean the first, considering the
non-standard disk formats.
In that case, the TI doesn't even use end of line
characters in its native file formats, but uses length
indicators.
For external files we download, we have file
converters to our native format and they can usually
handle Ben

--- Willi Kusche <wilserv41@...
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/r7folB/TM
--------------------------------------------------------------------~- __________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
| 77|75|2004-09-02 22:46:47|GarberStreet Enterprises|Re: TI-99/4A question|
CR EQU 13
LF EQU 10

Hope this helps you. It's all I could find. :o)

Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa@...


| 78|75|2004-09-02 23:25:19|Willi Kusche|Re: TI-99/4A question|
Hi!

| 79|75|2004-09-03 01:19:35|Mithrandir|Re: TI-99/4A question|
It will most likely be too large for the TI
implementation, without using segment procedures :)

As it is, it will need to be broken into smaller
source files, as the TI editor only has about 12k free
space for editing :(

Ben

--- Willi Kusche <wilserv41@...
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/r7folB/TM
--------------------------------------------------------------------~- __________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail
| 80|75|2004-09-03 01:47:21|John B. Matthews M.D.|Re: TI-99/4A question|
On Sep 2, 2004, at 5:25 PM, Willi Kusche wrote:

On UCSD Pascal for Apple or IBM, get(ch) at line's end on a TEXT or
INTERACTIVE file returns an Ascii space ($20) and sets EOLN true. Apple
uses CR ($0D); IBM uses CRLF ($0D0A).

I see that the file pascals.pas has CRLF line endings. It sounds like
TI users already convert control-delimited text to their own
length-delimited text. Also, it turns out that the DLE escaped indent
encoding is optional, even _within_ a file. So I would say don't worry
about it.

I note that Apple is perfectly happy to compile space-delimited text,
but System Utilities does the wrong thing with lines over 1024 bytes.
Also, the 1.3 compiler chokes on on any line that ends on byte 1023,
exactly. YALOE never produces such a monster, but System Utilities does
so just often enough to adversely affect my blood pressure:-)

John
| 81|75|2004-09-03 03:54:27|Willi Kusche|Re: TI-99/4A question|
Hi!

| 82|75|2004-09-03 14:44:07|Mithrandir|Re: TI-99/4A question|
--- "John B. Matthews M.D." <jmatthews@... wrote:

I'm assuming a person would transfer to the native TI
OS, then use a utility program to transfer it to the
UCSD OS. The only way to get it directly to UCSD is to
use the terminal program TEP and download it, which
isn't likely these days.

I assume System Utilities converts files to UCSD
format?
Oh, for such a utility to have existed in the early
days of the TI UCSD system! We had to basically write
our own utilities or type things in!
We do have a DV80P which converts standard TI format
Display/Variable 80 text files into P-system text
files (I never tried this one), and the aforementioned
TEP terminal program. And I wrote a simple UCSD pascal
program to convert DV80 using Unitread and Unitwrite
to a text program so I could get Star Trek loaded. An
old UCSD version of Super Star Trek.

Ben



__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail
| 83|75|2004-09-03 15:42:31|John B. Matthews M.D.|Re: TI-99/4A question|
On Sep 3, 2004, at 8:43 AM, Mithrandir wrote:

Yes, but it came much later. Despite bugs, it _does_ do most of the
work. Willi would patch the offending code into submission! Someday,
I'll be that brave:-)

To circumvent it, I'm working on Rob Greene's AppleCommander, a Java
program that manipulates the Pascal directory directly. I like Java,
but it can't map arrays of packed records the way Pascal (or Ada) can.

Indeed! I wrote a pair of utilities to convert Apple DOS and Pascal
text (Byte, April 1982) that made life _much_ easier. To transfer to
IBM DOS, we used a BBS!

I'm planning to port the Star Trek on USUS volume 9 to Apple, but I
haven't looked at the code. I'm anxious to compare it to the Integer
Basic code in Apple Trek.

John
----
jmatthews at wright dot edu
http://www.wright.edu/~john.matthews/
| 84|75|2004-09-06 17:23:11|Shirl|Re: TI-99/4A question|
Hi Scott,

I know this has nothing to do directly with UCSD Pascal, but thought I would
contribute my 2 cents worth.

Saw your Pascal-S web site commentary
(http://www.moorecad.com/standardpascal/pascals.html) and liked reading your
"BUG 36" discussion. I knew of Pascal-S but never knew anything about its
details or the bug you uncovered.

Some comments ...

The "bug" you describe is in my opinion a result of poor program source code
documentation and not really a bug.

The Pascal-S source should have contained a complete description of its
fundamental data types booleans/chars/integers/reals. The CDC computers
numeric handling should have been clearly noted and I think there should
have been specific procedures created for all the real number operations.
With such documentation then conversions of this Pascal to non-CDC machines
would have been much easier.

The source in general should have had some type of standard comment which
would have alerted convertors to non-portable areas such as real negation.
This comment could be something like (*NON-STANDARD FEATURE--BE CAREFUL*).

Also, the test "if x.typ explicit since it depends upon the order of the enumerated data type
declaration. If the declaration's item order changed then this test would be
invalid. This test should have been "if x.typ in [ints,reals] then" for
clarity and enumerated type order independence.

These comments pertain to any program that one writes since without such
program commentary using progams on other machines can be a real pain and
require lots of investigative work.

- David Craig

----------
| 85|85|2004-09-06 17:37:26|Shirl|Apple II Pascal 8 character name significance|
Willi Kusche wrote ...

I always hated Apple II Pascal's 8 character name significance which caused
one to sometimes use truncated names for data types and
procedures/functions. I know this limitation was due to Apple II Pascal's
dependency upon UCSD Pascal II.1 but always thought Apple's Pascal team
should have changed this to at least 16 characters. Or at least provided a
compiler directive (e.g. {$NAMELENGTH=16}) which let the programmer have
control in this area.

Even Apple's Apple III Pascal which was based on Apple II Pascal but had
many more powerful language features used 8 character significance. Given
the Apple III computer's larger memory space and use of hard drives, this
limitation should have been relaxed. I assume Apple II Pascal's internal
symbol table needed to be as small as possible due to the Apple II
computer's small memory space.

Apple's Lisa Pascal compiler also had 8 character significance which must
have been due to its origins as the SVS (silicon valley software) Pascal
which itself was based on the Wirth's ETH P4 compiler.

Apple finally divorced itself from this naming limitation with Apple
Macintosh MPW Pascal in 1986 which supported 64 character significance which
was a joy to use.

Too bad Wirth's Pascal standard book/report didn't specify a minimum name
character significance.

- David Craig
| 86|86|2004-09-12 16:43:51|Shirl|List still working?|
Hi

Is the UCSD Pascal list still working?

My last email message was dated September 6.

- David Craig
| 87|87|2004-09-12 17:53:57|John B. Matthews M.D.|Zap and AppleCommander|
Hi,

I've posted the latest version of my Pascal disk/memory editing
utility, Zap. Details here:

http://www.wright.edu/~john.matthews/a2/zap.html

You may also want try an interim version of Rob Greene's AppleCommander
disk image utility, here:

http://www.wright.edu/~john.matthews/ac.html

I've updated it to work with Pascal disks. In particular, it reformats
text (carriage control, DLE, integral lines on 1K pages) as required by
the editor and compiler.

John
----
jmatthews at wright dot edu
http://www.wright.edu/~john.matthews/
| 88|87|2004-09-13 01:29:27|apw|Re: Zap and AppleCommander|
Thanks, John. I remember using ZAP a lot when I was poking around in Apple
Pascal; very handy. One other thing I recall was that since I was
interested in DSP at the time (I still am, but fancy doing DSP on an Apple
nowadays!!) I also had ZAP write out values as floating point reals, to see
where things had gone in some FFT calculations, and also to see how Apple
Pascal calculated sines etc.

Adrian.
| 89|87|2004-09-13 08:08:42|John B. Matthews M.D.|Re: Zap and AppleCommander|
On Sep 12, 2004, at 7:29 PM, apw wrote:

Excellent! I found I needed it to see what my AppleCommander
alterations were doing. Speaking of which, if you downloaded ac, please
grab a fresh copy. The code inadvertently wrote one byte past the end
of each block. This wasn't apparent unless the last block was
contiguous with the first block of a subsequent file that started on a
block
John
----
jmatthews at wright dot edu
http://www.wright.edu/~john.matthews/
| 90|90|2004-09-13 20:27:10|Shirl|6502 p-code interpreter listing?|
Hi

I'm looking for a 6502 microprocessor p-code interpreter listing. Just
curious to see what the inside of such a beast looks like.

Thanks in advance.

- David Craig
| 91|90|2004-09-14 06:40:14|John B. Matthews M.D.|Re: 6502 p-code interpreter listing?|
On Sep 13, 2004, at 2:27 PM, Shirl wrote:
Check out Dave Tribby's Apple Pascal page, especially the 'PRDEV:'
volume:

http://www.callapple.org/apple2/software/tribby/apascal.html

John
----
jmatthews at wright dot edu
http://www.wright.edu/~john.matthews/
| 92|92|2004-10-12 08:00:14|Willi Kusche|UCSD Pascal reunion|
Hi, y'all!

Thanks to Stefan Haubenthal, who passed along the following link:
http://soeadm.ucsd.edu/events/Pascal

Willi
| 93|92|2004-10-15 05:53:36|Shirl|Re: UCSD Pascal reunion|
Willi

Thanks for the UCSD Pascal alumni reunion event info, seems like the web
site for this may have some interesting UCSD Pascal info.

I knew this was coming since I got an email from a person at UCSD a few
months back asking about UCSD Pascal technical info. I passed on all the
UCSD Pascal sources I have. She told me about this reunion. Seems like UCSD
is going to publish something about this reunion and Pascal's history at
UCSD Pascal.

FYI, I have the following UCSD Pascal sources:

version 1.3
version 1.4
version 1.5

If anyone wants copies, I can email text and PDF files.

- David Craig

----------
| 96|95|2004-10-17 12:11:10|Willi Kusche|Re: CP/M version of UCSD|
Hi!

| 97|95|2004-10-17 12:35:37|willi@wilserv.com|Problem found while recreating source|
Hi, y'all!

Consider the following snippet of code:
{ ************************************************** }
repeat
if DUPLE
then SYMCURSOR := SYMCURSOR + 1;
repeat
SYMCURSOR := SYMCURSOR + 1;
TP := TP + 1;
if SYMBUFP^[SYMCURSOR] = chr(EOL)
then begin
ERROR(202);
CHECKEND;
goto 1;
end
else T[TP] := SYMBUFP^[SYMCURSOR]
until SYMBUFP^[SYMCURSOR] = '''';
DUPLE := true;
until SYMBUFP^[SYMCURSOR + 1] < 1:
TP := TP - 1;
{ ************************************************** }

If the GOTO statement is removed, the code generated for the entire
procedure matches the original except, of course, for the P-code number in the
UJP
after the statement 'CHECKEND;'. But if the 'GOTO 1' is in place, then an
extra UJP is generated.

Ergo, version 1.1 of Apple Pascal was NOT used to generate the compiler for
version 1.1 of Apple Pascal.

Willi
| 98|95|2004-10-17 17:01:39|Shirl|Re: Problem found while recreating source|
Willi wrote:

This statement does not seem correct to me.

From what I know about Apple's Pascal development effort for the Apple II
family, they used the latest compiler to generate their compilers. This
means they would have used Apple II Pascal 1.1 compiler to generate itself.

I recall speaking with one of Apple's Pascal compiler writers long ago, Al
Hoffman, who told me this. He was involved with UCSD Pascal while a student
at UCSD and then worked on at Apple on Apple II and Apple III Pascal.

Also, it seems to me that compiling the compiler with itself is a very good
test of the compiler since the compiler sources tend to be a rather large
Pascal program. The compilation of itself is a good validation that the
compiler is working. I assume that if a compiler cannot compile itself, then
the compiler is not ready for public distribution.

I may be wrong here, but I suspect I am not.

- David Craig

----------
for
| 99|99|2004-10-17 17:05:53|Shirl|UCSD Pascal source code still copyrighted ?|
Hi

Q: Is the UCSD Pascal source listing still copyrighted by UCSD ?

Asked another way;

Q: Is the UCSD Pascal source listing in the public domain?

I have the sources for UCSD Pascal versions 1.3, 1.4, and 1.5.

I am asking since I believe UCSD Pascal was developed using public funds
since UCSD is a public educational institution.

- David Craig
| 100|99|2004-10-18 05:52:51|Randy McLaughlin|Re: UCSD Pascal source code still copyrighted ?|
| 102|101|2004-10-24 06:38:05|Shirl|Re: recent lecture by Niklaus Wirth|
"Hans Otten" <h.otten@...
I have always been impressed by Niklaus Wirth's computer language ideas
since they always seemed to want to simply languages. Back in the 1960s when
Wirth started his programming language work, other languages were heading
toward complexity, not simplicity. Take Algol, FORTRAN, PL/1 and COBOL as
examples. Wirth's ideas were refreshing when I read about them in the 1970s.

Too bad simplicity does not seem to be the goal in today's languages (e.g.
C++, Java). The exception here is Ada, which unfortunately has not been
accepted as I would have liked.

- David Craig
| 103|103|2004-10-30 00:15:41|Willi Kusche|Syntax diagram|
Hi, y'all!

There's a syntax diagram for Pascal at:
http://humane.sourceforge.net/published/pascal_poster.html. There's
also an interesting story about how the diagram was modified because
Jobs said "it didn't look good".

Willi
| 104|103|2004-10-30 00:28:17|Willi Kusche|Syntax diagram URL corrected|
Hi, y'all!

Let's try this again.

There's a syntax diagram for Pascal at:
http://humane.sourceforge.net/published/pascal_poster.html

There was a superfluous period at the end of the URL in the prior
message.

Willi
| 105|103|2004-10-30 02:02:53|GarberStreet Enterprises|Re: Syntax diagram URL corrected|
Hi Willi,

The period at the end didn't attach to the
hyperlink, and I was able to still get to
the site by clicking on it. :o)

Apple II Forever, and Apple II Together,
Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa@...


: Let's try this again.
: There's a syntax diagram for Pascal at:
: http://humane.sourceforge.net/published/pascal_poster.html
: There was a superfluous period at the end
: of the URL in the prior message.
: Willi



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.754 / Virus Database: 504 - Release Date: 9/6/04
| 106|103|2004-10-30 04:33:15|Willi Kusche|Re: Syntax diagram URL corrected|
Hi!

Quoting GarberStreet Enterprises <willy46pa@... You must have a smarter browser. When I tried the link in the first message
I posted about the syntax diagram, my browser (Mozilla) gave me a "Not Found"
message. Which is why I posted a second message without the ending period.

Willi
| 107|103|2004-10-30 06:57:54|GarberStreet Enterprises|Re: Syntax diagram URL corrected|
A smarter email client, maybe. I don't access
the group through the web. I do have problems
with links to files that have spaces in the
filename. I'm not sure what's up there. :o)

Apple II Forever, and Apple II Together,
Bill @ GarberStreet Enterprizez };-)
Web Site - http://garberstreet.netfirms.com
Email - willy46pa@...


: Quoting GarberStreet Enterprises : You must have a smarter browser. When I tried
: the link in the first message I posted about the
: syntax diagram, my browser (Mozilla) gave me a
: "Not Found" message. Which is why I posted a
: second message without the ending period.
: Willi



---
This email ain't infected, dude!

Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.754 / Virus Database: 504 - Release Date: 9/6/04
| 108|108|2004-10-31 21:26:38|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /Compiler/UCSDCMPA.PAS
Uploaded by : rfc1394 <postmast@... Description : Source File 1 of 6 of UCSD Pascal Compiler for the PDP-11 From Compuserve

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/Compiler/UCSDCMPA.PAS

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

rfc1394 <postmast@...| 109|109|2004-10-31 21:42:42|Paul Robinson|I have uploaded my copies of the UCSD Pascal Compiler Source|
Several years ago - probably more than 5 and might be as much as 10 -
I downloaded the sources to
the PDP-11 version of the UCSD Pascal compiler from Compuserve. I had
forgotten I had them; I found them on a CD-RW of files I had copied
off floppy and I probably downloaded them over five years ago.

As they may be of use to people here I have posted them. The compiler
itself is broken into 6 files of about 22K each. Some of the system
and run-time library files are also present.

As they were publicly available for anyone to download from Compuserve
I can see no harm or issue in re-releasing them here. They are
exactly as I got them and as far as I know they have not been changed.

The 24 files are in the Compiler directory in the files section of
Yahoo groups at

http://groups.yahoo.com/group/UCSDPascal/files/Compiler/

The .MAC files are Macro-11 Assembler. The .PAS files are the
compiler and other sources. There is no documentation or other files.
| 110|109|2004-11-01 21:52:10|Willi Kusche|Re: I have uploaded my copies of the UCSD Pascal Compiler Source|
Hi!

| 111|109|2004-11-06 01:26:45|laurieboshell2004|Re: I have uploaded my copies of the UCSD Pascal Compiler Source|
Thanks for the code.
I believe that most of it is source for I.3 that was on the original
USUS library discs. It was uploaded to compuserve by Eli Wilner a
number of years ago, I grabbed it then!! The rest (in lower case
style (except for the DIAL.PAS file)) is later stuff from various
sources including Pecan and Cabot software.

I have a working I.5 system if any one is interested. I hacked an
early apple 2 interp back to I.5 p-system architecture, you will need
an Apple 2 emulator to run it...but it works.

PS I've not checked out how to upload on these groups yet!

Cheers,

Laurie Boshell

(The only email I use is laurie at PNC dot COM dot AU)
--- In UCSDPascal@yahoogroups.com, "Paul Robinson" 10 -
had
| 113|108|2004-11-07 06:29:20|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /I56502.DSK
Uploaded by : laurieboshell2004 <laurieboshell2004@... Description : This is an Apple 2 floppy image of a hacked system.apple to run I.5 pcodes with a I.5 system in it

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/I56502.DSK

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

laurieboshell2004 <laurieboshell2004@...| 115|95|2004-11-09 03:45:30|laurieboshell2004|Re: Problem found while recreating source|
Hi Willi,

How far did you get with the recreation of the compiler source for
apple pascal?

Do you have any automated tools?
I might be able to help.


Laurie Boshell



if DUPLE
entire
number in the
then an
compiler for
| 116|95|2004-11-09 04:04:30|Willi Kusche|Re: Problem found while recreating source|
Hi!

Quoting laurieboshell2004 <laurieboshell2004@... The Fditor is done except for one procedure. Also, I can't get the
intermediate variable references right. The Filer is done except for one
procedure and I have substitues for the references to segment zero. The
Compiler is almost done but I'm having a problem with the BODY1 and BODY3
segment procedures.

Willi
| 117|95|2004-11-09 07:27:29|laurieboshell2004|Re: Problem found while recreating source|
Hi Willi,

How did you do it? I presume that you had earlier versions of
the source code as a guide.

There was a p-code disassembler by Chris Wilson published
in one of the call apple books. I modified it to
decode I.5 stuff.

Are you doing all this within the Apple II pascal environment?
I'd like to look as the source when it is stable if you
are agreeable.

Cheers,


Laurie.

laurie a t p n c d o t c o m d o t a u
| 118|118|2004-11-09 17:01:45|Mithrandir|Oh! Pascal! KWIC program|
I typed this into my UCSD IV.0 compiler on the TI, but
do not get the expected results.

The first line of the output (when not echoing back
the tree) that should print
....here is a kwic test

(where '.' represents a space)

prints several control characters, then "here is a
kwic test".

I've double-checked the program, tried to ensure that
it wasn't printing out uninitialized space (shouldn't
be), and still get the garbage.

Anyone else ever play with this particular program?

It changes from one run to another (the garbage). My
last run gives:

...eqVOUT.TEXTTq? here is a kwic test

where '.' is again a space and '?' is a graphics
character of some type. Note the VOUT.TEXT - OUT.TEXT
is the name of a file on the disk where the codefile
and the keywords.text and source.text files are
located.

Ben



__________________________________
Do you Yahoo!?
Check out the new Yahoo! Front Page.
www.yahoo.com
| 119|108|2004-11-19 01:06:23|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /I5forPC/Interp7.exe
Uploaded by : laurieboshell2004 <laurieboshell2004@... Description : Experimental interp for I.5 pcodes on the PC, runs under MSDOS/Windows with normal dos files

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/I5forPC/Interp7.exe

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

laurieboshell2004 <laurieboshell2004@...| 120|95|2004-11-21 04:31:36|Willi Kusche|Re: Problem found while recreating source|
Hi!

| 121|95|2004-11-27 16:15:58|laurieboshell2004|Re: Problem found while recreating source|
Hi Willi,

Phew....
What a development cycle! I hope that it is not too lengthy that you
lose interest!.

I was given a IIgs today and I was able to run my modified UCSD I.5
system on it. (I did not know if it worked on a IIgs). I'll spend
some time assembling all the old I.5 files (almost identical to UCSD
II.0, which is not too far from the source that you are working on).

Too bad we can not obtain source for the old Apple stuff!

BTW: I copied my Apple Pascal 1.3 files to an apple 3.5 inch disk but
it won't boot: I get a "MUST BOOT FROM SLOT 6" error. I suspect that
the first 2 boot cblocks are different. Any ideas/help?

Cheers,

Laurie.
| 122|95|2004-11-27 16:35:26|GarberStreet|Re: Problem found while recreating source|
Hi Laurie,

< snip unneccessary stuff
: BTW: I copied my Apple Pascal 1.3 files to an
: apple 3.5 inch disk but it won't boot: I get a
: "MUST BOOT FROM SLOT 6" error. I suspect that
: the first 2 boot cblocks are different.
:
: Any ideas/help?

This is Bill, not Willi, but, I can tell you that
if it is requiring that it boots from SLOT 6, then
it probably has SLOT 6 references throughout and
will need extensive modifications.

The only other method of running it from 3.5" disk
would be to use a Liron controller with a UniDisk
3.5" drive, or a Superdrive card and drive.

If Willi has a better solution then I'd be
interested in that as well. Not for UCSD, but
for other systems that say they require SLOT 6.

Bill @ GarberStreet Enterprizez



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.796 / Virus Database: 540 - Release Date: 11/13/04
| 123|95|2004-11-28 08:44:07|John B. Matthews M.D.|Re: Problem found while recreating source|
On Nov 27, 2004, at 9:14 AM, laurieboshell2004 wrote:

I had no luck formatting 3.5" boot disks for Pascal using Apple II
System Utilities, version 3.1. What finally worked was using the Pascal
program APPLE3:FORMATTER.CODE. A correctly formatted boot block for 1.3
says you must boot from slot 4, 5 or 6.

John
----
jmatthews at wright dot edu
http://www.wright.edu/~john.matthews/
| 124|95|2004-11-28 14:51:43|laurieboshell2004|Re: Problem found while recreating source|
Hi all,

Perhaps I should have been more precise:
I've only had the IIGs for 2 days!!
3.5 inch disc formatted with Apple Pascal 1.3 Apple3:Formatter.code.
All files from Apple Pascal 1.3 Apple1: transferred to 3.5 inch disc.
Boot sectors from booting 5.25 inch Apple Pascal 1.3 Apple1: copied
to boot sectors of 3.5 inch disc (pascal blocks 0 and 1).
Hardware: Apple IIgs, first drive a 5.25 floppy and daisy chained
3.5 inch drive.
With the 5.25 floppy drive empty, the 3.5 inch will boot a prodos
disc but not an Apple Pascal 1.3 disc. (Must boot from slot 4,5,or 6)

I thought it would be nice to boot directly from the 3.5 inch drive.
Am I expecting too much ?

Cheers,

Laurie.
/
| 125|33|2004-11-28 15:01:25|laurieboshell2004|Re: IBM PC version of UCSD, anywhere?|
--- In UCSDPascal@yahoogroups.com, "Hans Otten" I've gone through a LOT of old files and computers and I've found a
working copy of the MS-DOS hosted p-system version IV.2.1 (Pecan).
It works on my XP machine in a DOC box under Windows! What should I
do? I'm not sure of the copyright situation so at this stage I'm a
little reluctant to post it on this group.

Cheers,

Laurie
| 126|33|2004-11-28 15:24:39|Mithrandir|Re: IBM PC version of UCSD, anywhere?|
--- laurieboshell2004 <laurieboshell2004@... wrote:

Does it look like the earlier versions with the
standard prompt-line at the top? I remember the
version for the TI-99/8 used menus instead of the
promptline that IV.0 used on the 99/4A. I can't
remember WHAT version it was - either IV.1.x or IV.2.x

I hated the look of the menu system...

Ben



__________________________________
Do you Yahoo!?
The all-new My Yahoo! - What will yours do?
http://my.yahoo.com
| 127|95|2004-11-28 15:57:30|John B. Matthews M.D.|Re: Problem found while recreating source|
On Nov 28, 2004, at 7:51 AM, laurieboshell2004 wrote:

[...]

This is the problem. Don't copy the boot blocks from a 5.25" disk! The
Pascal formatter writes the correct boot code to the 3.5" disk. Just
copy the files after you've formatted the disk.

Not at all.

John
----
jmatthews at wright dot edu
http://www.wright.edu/~john.matthews/
| 128|33|2004-11-28 17:44:36|Randy McLaughlin|Re: IBM PC version of UCSD, anywhere?|
| 130|33|2004-11-29 22:17:08|laurieboshell2004|Re: IBM PC version of UCSD, anywhere?|
It is wonderful to see some interest.
I will assemble some files and e-mail to those who have requested in
the next few days.
PS: Thanks to the group's help I now have Apple Pascal 1.3 booting.
| 131|33|2004-11-29 22:45:01|Chris Schneider|Re: IBM PC version of UCSD, anywhere?|
Message
I would definately be interested in the IBM PC version of UCSD as well..
 
Chris
 
| 132|33|2004-11-30 02:30:36|Mithrandir|Re: IBM PC version of UCSD, anywhere?|
How about just uploading it to the file section here?

Ben

--- Chris Schneider <clssr1@...
<http://us.ard.yahoo.com/SIG=1299ca16t/M=298184.5639630.6699735.3001176/
D=groups/S=1705115371:HM/EXP=1101845829/A=2434971/R=0/SIG=11eeoolb0/*htt
<http://us.adserver.yahoo.com/l?M=298184.5639630.6699735.3001176/D=group
UCSDPascal-unsubscribe@yahoogroups.com?subject=Unsubscribe __________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
| 133|33|2004-11-30 02:35:11|GarberStreet|Re: IBM PC version of UCSD, anywhere?|
I agree, unless there is something that could
be wrong with it.

: How about just uploading it to the file section here?
:
: Ben

Bill @ GarberStreet Enterprizez


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.796 / Virus Database: 540 - Release Date: 11/13/04
| 134|134|2004-12-02 21:05:56|mjdohert377|Q: creating a RAMdisk for Apple Pascal?|
I love hacking around in Pascal ... but SO disk-intensive. I'd
like to spare some wear on my ancient drives by creating one or more
RAMdisk volumes on my Applied Engineering 1MB RAMWorks II. Has anyone
ever tried doing this? Do you know (or better yet, HAVE) the software
and method required? If so, how do you handle bootup & initialization?

Related question - are any of you utilizing a mass storage unit (e.g
hard drive or Compact Flash CFFA card) for Pascal volumes? How is that
accomplished? What limitations? What is your configuration?

I know there is one nasty limitation of max 77 files per volume, and
sub-directories are not supported.
| 135|134|2004-12-02 23:14:53|Willi Kusche|Re: Q: creating a RAMdisk for Apple Pascal?|
Hi!

| 136|108|2004-12-04 00:14:52|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /Ucsdramd
Uploaded by : wilserv_41 <willi@... Description : RAMDrive software for many versions pf Apple Pascal

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/Ucsdramd

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

wilserv_41 <willi@...| 137|134|2004-12-04 07:37:45|mjdohert377|Re: Q: creating a RAMdisk for Apple Pascal?|
No, it mentioned ramdrives for DOS 3.3. and ProDOS, but not Pascal.
There was only a brief reference to Pascal to say that the 80-column
mode is automatically switched on when you boot it.

Willi, thank you very much for uploading that disk image, that is
precisely what I was looking for! I saw that the README.TEXT on the
disk fully documents the software, so I extracted it and posted the
file for any group members who want to learn more.

p.s. file 'UCSDRAMdrive' should be renamed 'UCSDRAMdrive.dsk' to be
recognized by Apple II emulators (AppleWin etc.)
| 138|138|2004-12-12 20:29:07|Richard Kaufmann|Just in case you want to see what happened at the reunion...|
Hi Folks,

I just tripped over your group via a google search.

We had a 30 year reunion of UCSD Pascal October 22nd. During the
afternoon we had a technical session. I was happy that almost everyone
from the project was able to attend. Besides the parade of
restrospective talks (see http://www.jacobsschool.ucsd.edu/Pascal/), one
of UCSD's current stars gave an interesting talk on digital illumination.

The evening session was a tribute dinner to the project, with special
tribute paid to Ken Bowles. The UCSD Chancellor, the Dean of
Engineering, and Bud Tribble (VP of Apple) were all there. Bud gave a
very gracious and well-received talk about the influence UCSD Pascal had
on Apple's machines. He even presented Ken with a shiny new iMac as a
token of Apple's appreciation.

Anyway, all the artifacts are at
http://www.jacobsschool.ucsd.edu/Pascal/, including presentations and
videos. I wound up going through my junk piles and found some
textbooks, some listings of the OS, compiler, editor, etc., and plan to
give the whole lot to the UCSD Library.

Cheers,

Richard Kaufmann
| 139|138|2004-12-13 00:51:40|Randy McLaughlin|Re: Just in case you want to see what happened at the reunion...|
Can you scan any of the listings for our community?

Randy


| 143|143|2004-12-25 06:24:55|Keith|Hello, I'm a new member.|
Hello everyone,

I recently bought an Apple II+ from ebay. (It was my first computer.)
I never used UCSD pascal before, but I'd like to know more about it.
(I learned Pascal on PC -- Turbo Pascal, a long time ago.)

A few questions:
- Why do you still program in UCSD? Hobby?
- Does anyone know where I can get UCSD for Apple II?
- Any manuals, tutorials?

Thanks and happy holidays.
| 145|145|2004-12-25 13:48:54|Laurie Boshell|COMPATICARD IV|
I'm trying to read some old UCSD pascal 8" drives that I know have
source for I.5 and II.0. I have a compaticard IV bot not the proper
disk with the drivers (cc4DRV.SYS and CC4bios.sys) for the IBM PC.

Can anyone help?

Cheers,

Laurie at pnc dot com dot au
| 147|143|2004-12-27 09:48:35|Shirl|Re: Hello, I'm a new member.|
Keith,

I use Apple II Pascal version 1.3, this was the last version Apple created
around 1985. I use it for hobbyist programming projects such as disk
archival programming.

I recommend that you use at least an Apple IIe computer since it has the
arrow keys which make the editor easier to use. The IIe also has typically
an 80 column text card which makes programming much easier versus the 40
column display.

I personally use an Apple IIc-Plus computer which is great since 1) it runs
4 times faster than the older IIe or IIc models, 2) it supports the 3.5"
800K disks which allows you to have all you Pascal files on one disk, and 3)
the IIc family is very compact (the "c" in IIc) which means it takes up less
desk space. I also have 2 5.25" 140K drives connected to my IIc so that I
can read and copy these disks when needed.

eBay sells Apple Pascal versions and Apple II computers. www.SyndiComm.com
aslo sells this stuff.

- David Craig

----------
| 148|148|2004-12-27 16:49:01|Shirl|Apple II Pascal v1.3|
Keith

Additional information continuing my previous email to you ...

Apple II Pascal version 1.3 also has a great manual, much improved over the
earlier manuals. Very comprehensive with detailed description of the Apple
II UCSD variant and Apple II specific information such as the UNITSTATUS
command which gives you access to disk devices.

Manual is a huge single volume with around a 500 pages if I recall
correctly. Comes in in a 3 ring binder notebook.

Syndicomm (www.syndicomm.com) has Apple II Pascal v1.3 with manual for sale
for $55. Believe the manual it sells is just a photocopy :-(

http://store.syndicomm.com/product_info.php?products_id=55

Apple Pascal 1.3
[APDA-24] US$55.00

This is Apple Computer's implementation of the University of California San
Diego (UCSD) p-system for the Apple II family of computers. Develop software
in Pascal that will run on any Apple II.

Features include:

* A complete development and operating environment supporting the Pascal
language, with linker, filer (file-management utility), editor, 6502
assembler, and p-code interpreter.
* A Pascal compiler, which generates p-code files executed by the
interpreter.
* The Apple II Pascal v1.3 Device Support Tools, which provide support for
writing and attaching device drivers for use with the Pascal v1.3 operating
system.
* A system.attach file that allows the drivers written for v1.2 to work
correctly with v1.3.
* Sample programs.

Includes

1134 8.5"x11" pages of documentation, with index and table of contents,
drilled for notebook (notebook not included)
Five 5.25" disks
One 3.5" disks

System requirements

Two 5.25" drives or one 3.5" drive
64K of RAM or more

- David Craig

----------
| 149|148|2004-12-27 17:29:49|Keith Kim|Re: Apple II Pascal v1.3|
Shirl,

Thank you very much for the information. I guess there is no way to
download the software or the manual from the net?



Shirl and everyone in the group,

Thanks for your replies. I'm glad that there are still people out
there who are interested in this old computer.

I have a few more questions:
- What's the difference between UCSD pascal and Apple pascal? Does
Apple Pascal use DOS 3.3, instead of "UCSD" OS?
- Any other programming languages for Apple II platform? I know there
are Apple BASIC and variants of other BASICs, assembly, and pascal for
CP/M. (It seems that it's more difficult to get CP/M software than
Apple DOS software, however.) Is there "C" compiler?
- I wonder what language/platform the professional programmer used for
Apple II in the old days, besides assembly, let say for complicated
games at that time. (Complicated enough that it's too difficult to
write in assembly.) Any ideas?
- I never used 80-column card for Apple II *plus*, but I'm thinking of
buying it. Does it need any driver program or is it only supported by
the certain applications?
- Is there any web based, very active Apple II user groups?

Thanks all and have a great day,

Keith


--- Shirl <shirlgato@...
--------------------------------------------------------------------~- __________________________________
Do you Yahoo!?
Yahoo! Mail - now with 250MB free storage. Learn more.
http://info.mail.yahoo.com/mail_250
| 153|148|2004-12-28 18:14:04|Keith Kim|thanks all -- btw...|
Thanks Hans and Shirl.

Btw, I asked around about life expectancy of TTL chips which Apple II
computer uses. People who are in semi conductor industry told me that
it lasts about 10 years. Of course, no one uses Apple II computer 24
hrs a day for 10 years. But this makes me concern and thinking that
may be I should keep the computer as a collection, rather than using it
frequently. Do you use your old computer often?




__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
| 154|148|2004-12-28 20:41:48|Randy McLaughlin|Re: thanks all -- btw...|
| 155|148|2004-12-28 20:56:07|Keith Kim|Re: thanks all -- btw...|
Thanks Randy for your input.

"Some chips go out every once in a while..." Yes, that's exactly the
concern. I know other parts also break. I think 6502 CPU is still
sold and compatible power supplies, and keyboard, I think it can be
fixed. And all TTL chips in Apple II are standard (I was told) that
they can be replaced. But not the RAM chips. And the RAM chips not
being manufactured any more, I was told. The old computer may be still
running, but may be it is not heavily used?

...I don't know -- I'm not claiming anything. Some people told me that
TTL lasts only about 10 years (not calendar time, but usage time, I
guess) and that made me little concerned. I just want to keep the
computer in running condition as long as I can. :-)



--- Randy McLaughlin <randy@...
__________________________________
Do you Yahoo!?
Dress up your holiday email, Hollywood style. Learn more.
http://celebrity.mail.yahoo.com
| 156|148|2004-12-28 21:04:42|Randy McLaughlin|Re: thanks all -- btw...|
| 157|148|2004-12-28 21:13:01|Keith Kim|Re: thanks all -- btw...|
Thanks Randy. I think I'm going to buy another for spare.


--- Randy McLaughlin <randy@...
__________________________________
Do you Yahoo!?
Yahoo! Mail - Find what you need with new enhanced search.
http://info.mail.yahoo.com/mail_250
| 158|108|2004-12-31 02:46:35|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /15SYS1.VOL
Uploaded by : laurieboshell2004 <laurieboshell2004@... Description : Disk 1 of the UCSD PASCAL I.5 system with source, for CP/M. This is a 360k disk image mountavle as avolume by the PC dos hosted p-system

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/15SYS1.VOL

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

laurieboshell2004 <laurieboshell2004@...| 159|159|2005-01-03 09:30:03|Randy McLaughlin|Pascal files|
I've put some Pascal files on my website (in the Pascal link):

www.s100-manuals.com

None of the current files are from me but have been floating around.

More to come soon.

Please look you won't be disapointed.

Randy
www.s100-manuals.com
| 160|108|2005-01-03 09:44:48|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /ADAP6502.VOL
Uploaded by : randy482 <randy@... Description : 6502 adaptable psystem from OSI disks

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/ADAP6502.VOL

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

randy482 <randy@...| 161|108|2005-01-03 09:47:47|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /VOLITION.VOL
Uploaded by : randy482 <randy@... Description : BOOTABLE Volition System's II.0 p-code system that hosted their modula-2 compiler

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/VOLITION.VOL

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

randy482 <randy@...| 162|108|2005-01-03 10:00:57|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /psystem1.zip
Uploaded by : randy482 <randy@... Description : DOS hosted psystem executables part 1

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/psystem1.zip

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

randy482 <randy@...| 163|108|2005-01-03 10:07:09|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /IV2UTILS.VOL
Uploaded by : randy482 <randy@... Description : DOS hosted psystem part 2

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/IV2UTILS.VOL

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

randy482 <randy@...| 164|108|2005-01-03 10:09:51|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /PECAN.VOL
Uploaded by : randy482 <randy@... Description : Part of DOS hosted package

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/PECAN.VOL

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

randy482 <randy@...| 166|166|2005-01-04 22:26:34|Randy McLaughlin|Another source of psystem disk images|
On another group I was reminded of some other UCSD files:

ftp://ftp.update.uu.se/pub/rainbow/p-system/

I am not sure of the version but it includes the Fortran compiler (I'm not
sure what else).

The native Rainbow format is double density 80 tracks 10 sectors single
sided. I'm going to see what it takes to turn them into vol files
compatable with the DOS hosted system, if anyone else gets to it before me
let us know.


Randy
| 167|166|2005-01-04 22:29:22|Randy McLaughlin|Re: Another source of psystem disk images|
Makes me look stupid, I am on so many antique groups I didn't notice Hans
had posted the link on this group until after I pressed send :)

Randy
| 169|169|2005-01-06 06:24:25|James M. Postle, Sr.|TI-99/4A P-Code Card and System|
Over the last decade and plus many more years I gain a P-Code Card
the Manual and Software for my TI-99/4A system. These items did not
all come in one package. Each came under a seperate cover over very
many years. Today was the first time I have ever got to run the card
and be able to boot the software. It all seems to work well.

I was wondering if someone had a program that could be used as a
DEMO for the use of this card. I would also need instructions on
how to make the program run.

If you have such a program that I could use, please contact me via
private mail.

This functional system has been a long time coming for my use.

Postle
| 170|169|2005-01-07 15:05:35|ti99_forever|Re: TI-99/4A P-Code Card and System|
--- "James M. Postle, Sr." <postle@... wrote:

I'm not sure exactly what you are looking for...
A demo of what? There is a collection of USUS disks
that has a test suite for the UCSD system. I think I
ran some once. There is also a word processor and a
spreadsheet application. The word processor isn't much
more than a modified version of the Editor that came
with the package. The spreadsheet is a multiple sheet
(3D) spreadsheet, whose name I cannot remember (begins
with "Free", I think - perhaps "Freeform"? Or maybe
that's the word processor?).

Also, I have one or two programs I typed in myself,
like the "Eight Queens" demo and a version of "Star
Trek" for the UCSD Pascal system.

One of the first demos you might try to key in
yourself is in the manual. It is the one demonstrating
sprites. They are much more powerful in Pascal,
because their actions can be tied to the interrupts -
easily. The demo program here is pretty cool, even
though it simply moves a sprite in the shape of an "A"
in a diamond pattern.

There is also an exceptional sound library - from
reading it a dozen times I can only assume you'd want
to write a program to create the sound list, save the
sound list, then load just the sound list in a
finished program. Wonder why no-one ever wrote a
program that allowed you to create sound lists. But
then again, not much was ever written for TI Pascal.
Evidently, much more was written for the older version
of Apple Pascal - but I haven't seen much on this
group about programs, just about
recovering/recompiling the source.

There was also a Tax program from Aardvark software,
which of course would be tremendously out of date.

There is a terminal emulator program, interestingly
called TEP, that supports Xmodem transfers. It can be
hard to transfer files to the P-system. This helps if
you have another computer.

I have a collection of programs that is supposed to
give TI Pascal a version of the Turtle graphics unit
that other Pascal's have. It was written by Anders
Persson. I text-captured it years ago, but it is a
pain to type it all in and paste doesn't work on PC99.
I was hoping Tursi would get Classic99's P-system
working, as paste works well on that emulator. No, I'm
not a MESS user - can never get past the durn title
screen.

Do you have all of the manuals? P-system,
Editor/Filer, Utilities, Compiler, Asembler, Linker?

I'd love to share some of my stuff, but it is
scattered. I used the P-system on PC99 emulator on a
laptop and on my desktop, and have been trying to
collect everything and put it where it belongs - on my
real TI.

Ben

=====
Ben

System Uptime: 00d 00h 09m 25s
OS: Win98SE



__________________________________
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.
http://promotions.yahoo.com/new_mail
| 171|134|2005-01-10 22:53:45|mjdohert377|Re: Q: creating a RAMdisk for Apple Pascal?|
--- In UCSDPascal@yahoogroups.com, "mjdohert377" laptop to Apple II and followed the instructions to set it up.

Outcome: a 1,016 block ramdrive with all system files and blocks on it. Also, it becomes the boot volume which basically means
ALL operations can be carried out using the ramdrive. I tell you,
it's uncanny to go in and out of the Filer, Editor, compile and run
programs in utter silence with no floppies grinding away. Things go a
lot faster too. Thanks again, Willi.

I have the chips to bump my RAMWorks II up from 512K to 1MB, but right
now I can't see the incremental benefit, I'm spoiled for room as it is.

Glitch: it worked fine on a plain vanilla 64K Pascal system, but the
ramdrive initialization code had a problem when it ran on a 128K
system *. While executing SYSTEM.STARTUP, it stopped with the message

Put in :
Press RETURN to continue

or words to that effect. Pressing RETURN did nothing and I had to
reboot. I will have to fiddle with this a bit more .. the software
claims to work fine for both 64K & 128K, and all versions 1.1, 1.2 and
1.3.

* This does not refer to physical machine memory, but is a
configuration of the Apple Pascal system. The 64K configuration will
work on any 64K or above machine, but the 128K system obviously
requires at least an extra 64K in the //e aux slot. The change
involves replacing the normal SYSTEM.APPLE and SYSTEM.PASCAL with new
128K.APPLE and 128K.PASCAL files off the APPLE3: disk (renamed to
SYSTEM.=)
| 172|108|2005-01-12 03:13:27|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /RAINBOW.zip
Uploaded by : randy482 <randy@... Description : Rainbow pascal disks converted to DOS hosted files

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/RAINBOW.zip

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

randy482 <randy@...| 173|166|2005-01-12 03:16:22|Randy McLaughlin|Re: Another source of psystem disk images|
I have converted the Rainbox disk images to DOS hosted .VOL files and they
are available from my website www.s100-manuals.com as well as the FILES
section of the group.

Do download them there are some real goodies in them.


Randy
www.s100-manuals.com
| 174|174|2005-01-13 08:36:41|Randy McLaughlin|Another treasure trove of psystem files|
I posted another zip file on my website,

It is over 5mb and so I didn't post it on the UCSDPascal site.

It is from a Terak collector.

Just click on the Terak link.


Randy
www.s100-manuals.com
| 175|175|2005-01-13 09:26:11|Randy McLaughlin|DOS hosted psystem quick start notes|
When I posted the DOS hosted psystem files I failed to forward some helpful
info on use:

Unzip the files into the folder you want to use.

Start by executing the file psystem (either from command line or double
clicking on it).

It supports volumes #14..#19, volume psystem.vol get mounted on #14 by
default. The volumes can be specified on the command line and are mounted
in order.

To mount or dis-mount volumes from the psystem run the dosfiler.code
program: X-
If anyone has more or better instructions let me know.


Randy
| 176|176|2005-01-13 23:51:46|Randy McLaughlin|Looking for sources of psystem disk images|
If anyone has old psystem disks of interest to this group but no longer have
the hardware to read them let us know and we may be able to put our heads
togather for an answer.

I'll post any that people are willing to share.

By building this archive we are actually doing two very important things:

Bringing older disks to our PC's (readable by the DOS hosted system).

Archiving older boot disks. This can allow people with old hardware to
bring up their older systems.

I have two more sources of psystem disks I'll see about transfering -
TI-99/4A psystem disks and NorthStar-DD psystem. Both of these use odd-ball
disk formating and may take a little effort to transfer, if anyone has
already done it let me know.


Randy
| 177|177|2005-01-14 08:22:44|Randy McLaughlin|Call for pcode interpreter sources|
Does anyone have any source code for psystem interpreters?

Randy
| 178|177|2005-01-14 23:13:10|Laurie Boshell|Re: Call for pcode interpreter sources|
--- In UCSDPascal@yahoogroups.com, "Randy McLaughlin" I have some: ver IV.1 for 68000 and for 8086 (not DOS hosted).

I will post here but I estimate 3-5 days to locate it.

Laurie.
| 179|108|2005-01-14 23:16:40|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
Hello,

This email message is a notification to let you know that
a file has been uploaded to the Files area of the UCSDPascal
group.

File : /UCSDEDIT.ZIP
Uploaded by : laurieboshell2004 <laurieboshell2004@... Description : Complete source code for the E.4 editor (SYSTEM.EDITOR). You saw it here first!

You can access this file at the URL:
http://groups.yahoo.com/group/UCSDPascal/files/UCSDEDIT.ZIP

To learn more about file sharing for your group, please visit:
http://help.yahoo.com/help/us/groups/files

Regards,

laurieboshell2004 <laurieboshell2004@...| 180|177|2005-01-15 05:10:33|Shirl|Re: Call for pcode interpreter sources|
Attachments :
    Randy

    Attached is a disassembly of the Apple II Pascal v1.1 6502 interpreter.
    Maybe this will have enought information for your needs. If you come across
    the actual Apple II Pascal interpreter source, that is something I would
    like to see.

    I also have the actual not disassembled interpreter source for a DEC PDP
    which originated in the USUS archive.

    Q: Why the interest in these interpreters? Just curious.

    - David Craig

    ----------
    | 181|177|2005-01-15 05:11:59|Shirl|Re: Call for pcode interpreter sources|
    Randy

    I also have a detailed description the Apple III Pascal p-code interpreter
    which was part of the Apple III Pascal manual set. Apple III Pascal and
    Apple II Pascal p-code is 99% the same.

    I plan to scan this info one of these days since it seems like a good
    resource for understanding p-code. This info is most likely just a reprint
    of the UCSD Pascal architecture manual.

    - David Craig

    ----------
    | 182|177|2005-01-15 06:01:40|Willi Kusche|Re: Call for pcode interpreter sources|
    Hi, y'all!

    | 185|177|2005-01-15 17:39:30|Shirl|Re: Call for pcode interpreter sources|
    Hans

    How do I do this?

    - David Craig

    ----------
    | 186|177|2005-01-15 17:47:16|Shirl|Re: Call for pcode interpreter sources|
    Hans

    Hyde's Apple II p-code book is a great book. I have a copy.

    One problem with this interpeter, and with any interpreter in general, is it
    is slow. I believe around 5-10 slower than native machine code. As such,
    Hyde's speed improvements make this interpreter a little faster, but not by
    any significant amount.

    I've read of p-code to machine code translators which can improve the speed
    a lot but these are also somewhat slow due to the translation itself.
    Unfortunately, for systems such as the Apple II in which memory was rather
    limited (64-128K typical) this translation needs to be done on an
    instruction by instruction basis. The translated result is not saved. It is
    interesting to compare this type of dynamic translation to Apple's Macintosh
    68000 emulation for its Power PC machine which is done in a static manner.
    The translated/emulated 68000 code is stored in memory to be executed again
    without another translation. Obviously, lots of memory is needed for this.
    Apple wrote a technical note on this technical which is worth reading if you
    have an interest in stuff like this.

    One other way to improve the speed of p-code is to have a dedicated
    processor whose native language is p-code. Western Digital, a processor
    maker, did this with what I believe was called the p-engine chip in the 80s.
    The host computer, which had its own processor, would transfer control to
    the p-engine processor when p-code execution was needed.

    - David Craig

    ----------
    | 187|177|2005-01-15 19:24:52|Ksarul|Re: Call for pcode interpreter sources|
    One other way to improve the speed of p-code is to have a dedicated
    processor whose native language is p-code. Western Digital, a processor
    maker, did this with what I believe was called the p-engine chip in the 80s.
    The host computer, which had its own processor, would transfer control to
    the p-engine processor when p-code execution was needed.

    - David Craig


    WD9000 P-ENGINE

    Taxonomy category: SS0
    Implementation: 5-Chip LSI set
    Applications: Direct execution of Pascal P-code
    Who and when: Western Digital, 1979
    References: O'Neill (1979)

    The Western Digital Pascal micro-engine (the WD9000 chip set) was built to
    execute Pascal P-code. Since P-code presumes the existence of a single data
    stack, the WD9000 supported a single program memory resident stack for
    expression evaluation and parameter passing.

    http://www.ece.cmu.edu/~koopman/stack_computers/appa.html

    Found a reference to it here. I remember this was EXTREMELY hard to find
    back then. . .

    Jim Fetzner
    | 188|177|2005-01-15 19:39:03|willi@wilserv.com|Re: Call for pcode interpreter sources|
    Hi, y'all!

    Quoting Ksarul <vze23g4a@... There was a WD9000 system on eBay a number of years ago. I gave up at $400,
    it went for about $1400, if I remember correctly.

    Willi
    | 189|177|2005-01-16 03:33:00|Randy McLaughlin|Re: Call for pcode interpreter sources|
    In answer the reason I want sources to the interpreters is to help
    complete the archiving of the p-system.

    I collect and donate to many vintage computer projects.

    Randy


    | 193|176|2005-01-17 03:14:10|ti99_forever|Re: Looking for sources of psystem disk images|
    --- Randy McLaughlin <randy@...
    Sources for the 99/4A P-system? Interesting! If you
    need any help, we 99/4A'ers are here!

    You might find TI99-PC to be a useful utility, it will
    allow you to use a PC to read the disks. Although you
    will wind up with a "PASCAL" file. I have a utility
    that will extract P-system files, but it is a
    copyrighted file that came with an emulator (PC99). I
    also have my original system with P-code card.

    Let me know. Contact me privately if you need to...



    =====
    Ben

    System Uptime: 00d 00h 09m 25s
    OS: Win98SE



    __________________________________
    Do you Yahoo!?
    Yahoo! Mail - Easier than ever with enhanced search. Learn more.
    http://info.mail.yahoo.com/mail_250
    | 194|177|2005-01-17 03:23:24|Shirl|Re: Call for pcode interpreter sources|
    Hans

    I went to this web site and saw a label o the left side saying "Files". But
    when I click this nothing happens. I cannot find any "add file" option on
    this web site.

    How exactly can I upload files to this Yahoo UCSD pascal web site?

    - David Craig

    | 195|176|2005-01-17 03:23:58|Randy McLaughlin|Re: Looking for sources of psystem disk images|
    By sources I am referring to more disks of binaries not disks of sources,
    semantics.

    Randy


    | 196|177|2005-01-17 03:28:46|Randy McLaughlin|Re: Call for pcode interpreter sources|
    You must sign in first.

    Randy

    | 197|176|2005-01-17 03:32:10|ti99_forever|Re: Looking for sources of psystem disk images|
    --- Randy McLaughlin <randy@...
    ftp.whtech.com would be a nice place to put them, as
    well. They should be in PC99, V9T9 or MESS format. I
    can't think of another way to put them up unless you
    have DCOPY on a TI and then archive them.



    =====
    Ben

    System Uptime: 00d 00h 09m 25s
    OS: Win98SE



    __________________________________
    Do you Yahoo!?
    Read only the mail you want - Yahoo! Mail SpamGuard.
    http://promotions.yahoo.com/new_mail
    | 199|176|2005-01-17 21:53:29|Randy McLaughlin|Re: Looking for sources of psystem disk images|
    From: "Hans Otten" <h.otten@... For me archiving means everything:

    Binaries, source code, documentation.

    It is easy to say that if you have the source code you can recreate the
    binaries but the truth is only by comparing the binaries can you be sure you
    have a working build environment.


    Other than the editor how many other portions of the p-system are able to be
    compiled?


    Randy
    www.s100-manuals.com
    | 201|177|2005-01-19 23:47:57|Randy McLaughlin|Re: Call for pcode interpreter sources|
    From: "Hans Otten" <h.otten@... I uploaded it to my website.

    Randy
    www.s100-manuals.com
    | 203|177|2005-01-26 00:19:23|drvanthorp|Re: Call for pcode interpreter sources|
    Is it avialable as anything other than a PDF file?
    | 204|108|2005-01-26 04:21:38|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /TI/turtlegr.zip
    Uploaded by : ti99_forever <ti99_forever@... Description : Turtlegraphics Unit for the TI P-System

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/TI/turtlegr.zip

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    ti99_forever <ti99_forever@...| 205|108|2005-01-26 04:29:55|Ben Yates|Re: New file uploaded to UCSDPascal|
    I've uploaded a PC99 disk (in a zip file) containing the
    Turtlegraphics Unit written by Anders Perrson. He originally posted
    the text files on ftp.whtech.com some time ago (2-3 years). Getting
    source to a TI P-system is a little hard, and I never wanted to spend
    time on it. It wasn't really easy, but I found a program that did
    eventually work.

    Anyway, the TI P-system did not have a Turtlegraphics Unit - most
    likely because at the time it was developed, the 99/4A with its bitmap
    mode wasn't out yet - only the 99/4 was available.

    This is a very extensive unit, with both monochrome and color
    abilities, with several penmodes. It requires bitmap space be
    allocated by a BITRESERVE program or that your code be set to 9900
    (not pseudo) by the SETLTYPE utility that came with the TI software.
    This is because the TI-Psystem has two code pool areas (VDP RAM - 12k,
    CPU RAM - 24k).

    It has some demo programs, although the majority of them contain
    references to Units not provided - like an external timer or analog
    joystick.

    See the README.TEXT file on the disk.

    Ben
    | 206|206|2005-01-27 08:14:32|Eric Smith|disassemblers?|
    Does anyone have copies of any of these p-code disassemblers, or
    any others?

    Pascal Tools II by Advanced Business Technology

    PDQ by Datamost

    DECODE by Thomas Brennan

    I could write my own, but don't want to spend time reinventing the
    wheel if someone already has one.

    Eric
    | 207|207|2005-01-27 08:27:17|Eric Smith|software, docs for Pascal Microengine wanted|
    I have a WD90 Pascal Microengine, and two AVAB Viking systems that
    are based on the WD Modular Microengine board set, but only a
    incomplete (stripped-down) boot disk.

    Photos of the systems may be seen here:
    http://gallery.brouhaha.com/microengine

    Also looking for any documentation (hw or sw) other than the
    March 1979 preliminary edition of the reference manual.

    Documentation on the WD/9000 chipset or the Modular Microengine
    would be especially useful.

    Thanks,
    Eric
    | 208|207|2005-01-27 08:36:51|Randy McLaughlin|Re: software, docs for Pascal Microengine wanted|
    | 209|206|2005-01-27 15:00:02|John B. Matthews M.D.|Re: disassemblers?|
    On Jan 27, 2005, at 1:14 AM, Eric Smith wrote:

    Eric:

    I was able to compile and execute a combined disassembler I found on
    Dave Tribby's Apple Pascal Archive, volume PRDEV:.

    http://www.callapple.org/apple2/software/tribby/apascal.html

    HTH

    John
    | 210|108|2005-01-31 21:04:10|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Mac/UCSD Pascal 2.img
    Uploaded by : wilserv_41 <willi@... Description : Image of disk 2

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Mac/UCSD%20Pascal%202.img

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 211|108|2005-01-31 21:07:42|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Mac/UCSD Pascal 1.img
    Uploaded by : wilserv_41 <willi@... Description : Image of disk 2

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Mac/UCSD%20Pascal%201.img

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 212|12|2005-02-02 00:18:58|Stuart Bell|Re: Let me introduce myself|
    --- In UCSDPascal@yahoogroups.com, Hans Otten reading the whole archive, and Hans' self-introduction has so many echoes of my 'history'
    that it seemed a good place to 'jump in'!
    I'm Stuart Bell, live in Southampton, England, aged 50 last week - so very near
    contemporaries!
    Did my CS study 1973-76, learning, among others, Algol and Psacal. Started teaching CS
    in 1978, and soon found UCSD Pascal for my Apple II, and for North Star Horizons in the
    college where I was teaching,

    I started with a ZX-81, but soon went for an Apple II! I dis-assembled and re-wrote the
    Apple Pascal BIOS to drive home-brew 80-column and 8" floppy drive interface cards
    which a friend designed and I built. He had a home-brew Z80 machine, which he designed
    from chip-level, We 'pulled' the North Star p-System onto my Apple II, and then
    transferred it to his home-brew machine. He wrote a new BIOS, and had the p-System (I.5)
    running on his homebrew!
    I did run Apple Pascal briefly on a IIe card in an old Mac, but now being a Mac 'nut' would
    love to have my first expereince of the p-System on the Mac properly. (I remember when it
    cost £400!) A message on the Low End Mac Compact Mac mailing list (which I 'nanny')
    alerted me to this group!

    I remember 'P-Source' with great affection, and regret ever getting rid of it. It was a true
    'uber-geek' publication!

    Stuart Bell
    | 213|2|2005-02-02 00:22:48|Stuart Bell|Re: Apple II and TI-99 comparison|
    --- In UCSDPascal@yahoogroups.com, Mithrandir ROM-disk, It had the p-code interpreter and BIOS on it to reduce boot times!

    Please excuse all these odd comments as I catch up on the Archive.

    Stuart
    | 214|12|2005-02-02 00:25:52|Randy McLaughlin|Re: Let me introduce myself|
    From: "Stuart Bell" <stuartsmacs@... Sent: Tuesday, February 01, 2005 4:17 PM
    I just bought 'P-Source' from Amazon's used books for $4.50.


    Randy
    | 215|25|2005-02-02 00:30:32|Stuart Bell|Re: Intentions|
    --- In UCSDPascal@yahoogroups.com, "Ben Yates" Users' Society (USUS) UK Conference. Because the C-64 had a very very slow disc system
    accessed over a serial port, it was soooo slow as to be unusable.

    There were two Mac versions, one 'stand alone' and a complier which interfaced better to
    Mac OS.

    There was a generic 68K system, often run on a 68K computer called a 'Sage'.
    There were 8086 stand-alone systems and 8086 MS-DOS hosted systems,
    There were generic Z80 p-Systems.

    Stuart
    | 216|108|2005-02-02 01:48:30|Stuart Bell|Re: New file uploaded to UCSDPascal|
    --- In UCSDPascal@yahoogroups.com, UCSDPascal@yahoogroups.com wrote:
    Hi!
    Please could you clarify what's on these two Mac disc images?
    Thanks,
    Stuart
    | 217|2|2005-02-02 02:22:58|ti99_forever|Re: Apple II and TI-99 comparison|
    --- Stuart Bell <stuartsmacs@...
    Sounds like the TI P-Code card. It has 12k ROM in 8k
    peripheral space for the interpreter (upper 4k
    bank-switched) with Unit #14 being on a GROM chip,
    containing just what is necessary to bring up the
    P-system: SYSTEM.PASCAL, SYSTEM.MISCINFO,
    SYSTEM.CHARAC.


    Ben

    =====
    Ben

    System Uptime: 00d 00h 09m 25s
    OS: Win98SE



    __________________________________
    Do you Yahoo!?
    Yahoo! Mail - now with 250MB free storage. Learn more.
    http://info.mail.yahoo.com/mail_250
    | 218|2|2005-02-02 02:36:43|Stuart Bell|Re: Apple II and TI-99 comparison|
    On 2 Feb 2005, at 00:22, ti99_forever wrote:

    Not quite the same, I think; on the TI, the ROM code was directly
    executed, due to lack of RAM. In our hack, the ROM was a ROM-disk, with
    the stuff on it loaded into RAM before execution.

    Stuart
    | 219|2|2005-02-02 02:47:26|ti99_forever|Re: Apple II and TI-99 comparison|
    --- Stuart Bell <stuartsmacs@...
    Oh, ok. Well the three SYSTEM files I named above were
    on the GROM-disk.


    =====
    Ben

    System Uptime: 00d 00h 09m 25s
    OS: Win98SE



    __________________________________
    Do you Yahoo!?
    The all-new My Yahoo! - What will yours do?
    http://my.yahoo.com
    | 220|220|2005-02-02 02:50:17|ti99_forever|Fortran for P-system|
    I have a Fortran disk for my P-system, but have no
    clue how to use it?

    I've tried creating Fortran programs, but it fails on
    output statements. I suppose because I need to link or
    USE the RTLIB4.CODE file, but I don't know the names
    of the procedures/functions or their calling
    parameters.

    The code doesn't have any INTERFACE TEXT at all. Does
    anyone here find the RTLIB4.CODE file sounding
    familiar?

    Ben



    __________________________________
    Do you Yahoo!?
    Meet the all-new My Yahoo! - Try it today!
    http://my.yahoo.com
    | 221|221|2005-02-02 11:59:52|Stuart Bell|Before software bloat set in! Mac p-System queries.|
    Hi!

    Just downloaded the Mac system. I 'knew' the p-System was small, but I'd forgotten _how_
    small until the whole caboodle downloaded in about 10 seconds. I know there's a
    complier, editor, filer, assembler, etc etc., all on two 400Kb images. Heck, you could run
    Apple Pascal on two 140K discs.

    Is anyone around here familiar with the Mac p-System? Wondering what's the latest Mac
    you could run it on (I have every compact Mac) and also about a RAMDISK for it - even a
    Plus with 4Mb RAM would swallow the p-System whole!

    No HD support, I guess, or. . . . ?

    Stuart
    | 222|25|2005-02-02 15:04:23|Laurie Boshell|Re: Intentions|
    demoed at a UCSD
    very slow disc system
    interfaced better to
    a 'Sage'.
    There was a version for the Ohio Scientific that has been posted to
    this group as the Adaptable 6502 system: I had it running here at a
    reasonable speed on a 2 mhz 6502 system.
    The version for the Sage was blindingly fast..I have it on a Sage IV
    (8mhz 68000).

    I too was a member of USUS, it now seems like it was in a previous
    life!

    Laurie.
    | 223|223|2005-02-02 15:31:19|ti99_forever|Turtlegraphics for the TI|
    I uploaded an updated Turtlegraphics disk under the
    files section, in the TI folder.

    It now contains the SYSTEM.LIBRARY file with the
    Turtle graphics CODE file already included. This
    library file was created by Anders Perrson, and has
    many of his routines (some of which are needed to
    compile the test programs). I have replaced all of my
    original SYSTEM.LIBRARY files (on those disks with
    enough room).

    This file is over 80 blocks in size, compared to the
    original which is just over 30.

    Ben


    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 224|25|2005-02-02 15:32:11|Stuart Bell|Re: Sages and USUS|
    On 2 Feb 2005, at 13:02, Laurie Boshell wrote:

    I remember seeing Sages at USUS meetings - Version Iv.x when I was
    stuck on II.x, and a hardware cost in the high thousands, ISTR. They
    were the 'focus of envy' for p-System geeks. Did they have HDs? I can't
    remember.
    Indeed. I edited the USUS(UK) Newsletter, using a self-written text
    formatting program under Apple Pascal, with output to a daisy-wheel
    printer. The program would justify text by summing the variable
    character widths for the line of text, then add micro-spaces between
    letters to fill the line. One command would tell the operator when to
    change the daisy wheel for a different font . . . . . . . .

    Stuart
    | 225|25|2005-02-03 10:00:02|Stuart Bell|Re: Intentions|
    On 2 Feb 2005, at 13:02, Laurie Boshell wrote:

    As I use my 993MHz Mac, and some PC users look down on anything less
    than a couple of GHz, it makes you wonder what all the extra mHz are
    being used for! II know, GUI, bloatware. . . . . . .

    I used to get compile speeds in hundreds of lines a minute on an Apple
    II; I wonder how long a modern G5, for example, running a native
    p-System, would take to compile the whole p-System?

    Stuart
    | 226|25|2005-02-03 12:57:53|John B. Matthews M.D.|Re: Intentions|
    On Feb 3, 2005, at 2:59 AM, Stuart Bell wrote:

    I got the following results on a 549 line Pascal program using KEGS-OSX
    (0.65) under mac Os X 10.3.7 on a Dual 1 GHz G4 MDD:

    line count: 549
    MHz seconds lines/second lines/minute speedup
    1.02 130 4.22 254 1.00
    2.65 56 9.80 588 2.32
    8.16 19 28.89 1733 6.84
    113.82 4 137.25 8235 32.50

    The results are not unexpected. Because the emulator slows for disk
    access, the speedup lags the nominal MHz. The correlation is stronger,
    for example, with memory based assemblers.

    Naturally a native implementation would be faster. Most Java compilers
    use an intermediate code representation that is analogous to p-code. I
    usually get speeds on the order of 1000 lines/second from Sun's
    compiler. As the Pascal compiler is less complex than Java, I wouldn't
    be surprised if a native compiler were yet faster!

    Does anyone run KEGS-OSX on a G5? What's the top MHz on an unloaded
    system?

    John
    --
    jmatthews at wright dot edu
    http://www.wright.edu/~john.matthews/
    | 227|25|2005-02-04 05:19:02|Shirl|Re: Intentions|
    Stuart Bell <stuartsmacs@...
    Stuart:

    "compile speeds in hundreds of lines a minute on an Apple II"

    This does not sound right to me at all. I have an Apple IIc+ which is 4
    times faster than a normal Apple IIe (1Hhz versus 4MHz) and the compile
    speeds I get are in the few dozens of lines per minute. I use just the
    standard Apple II Pascal v1.3 system and compile from and to disk, no RAM
    disk. If there was a RAM disk then the compilation process is much faster.

    - David Craig
    | 228|25|2005-02-04 09:41:30|Stuart Bell|Re: Intentions|
    On 4 Feb 2005, at 03:18, Shirl wrote:

    Indeed. I was using a II+ with a 4MHz accelerator card (wahay! - around
    £300 ISTR) but, as mentioned before, the compiler was on a ROM disc in
    one of the Apple II's slots. ISTR a lot of disc activity during
    compilation due to segmentation of the compiler, and, as you suggest,
    with the compiler on a ROM disc, 'disc' activity was much, much faster.
    And to think I got rid of it when I moved house many years ago. :-(

    Stuart
    | 229|229|2005-02-19 00:49:58|ti99_forever|Ring Buffer Overflow|
    What is a "I/O Error - ring buffer overflow" mean?

    I wrote a simple program to read a text file, where
    each line contains two numbers. I used READ, instead
    of READLN, and got the above message after reading the
    first file and when about 3/4 of the way through the
    2nd file. First file was about 90 lines, 2nd was 105.
    It was reading the values correctly up to the point of
    the error.

    Once I changed it to READLN, it worked (although I
    made other editing changes as well - I believe I
    changed all those back). But I also edited the TEXT
    files, and removed blank lines at the end. Could this
    be it?

    Ben



    __________________________________
    Do you Yahoo!?
    Yahoo! Mail - Find what you need with new enhanced search.
    http://info.mail.yahoo.com/mail_250
    | 230|229|2005-02-19 23:06:35|John B. Matthews M.D.|Re: Ring Buffer Overflow|
    On Feb 18, 2005, at 5:49 PM, ti99_forever wrote:

    It sounds like the circular queue used for input only gets flushed
    after a ReadLn. As TEXT files are padded to 1024 byte blocks, the input
    buffer is probably about that long. Is "3/4 of the way through the 2nd
    file" about 1024 bytes? Also, is the end-of-line character correct for
    your system (CR, LF, CRLF)?


    John
    --
    jmatthews at wright dot edu
    http://www.wright.edu/~john.matthews/
    | 231|229|2005-02-20 00:02:40|ti99_forever|Re: Ring Buffer Overflow|
    --- "John B. Matthews M.D." <jmatthews@... wrote:

    Each file (at that time) was 1 block (512 bytes). 3/4
    was a rough estimate, it could have been close to
    1024.
    The end-of-line character is set to whatever the
    system default is. The file was created using a
    program called DV80P, which takes TI standard ascii
    text files of variable length (up to 80 characters)
    and writes them out as standard TEXT files. DV80
    doesn't use end-of-line itself, but uses length bytes.
    But since READLN performs normally, I'm pretty sure
    that isn't it.

    I'm just unfamiliar with the "ring buffer", and
    assumed it was a circular queue, but I haven't a clue
    when it gets flushed... perhaps I need to run some
    tests...

    Ben

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 232|108|2005-03-09 20:22:26|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /CPMADAPT.zip
    Uploaded by : randy482 <randy@... Description : CP/M Adaptable system

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/CPMADAPT.zip

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    randy482 <randy@...| 233|108|2005-03-09 23:43:43|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /CPMADAPT.exe
    Uploaded by : randy482 <randy@... Description : Self extracting CPM Adaptable system

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/CPMADAPT.exe

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    randy482 <randy@...| 234|234|2005-03-09 23:47:22|randy482|CP/M adaptable system|
    I deleted the zip file and re-posted it as an exe file. The reason
    being that some people have had a hard time finding the right
    extracting tools.


    Randy
    | 235|235|2005-03-11 07:11:13|randy482|The CP/M adaptable system has hidden files|
    The CP/M adaptable system came on 8" SSSD disks.

    The volume size is 153 blocks, the disk can hold 494 blocks (leaving
    1 track for bootstrap).

    There are some "extra" disk images after the 76.5K disk images.

    There are other assemblers and other code. I will delete the file I
    posted and post a new archive soon with all the images.


    Randy
    | 236|236|2005-03-11 10:02:32|randy482|CP/M Adaptable system|
    I found up to three volumes in each CP/M disk and posted them in the
    files area (cpmadapt.exe).

    Randy
    | 238|238|2005-03-30 00:37:59|Willi Kusche|New group moderator|
    Hi, y'all!

    I hope I'm wrong but it seems that I'm one sick puppy. So I would
    like to find someone to be co-moderator of this group.

    Willi
    | 239|238|2005-03-30 02:42:18|ti99_forever|Re: New group moderator|
    --- Willi Kusche <willi@... What is the job description? What does it pay? (just
    kidding :)

    I've been here since almost day one. I know it mainly
    began as an Apple Pascal group, and I'm from "another
    camp"...

    I have a great love for UCSD Pascal...

    Ben

    P.S. - Here is hoping you are wrong...



    __________________________________
    Do you Yahoo!?
    Yahoo! Small Business - Try our new resources site!
    http://smallbusiness.yahoo.com/resources/
    | 241|241|2005-04-10 15:52:38|Derek M Jones|Reading Sage/Stride format discs|
    All,

    Joining this group has prompted me to try reading
    some old Sage/Stride discs I have.

    The following utility enabled me to read some of
    the discs (they are 20 odd years old).
    http://fdutils.linux.lu

    The magic numbers you need for setfdprm are
    (assuming 640K floppies):

    setfdprm /dev/fd0 sect=8 dd ssize=512 cyl=80

    use sect=9 if you have NCI (ie, 800K) formatted
    floppies.

    I got the best results from a 360K drive and almost
    nothing from a 1.2M 5 1/4" drive (the author of fdutils
    tells me that the bios should be configured for 360K
    because that uses double density, rather than high density).

    I used dd to copy the floppy contents to a hard disc.

    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 242|108|2005-04-10 23:14:23|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Adap40.zip
    Uploaded by : laurieboshell2004 <laurieboshell2004@... Description : Documentation for Installation of the Adaptabe IV.0 UCSD Pascal

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Adap40.zip

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    laurieboshell2004 <laurieboshell2004@...| 243|243|2005-04-19 06:26:18|Randy McLaughlin|Differences in versions|
    Does anyone know the differences in the different versions of the pSystem?

    Do any of the different versions share Interpreters?

    I know version IV added opcodes and changed memory handling to allow more
    than 64K to be used. Was version IV memory changes just that the pseudo
    system can have a full 64K?

    Were any opcodes added before version IV? If so does anyone have any
    details?

    I've been collecting more sources and binaries. I am redesigning my Pascal
    webpage and I am restructuring everything, I'll follow-up with a notice when
    I'm done.

    I've been offered some print-outs of version II sources and I will scan them
    when I get them.

    If anyone else has any hidden treasures they would like to share I'd be
    happy to help.

    I can scan, or take scanned images and create PDF's, or help read disks
    whatever is needed I will try to help or find the right person to help.


    Randy
    www.s100-manuals.com
    | 244|243|2005-04-19 08:38:59|Eric Smith|Re: Differences in versions|
    Randy wrote:
    There are different interpreters for I.3, I.5, II.0, II.1, III, IV.0, and
    IV.1 at least. In general I don't think you can expect code compiled with
    the compiler on one release to work with an interpreter from a different
    release.

    The differences between the dot releases were minor but could still cause
    problems.

    I think I.5 and II.0 are actually pretty similar. The biggest
    differences seem to have occurred between II and III.

    III completely changed the opcodes around. I'm not sure about the
    memory handling. But III was only for the Western Digital Pascal
    Microengine.

    IV.0 was derived from II.1 and III. The p-code opcodes are almost
    the same as III, but I think there are other significant differences
    (maybe the memory handling you were talking about).

    I've only seen published information on I.3 (it was claimed to be
    I.5 but wasn't really), II.1 (Apple Pascal version), III (WD
    Microengine), and IV.0.

    Very cool, I look forward to seeing those. I recommend *against*
    trying to OCR them. I'd like to get the raw scans (PDF is fine).
    Or I'd be willing to do some scanning. I have a very high speed duplex
    scanner; most of the over one million pages of scanned documents on
    www.bitsavers.org was scanned with my scanner, though the actual
    scanning was mostly done by my friend Al.

    I'll see what I can dig up.

    Best regards,
    Eric
    | 245|243|2005-04-19 09:00:59|Stuart Bell|Re: Differences in versions|
    On 19 Apr 2005, at 05:26, Randy McLaughlin wrote:

    I _did_ about 20 years ago!
    Not AFAIK, if by versions you mean I.x as compared with II.x etc etc.

    As I recall, opcodes didn't change within version numbers. So, the I.x
    opcodes remained the same (eg the North Star USCD p-System. Similarly,
    the Apple Pascal system, I think, used the same op-codes in its
    different incarnations. But the interpreter code changed to make it
    faster with some opcodes.
    Won't the 1.5 and 11.x documentation show it?

    Stuart
    | 246|243|2005-04-19 09:03:05|Stuart Bell|Re: Differences in versions|
    On 19 Apr 2005, at 07:37, Eric Smith wrote:

    Agreed - but I think that's because the Systems changes, not the actual
    op-codes, with a given major version number.

    Indeed - very similar as I recall.

    Stuart
    | 247|243|2005-04-19 09:47:53|Randy McLaughlin|Re: Differences in versions|
    From: "Eric Smith" <eric-ge@... Sent: Tuesday, April 19, 2005 1:37 AM
    Subject: Re: [UCSDPascal] Differences in versions
    I have the Interpreter source code for version I.5 for both the Apple II &
    the 8080/Z80.

    I was also sent (tonight) the pseudo interpreter for version IV, it is not a
    real interpreter it is the pascal code equivalent of the interpreter. The
    code I was sent is meant to be a model so a real interpreter could be
    written. I will be posting it soon but I am re-structuring my webpage and
    want to post it then. If there is a big enough interest I will post it now.
    I intend to stare at it until it is burned into my head to try and
    understand it ;-)

    The above comments are why I'm asking the questions, it would be nice to
    document it.

    I agree 100% I've scanned a good number of documents and I own Adobe Acrobat
    v6. I have access to scanners with ADF's (single sided) so I don't have a
    problem scanning them, thanks.

    I just spent a couple of days proof-reading and editing the Adaptable
    version IV manual that Laurie Boshell OCR'ed, I prefer PDF's in general.

    In this case I intend to post it as PDF's and OCR it if I can. If it was
    just a manual I'd be happy with just a PDF, since I am talking about
    original source code OCR'ing is a good idea. If the listings are dot matrix
    it may not be possible, I didn't ask but I assume that they will be old dot
    matrix print-outs which will probably have contrast problems. Dot matrix
    printouts are very readable but usually not very good for OCR'ing.

    The CP/M adaptable system that I posted has one corrupted volume meaning
    that it is not a truly adaptable system. The only SBIOS & interpreter
    combination limits the system to a single drive :-(

    I still hope to get either another set of CP/M adaptable disks or better yet
    the source code to the version IV 8080/Z80 interpreter (I can recreate the
    SBIOS).


    Randy
    www.s100-manuals.com
    | 248|243|2005-04-19 10:01:32|Randy McLaughlin|Re: Differences in versions|
    From: "Stuart Bell" <stuartsmacs@... Sent: Tuesday, April 19, 2005 2:00 AM
    I would expect that if the opcodes are the same then the interpreters would
    be very similar. If you have the source to one and the binary to the other
    for the same host processor it should be possible to update the sources to
    match "small" changes from one version to the next. Please note I am
    refering to the assembly language boot/SBIOS/interpreter not compiled code
    like the system.

    I would expect minor changes in stack handling (which can be confusing
    enough) or device handling differences, small optimizations, etc. I would
    also expect the interpreter from one version to the next to be extremely
    similar or possibly the same (until version IV that I heard was very
    different).

    If the above statements turn out to be true then it could be easier to take
    the I.5 sources and edit them to make version II sources rather than trying
    to OCR any printouts I get.

    I would really love getting a complete set of sources to build an entire
    system.


    Randy
    www.s100-manuals.com
    | 249|243|2005-04-19 10:04:42|Stuart Bell|Re: Differences in versions|
    On 19 Apr 2005, at 08:59, Randy McLaughlin wrote:

    You are aware that I.3 source was widely, if perhaps unofficially,
    circulated?

    Stuart
    | 250|243|2005-04-19 12:08:40|Derek M Jones|Re: Differences in versions|
    Randy,

    There is quiet a bit of internal information which is not coded
    up in that interpreter.

    My company has a version IV interpreter written in C. I recently
    tried to port it to Linux and encountered a very strange bug.
    Given the wide range of machines the interpreter has been ported
    to I am at a loss as to what the problem might be. When I get more
    time I will investigate further (the plan is to make the executable
    available for non-commercial use).


    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 251|243|2005-04-19 12:27:16|Stuart Bell|Re: Differences in versions|
    On 19 Apr 2005, at 11:07, Derek M Jones wrote:
    'Derek Jones', 'Knowledge Software' - bells are ringing in my mind from
    USUS (UK) days in the early 1980s. Am I correct, or is this another
    sign of failing memory?

    Stuart Bell (once upon a time newsletter editor for USUS(UK))
    | 252|243|2005-04-19 13:12:49|Derek M Jones|Re: Differences in versions|
    Stuart,

    And there was me thinking that my p-System work would make
    me world famous for the rest of my life ;-)


    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 253|243|2005-04-19 23:41:16|davidbartoviasat|Re: Differences in versions|
    --- In UCSDPascal@yahoogroups.com, Stuart Bell compiled
    The difference between I.5 and II.0 was the extension of some of the
    LDC instructions, and a couple of new instructions (which I don't
    remember off the top of my head after 30 years). All the rest were the
    same. The primary reason for the change to II.0 was to speed up the
    system, and enhanced stability.

    -barto
    (UCSD Pascal Project 1976-1980, SofTech MicroSystems 1980 - 1981)
    | 254|92|2005-04-19 23:59:59|davidbartoviasat|Re: UCSD Pascal reunion|
    --- In UCSDPascal@yahoogroups.com, "Shirl" I'm new to the group and reading back mail to catch up. I'd like to
    see your UCSD Pascal versions. I'm (slowly) trying to boot UCSD pascal
    under Linux and MacOS.

    Being an original member of the project, I had a lot of fun at the
    reunion. If you want more information about it (and photos of the
    event) try
    http://www.kdbarto.org and click on the UCSD pascal link.
    -barto
    | 255|95|2005-04-20 00:07:13|davidbartoviasat|Re: Problem found while recreating source|
    --- In UCSDPascal@yahoogroups.com, "Shirl" itself.
    ago, Al
    student
    very good
    large
    itself, then
    Close. What would happen in the development cycle is:
    Build Verision II.0 using the I.5 compiler, adding code to have the
    newer compiler generate the newer opcodes.
    Use the II.0 compiler to compile the OS, generating the newer opcodes.
    Boot that on the new interp, and see what crashes.
    Repeat cycle until II.O is compiled and can compile itself.

    David Barto
    UCSD Pascal 1976-1980, SofTech MicroSystems 1980-1981
    | 256|256|2005-04-20 01:18:23|Derek M Jones|version IV copyright status|
    All,

    As I understand it Pecan bought the copyright
    from SoftTech. When Pecan folded (did it actually
    go into chapter 11 and not come back?) who ended
    up with the copyright?

    I know Cabot have a non-exclusive license (it so
    happens that I am speaking at a conference tomorrow
    which also has a speaker from Cabot; I will see what
    I can find out).

    Has all copyright now reverted to UCSD?

    The reason I ask is that I know various companies
    in the UK had lots of internals sources. Whether
    anybody still has copies is an open issue. But if it can
    be found can it be released in any way?

    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 257|256|2005-04-20 01:52:28|Eric Smith|Re: version IV copyright status|
    Derek wrote:
    I could be wrong, but I thought UCSD retained the copyright
    all along, and that SoftTech just had a license.

    Eric
    | 258|256|2005-04-20 01:58:38|Derek M Jones|Re: version IV copyright status|
    Eric,

    I think it very likely that any license made it clear that SoftTech
    owned the copyright in the software they wrote.

    I suspect that most of version IV software was at one point
    covered by a SoftTech copyright.


    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 259|256|2005-04-20 03:29:29|Randy McLaughlin|Re: version IV copyright status|
    From: "Derek M Jones" <derek@... Sent: Tuesday, April 19, 2005 6:58 PM
    As a software developer I am all for protecting the rights of copyright
    holders.

    The points are:

    It appears that for all intents and purposes there is no existing copyright
    holder and if one technically exists what are the chances they care about
    some hobbyists trying to archive some computer history?

    If we were talking about creating a new money making venture based on these
    copyrights there would be no question but a full search would be required.

    We do not have the resources to find any copyright holders and from a moral
    point of view we are only trying to preserve history before any more is
    lost.


    Randy
    www.s100-manuals.com
    | 260|256|2005-04-20 15:26:24|David Barto|Re: version IV copyright status|
    On Tue, 19 Apr 2005 20:29:15 -0500
    "Randy McLaughlin" <randy@...
    According to Ken Bowles (the founder of the project) in a speech at the
    Reunion, the copyright is still held by UCSD. No public release of the
    code is allowed, and \could/ be prosecuted. I don't think that UCSD really
    cares about 30+ year old code, but you never know about a lawyer who is
    on payroll who wants to make a name for themself.

    -barto

    --
    David Barto http://www.kdbarto.org

    A good friend will come and bail you out of jail...
    A true friend will be sitting next to you saying
    "Damn... that was fun!"
    | 261|256|2005-04-20 23:16:21|Eric Smith|Re: version IV copyright status|
    David wrote:
    The issue is whether they still derive any licensing revenue from it
    (e.g., from Cabot). As long as there's even a trickle of money coming
    in, the administration is unlikely to have a favorable view of public
    dissemination. However, it's also possible that they won't notice, or
    won't care enough to do much.

    Once there's no revenue stream, it might be possible to convince UCSD
    or UC to allow it to be distributed, possibly under something like the
    modified BSD license.

    There's also some question as to whether UCSD has a valid copyright
    on it, and/or whether they can legally prevent public distribution.
    The software was developed with public funding, which normally means
    that it has to be available to the public.

    Eric
    | 262|256|2005-04-20 23:26:25|David Barto|Re: version IV copyright status|
    On Wed, 20 Apr 2005 14:16:15 -0700 (PDT)
    "Eric Smith" <eric-ge@...
    Ken was pretty clear that the Regents of the University of California owns
    the copyright for this code. If they would release it to the PD is something
    I'm going to ask about through a contact at UCSD. If it can be done, I'd
    like to see it happen.

    -barto

    --
    David Barto http://www.kdbarto.org

    Oxymoron - 2 words which mean the opposite of each other:
    Jumbo Shrimp
    Military Intelligence
    Microsoft Security
    | 263|256|2005-04-20 23:33:59|Eric Smith|Re: version IV copyright status|
    David wrote:
    Ken may believe that, and the regents may believe that, but it may or
    may not be true. And even if it is true, they may or may not be able
    to do anything about it. There have been court cases over such things
    where it has been established as case law that since the taxpayers have
    already paid for the software development, they are entitled to copy and
    use it without paying again.

    That would be nice, but I think you'll have better odds if you ask them
    to release it under the modified BSD license (which the UC regents already
    know about and use for BSD Unix), than trying to get them to put it into
    the public domain.

    Eric
    | 264|256|2005-04-21 01:01:45|Derek M Jones|Re: version IV copyright status|
    David,

    My question concerned the copyright of code not written by UCSD.
    I doubt UCSD are claiming copyright on the SoftTech written code,
    or are they?

    What does Eli Wilner have to say (as an ex-Pecan person)?

    I had a brief chat with the person from Cabot today (UK p-System
    licensee). The people I know left about a year ago (the original
    owner of the company who used to be a salesman for a UK Sage/Stride/
    Pinnacle distributor and then set up Cabot, and the ex-head technical
    guy). I got the feeling that there was nothing p-System related
    being done at Cabot these days.


    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 265|256|2005-04-21 01:52:11|Randy McLaughlin|Re: version IV copyright status|
    From: "Derek M Jones" <derek@... Sent: Wednesday, April 20, 2005 6:01 PM
    died yet there should still be people that has had the source code. Added
    with the recent reunion there is renewed interest and more contacts with
    people within the majic inner circle.

    I do not mean to imply that the pSystem commercial demise is good other than
    to say if we wait the opportunity to get original source code could pass.

    Derek if you get a chance please try contacting anyone you can either at
    Cabot or get contact information on the people you dealt with to see who has
    what. Maybe Cabot has source code that someone could be talked out of.
    Even the latest binaries would be nice.


    Randy
    www.s100-manuals.com
    | 266|243|2005-04-21 13:02:25|Laurie Boshell|Re: Differences in versions|
    duplex
    Eric, does that mean that you had the I.5 manual that is on bitsavers?
    I have a copy of a copy ...that has a II.0 cover but is internally I.5

    I'd be prepared to do an OCR of the manual if you can get it again.

    Cheers,

    Laurie Boshell
    | 267|243|2005-04-21 13:06:39|Laurie Boshell|Re: Differences in versions|
    the
    Hi David,

    Here are my original notes from when I "bootstrapped" the I.3 and I.5
    code. Sorry for the length od the post.

    Laurie.

    --------------------------
    Compilation of UCSD p-codes by Laurie Boshell
    I believe that this table is correct. It has been compiled from
    many different manuals and sources since about 1982.
    The I.3 codes still remain a bit of a challenge as I do not fully
    understand PDP-11 machine code yet. However, the codes denoted
    by ?? are almost certainly the same as I.5.


    I.3 I.5 II.0 II.1
    --- --- --- ---
    $00 SLDC 0 SLDC 0 SLDC 0 SLDC 0
    $01 SLDC 1 SLDC 1 SLDC 1 SLDC 1
    . .. .. .. ..
    . .. .. .. ..
    $7F SLDC 7F SLDC 7F SLDC 7F SLDC 7F
    $80 ABI ABI ABI ABI
    $81 ABR ABR ABR ABR
    $82 ADI ADI ADI ADI
    $83 ADR ADR ADR ADR
    $84 AND LAND LAND LAND
    $85 DIF DIF DIF DIF
    $86 DVI DVI DVI DVI
    $87 DVR DVR DVR DVR
    $88 CHK CHK CHK CHK
    $89 FLO FLO FLO FLO
    $8A FLT FLT FLT FLT
    $8B INN INN INN INN
    $8C INT INT INT INT
    $8D IOR LOR LOR LOR
    $8E MOD MODI MODI MODI
    $8F MPI MPI MPI MPI

    $90 MPR MPR MPR MPR
    $91 NGI NGI NGI NGI
    $92 NGR NGR NGR NGR
    $93 NOT NOT NOT NOT
    $94 SRS SRS SRS SRS
    $95 SBI SBI SBI SBI
    $96 SBR SBR SBR SBR
    $97 SGS SGS SGS SGS
    $98 SQI SQI SQI SQI
    $99 SQR SQR SQR SQR
    $9A STO STO STO STO
    $9B IXS IXS IXS IXS
    $9C UNI UNI UNI UNI
    $9D S2P S2P NOTIMP LDE *
    $9E ?? CSP CSP CSP
    $9F LDCN LDCN LDCN LDCN

    $A0 ADJ ADJ ADJ ADJ
    $A1 FJP FJP FJP FJP
    $A2 INC INCR INCR INCR
    $A3 IND STIND STIND IND
    $A4 IXA IXA IXA IXA
    $A5 LAO LAO LAO LAO
    $A6 LCA LCA LSA LSA *
    $A7 LDO LDO NOTIMP LAE *
    $A8 MOV MOV MOV MOV
    $A9 MVB MVB LDO LDO *
    $AA SAS SAS SAS SAS
    $AB SRO SRO SRO SRO
    $AC XJP XJP XJP XJP
    $AD ?? RNP RNP RNP
    $AE ?? CIP CIP CIP
    $AF COMPAR EQU CEQU CEQU

    $B0 COMPAR CGEQ CGEQ CGEQ
    $B1 COMPAR CGTR CGTR CGTR
    $B2 LDA LDA LDA LDA
    $B3 LDC LDC LDC LDC
    $B4 COMPAR CLEQ CLEQ CLEQ
    $B5 COMPAR CLSS CLSS CLSS
    $B6 LOD LOD LOD LOD
    $B7 COMPAR CNEQ CNEQ CNEQ
    $B8 STR STR STR STR
    $B9 UJP UJP UJP UJP
    $BA LDP LDP LDP LDP
    $BB STP STP STP STP
    $BC LDM LDM LDM LDM
    $BD STM STM STM STM
    $BE LDB LDB LDB LDB
    $BF STB STB STB STB

    $C0 IXP IXP IXP IXP
    $C1 ?? RBP RBP RBP
    $C2 ?? CBP CBP CBP
    $C3 EQUI EQUI EQUI EQUI
    $C4 GEQUI GEQI GEQI GEQI
    $C5 GRTI GTRI GTRI GTRI
    $C6 LLA LLA LLA LLA
    $C7 LDCI LDCI LDCI LDCI
    $C8 LEQI LEQI LEQI LEQI
    $C9 LESI LESI LESI LESI
    $CA LDL LDL LDL LDL
    $CB NEQI NEQI NEQI NEQI
    $CC STL STL STL STL
    $CD ?? CXP CXP CXP
    $CE ?? CLP CLP CLP
    $CF ?? CGP CGP CGP

    $D0 S1P S1P LPA LPA *
    $D1 IXB IXB NOTIMP STE *
    $D2 BYT BYT NOTIMP ERRp
    $D3 EFJ EFJ EFJ EFJ
    $D4 NFJ NFJ NFJ NFP
    $D5 BPT BPT BPT BPT
    $D6 XIT ABORT ABORT ABORT
    $D7 NOP BACK BACK NOP
    $D8 SLDLS SLDL SLDL
    $D9 SLDLS SLDL SLDL
    $DA SLDLS SLDL SLDL
    $DB SLDLS SLDL SLDL
    $DC SLDLS SLDL SLDL
    $DD SLDLS SLDL SLDL
    $DE SLDLS SLDL SLDL
    $DF SLDLS SLDL SLDL

    $E0 SLDLS SLDL SLDL
    $E1 SLDLS SLDL SLDL
    $E2 SLDLS SLDL SLDL
    $E3 SLDLS SLDL SLDL
    $E4 SLDLS SLDL SLDL
    $E5 SLDLS SLDL SLDL
    $E6 SLDLS SLDL SLDL
    $E7 SLDLS SLDL SLDL
    $E8 SLDOS SLDO SLDO
    $E9 SLDOS SLDO SLDO
    $EA SLDOS SLDO SLDO
    $EB SLDOS SLDO SLDO
    $EC SLDOS SLDO SLDO
    $ED SLDOS SLDO SLDO
    $EE SLDOS SLDO SLDO
    $EF SLDOS SLDO SLDO

    $F0 SLDOS SLDO SLDO
    $F1 SLDOS SLDO SLDO
    $F2 SLDOS SLDO SLDO
    $F3 SLDOS SLDO SLDO
    $F4 SLDOS SLDO SLDO
    $F5 SLDOS SLDO SLDO
    $F6 SLDOS SLDO SLDO
    $F7 SLDOS SLDO SLDO
    $F8 SINDS SIND0 SLDO0
    $F9 SINDS SIND SIND
    $FA SINDS SIND SIND
    $FB SINDS SIND SIND
    $FC SINDS SIND SIND
    $FD SINDS SIND SIND
    $FE SINDS SIND SIND
    $FF SINDS SIND SIND

    ------------------------------
    (c) L.Boshell 1983-1996 laurie at pnc dot com dot au
    (047) 531086
    | 268|256|2005-04-21 13:35:52|Laurie Boshell|Re: version IV copyright status|
    --- In UCSDPascal@yahoogroups.com, "Randy McLaughlin" Sage/Stride/
    technical
    1252 520
    http://www.knosof.co.uk
    commercially
    code.
    Hi Randy,

    We almost did get the code once, UCSD agreed to release it to USUS
    but the deal fell through. I don't know why, others might. Perhaps
    we could re-activate USUS, I was a member once.

    For everyone's information, and for anyone that wants to chase it
    further, here is the unedited correspondence that I received in 1992
    via MUSUS (on Compuserve) about the release of the source code.

    Cheers
    Laurie.
    ---------------------------------

    LA JOLLA, CA -- The UCSD p-System received a major boost with the
    recent
    signing of a license agreement between USUS (UCSD p-System Users'
    Society) and
    the University of California, San Diego.

    UCSD Pascal (later the UCSD p-System) was an early contender for the
    PC
    desktop along with MSDOS, CPM and Apple DOS. In recent years it has
    fallen
    from view due to commercial failure by the original and succeeding
    sole
    licensees.

    "There are still many thousands of users worldwide," said USUS
    president Tom
    Cattrall, "and the renewed availability of the p-System directly from
    USUS
    will encourage developments from this software, and provide a support
    channel
    for those users."

    USUS is a not-for-profit corporation whose aims include the promotion
    of
    portable software and programming environments. Current languages in
    which
    members have an interest are Pascal, Modula2, APL, ADA, Oberon and C.
    These
    and other issues concerning software design and portability are
    discussed in
    the CODEPORT section on Compuserve.

    Under the arrangement with UCSD, USUS will have the right to
    distribute to its
    membership the source and object code of all versions of the p-System
    for
    non-commercial use. Common versions of the p-System object code will
    be
    uploaded to CODEPORT for the use of members and prospective members
    of USUS.
    Payment of a small one-time license fee in addition to membership of
    USUS is
    required.

    USUS would like to acquire for its archive many missing pieces of the
    p-System, and has UCSD's assurances that individuals who have written
    or
    modified any versions of the p-System will not be considered to be in
    violation of UCSD's copyright if they so contribute.

    To capitalize on the inquiries recently received by USUS and UCSD,
    USUS is
    holding a meeting 20th-22nd Nov in Detroit, Michigan(see following
    story).

    For more information please contact:

    USUS Box 1148 La Jolla, CA 92038-1148 USA

    Stephen Pickett, USUS Librarian, Box 1279, Pt Roberts WA 98281 USA
    Tel: (604)
    874-7364 CIS: 71016,1203

    SEATTLE, WA. -- UCSD p-System's Users Society (USUS) Secretary Keith
    Frederick
    today sent out registration forms for a full meeting of the Society
    to take
    place in Detroit, Michigan Friday November 20th through Sunday
    November 22nd,
    1992.

    The meeting was called following the recent landmark granting to USUS
    of a
    license to the UCSD p-System, a portable programming environment
    originally
    released in 1977 as UCSD Pascal. Under this license USUS is free to
    distribute
    source and object code to its membership subject to payment of a one-
    time
    license fee.

    USUS is a not-for-profit corporation whose aims include the promotion
    of
    portable software and programming environments. Current languages in
    which
    members have an interest are Pascal, Modula, APL, Oberon and C. These
    and
    other issues concerning software design and portability are discussed
    in the
    CODEPORT section on Compuserve.

    Hosting the meeting on behalf of Wayne State University, Dr. A.
    Robert Spitzer
    said "We are pleased to welcome one of the oldest user organizations
    in the
    computer industry. As a former director of USUS I am delighted with
    the
    activities of its current board. The rights from UCSD to distribute
    the
    p-System should be a focal topic at this meeting."

    The meeting's agenda will include presentations by key speakers in
    the area, a
    general meeting of the society, and an open discussion on the subject
    of the
    USUS Libarary. Participants are expected from as far afield as Europe.

    All are welcome. Deadline for registration ($100 including banquet)
    is Nov
    7th. Interested parties can obtain registration forms by calling
    Catherine
    Atyeo at (604) 874-7364 (telephone) or (604) 876-7779 (fax).

    The meeting will take place at the St. Regius Hotel, 3071 West Grand
    Blvd
    Detroit MI 48202. Special room rates at the St. Regius are available
    by
    calling (313) 873-3000 and asking for the USUS rate.

    For further information please contact:

    USUS, Box 1148, La Jolla, CA 92038-1148, USA

    Keith Frederick, 525 West Prospect St., Seattle, WA 98119, USA Tel:
    (206)
    285-1576 CIS: 73760,3521
    | 269|269|2005-04-21 13:55:33|Laurie Boshell|I.5 on an Apple II|
    For a bit of a blast, do the following...
    To run I.5 (and I.3 for that matter) get an Apple II emulator and
    boot the disk image that I uploaded ages ago in the files section.
    It is I56502.DSK, a 140k disk image of a bootable system on an Apple
    II. I seems to boot on all Apple II emulators that I have tried on
    the PC.
    I have since used this to compile the Z80 interp with the Z80 version
    of SYSTEM.ASSBMLER for I.5.

    How did I do it?

    I obtained the original Apple Pascal 1.0 release (I actually took
    delivery of it when first released in 1978) and I hacked the 6502
    interp to be compatible with I.5 p-codes. The original apple release
    1.0 was very close (?Identical) to UCSD II.0 (despite what has been
    said since in the literature). Apple very quickly replaced that
    release with Apple Pascal 1.1 which was very close to UCSD II.1.
    You can get Apple Pascal 1.0 (4 disk images but you only need the
    second) from the asimov apple archive.

    Here are my notes that I did at ther time to patch the interp....

    cheers,

    Laurie Boshell.

    ----------------------------------------------------
    LOCAL VARS Z80 I.5 6502 II.1 patched to I.5
    ---------------------------------------------------------
    SLDL |SLDL |SLDL |
    |offset = 2..32 |offset = 13..43 |
    | |code is D2A9:SBC #$A3 |
    | |patch D2A9:69 51 |
    | |(C set) ie ADC #$51(52)|
    ----------------------------------------------------------
    LLA |LLA |LLA |
    |offset = 0 |offset = 10 |
    |code has been re-written
    ----------------------------------------------------------
    LDL |LDL |LDL |
    |offset = 0 |offset = 11 |
    | |code is D2C8:LDY #$0B |
    | |patch D3C9:00 |
    ----------------------------------------------------------
    STL |STL |STL |
    |offset = 0 |offset = 10 |
    | |code is D30C:LDY #$0A |
    | |patch D30D:00 |
    ----------------------------------------------------------
    GLOBAL VARS
    ----------------------------------------------------------
    SLDO |SLDO |SLDO |
    |offset = 2..32 |offset = 13..42 |
    | |code is D318:SBC #$C3 |
    | |patch D2A9:69 31 |
    | |(C set) ie ADC #$31(32)|
    ----------------------------------------------------------
    LAO |LAO |LAO |
    |offset = 0 |offset = 10 |
    | |code has been re-written
    ----------------------------------------------------------
    LDO |LDO |LDO |
    |offset = 0 |offset = 11 |
    | |code is D337:LDY #$0B |
    | |patch D338:00 |
    ----------------------------------------------------------
    SRO |SRO |SRO |
    |offset = 0 |offset = 10 |
    | |code is D37B:LDY #$0A |
    | |patch D37C:00 |
    ----------------------------------------------------------
    INTERMEDIATE VARS
    ----------------------------------------------------------
    LDA |LDA |LDA |
    |offset = 10 |offset = 10 |
    ----------------------------------------------------------
    LOD |LOD |LOD |
    |offset = 10 |offset = 11 |
    | |code is D3A1:LDY #$0B |
    | |patch D3A2:0A |
    ----------------------------------------------------------
    STR |STR |STR |
    |offset = 10 |offset = 10 |
    ----------------------------------------------------------
    INDIRECT, RECOR and INDEXING |
    ----------------------------------------------------------
    INCR |INCR |INCR |
    |does not bouble b|doubles big |
    | |code re-written |
    ----------------------------------------------------------
    STO |STO |STO |
    |same |same |
    ----------------------------------------------------------
    SIND0 |SIND0 |SIND0 |
    |same |same |
    ----------------------------------------------------------
    SIND |SIND |SIND |
    |same |same |
    ----------------------------------------------------------
    STIND |STIND |STIND |
    |same |same |
    ----------------------------------------------------------
    IXA |IXA |IXA |
    |same |same |
    ----------------------------------------------------------
    MOV |MOV |MOV |
    |same |same |
    ----------------------------------------------------------
    LDC |LDC |LDC |
    |?same |?same |
    ----------------------------------------------------------
    LDM |LDM |LDM |
    |?same |?same |
    | |checks for stk oflow |
    ----------------------------------------------------------
    STM |STM |STM |
    |?same |?same |
    ----------------------------------------------------------
    LDB |LDB |LDB |
    |same |extra param on stack |
    ----------------------------------------------------------
    STB |STB |STB |
    |?same |extra param on stack |
    ----------------------------------------------------------
    MVB |MVB |MVB |
    |does not double |doubles big |
    |big. |code re-written |
    ----------------------------------------------------------
    IXB |IXB |IXB (same as ADI) |
    | |no op. code written |
    ----------------------------------------------------------
    STRING VARS
    ----------------------------------------------------------
    S1P |S1P |S1P |
    | |no op. code written |
    ----------------------------------------------------------
    S2P |S2P |S2P |
    | |no op. code written |
    ----------------------------------------------------------
    IXS |IXS |IXS |
    |indexes tos+nos |does not index |
    | |code re-written |
    ----------------------------------------------------------
    | 270|256|2005-04-21 15:09:40|Ksarul|Re: version IV copyright status|
    I seen to remember getting the invitation to that meeting--but I was in
    Germany at the time so I wasn't able to act on it.

    Jim Fetzner
    Former USUS member

    -----Original Message-----
    From: UCSDPascal@yahoogroups.com [mailto:UCSDPascal@yahoogroups.com] On
    Behalf Of Laurie Boshell
    Sent: Thursday, April 21, 2005 7:36 AM
    To: UCSDPascal@yahoogroups.com
    Subject: [UCSDPascal] Re: version IV copyright status



    --- In UCSDPascal@yahoogroups.com, "Randy McLaughlin" Sage/Stride/
    technical
    1252 520
    http://www.knosof.co.uk
    commercially
    code.
    Hi Randy,

    We almost did get the code once, UCSD agreed to release it to USUS
    but the deal fell through. I don't know why, others might. Perhaps
    we could re-activate USUS, I was a member once.

    For everyone's information, and for anyone that wants to chase it
    further, here is the unedited correspondence that I received in 1992
    via MUSUS (on Compuserve) about the release of the source code.

    Cheers
    Laurie.
    ---------------------------------

    LA JOLLA, CA -- The UCSD p-System received a major boost with the
    recent
    signing of a license agreement between USUS (UCSD p-System Users'
    Society) and
    the University of California, San Diego.

    UCSD Pascal (later the UCSD p-System) was an early contender for the
    PC
    desktop along with MSDOS, CPM and Apple DOS. In recent years it has
    fallen
    from view due to commercial failure by the original and succeeding
    sole
    licensees.

    "There are still many thousands of users worldwide," said USUS
    president Tom
    Cattrall, "and the renewed availability of the p-System directly from
    USUS
    will encourage developments from this software, and provide a support
    channel
    for those users."

    USUS is a not-for-profit corporation whose aims include the promotion
    of
    portable software and programming environments. Current languages in
    which
    members have an interest are Pascal, Modula2, APL, ADA, Oberon and C.
    These
    and other issues concerning software design and portability are
    discussed in
    the CODEPORT section on Compuserve.

    Under the arrangement with UCSD, USUS will have the right to
    distribute to its
    membership the source and object code of all versions of the p-System
    for
    non-commercial use. Common versions of the p-System object code will
    be
    uploaded to CODEPORT for the use of members and prospective members
    of USUS.
    Payment of a small one-time license fee in addition to membership of
    USUS is
    required.

    USUS would like to acquire for its archive many missing pieces of the
    p-System, and has UCSD's assurances that individuals who have written
    or
    modified any versions of the p-System will not be considered to be in
    violation of UCSD's copyright if they so contribute.

    To capitalize on the inquiries recently received by USUS and UCSD,
    USUS is
    holding a meeting 20th-22nd Nov in Detroit, Michigan(see following
    story).

    For more information please contact:

    USUS Box 1148 La Jolla, CA 92038-1148 USA

    Stephen Pickett, USUS Librarian, Box 1279, Pt Roberts WA 98281 USA
    Tel: (604)
    874-7364 CIS: 71016,1203

    SEATTLE, WA. -- UCSD p-System's Users Society (USUS) Secretary Keith
    Frederick
    today sent out registration forms for a full meeting of the Society
    to take
    place in Detroit, Michigan Friday November 20th through Sunday
    November 22nd,
    1992.

    The meeting was called following the recent landmark granting to USUS
    of a
    license to the UCSD p-System, a portable programming environment
    originally
    released in 1977 as UCSD Pascal. Under this license USUS is free to
    distribute
    source and object code to its membership subject to payment of a one-
    time
    license fee.

    USUS is a not-for-profit corporation whose aims include the promotion
    of
    portable software and programming environments. Current languages in
    which
    members have an interest are Pascal, Modula, APL, Oberon and C. These
    and
    other issues concerning software design and portability are discussed
    in the
    CODEPORT section on Compuserve.

    Hosting the meeting on behalf of Wayne State University, Dr. A.
    Robert Spitzer
    said "We are pleased to welcome one of the oldest user organizations
    in the
    computer industry. As a former director of USUS I am delighted with
    the
    activities of its current board. The rights from UCSD to distribute
    the
    p-System should be a focal topic at this meeting."

    The meeting's agenda will include presentations by key speakers in
    the area, a
    general meeting of the society, and an open discussion on the subject
    of the
    USUS Libarary. Participants are expected from as far afield as Europe.

    All are welcome. Deadline for registration ($100 including banquet)
    is Nov
    7th. Interested parties can obtain registration forms by calling
    Catherine
    Atyeo at (604) 874-7364 (telephone) or (604) 876-7779 (fax).

    The meeting will take place at the St. Regius Hotel, 3071 West Grand
    Blvd
    Detroit MI 48202. Special room rates at the St. Regius are available
    by
    calling (313) 873-3000 and asking for the USUS rate.

    For further information please contact:

    USUS, Box 1148, La Jolla, CA 92038-1148, USA

    Keith Frederick, 525 West Prospect St., Seattle, WA 98119, USA Tel:
    (206)
    285-1576 CIS: 73760,3521









    Yahoo! Groups Links
    | 271|243|2005-04-21 19:23:16|Randy McLaughlin|Re: Differences in versions|
    From: "Laurie Boshell" <laurieboshell2004@... Sent: Thursday, April 21, 2005 6:01 AM
    I have a copy of the I.5 manual but it is a poor copy printed with a dot
    matrix printer and I doubt it would OCR.

    If you really want to try and OCR it you can try with what I have posted or
    I can re-scan it at a higher resolution. I doubt that it can be OCR'ed at
    any resolution.

    It is posted on my site as a PDF. It is large ~10mb and would be much
    smaller OCR'ed.


    Randy
    www.s100-manuals.com
    | 272|256|2005-04-21 22:23:15|Derek M Jones|Re: version IV copyright status|
    Randy,

    I will see what I can find out. At the moment any time spent on p-System
    will go towards trying to get a running system up under Linux.

    Over 10 years ago I threw a still working Stride and my collection of
    USUS (US + UK) discs in the skip (US: trash). I suspect others did
    the same. The only discs I held onto contained source code of
    products written by Knowledge Software (just in case they proved
    useful as the basis of new tools in the future).

    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 273|256|2005-04-21 22:56:16|Randy McLaughlin|Re: version IV copyright status|
    From: "Derek M Jones" <derek@... Sent: Thursday, April 21, 2005 3:21 PM
    I guess we all wish we had back what we threw away (people, software,
    computers, cars, etc).

    That's why I think now is the best time to try and save it before it hits
    the 'skip'. If we had asked a few years ago when people were still selling
    it we would not get far.

    My hope is that everyone has a different schedule as to when to throw stuff
    away. I expect some still have some stashed away. Not too far back I was
    able to get in touch with someone that had a good stash of Digital Research
    material that I donated to the online CP/M archive (http://www.cpm.z80.de/).
    I am sure that had I been able to find him sooner more could be saved,
    timing is important.

    Knowing what to save is easy with 20/20 hindsight.


    Randy
    www.s100-manuals.com
    | 274|256|2005-04-23 00:43:00|Laurie Boshell|Re: version IV copyright status|
    of
    I still have working Sage II and Sage IV machines, my confession is
    that I threw out a Cromemco machine about 18 months ago (urged and
    supported by a family that reckoned it was junk). I've regretted it
    ever since, consolidated all my old computer stuff to a very large
    loft and I now stand guard at the door !!!. Now I'll have to arange
    air-con so that I can spend more time there.....

    PS: Re: p-system on Linux: Derek there is an interp floating around
    in UCSD pascal for IV.0 pcodes. I think originally written in the UK
    by Inmos Ltd (Michael Harrison). Perhaps you could port it to Linux.

    Laurie Boshell
    | 275|256|2005-04-23 02:23:39|Derek M Jones|Re: version IV copyright status|
    Laurie,

    This interpreter was written with the intent of fully specifying
    P-codes. It has not have sufficient functionality to boot
    and run the p-System.


    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 276|256|2005-04-23 03:07:36|Randy McLaughlin|Re: version IV copyright status|
    From: "Laurie Boshell" <laurieboshell2004@... Sent: Friday, April 22, 2005 5:42 PM
    Repent! ;-)

    I just so happens one of my other current projects is archiving Cromemco
    software and documentation.


    Randy
    www.s100-manuals.com
    | 277|277|2005-04-23 13:57:34|Derek M Jones|Sage/Stride floppy formats|
    Laurie,

    I have been having a discussion with the author of fdutils
    http://fdutils.linux.lu/disk-id.html about the kind of floppy hardware
    used in Sage/Stride machines.

    My original understanding was that the floppy drives used in these
    machines were the same as those in the original PCs. However, the
    1280 block format requires 96tpi floppies, which is twice as great as
    the 48tpi used in PCs. The fdutils author tells me that some drives were
    made with stepper motors designed to handle 96tpi.

    I have managed to read some Sage/Stride floppies using 320K and 1.2M
    5 1/4" drives. Different floppies can be read in different drives. Now
    the floppies are around 20 years old, so the data signal is likely to be weak.

    Does anybody know what the characteristics of the drives used by
    Sage/Stride were? Laurie, what number sequences appear on your
    floppy drives?

    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 278|277|2005-04-24 01:09:32|Eric Smith|Re: Sage/Stride floppy formats|
    Derek wrote:
    All 1.2M "high density" 5.25-inch drives used in PCs can read and
    write 96 TPI diskettes, even in low density formats. This has routinely
    been done for interchange with other 96 TPI formats, such as DEC RX50.

    96 TPI drives can also read 48 TPI diskettes, but should never be used
    to write to 48 TPI diskettes. The head gap of a 96 TPI drive is to
    narrow to properly overwrite data that was written on a 48 TPI drive.

    No 320K/360K 5.25" drives can read 96 TPI diskettes. Possibly some
    Sage/Stride systems used 48 TPI.

    Eric
    | 279|277|2005-04-24 01:13:59|Derek M Jones|Re: Sage/Stride floppy formats|
    Eric,

    So what drives did Sage/Stride use? A modified 360K drive that
    supported 96tpi? If 1.2M drives were available then I am sure the
    manufacturers would have used them.

    I managed to read 320K off a 96tpi floppy using a 360K (sorry not 320K)
    drive.


    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 280|277|2005-04-24 02:51:18|Randy McLaughlin|Re: Sage/Stride floppy formats|
    From: "Derek M Jones" <derek@... Sent: Saturday, April 23, 2005 6:13 PM
    There are two types of 96tpi drives, most 1.2mb drives can be jumpered to
    work either way. The difference is 300rpm vs. 360rpm, originally they were
    all 360rpm like 360K drives but by the time the AT came out the 300RPM
    became available. Some drives change speed under software control.

    For details I have some information on my website.

    Randy
    www.s100-manuals.com
    | 281|256|2005-04-24 06:25:41|Laurie Boshell|Re: version IV copyright status|
    Cromemco
    Ok I'm repenting,

    I'll check out the loft and see what Cromemco manuals I have and if I
    find them, they're yours.

    Laurie.
    | 282|277|2005-04-24 06:42:35|Laurie Boshell|Re: Sage/Stride floppy formats|
    as
    drives were
    1.2M
    drives. Now
    to be weak.
    The author of fdutils is correct. The Sage II came with 40 track or
    80 track drives. All mine are 80 track mitsbishi drives that format
    up to 800K. The machines are packed up in the loft so I cannot give
    you the numbers, but I have used an 80 track drive from an old BBC
    6502 machine that works on a sage II. If you have 80 track drives you
    can use 22DSK (that Sydex) on the PC utility to read them. Thre
    standard sage format was 1280 blocks or 640K. You could push the
    disks to 10 SPT but that was a bit unreliable.

    PS: Derek, what do you know of the interp in pascal for IV.0 that you
    commented on?

    Laurie
    | 283|277|2005-04-24 06:58:51|Laurie Boshell|Re: Sage/Stride floppy formats|
    For Derek and those interested, here are the relevant pages from the
    Sage II manual about the disk format. NB: They are NOT 1.2mb PC
    compatible drives, the closest 3.5" would be a 720k.
    I apologise for the length of the post.
    OCR follows----------------------------
    SAGEUTIL -SYSTEM UTILITY
    FLOPPY PARAMETER MAINTENANCE
    SECTION V.4

    A special sector numbering scheme was developed by Network
    Consulting Incorporated for their BIOS on the IBM Personal
    Computer. It allows their software to automatically distinguish
    between their 10 sector per track diskettes and the normal 8
    sector per track IBM standard diskettes. The SAGE II provides a
    compatibility mode to this format but does not attempt to
    automatically distinguish which format is being used. Note:
    Attempting to record ten 512 byte sectors of data on a track will
    generally work but does stretch the drive specifications. This
    format may not be reliable on all systems.

    The 'Univeral Medium' (TM) is a concept proposed by Softech
    Microsystems for distribution of UCSD p-System application
    software. This format is thought to be readable by the highest
    number of p-System implementations. The format may be written by
    40 track (48 TPI) drives only but may be read on any SAGE system.

    The 'Z' selection for Non standard type will bring up an
    alternate menu which allows changing low level parameters of the
    floppy disk driver. Note that most selections require knowledge
    of floppy disk recording protocalls and possibly controller
    information. The alternate nenu is shown below:

    Current drive #4 setup:

    number of Sides: 2
    cylinders: 80
    sectors per Track: 8
    IBM track format: No
    Density: Dbl
    Retries 3
    Ignore errors: No
    Read 48 on 96 TPI: No
    NCI 10 sects/trk: No
    Read after write: No
    bytes per sector: 512
    Gap 3 parameter: 42
    Data length: 255
    Step rate: 4
    Gap 3 for format: 80
    Pattern for format: 229
    Skew for format: 0
    standard options
    Select item to change (or CR to quit):
    MANUAL
    80
    SAGE II USER'S [1.3] 1982
    SAGEUTIL -SYSTEM UTILITY
    FLOPPY PARAMETER MAINTENANCE
    SECTION V.4
    Selecting 'A' will ask for 0, 1 or 2 sides for the diskette.
    Zero should be specified if the drive is not equipped. This will
    return an early error without having to go through a timeout
    process.



    Selecting 'B' asks for the number of cylinders on the diskette.
    Cylinders and tracks are often used in the same context. A
    cylinder represents a head position which may access a track on
    each side of a double sided diskette.

    Selecting 'C' asks for the number of sectors per track. Typical
    values are 8 for 512 byte sectors or 16 for 256 byte sectors.
    Note that the Gap 3 parameter and the Gap 3 for formatting also
    must be modified for a specific Sectors per Track and Bytes per
    Sector combination. Also the density selection interacts with
    all these parameters.

    Selecting 'D' toggles the IBM track format compatibility on or
    off. For double sided diskettes, data is stored in assending
    track order on side zero and then back in desending track order
    on side one. The normal SAGE II method is to store data on side
    zero and then side one of each track before stepping the head to
    the next cylinder.
    MANUAL
    81

    SAGE II USER'S [1.3] 1982
    SAGEUTIL -SYSTEM UTILITY
    FLOPPY PARAMETER MAINTENANCE
    SECTION V.4
    Selecting 'E' asks 'S(ingle or D(ouble density. The drives
    provided on the SAGE II will normally be used in the double
    density mode. The single density option should only be required
    to access data from another system which provides only single
    density drives. The Sectors per Track, Bytes per Sector, and Gap
    3 values must all be coordinated with the density selection.

    Selecting 'F' asks for the number of retries. This question
    should be answered with the number of retries that the diskette
    driver should make before returning an error. The system is
    normally shipped with 3 retries specified but this may be
    increased to attempt to access data on a marginal diskette. A
    carriage return is necessary as a multiple digit number may be
    typed.

    Selecting 'G' will toqqle on or off the ignoring of errors from
    the floppy controller. The controller errors should never be
    ignored in normal operation. This option is only provided to
    allow a head alignment procedure to be performed using a special
    alignment diskette which contains unreadable data. The driver
    must continue to read the diskette so that signals may be
    observed with test equipir-ien.t, even though the controller is
    detecting errors.

    Selecting 'H' will toggle on or off a feature which allov/s
    reading of 48 TPI diskettes on a 96 TPI drive. Note that writing
    to a 48 TPI diskette is not allowed because the 48 TPI drives
    cannot read the data. The 96 TPI drive is stepped two physical
    tracks for every track normally requested by the driver.

    Selecting 'I' will toggle on or off an option to use a special
    sector numbering scheme developed by Network Consulting
    Incorporated. This scheme was implemented by NCI for their BIOS
    on the IBM Personal Computer. It allov/s their software to
    automatically distinguish between their 10 sector per track
    diskettes and the normal 8 sector per track IBM standard
    diskettes. Sectors are numbered from 9 to 18 (except the first
    sector on the device which is numbered 1).
    SAGE II USER'S MANUAL [1.3] 1982
    82

    SAGEUTIL -SYSTEM UTILITY
    FLOPPY PARAMETER MAINTENANCE
    SECTION V.4
    Selecting 'J' will toggle on or off an option to perform a read
    of information from sectors which have just been written. This
    Read after Write feature verifies that the controller can read
    back the information without detectable errors. This option
    slows down the writing process and should only be used where
    information is critical and cannot easily be recovered.

    Selecting 'K' will ask for the number of bytes per sector.
    Typically this is 512 for 8 sectors per track or 256 for 16
    sectors per track. Note that the Gap 3 parameter and the Gap 3
    for formatting also must be modified for a specific Bytes per
    Sector, Sectors per Track and density combination. Note also
    that selections of Bytes per Sector above 512 are not currently
    supported.

    Selecting 'L' will ask for the Gap 3 parameter (in decimal).
    This parameter is required by the controller for Read and Write
    commands to avoid the splice point between the data field and the
    ID field of contiguous sectors. The value depends on the
    combination of Bytes per Sectors, Sectors per Track, and density
    selection. Suggested values from the controller documentation
    are:
    Density BPS SPT Gap 3 Gap 3 for format
    Single 128 18 7 9
    128 16 16 25
    256 8 24 48
    512 4 70 135
    Double 256 18 10 12
    256 16 32 50
    512 8 42 80
    SAGE II USER'S MANUAL [1.3] 1982
    83

    SAGEUTIL -SYSTEM UTILITY
    FLOPPY PARAMETER MAINTENANCE
    SECTION V.4
    Selecting 'M' will ask for Data Length. This parameter is only
    used by the controller when the sector size is less than 256
    bytes per sector. In these caszs the Data Length is the number
    of bytes per sector (typically 128). For all other cases the
    Data Length is normally set to 255.
    Selecting 'N' will ask for Step Rate. This is the number of
    milliseconds allowed between head step pulses by the controller.
    The value may be varied between 2 to 32 milliseconds (only even
    number values are supported).
    Selecting '0' will ask Gap 3 for formatting. Values for this
    parameter are used when formatting a diskette and are contained
    in the Gap 3 table under selection 'L'.
    Selecting 'P' will ask for a Pattern for formatting. This value
    (0 to 255) is written into each data byte during the formatting
    of a diskette. The normal default value is 229 (E5 hex).

    Selecting 'R' will ask for a Skew factor. This value is normally
    zero. The 10 sector per track formats generally specify a two
    sector skew to be formatted onto the diskette. This improves the
    performance when accessing the diskette over track boundries.
    The IBM format is normally identical to the standard SAGE 8
    sector per track format as the difference is only in where the
    data is written. On 10 sector per track diskettes with IBM
    format, the skew is reversed for head one because the tracks are
    accessed in decreasing order. The special NCI format also
    requires use of the IBM format selection.

    Selecting 'Z' will toggle the menu back to the standard options.

    SAGE II USER'S MANUAL [1.3] 1982
    84
    | 284|256|2005-04-24 07:30:19|Randy McLaughlin|Re: version IV copyright status|
    From: "Laurie Boshell" <laurieboshell2004@... Sent: Saturday, April 23, 2005 11:25 PM

    I would appreciate anything but of course I was just teasing, I've probably
    thrown away more Cromemco stuff than you have seen which is a shame.


    Randy
    | 285|256|2005-04-24 08:04:06|Ksarul|Re: version IV copyright status|
    I may still have some Cromemco Manuals and software too--though not one of
    the machines.

    Jim

    -----Original Message-----
    From: UCSDPascal@yahoogroups.com [mailto:UCSDPascal@yahoogroups.com] On
    Behalf Of Laurie Boshell
    Sent: Sunday, April 24, 2005 12:26 AM
    To: UCSDPascal@yahoogroups.com
    Subject: [UCSDPascal] Re: version IV copyright status



    Cromemco
    Ok I'm repenting,

    I'll check out the loft and see what Cromemco manuals I have and if I
    find them, they're yours.

    Laurie.






    Yahoo! Groups Links
    | 286|277|2005-04-24 08:46:42|Eric Smith|Re: Sage/Stride floppy formats|
    A standard-density 96 TPI drive. They weren't normally used on PCs;
    if they had been, they would probably have been called 720K drives.
    A few people did use them in the early days of PCs, but PC-DOS never
    officially supported them. (Later there was a supported 720K 3.5-inch
    format.)

    It's not "modified"; it was purchased from the drive manufacturer
    as a standard product. For instance, a TEAC FD55-F half-hight drive,
    versus the FD55-B that would be used as a PC 360K drive, or the
    FD55-GF that would be used as a PC 1.2M drive.

    They showed up a little later.

    Eric
    | 287|277|2005-04-24 08:47:33|Eric Smith|Re: Sage/Stride floppy formats|
    Randy wrote:
    There are *four* types.

    The earliest 96 TPI 5.25 inch drives could *only* do standard (single
    or double) density at 360 RPM. These were available in either single or
    double-sided versions. Typical formatted double-density capacity was 320K
    for single-sided, 640K for double-sided, depending on sector and gap sizes.
    These drives *CANNOT* reliably handle high-density (IBM 1.2M format).

    Then came the high-density 96 TPI drives. And they initially came in
    two variants. One type was fixed at 300 RPM. IBM chose these for the
    PC AT, and used data rates of 500 Kbps for 1.2M format, and 300 Kbps
    for compatibility with low-density disks (which had been written at
    250 Kbps on 360 RPM drives). The computer provided a signal on the
    interface to control the write current depending on whether it was
    attempting to write to standard or high-density media.

    The other type could run at either 300 or 360 RPM, which the computer
    could select. Some PC clones used this, and only used 500 Kbps and
    250 Kbps, selecting the motor speed instead of using a special 300 Kbps
    data rate. The write current is controlled by the same signal that
    selects the motor speed, so high-density diskettes must be accessed
    at 300 RPM, and standard density at 360 RPM.

    Finally most of the manufacturers introduced drives that could be
    jumpered to change the speed or not.

    Any of these can read and write standard density 96 TPI media, when
    used with the appropriate controller.

    And any of them can read standard density 48 TPI disks.

    But *NONE* of them can reliably write to 48 TPI disks.

    Eric
    | 288|277|2005-04-24 09:32:50|Randy McLaughlin|Re: Sage/Stride floppy formats|
    From: "Eric Smith" <eric-ge@... Sent: Saturday, April 23, 2005 11:35 PM
    detail.

    Actually 96tpi can write reliably to 48tpi disks but it is tricky:

    You must first "bulk erase" the disk (or use unformatted disks) and format
    it using the 96tpi drive. If you ever write to the disk (or format it) with
    a 48tpi drive you can not then write to it with a 96tpi then reliably read
    it with a 48tpi drive.

    It's always safest to just use a 48tpi drive for 48tpi disks.


    Randy
    www.s100-manuals.com
    | 289|256|2005-04-24 09:35:15|Randy McLaughlin|Re: version IV copyright status|
    From: "Ksarul" <vze23g4a@... Sent: Sunday, April 24, 2005 1:04 AM
    It's off topic (but still classic related) but I'm always happy to add more
    to my website.


    Randy
    www.s100-manuals.com

    randy@...
    | 290|277|2005-04-24 14:49:18|Derek M Jones|Re: Sage/Stride floppy formats|
    Laurie,

    I have a poor photocopy of a dot matrix printout or it.

    I think I remember seeing a post from somebody saying they
    had a machine readable copy?


    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 291|277|2005-04-24 22:01:30|Eric Smith|Re: Sage/Stride floppy formats|
    Randy wrote:
    At which point it's no longer a 48 TPI disk.

    Eric
    | 292|277|2005-04-24 22:26:45|Randy McLaughlin|Re: Sage/Stride floppy formats|
    From: "Eric Smith" <eric-ge@... Sent: Sunday, April 24, 2005 1:08 PM

    No I'm still talking about using 48tpi disks. For 5.25" disks there are
    three basic types: 48tpi (DD), 96tpi (QD), and 96tpi (HD). Unformatted or
    bulk erased QD disks can be used in DD systems you can't reliably use DD
    disks in QD systems bulk erased or not.

    Basically the rule is: For 1.2mb storage only use HD disks, for QD storage
    only use QD disks, for DD storage only use DD or QD disks.

    Please note the DD & QD can be broken down into sub-groups.

    For every rule there are exceptions many manufacturers made their DD disks
    to the same specs as the QD disks but not all.


    Randy
    www.s100-manuals.com
    | 293|277|2005-04-25 00:42:36|Eric Smith|Re: Sage/Stride floppy formats|
    I wrote:
    Randy wrote:
    The difference between 48 TPI DD and 96 TPI "QD" (which has the same
    bit density as DD) was a "marketing breakthrough" to sell the same
    diskettes for more money. The media doesn't have any TPI-ness until
    it is formatted. The track pitch is so huge compared to the bit
    density that it's basically not possible for the DD media to NOT
    work at 96 TPI, unless it happens to have really horrible dropouts
    that manage to be right inbetween the 48 TPI tracks.

    The way the disks are manufactured and tested, it's basically nearly
    impossible for a disk to have dropouts like that without impairing
    its 48 TPI performance. Yes, it's theoretically possible, but the
    probability is so small that it was never worthwhile for a manufacturer
    to screen for that condition, and sell the disks as 48 TPI after they
    failed qualification for 96 TPI. It was less expensive for them just
    to throw anything that failed qualification away, because if it failed
    there was nearly 0% probability that it would work at 48 TPI.

    I have yet to see a disk sold as 48 TPI that worked reliably at 48 TPI
    but not at 96 TPI, and I couldn't explain a mechanism by which that
    could happen, short of someone deliberately scraping the oxide off
    on the "between" tracks. If someone has such a disk, I'd love to
    get it for failure analysis.

    Anyhow, it's definitely true that you can bulk-erase a standard-density
    (not high-density) disk that was previously used for either 48 TPI
    or 96 TPI data, and use a 96 TPI drive to write to every other track,
    then read the data in a 48 TPI drive. I wouldn't go so far as to
    call it a recommended practice, though.

    Eric
    | 294|256|2005-04-29 19:12:48|David Barto|Re: version IV copyright status|
    On Wed, 20 Apr 2005 14:16:15 -0700 (PDT)
    "Eric Smith" <eric-ge@...
    I'm now working with UCSD and the Licensing group of the Regents. I'll
    let the group know what happens.

    -barto
    | 295|256|2005-04-29 21:31:36|Randy McLaughlin|Re: version IV copyright status|
    From: "David Barto" <david.barto@... Sent: Friday, April 29, 2005 12:12 PM


    I've dealt with copyright holders for vintage software. So far all that
    I've been able to contact have agreed to let the software be used on
    non-commercial basis. Two have put restrictions on what specific websites
    have permission to post it.

    There are a couple that I have not gotten responses back from and I can not
    find most copyright holders.

    It is wrong to ignore copyrights but here is what I do:

    If it is no longer commercially viable and of historical note I collect as
    much as I can.

    I try and contact the copyright holder.

    If I don't get a no I post it.


    This is not legally correct but so much is "abandon-ware", the US congress
    is looking into it and I expect them to take action in the next few
    centuries.

    The only no I've gotten was not software but an author of magazine articles
    has denied permission for his writings even though the magazine is no longer
    in business.



    Randy
    www.s100-manuals.com
    | 296|296|2005-04-30 10:00:03|Randy McLaughlin|pSystem text files|
    I am trying to create pSystem disks with the source files sent to me.

    I have tried importing the files into the DOS hosted pSystem. I always get
    an error but it does create text files.

    The problem is the text files are corrupted. When I try to compile or
    assemble the files I get errors. When I use the editor sometimes I see
    corrupted text othertimes it appears to be perfect.

    At first I assumed that the text files were similar to DOS/Windoze text
    files. I looked at the files and found out how wrong I was.

    Does anyone have other utilities to transfer files or repair pSystem text
    files?

    I have an S100 computer that runs I.5 I can use to have my PC send the files
    to the pSystem editor one character at a time but that would be slow and
    inefficient.

    If anyone already has original source files already in pSystem disk images I
    would appreciate copies.


    It is my intention to create disk images that can compile back to the
    correct binary format.


    Randy
    | 297|296|2005-04-30 14:58:41|Derek M Jones|Re: pSystem text files|
    Randy,

    The following runs under Linux (RedHat 9 compatibles)
    and will list/import/export/create new volumes.

    http://www.knosof.co.uk/psystem/pdir

    Some documentation (the interpreter TBA).

    http://www.knosof.co.uk/manuals/Pkit.pdf


    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 298|298|2005-05-04 22:24:17|David Barto|I.4 is available from UCSD|
    Well, what UCSD had. I'm trying to find out if Bill will take I.5 (a
    complete distribution) and set that up also.

    -barto


    -------- Original Message --------
    Subject: UCSD Pascal (UCSD 1991-807)
    Date: Wed, 04 May 2005 13:18:28 -0700
    From: William Decker
    To: David Barto <david.barto@...
    David:

    We have posted Version 1.4 of UCSD Pascal (at least, what portions we have)
    to our website for free download for research, academic, and non-profit
    purposes. Please check it out at this link

    http://invent.ucsd.edu/technology/cases/1995-prior/SD1991-807.htm

    and feel free to let others know it is available.

    Thanks,

    Bill

    William J. Decker, Ph.D.
    Assistant Director - Physical Science Licensing
    Technology Transfer and Intellectual Property Services (TechTIPS)
    University of California, San Diego
    9500 Gilman Drive Dept. 0910
    La Jolla, CA 92093-0910
    phone:858-822-5128, fax: 858-534-7345

    Overnight Street Address/ZIP: 10300 N. Torrey Pines Fl. 1, Mail Code
    0910/92037

    http://invent.ucsd.edu "...pipeline to innovation"

    The information contained in this transmission is confidential. This
    information is intended for the exclusive use of the addressee(s) named
    above. You are hereby notified that any use, disclosure, dissemination,
    distribution (other than to the attended addressee(s)), copying, or the
    taking of any action because of the information contained herein is
    prohibited.

    Opinions expressed in this e-mail should not be considered the final
    determination of the waiver of any right of the University of California.

    --
    David Barto
    barto@... david.barto@... http://www.kdbarto.org

    Oxymoron - 2 words which mean the opposite of each other:
    Jumbo Shrimp
    Military Intelligence
    Microsoft Security
    | 299|299|2005-05-04 22:34:06|David Barto|I.5 sources|
    If I can get a complete copy of I.5 sources (interp for any machine,
    editor, filer, compiler, system etc) UCSD is willing to research if they
    can put it all up for free redistribution.

    I'm sure if I could come up with a II.0 and IV.x, they would do the same.

    If you really want this to happen, now is the time.

    -barto

    --
    David Barto
    barto@... david.barto@... http://www.kdbarto.org

    "The day Microsoft makes something that doesn't suck is probably the day
    they start making vacuum cleaners." - Ernest Jan Plugge
    | 301|298|2005-05-04 23:20:22|Randy McLaughlin|Re: I.4 is available from UCSD|
    From: "Hans Otten" <h.otten@... Sent: Wednesday, May 04, 2005 3:37 PM


    This is great, I definitely recognize the file name. The original included
    some private text files that I deleted from the copy on my website.

    I tried to download the file but just got an error, I'll try again later.


    Randy
    www.s100-manuals.com
    | 302|298|2005-05-05 00:00:20|Stuart Bell|Re: I.4 is available from UCSD|
    On 4 May 2005, at 21:37, Hans Otten wrote:

    Sadly, I get a page not found error when I go for the zip file.

    Stuart
    | 303|303|2005-05-06 22:31:47|David Barto|Doesn't anybody (somebody MUST) have the I.5 sources|
    I can't believe that somebody doesn't have a complete set in this group.
    Being willing to share them with me, means that UCSD will get them and
    most likely post them up for all to use.

    Come on people.

    A good thing for all concerned.

    -barto

    --
    David Barto
    barto@... david.barto@... http://www.kdbarto.org

    B.A.R.T.O.:
    Biomechanical Android Responsible for Troubleshooting and Observation
    <http://www.brunching.com/cyborger.html| 304|108|2005-05-08 15:42:33|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Global20.txt
    Uploaded by : laurieboshell2004 <laurieboshell2004@... Description : GLOBAL DECLARATIONS FOR UCSD PASCAL II.0

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Global20.txt

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    laurieboshell2004 <laurieboshell2004@...| 305|108|2005-05-08 15:46:37|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Global30.txt
    Uploaded by : laurieboshell2004 <laurieboshell2004@... Description : GLOBAL DECLARATIONS FOR UCSD PASCAL III.0

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Global30.txt

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    laurieboshell2004 <laurieboshell2004@...| 306|303|2005-05-12 04:40:11|rsmpaul|Re: Doesn't anybody (somebody MUST) have the I.5 sources|
    David Barto wrote:
    Do you mean more than what is in the UCSD link at
    http://www.s100-manuals.com/pascal.htm?

    --
    Paul R. Santa-Maria
    Monroe, Michigan USA
    | 307|303|2005-05-12 04:54:40|Randy McLaughlin|Re: Doesn't anybody (somebody MUST) have the I.5 sources|
    From: "rsmpaul" <rsmpaul@... Sent: Wednesday, May 11, 2005 9:40 PM


    s100-manuals.com is my site, I can say for a fact that it is just bits and
    pieces donated by a variety of people.

    The I.5 sources are both incomplete yet the most complete of the systems.
    It is missing the editor and filer sources as well as many other pieces.

    I hope to compile the editor from the Terak archive and compare the binary
    to the I.5 binary, with any luck they are the same or have very few mods. I
    believe the Terak archive is I.4.

    David is right but asking too little, anyone with anything (other runtimes,
    compilers, or any sources) I will post most anything either scanned or
    machine readable.


    Randy
    www.s100-manuals.com
    | 308|303|2005-05-13 07:04:45|Shirl|Re: Doesn't anybody (somebody MUST) have the I.5 sources|
    Paul,

    Your comment made me look at my UCSD p-system v1.5 sources and you are
    correct. The EDITOR and FILER sources are not present :-( I thought they
    were.

    If anyone has these missing pieces, I sure would like copies to complete
    this p-system set.

    - David Craig

    ----------
    sources
    | 309|303|2005-05-13 08:00:59|Randy McLaughlin|Re: Doesn't anybody (somebody MUST) have the I.5 sources|
    From: "Shirl" <shirlgato@... Sent: Friday, May 13, 2005 12:04 AM
    I work on restoring sources/binaries for a variety of systems, from this I
    can tell you how it works:

    It is simply a matter of putting together a jigsaw puzzle. You don't put
    together a jigsaw puzzle by taking a piece out of a bag and deciding where
    it goes before going to the next piece. You must dump all of the pieces on
    a table and reconstruct pieces where is as is until finally the puzzle is
    complete.

    Trying to reconstruct these old sources are jigsaw puzzles with lots of
    pieces missing.

    That is what I do I start by throwing the pieces on a table (post
    un-organized archives), sort them and re-post them and repeat forever.

    Some pieces are probably lost forever. Deal with it and go on. The missing
    pieces are replaceable with other code from other versions or re-written
    from scratch.

    The big trick is to not get tied up trying to find the missing pieces and
    ignoring the rest.


    IF ANYONE HAS PIECES LAYING AROUND SHARE THEM.

    YOU MAY BELIEVE THAT IT'S ALREADY THERE BUT IN FACT YOU MAY HAVE ONE EXTRA
    MISSING PIECE IN THE MIDDLE OF DUPLICATE PIECES.


    I try to post in straight ascii so I obviously use upper case for emphasis,
    but the truth is some times you think you have the same code as is already
    posted but you never know. Send it along and let different eyes look at
    what you have.


    You can post in the yahoo group files area or send it to me and I'll post it
    on my site (I have several giga-bytes available but the yahoo group is
    limited).

    I don't plan to stop posting the files but I highly recommend people
    download copies of everything I have posted, just remember it is always
    possible to get in a car wreck and then the site will disappear. That is
    the best way to preserve the files (along with others mirroring or creating
    their own web-pages).

    Randy
    www.s100-manuals.com

    randy at s100-manuals dot com
    | 310|303|2005-05-14 00:53:21|Laurie Boshell|Re: Doesn't anybody (somebody MUST) have the I.5 sources|
    I've just sent Randy the Filer source for I.5 (sub version F.5) and the
    Editor Source for I.4 (E.4a): both will compile and run under I.5, the
    Editor is the very same source posted on this group. I've never seen
    the source for the editor in I.5 or II.0 but I suspect that there were
    virtually no changes made!

    If you wish to compile the Editor under I.5 or II.0, make sure that you
    use the correct GLOBALS.PAS include file: there are some subtle
    differences in the MISCINFO record structure.

    I'm not sure how many of you are able to compile these but I can post a
    compier that runs under MSDOS that will build a valid I.5 p-code file
    from suitable source. The only problem is that it does not handle
    include files, it expects one great long source file (this is due to a
    quirk in UCSD pascal text files that I have not dealt with in the MSDOS
    version of the compiler).

    Laurie
    | 311|303|2005-05-14 01:16:11|Randy McLaughlin|Re: Doesn't anybody (somebody MUST) have the I.5 sources|
    From: "Laurie Boshell" <laurieboshell2004@... Sent: Friday, May 13, 2005 5:53 PM


    This is great and I agree other than the Compiler and interpreter many
    programs would not need to be version dependant.

    Maybe somewhere are the other sources like setup, booter (yes I know booter
    is multiple machine dependent programs), etc.


    Randy
    www.s100-manuals.com
    | 312|303|2005-05-14 05:31:35|Shirl|Re: Doesn't anybody (somebody MUST) have the I.5 sources|
    Laurie,

    Would the UCSD I.5 filer and editor compile under the Apple II Pascal
    system?

    If so, can you email me the sources for these and I will try it.

    - David Craig

    ----------
    | 313|303|2005-05-15 23:43:11|Laurie Boshell|Re: Doesn't anybody (somebody MUST) have the I.5 sources|
    Yep, sure would.

    1. Make sure that you use the Globals.PAS for II.0 that I posted to
    this group.

    2. If you run out of memory then use (*$S++*) extra swapping on the
    apple.

    The files are in the rLike area of this group.

    Laurie.


    | 314|314|2005-05-16 22:02:34|John Foust|Licensing, circa 1996|
    Back in 1996, I tried to find out if it were possible
    to license UCSD Pascal. Below is the first response I got.
    Subsequent messages directed me to Cabot.

    Although the licensing was non-exclusive, I believe Cabot was
    the only active licensee back in 1996, and UCSD didn't want to
    endanger that remaining source of revenue for this particular
    asset.

    At the time, I also had some communications with Eli Willner
    of Pecan, the second-most recent company/person to license the
    code from UCSD, who asserted that version I.3, circa 9/77, is
    actually public domain.

    Similarly, in 1996, Ken Bowles also told me he'd been trying to
    persuade UCSD to release I.5, saying "There is no reason version 1.5
    shouldn't be completely in the public domain". He began trying
    to free it after Softech went bankrupt. He recommended an
    approach that would remove the "UCSD" from the name.

    - John

    From: Daniel_Broderick@...
    Received: by ucsd.edu from VC-RMP.UCSD.EDU
    id <CC5438360@... Message-Id: <CC5438360@... Date: Wed, 20 Mar 1996 09:44:00 -0800
    To: syndesis@...
    Subject: Re: Terms of licensing for UCSD p-system?

    Dear John -

    Here are the details of the UCSD Pascal license which are publically
    available:

    The University of California San Diego (UCSD) has signed an agreement
    with the former principals of Pecan Software Systems Inc. for the
    exclusive rights to all versions of UCSD Pascal and p-code system
    software versions 2.0 to 5.0, including all development tools, as well
    as the C Compiler, Modula 2 Compiler, Apple Macintosh Advantage, Unix,
    IBM PC, VAX, and the 32 bit implementation of the p-system. Having
    acquired these rights, UCSD non-exclusively licensed Cabot
    International Software Group Limited, in Bristol England, the rights
    to enhance, copy, commercially manufacture, sublicense, distribute,
    market, and support this software system so that the benefits of UCSD
    Pascal and the p-code systems may be enjoyed by the public at large.

    These agreements effectively end the disputes over the rights of UCSD
    Pascal and the p-code system, and positions all rights to the UCSD
    Pascal and the p-system in the hands of the University of California
    and its licensees. It should be noted that the University of
    California does not have the resources to support, upgrade, service,
    or distribute this software, and the license agreement with Cabot
    serves this purpose. Additional information may be obtained by
    contacting Daniel Broderick at UCSD at dbroderick@..., Eli
    Wilner, one of the former principals of Pecan Software, at
    76703.500@..., or Kenneth Helps at Cabot Software at 44-
    117-9-586-644.

    If you would like a copy of the latest version and a sublicense,
    please call Ken Helps of Cabot Software.

    Regards,

    Dan


    ______________________________ Reply Separator
    _________________________________
    Subject: Terms of licensing for UCSD p-system?
    Author: syndesis@... at @UCSD
    Date: 3/19/96 9:34 PM


    Can you tell me about the details of licensing the UCSD p-system?
    Is it possible for others to get a license?

    (See below for the reason 'why'.)

    - John Foust
    | 315|315|2005-05-16 22:03:01|John Foust|Intro message|
    I'm the guy who created the Jefferson Computer Museum web site.
    It has info about UCSD Pascal, the Terak computer, and USUS libraries.

    - John
    www.threedee.com/jcm
    | 316|314|2005-05-16 23:27:14|David Barto|Re: Licensing, circa 1996|
    The information about I.5 is the reason I'm pushing to find the
    remainder of the I.5 system.

    I'm just shy a formal I.5 editor.

    If I can get L2, that would be a real coup.

    I'm getting ready to send a (large) package of I.5 stuff to UCSD. They
    are now willing to review and open for 'research and non-public' uses.

    Pretty much opens it up to everyone.

    If only Cabot would let go of what they had for the Unix port, it could
    bring back UCSD Pascal to a 'living' system.

    -barto


    John Foust wrote:
    --
    David Barto
    barto@... david.barto@... http://www.kdbarto.org

    "Windows is a poorly debugged device driver loader"
    ---Marc Andreessen
    | 317|314|2005-05-16 23:43:39|Derek M Jones|Re: Licensing, circa 1996|
    David,

    Unix port?

    There was a Unix hosted p-System (Motorola 68000 based) developed
    by Focus computer in Germany. I don't know of any other Unix
    port (other than the Knowledge Software Port-a-kit).


    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 318|314|2005-05-17 00:06:59|David Barto|Re: Licensing, circa 1996|
    Could I get the 'port-a-kit'?

    At UCSD, a grad student did a port of UCSD to the VAX running V32M (just
    before BSD 4.0 came out). Ran with real VM support and everything.

    -barto


    Derek M Jones wrote:
    --
    David Barto
    barto@... david.barto@... http://www.kdbarto.org

    "Windows is a poorly debugged device driver loader"
    ---Marc Andreessen
    | 319|314|2005-05-19 11:34:01|Laurie Boshell|Re: Licensing, circa 1996|
    Derek, Would this be the code you are talking about ?
    I've unearthed more where this came from (68000 PME IV.1 / IV.13)

    Laurie (Please excuse the long post)
    (* CODE START *)

    {UFILER.TEXT}

    {$DV13-}
    PROGRAM unix_filer;

    USES {$U comp:screenops.code} screenops,
    {$BV13}
    {$U tool:commandio.code} commandio,
    {$EV13}
    {$U ustuff.code} unix_stuff;

    {$C 1985 FOCUS GmbH written by Jens-Uwe Mager rev 1.0}

    VAR
    i,io : integer;
    c : char;
    cr_flag : cr_typ;
    {$BV13}
    mntflg : boolean;
    {$EV13}
    unitid,maxunit,dotcnt : integer;
    s : u_str;

    FUNCTION utop(unitid : integer) : integer;

    BEGIN
    IF unitid=0 THEN utop := 6
    ELSE
    IF unitid=1 THEN utop := 7
    ELSE
    IF unitid<4 THEN utop := unitid+2
    ELSE utop := unitid+5
    END;

    FUNCTION ptou(psysnum : integer) : integer;

    BEGIN
    IF psysnum=6 THEN ptou := 0
    ELSE
    IF (psysnum=7) or (psysnum=8) THEN ptou := 1
    ELSE
    IF (psysnum=4) or (psysnum=5) THEN ptou := psysnum-2
    ELSE
    IF psysnum ELSE ptou := 255
    END;

    FUNCTION strtoint(var s : string) : integer;

    VAR i,inx : integer;

    BEGIN
    i := 0;
    FOR inx := 1 to length(s) DO i := 10*i+ord(s[inx])-ord('0');
    strtoint := i
    END;

    PROCEDURE checkerror;

    BEGIN
    io := ioresult;
    IF io< IF io ELSE writeln('Unix filer: Ioresult=',io)
    END;

    PROCEDURE dot;

    BEGIN
    IF dotcnt mod 40 = 0 THEN
    BEGIN
    writeln;
    dotcnt := 0
    END;
    write('.');
    dotcnt := dotcnt+1
    END;

    PROCEDURE listmnts;

    VAR io,inx,fd : integer;
    vname : u_str;

    BEGIN
    sc_clr_screen;
    writeln;
    writeln(' Unit Unix path or command');
    writeln;
    inx := 0;
    REPEAT
    u_getmount(inx, fd, vname);
    io := ioresult;
    IF io=0 THEN
    BEGIN
    write(' #', utop(inx):2, ' ');
    IF fd=-1 THEN write(' writeln
    END;
    inx := inx + 1
    UNTIL io< maxunit := inx -1
    END;

    PROCEDURE pipe(c : char);

    VAR fd,i : integer;
    buff : u_buf;
    f : interactive;

    BEGIN
    write('Use what p-System text file: ');
    readln(s);
    IF s[length(s)]='.' THEN delete(s,length(s),1)
    ELSE s:=concat(s,'.TEXT');
    {$I-}
    IF length(s) BEGIN
    IF c='I' THEN rewrite(f,s)
    ELSE reset(f,s);
    IF ioresult=0 THEN
    BEGIN
    write('Unix command: ');
    readln(s);
    IF length(s) BEGIN
    IF c='I' THEN cr_flag := cr_pipei
    ELSE cr_flag := cr_pipeo;
    IF s[1]< fd := u_open(s,cr_flag);
    IF fd BEGIN
    IF c='I' THEN
    REPEAT
    i := u_read(fd,buff,1);
    IF (ioresult=0) and (i=1) THEN
    IF buff[0]=chr(10) THEN
    BEGIN
    dot;
    writeln(f)
    END
    ELSE write(f,buff[0])
    UNTIL (ioresult< ELSE
    WHILE not eof(f) and (ioresult=0) DO
    BEGIN
    read(f,buff[0]);
    IF (ioresult=0) and not eof(f) THEN
    BEGIN
    IF eoln(f) THEN
    BEGIN
    dot;
    buff[0] := chr(10)
    END;
    i := u_write(fd,buff,1)
    END
    END;
    checkerror;
    IF io=0 THEN close(f,lock)
    ELSE close(f);
    u_close(fd)
    END
    END
    ELSE close(f)
    END
    ELSE checkerror
    END
    {$I^}
    END;

    PROCEDURE docopy(c : char);

    VAR fd,i : integer;
    mode : cr_typ;
    buff : u_buf;
    f : file;

    BEGIN
    write('Use what p-System file: ');
    readln(s);
    {$I-}
    IF length(s) BEGIN
    IF c='I' THEN BEGIN rewrite(f,s); mode := cr_open END
    ELSE BEGIN reset(f,s); mode := cr_creat END;
    IF ioresult=0 THEN
    BEGIN
    write('Use what Unix file: ');
    readln(s);
    IF length(s) BEGIN
    fd := u_open(s,mode);
    IF fd BEGIN
    IF c='O' THEN
    BEGIN
    WHILE not eof(f) and (ioresult=0) DO
    IF blockread(f,buff,1)=1 THEN
    BEGIN
    dot;
    i := u_write(fd,buff,sizeof(buff))
    END
    END
    ELSE
    WHILE (u_read(fd,buff,sizeof(buff)) BEGIN
    dot;
    i:=blockwrite(f,buff,1)
    END;
    checkerror;
    IF c='O' THEN close(f) ELSE close(f,lock);
    u_close(fd)
    END
    ELSE checkerror
    END
    ELSE close(f)
    END
    END
    END;

    PROCEDURE buildvol;

    VAR fd,size,i : integer;
    vname : string[7];
    vol : record
    case boolean of
    true : (buff : u_buf);
    false : (entry : record
    dfkind,
    dlastblk,
    dfirstblk : integer;
    dvid : string[7];
    dlastboot,
    dloadtime,
    dnumfiles,
    deovblk : integer
    end)
    END;

    BEGIN
    fillchar(vol,sizeof(vol),chr(0));
    sc_clr_screen;
    writeln;
    write('Build what volume: ');
    readln(s);
    IF length(s) BEGIN
    i := pos('.', s)-1;
    IF i<=0 THEN i := length(s);
    IF i vname := copy(s,1,i);
    fd := u_open(s,cr_creat);
    IF fd BEGIN
    write('Size in 512 byte blocks: ');
    readln(s);
    IF length(s) BEGIN
    size := strtoint(s);
    IF size WITH vol.entry DO
    BEGIN
    dlastblk := 6;
    deovblk := size;
    write('New volume name ( IF length(s)=0 THEN s := vname;
    IF length(s) FOR i := 1 to length(s) DO
    IF s[i] in ['a'..'z'] THEN s[i] := chr(ord(s[i])-32);
    dvid := s;
    u_lseek(fd,2*512,ls_abs);
    writeln('after lseek');
    i := u_write(fd,vol.buff,sizeof(vol));
    checkerror
    END
    ELSE write('Invalid size')
    END;
    u_close(fd)
    END
    END
    END;

    BEGIN {Unix filer}
    {$BV13}
    mntflg := false;
    {$EV13}
    listmnts;
    REPEAT
    c := sc_prompt(concat(
    'Unix filer: M(ount, D(ismount, L(ist mounts, U(nix cmd, P(ipe, B
    (uild, ',
    'C(hange dir, K(opy, Q(uit [R1.0]'),
    -1,0,0,0,['M','D','L','U','!','P','C','K',' ','Q','B'],false,',');
    dotcnt:=0;
    CASE c OF

    ' ' : sc_clr_screen;

    'B' : BEGIN
    (buildvol;
    checkerror
    END;

    'C' : BEGIN
    sc_clr_screen;
    writeln;
    write('Change to what directory: ');
    readln(s);
    IF length(s) BEGIN
    u_chdir(s);
    checkerror
    END
    END;

    '!',
    'U' : BEGIN
    sc_clr_screen;
    writeln;
    write('Unix command: ');
    readln(s);
    IF length(s) checkerror
    END;

    'P' : BEGIN
    sc_clr_screen;
    writeln;
    write('Pipe I(n or O(ut ');
    sc_getc_ch(c,['I','O',' ',chr(13)]);
    writeln(c);
    IF (c='I') or (c='O') THEN
    BEGIN
    pipe(c);
    checkerror;
    writeln;
    i := u_wait(i)
    END
    END;

    'K' : BEGIN
    sc_clr_screen;
    writeln;
    write('Copy I(n or Out ');
    sc_getc_ch(c,['I','O',' ',chr(13)]);
    writeln(c);
    IF (c='I') or (c='O') THEN
    BEGIN
    docopy(c);
    checkerror
    END
    END;

    'M' : BEGIN
    listmnts;
    writeln;
    write('Mount #');
    readln(s);
    IF length(s) BEGIN
    unitid := ptou(strtoint(s));
    IF unitid BEGIN
    write('as: ');
    readln(s);
    IF length(s) BEGIN
    'IF s[1]='|' THEN cr_flag := cr_pipeo
    ELSE
    IF unitid<2 THEN cr_flag := cr_creat
    ELSE cr_flag := cr_open;
    u_mount(unitid,-1,s,cr_flag);
    {$BV13}
    mntflg := true;
    {$EV13}
    checkerror
    END
    END
    ELSE write('Invalid #')
    END
    END;

    'D' : BEGIN
    listmnts;
    writeln;
    write('Dismount #');
    readln(s);
    IF length(s) BEGIN
    unitid := ptou(strtoint(s));
    IF unitid BEGIN
    u_dismount(unitid);
    checkerror;
    {$BV13}
    mntflg := true
    {$EV13}
    END
    ELSE write('Invalid #')
    END
    END;

    'L' : listmnts;
    END
    UNTIL c='Q';
    {$BV13}
    IF mntflg THEN
    IF not redirect('I="I"') THEN exception(true)
    {$EV13}
    END.







    (* CODE END *)



    --- In UCSDPascal@yahoogroups.com, David Barto (just
    could
    1252 520 667
    http://www.knosof.co.uk
    | 320|314|2005-05-19 11:36:51|Laurie Boshell|UNIX FILER FOR p-SYSTEM|
    Further to my last post, if you want to compile the unix filer, you
    will need the unit unix_stuff.text.

    Here it is

    Laurie.




    {USTUFF.TEXT}
    UNIT unix_stuff;

    INTERFACE

    {$C 1985 FOCUS GmbH written by Jens-Uwe Mager rev 1.1 }

    TYPE
    cr_typ = (cr_open, cr_creat, cr_pipei, cr_pipeo);
    lk_typ = (lk_remove, lk_block, lk_check);
    ls_typ = (ls_abs, ls_curr, ls_eof);

    u_str = string [255];
    u_buf = PACKED ARRAY [0..511] of char;

    PROCEDURE u_dismount(unitid : integer);

    PROCEDURE u_getmount(unitid : integer; var fd : integer; var vname :
    u_str);

    PROCEDURE u_mount(unitid : integer; fd : integer;
    var vname : u_str; cr_flag : cr_typ);

    FUNCTION u_system(cmd : u_str) : integer;

    PROCEDURE u_chdir(path : u_str);

    PROCEDURE u_lock(fd : integer; mode : lk_typ; start,len : integer);

    FUNCTION u_open(path : u_str; cr_flag : cr_typ) : integer;

    FUNCTION u_read(fd : integer; var buffer : u_buf; amount :
    integer) : integer;

    FUNCTION u_write(fd : integer; var buffer : u_buf; amount :
    integer) : integer;

    PROCEDURE u_close(fd : integer);

    PROCEDURE u_lseek(fd : integer; offs : integer; ls_flag : ls_typ);

    PROCEDURE u_perror(msg : u_str; ior : integer);

    FUNCTION u_wait(var statloc : integer) : integer;

    FUNCTION u_pipe(direction : char;fname, cmd : string) : integer;

    FUNCTION u_copy(direction : char;pname,uname : string) : integer;

    FUNCTION u_buildvol(uname,vname : string; size : integer) : integer;

    IMPLEMENTATION

    CONST
    STO = 196;

    u_offs = 128;

    f_sys = 0;
    f_chd = 1;
    f_opn = 2;
    f_cls = 3;
    f_lck = 4;
    f_lsk = 5;
    f_rea = 6;
    f_wri = 7;
    f_err = 8;
    f_sta = 9;

    TYPE
    mntrec = record
    cr_flag : cr_typ;
    fd : integer;
    vname : u_str
    end;
    params = array [0..4] of integer;

    PROCEDURE str_to_p(var s : u_str; var i : integer);

    BEGIN
    P_MACHINE(^i, ^s, STO)
    END;

    PROCEDURE buf_to_p(var s : u_buf; var i : integer);

    BEGIN
    P_MACHINE(^i, ^s, STO)
    END;

    PROCEDURE u_dismount{unitid : integer};

    BEGIN
    unitclear(unitid+u_offs)
    END;

    PROCEDURE u_getmount{unitid : integer; var fd : integer; var vname :
    u_str};

    VAR mnt : mntrec;

    BEGIN
    unitread(unitid+u_offs,mnt,0);
    IF ioresult = 0 THEN
    BEGIN
    fd := mnt.fd;
    vname := mnt.vname
    END
    END;

    PROCEDURE u_mount{unitid : integer; var fd : integer;
    var vname : u_str; cr_flag : cr_typ};
    VAR mnt : mntrec;

    BEGIN
    mnt.fd := fd;
    mnt.cr_flag := cr_flag;
    mnt.vname := vname;
    unitwrite(unitid+u_offs,mnt,0)
    END;

    FUNCTION u_system{cmd : u_str) : integer};

    VAR p : params;

    BEGIN
    p[0] := f_sys;
    str_to_p(cmd, p[1]);
    unitstatus(u_offs, p, 0);
    u_system := p[0]
    END;

    PROCEDURE u_chdir{path : u_str};

    VAR p : params;

    BEGIN
    p[0] := f_chd;
    str_to_p(path, p[1]);
    unitstatus(u_offs, p, 0)
    END;

    PROCEDURE u_lock{fd : integer; mode : lk_typ; start,len : integer};

    VAR p : params;

    BEGIN
    p[0] := f_lck;
    p[1] := fd;
    p[2] := ord(mode);
    p[3] := start;
    p[4] := len;
    unitstatus(u_offs, p, 0)
    END;

    FUNCTION u_open{path : u_str; cr_flag : cr_typ) : integer};

    VAR p : params;

    BEGIN
    p[0] := f_opn;
    str_to_p(path, p[1]);
    p[2] := ord(cr_flag);
    unitstatus(u_offs, p, 0);
    u_open := p[0]
    END;

    FUNCTION u_read{fd : integer; var buffer : u_buf; amount :
    integer) : integer};

    VAR p : params;

    BEGIN
    p[0] := f_rea;
    p[1] := fd;
    buf_to_p(buffer, p[2]);
    p[3] := amount;
    unitstatus(u_offs, p, 0);
    u_read := p[0]
    END;

    FUNCTION u_write{fd : integer; var buffer : u_buf; amount :
    integer) : integer};

    VAR p : params;

    BEGIN
    p[0] := f_wri;
    p[1] := fd;
    buf_to_p(buffer, p[2]);
    p[3] := amount;
    unitstatus(u_offs, p, 0);
    u_write := p[0]
    END;

    PROCEDURE u_close{fd : integer};

    VAR p : params;

    BEGIN
    p[0] := f_cls;
    p[1] := fd;
    unitstatus(u_offs, p, 0)
    END;

    PROCEDURE u_lseek{fd : integer; offs : integer; ls_flag : ls_typ};

    VAR p : params;

    BEGIN
    p[0] := f_lsk;
    p[1] := fd;
    p[2] := 0; { SAC 10/12/87 - lseek takes longword offset }
    p[3] := offs;
    p[4] := ord(ls_flag);
    unitstatus(u_offs, p, 0)
    END;

    PROCEDURE u_perror{msg : u_str; ior : integer};

    VAR p : params;

    BEGIN
    p[0] := f_err;
    p[1] := ior;
    str_to_p(msg, p[2]);
    unitstatus(u_offs, p, 0)
    END;

    FUNCTION u_wait{var statloc : integer) : integer};

    VAR p : params;

    BEGIN
    p[0] := f_sta;
    P_MACHINE(^p[1], ^statloc, STO);
    unitstatus(u_offs, p, 0);
    u_wait := p[0]
    END;

    FUNCTION u_pipe{direction : char;fname, cmd : string) : integer};

    VAR fd,i,io : integer;
    cr_flag : cr_typ;
    buff : u_buf;
    f : interactive;

    BEGIN
    io :=0;
    {$I-}
    IF length(fname) BEGIN
    IF direction='I' THEN rewrite(f,fname)
    ELSE reset(f,fname);
    IF ioresult=0 THEN
    BEGIN
    IF length(cmd) BEGIN
    IF direction='I' THEN cr_flag := cr_pipei
    ELSE cr_flag := cr_pipeo;
    IF cmd[1]< fd := u_open(cmd,cr_flag);
    IF fd BEGIN
    IF direction='I' THEN
    REPEAT
    i := u_read(fd,buff,1);
    IF (ioresult=0) and (i=1) THEN
    IF buff[0]=chr(10) THEN
    BEGIN
    writeln(f)
    END
    ELSE write(f,buff[0])
    UNTIL (ioresult< ELSE
    WHILE not eof(f) and (ioresult=0) DO
    BEGIN
    read(f,buff[0]);
    IF (ioresult=0) and not eof(f) THEN
    BEGIN
    IF eoln(f) THEN buff[0] := chr(10);
    i := u_write(fd,buff,1)
    END
    END;
    io:=ioresult;
    IF io=0 THEN close(f,lock)
    ELSE close(f);
    u_close(fd)
    END
    END
    ELSE close(f)
    END
    END;
    IF io=0 THEN u_pipe := ioresult
    ELSE u_pipe := io
    {$I^}
    END;

    FUNCTION u_copy{direction : char;pname,uname : string) : integer};

    VAR fd,io,i : integer;
    mode : cr_typ;
    buff : u_buf;
    f : file;

    BEGIN
    io := 0;
    {$I-}
    IF length(pname) BEGIN
    IF direction='I' THEN BEGIN rewrite(f,pname); mode := cr_open END
    ELSE BEGIN reset(f,pname); mode := cr_creat END;
    IF ioresult=0 THEN
    BEGIN
    IF length(uname) BEGIN
    fd := u_open(uname,mode);
    IF fd BEGIN
    IF direction='O' THEN
    BEGIN
    WHILE not eof(f) and (ioresult=0) DO
    IF blockread(f,buff,1)=1 THEN
    i := u_write(fd,buff,sizeof(buff))
    END
    ELSE
    WHILE (u_read(fd,buff,sizeof(buff)) i:=blockwrite(f,buff,1);
    io := ioresult;
    IF direction='O' THEN close(f) ELSE close(f,lock);
    u_close(fd)
    END
    END
    ELSE close(f)
    END
    END;
    IF io=0 THEN u_copy := ioresult
    ELSE u_copy := io
    END;

    FUNCTION u_buildvol{uname,vname : string; size : integer) : integer};

    VAR fd,io,i : integer;
    vol : record
    case boolean of
    true : (buff : u_buf);
    false : (entry : record
    dfkind,
    dlastblk,
    dfirstblk : integer;
    dvid : string[7];
    dlastboot,
    dloadtime,
    dnumfiles,
    deovblk : integer
    end)
    END;

    BEGIN
    io := 0;
    fillchar(vol,sizeof(vol),chr(0));
    IF length(uname) BEGIN
    i := pos('.', uname)-1;
    IF i<=0 THEN i := length(uname);
    IF i IF length(vname)=0 THEN vname := copy(uname,1,i);
    fd := u_open(uname,cr_creat);
    IF fd BEGIN
    IF size WITH vol.entry DO
    BEGIN
    dlastblk := 6;
    deovblk := size;
    IF length(vname) FOR i := 1 to length(vname) DO
    IF vname[i] in ['a'..'z'] THEN vname[i] := chr(ord(vname[i])-
    32);
    dvid := vname;
    u_lseek(fd,2*512,ls_abs);
    i := u_write(fd,vol.buff,sizeof(vol));
    io := ioresult
    END;
    u_close(fd)
    END
    END;
    IF io=0 THEN u_buildvol := ioresult
    ELSE u_buildvol := io
    END;

    END. {unix_stuff}
    | 321|314|2005-05-19 14:25:32|Derek M Jones|Re: Licensing, circa 1996|
    Laurie,

    It looks like part of what I was talking about. They also had
    a bios, etc.

    derek

    --
    Derek M Jones tel: +44 (0) 1252 520 667
    Knowledge Software Ltd mailto:derek@...
    Applications Standards Conformance Testing http://www.knosof.co.uk
    | 322|314|2005-05-19 15:24:43|David Barto|I.5 sources are at UCSD for review, anybody got a full set of II.0?|
    UCSD has taken what I've got for investigation of licensing the I.5
    sources. With any luck they will be available 'soon.'

    Now... On to II.0.

    Anybody up for that?

    -barto


    Derek M Jones wrote:
    --
    David Barto
    barto@... david.barto@... http://www.kdbarto.org

    "Windows is a poorly debugged device driver loader"
    ---Marc Andreessen
    | 323|314|2005-05-20 08:16:49|Laurie Boshell|Re: I.5 sources are at UCSD for review, anybody got a full set of I|
    I have very limited stuff for II.0 but can supply the original UCSD
    source unaltered for the Z80 p-machine (interp) for CP/M. I'll
    forward copies to you and Randy this weekend, and anything else that
    I can unearth!

    Laurie.

    --- In UCSDPascal@yahoogroups.com, David Barto developed
    1252 520 667
    http://www.knosof.co.uk
    | 324|324|2005-05-20 08:31:37|Randy McLaughlin|Call for more versions|
    While there is a push to collect sources more binaries would be great also:

    How about version III & more revisions of version IV.x, yes I know version
    III is extremely rare and was used by the WesternDigital p-engine.

    How about more sources and binaries of the interpreters (run-time).

    While it is important to archive the sources like the version II being
    called on we need to archive as much as possible (don't forget the manuals,
    etc).


    Randy
    | 325|256|2005-05-23 06:17:30|j_greg_d|Re: version IV copyright status|
    Hi Everybody,

    Laurie just informed me of the existence of this group and I've just
    joined.

    The University of California is a special case in almost every
    respect. Does anyone have any knowledge of who was involved in
    getting BSD put under a free software license? BSD is an excellent
    precedent. If we can work within the UC system with someone who knows
    how to do it, we might be able to achieve a similar result.

    _Greg Davidson
    | 326|256|2005-05-23 07:12:48|Eric Smith|Re: version IV copyright status|
    Greg wrote:
    It originally wasn't anywhere near being "free software", because it
    was derived from AT&T Unix which AT&T (and later USL, Novell, Caldera
    and now the SCO Group) claim is copyrighted. (There is some question
    as to whether there was really a valid legal copyright.) Anyhow, the
    point is that although the BSD license was very permissive, it still
    wasn't possible to share the core operating system code or many of
    the utilities with anyone other than another AT&T Unix licensee. The
    entirely new portions, such as the Pascal compiler, were of course
    not encumbered by the AT&T copyrights.

    It wasn't until BSD 4.4 Lite that the entire BSD operating system was
    unencumbered by AT&T/USL copyrights; prior to that, there were partial
    releases missing the AT&T parts, known by names such as "Net 2".

    If the BSD operating system had been developed from scratch rather
    than as changes to commercial software, I suspect that the UC Regents
    would have wanted to use a much more restrictive license, in order
    to generate a lot of revenue from it.

    Bill Joy was probably responsible for arranging the very permissive
    license for the earliest releases. Marshall Kirk McKusick would
    probably be the best person to ask now. His web site is:
    http://www.mckusick.com/

    Eric
    | 327|256|2005-05-23 16:22:31|David Barto|Re: version IV copyright status|
    Hi Greg!

    I'm actually in touch with UCSD working on the license for I.5 and
    gathering II.0 and IV.x sources for same.

    If you have anything let me know.

    -barto


    j_greg_d wrote:
    --
    David Barto
    barto@... david.barto@... http://www.kdbarto.org

    "Windows is a poorly debugged device driver loader"
    ---Marc Andreessen
    | 328|256|2005-05-23 19:45:43|J. Greg Davidson|Re: version IV copyright status|
    On Mon, 2005-05-23 at 07:22 -0700, David Barto wrote:
    Hi David!

    Thanks for doing this great work! Unfortunately, all of my P-System
    software is still on the original media! Let me know if you hear of
    anyone who has hardware that can read 8" and Apple-II floppies. Of
    course, the bits may have degraded to unreadability by now.

    Isn't it funny to see all of this interest peaking now?

    Love,

    _Greg
    --
    | 329|256|2005-05-23 19:51:03|willi@wilserv.com|Re: version IV copyright status|
    Hi!

    Quoting "J. Greg Davidson":
    I can read 8 inch floppies.

    Willi
    | 330|256|2005-05-23 20:24:46|Eric Smith|Re: version IV copyright status|
    Greg wrote:
    I can easily read both and send you disk images.

    Eric
    | 331|256|2005-05-23 20:35:11|Randy McLaughlin|Re: version IV copyright status|
    From: "Eric Smith" <eric-ge@... Sent: Monday, May 23, 2005 1:24 PM


    Many of us can read old diskettes diskettes. Let us know what you have and
    where you are.

    I can read most 8" diskettes but I'm not setup for Apple disks.


    Randy
    www.s100-manuals.com
    | 332|256|2005-05-23 20:57:04|J. Greg Davidson|Re: version IV copyright status|
    On Mon, 2005-05-23 at 11:24 -0700, Eric Smith wrote:
    Wonderful!

    Where are you physically? Please send me your address. I have
    9 boxes of 8" floppies and 1 box of Apple-II floppies.

    _Greg
    --
    | 333|256|2005-05-23 21:03:20|Eric Smith|Re: version IV copyright status|
    I wrote:
    Randy replied:
    I can read essentially all 8" and 5.25" soft-sectored diskettes. For
    disks that use IBM formats or variations on them (FM or MFM), I normally
    use drives on a Linux machine, using software I developed:
    http://dmklib.brouhaha.com/

    For Apple diskettes, I normally use an Apple system.

    For diskettes that can't be read using one of those methods (possibly
    because they don't use FM, MFM, or Apple GCR), I use a Catweasel card,
    which is capable of reading all soft-sectored formats.

    I'm in the process of setting up to be able to read hard-sectored
    disks and diskettes, as well as to be able to read raw flux transition
    information with greater resolution than provided by the Catweasel.

    Eventually I plan to set up a microstepping driver for the stepper
    motor in the drives, in order to read disks with non-standard track
    pitch (e.g., 100 TPI 5.25-inch, and 62.5 TPI 5.25-inch Apple "Twiggy").
    This may also be useful to read diskettes written on out-of-spec
    drives.

    Best regards,
    Eric
    | 334|256|2005-05-24 05:22:40|Shirl|Re: version IV copyright status|
    I have an Apple II that reads 5.25" 140K floppies.

    If you can't read your media I can do that if you send me the disks. Would
    return them to you.

    - David Craig

    ----------
    | 335|324|2005-05-25 23:26:41|Disney Villain Hound|Re: Call for more versions|
    Greetings all,
    I'm joining in the fray here, and reading backwards through history.
    I'll throw in a few cents here and there as I can...

    My $0.02 on this: I have hardcopy of the I.5 and II.0 manuals. And
    hardcopy of several issues of the USUS News. I don't have any soft
    copy of anything. I do have various vague memories from that time.

    :-) --Keith

    | 336|324|2005-05-26 01:34:32|Randy McLaughlin|Re: Call for more versions|
    From: "Disney Villain Hound" <keith_shillington@... Sent: Wednesday, May 25, 2005 4:26 PM


    I have the version I.5 manual posted on my site:

    http://www.s100-manuals.net/Download/NorthStarPascalRevision1SystemReferenceManual.pdf


    It is scanned from a manual printed with a dot matrix printer.

    I would love to see the II.0 manuals scanned along with the USUS News. If
    your I.5 manual is a better copy than mine It would be great to have it
    scanned also.

    If you or anyone else wants anyhelp creating PDF's don't hesitate to ask.
    Adobe sells the full blown Acrobat but there are lots of free software that
    does a great job.


    Randy
    www.s100-manuals.com
    | 337|324|2005-05-27 07:31:36|rsmpaul|Re: Call for more versions|
    manuals.net/Download/NorthStarPascalRevision1SystemReferenceManual.pdf

    Another version of the same manual is at
    http://www.bitsavers.org/pdf/ucsd/PASCAL_I.5_Sep78.pdf

    --
    Paul R. Santa-Maria
    Monroe, Michigan USA
    | 338|324|2005-05-27 08:55:35|Randy McLaughlin|Re: Call for more versions|
    From: "rsmpaul"

    My copy is cleaner, I'll let Al know he can copy mine.

    While my copy is cleaner my original manual the scanned image came from the
    same basic poor copy as Al Kossow's. Al's has hand written notes and some
    areas were marked with a highlighter (comes out black).

    If anyone has a "good looking" I.5 manual they can scan let us know.


    Randy
    www.s100-manuals.com
    | 339|324|2005-05-28 06:00:42|rsmpaul|Re: Call for more versions|
    Not so much. Al's copy has clean edges, whereas yours
    has black borders and even some letters chopped off.

    Al's is scanned at 100DPI while yours is 144DPI.
    Neither is adequate for OCR. I tried a few pages
    and I may as well been typing the whole thing by
    hand. I have used OCR on compressed dot-matrix print
    with good results, but I scanned it at 300DPI.

    I do agree that if someone has a clean original
    that can be scanned, then it should be done.


    I obtained scans of a few 1983 SofTech Microsystems
    p-System manuals:

    ADG.PDF Application Development Guide
    IAREF.PDF Internal Architecture Reference Manual
    OSREF.PDF Operating System Reference Manual
    PSARM.PDF Assembler Reference Manual
    PSF77.PDF Fortran-77 Reference Manual


    I have also scanned the Apple Pascal 1.2 manuals,
    even though they are as common as dirt.

    --
    Paul R. Santa-Maria
    Monroe, Michigan USA
    | 340|324|2005-05-28 06:05:29|Ksarul|Re: Call for more versions|
    The Softech manuals are interesting, as I haven't ever been able to get
    copies of them :)

    Jim

    -----Original Message-----
    From: UCSDPascal@yahoogroups.com [mailto:UCSDPascal@yahoogroups.com] On
    Behalf Of rsmpaul
    Sent: Saturday, May 28, 2005 12:01 AM
    To: UCSDPascal@yahoogroups.com
    Subject: [UCSDPascal] Re: Call for more versions

    Not so much. Al's copy has clean edges, whereas yours
    has black borders and even some letters chopped off.

    Al's is scanned at 100DPI while yours is 144DPI.
    Neither is adequate for OCR. I tried a few pages
    and I may as well been typing the whole thing by
    hand. I have used OCR on compressed dot-matrix print
    with good results, but I scanned it at 300DPI.

    I do agree that if someone has a clean original
    that can be scanned, then it should be done.


    I obtained scans of a few 1983 SofTech Microsystems
    p-System manuals:

    ADG.PDF Application Development Guide
    IAREF.PDF Internal Architecture Reference Manual
    OSREF.PDF Operating System Reference Manual
    PSARM.PDF Assembler Reference Manual
    PSF77.PDF Fortran-77 Reference Manual


    I have also scanned the Apple Pascal 1.2 manuals,
    even though they are as common as dirt.

    --
    Paul R. Santa-Maria
    Monroe, Michigan USA






    Yahoo! Groups Links
    | 341|324|2005-05-28 06:13:53|Randy McLaughlin|Re: Call for more versions|
    From: "rsmpaul" <rsmpaul@... Sent: Friday, May 27, 2005 11:00 PM


    Al's manual has hand written notes in it and someone used a highlighter on
    it obliterating some text, my manual is "pristine" in that it is a scan of
    an original manual. Unfortunately like many manuals of the era it is a
    manual made from an Nth generation photo copy (printed and bound by
    NorthStar computers).

    I can rescan my I.5 manual at a higher resolution and make them available to
    you if you want to clean/ocr them. Contact me off list at randy at
    s100-manuals dot com. My manual was scanned by someone else but I still
    have the original (with the binding cut off).

    If you send me the manuals you have scanned I can post them.


    Randy
    www.s100-manuals.com
    | 342|108|2005-06-22 22:16:48|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /AltosUCSDII.0 ? Z80.sit
    Uploaded by : allonanfan <allonanfan@... Description : UCSD II.0 ? 8" disk images of Z80 Altos, missing asm ?

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/AltosUCSDII.0%20%3F%20Z80.sit

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    allonanfan <allonanfan@...| 343|108|2005-06-22 22:18:29|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /MostekUCSDI.5Z80.sit
    Uploaded by : allonanfan <allonanfan@... Description : UCSD 1.5 8" working images Z80 Mostek

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/MostekUCSDI.5Z80.sit

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    allonanfan <allonanfan@...| 344|108|2005-06-23 22:35:39|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /RevEngII/FILER.TEXT
    Uploaded by : wilserv_41 <willi@... Description : Filer source created from version 1.1 of Apple Pascal

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/RevEngII/FILER.TEXT

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 345|345|2005-06-23 22:45:53|Willi Kusche|Generated source file|
    Hi, y'all!

    I just uploaded a source file that I believe individuals
    interested in UCSD Pascal would like to view. But I would like to
    control access to this file. So I hope group members will respect the
    limits I've set on what is done with the file. Comments welcomed and
    encouraged.

    Willi
    | 346|324|2005-06-24 04:46:29|al_kossow|Re: Call for more versions|
    That seems odd. I only scan at 400dpi.

    I have a pretty complete set of SofTech manuals
    scanned. Will see about getting them on bitsavers.

    Is there any chance someone at UCSD still has a copy
    of the I.5 document?
    | 347|108|2005-06-24 19:19:15|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /UCSDCPM.zip
    Uploaded by : msxhans <h.otten@... Description : source of 8080 UCSD Interpreter II.0 CP/M boot

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/UCSDCPM.zip

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    msxhans <h.otten@...| 348|348|2005-06-25 03:33:19|al_kossow|corvus concept softech pascal discs|
    I just put these up for someone working on the
    Corvus Concept emulator in MESS

    www.bitsavers.org/bits/corvus/corvusUCSD.tar.gz

    still digging for the softech manual pdfs..
    | 349|108|2005-06-26 11:49:36|Laurie Boshell|Re: New file uploaded to UCSDPascal|
    Would it be possible to post it as a .zip, a .tar or a .z compressed
    file?
    To get the stuffit unzipper (or unsitter !!) I need to download a 13mb
    file from the web site that supports stuffit.

    Still on dialup here (we have paired-gain lines that do not support
    broadband), the download has dropped out twice.

    Any help appreciated.

    Laurie.
    | 350|108|2005-06-26 12:03:29|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /1.5 Mostek Z80.zip
    Uploaded by : msxhans <h.otten@... Description : UCSD 1.5 Mostek Z80 in zip archive

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/1.5%20Mostek%20Z80.zip

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    msxhans <h.otten@...| 352|108|2005-06-26 16:46:13|Bill Garber|Re: New file uploaded to UCSDPascal|
    I can either download the .SIT and convert to
    .ZIP, or give me the link to the StuffIt expander
    you want to use and I can put that on my personal
    file server where you can get it. Your choice.

    Apple II Forever, Apple II Together
    Bill @ GarberStreet Enterprizez
    ---------------------------------------------
    Web Site - http://garberstreet.netfirms.com
    HOME OF THE RAM-4-GS
    ---------------------------------------------
    Email - willy46pa@...
    ---------------------------------------------

    | 354|108|2005-07-04 04:27:07|ti99_forever|Shorten variable names|
    I've already Googled for this, didn't find anything.

    Does anyone know a program (and one for Pascal would
    be particularly nice) that can take program source and
    shorten the variable names so that you wind up with
    unique variables in the first 'n' positions?

    UCSD Pascal is a powerful language, but having
    variables where only the first 8 characters are used
    causes problems with programmers who use variables
    such as "loop_counter_control_variable_i" and
    "loop_counter_control_variable_j" all over the place.


    I surely found through Googling that people love their
    extra-long variables, but I'm from the old school
    where you say what you want, and you keep it brief.
    I'd rather have a 15 character limit (like my BASIC
    interpreter on my TI), but I can't change it. And
    changing large programs that are made up of separate
    files is a pain. Esp. when the problem isn't only
    variables, but types as well...

    Ben

    ---
    Ben
    http://journal4cs.blogspot.com/

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 355|355|2005-07-26 05:23:03|Eric Engler|Is there a good description of p-code instructions?|
    I've been looking for a good description of the p-code instructions
    but I haven't found one yet.

    I could study the source code posted here to get the info, but that
    would require a lot of effort.

    Does anyone know of a file that describes the p-codes in plain English?
    | 356|355|2005-07-26 05:51:08|Eric Smith|Re: Is there a good description of p-code instructions?|
    The actual p-System manuals have very terse descriptions, and the
    information is not complete.

    The book "P-Source" by Randy Hyde has a lot more detail regarding
    the p-code instruction set used by Apple Pascal. This is (nearly?)
    identical to that used by version II.0 of the p-System. Version
    III of the p-System introduced significant changes, and Version IV
    is mostly the same as Version III. If you learn how the Version II
    stuff works, you'll be mostly prepared to deal with the later
    releases.

    Eric
    | 357|355|2005-07-26 09:11:37|Stuart Bell|Re: Is there a good description of p-code instructions?|
    On 26 Jul 2005, at 04:50, Eric Smith wrote:

    An absolutely amazing book - not least because someone spent the time
    on such a 'geeky' project, and someone took the risk of publishing such
    a 'minority interest' volume.

    Sadly, when my Apple IIs went to computer-heaven (no-one wanted Apple
    IIs in the mid 1990s) my copy of p_Source went the same way, and shared
    the fate of the those unwanted Lisas. :-(

    Stuart
    | 358|355|2005-07-26 11:13:30|h.otten@chello.nl|Re: Is there a good description of p-code instructions?|
    The book "P-Source" by Randy Hyde is indeed a very interesting book on the pcode intepreter of Apple/UCSD Pascal. Not too difficult to find secondhand e.g on Amazon.
    | 359|355|2005-07-27 04:15:01|Eric Engler|Re: Is there a good description of p-code instructions?|
    You guys gave me the idea of do a web search specifically for Apple
    Pascal p-codes, instead of UCSD p-codes.

    I found this page that has exactly what I was looking for. It doesn't
    say where this "Appendix" came from, but I might guess it could be
    from Hyde's book?

    http://www.siconic.com/crap/pascal

    I wondor if Hyde might give permission to post a scanned version of
    his book on the web since it's no longer in print?
    | 360|355|2005-07-27 19:49:57|John Foust|Re: Is there a good description of p-code instructions?|
    At 09:14 PM 7/26/2005, Eric Engler wrote:
    That site is the work of Sellam Ismail, the guy who organizes
    the Vintage Computer Festival.

    I asked him. He said he OCR'd (and then manually corrected) these pages
    from the Apple Pascal Technical Reference (?) which was an
    Apple publication.

    - John
    | 361|355|2005-07-28 05:11:05|Eric Engler|Re: Is there a good description of p-code instructions?|
    Great! Please pass along my thanks to him. I've been searching the web
    for several weeks trying to find this info.

    I'm playing with the idea of defining my own p-code engine for use in
    embedded processors and I wanted to study all available info on
    various p-machines and virtual machines before I do my own design.

    If anyone is interested in my ideas you can go here and click on the
    link for Embedded Virtual Machine:

    http://www.ericengler.com/asmide.aspx

    Eric
    | 362|355|2005-08-03 06:30:20|Shirl|Re: Is there a good description of p-code instructions?|
    "Eric Engler" <englere.geo@...
    Apple published a book about the internals of the Apple III Pascal system
    which has a very good section on p-codes. The internet file you later
    mention seems somewhat similar to Apple's info. I suspect both originated
    from UCSD in its p-system architecture manual. I have this book.

    Another good source for p-code info is the Apple III Pascal compiler's
    Pascal and p-code listings. I made one of these listings years ago for one
    of Apple's Pascal programs and having the p-code interspersed in a Pascal
    soruce listing is very informative since you see the actual p-codes that are
    used. Easier fro me to understand than just a listing of the p-codes.

    Others have mentioned Randy Hyde's p-code book. Very good info here too.

    - David Craig
    | 363|355|2005-08-03 06:32:54|Shirl|Re: Is there a good description of p-code instructions?|
    Eric

    You should also find info on M-CODE, the psuedo code for Modula-2 as defined
    by Niklaus Wirth. I've heard M-CODE is an improvement over p-code which
    Wirth und al originally created at ETH for portable compilers in the early
    1970s.

    - David Craig
    | 364|355|2005-08-29 00:12:27|rsmpaul|Re: Is there a good description of p-code instructions?|
    --- In UCSDPascal@yahoogroups.com, "Eric Engler" I got his permission to post his 6502 book on my
    web site.
    | 365|355|2005-08-29 08:47:55|h.otten@chello.nl|Re: Is there a good description of p-code instructions?|
    Need help in scanning?
    | 366|355|2005-08-30 14:41:21|Shirl|Re: Is there a good description of p-code instructions?|
    Hi

    I scanned Randy Hyde's 6502 processor book to PDF several years ago.

    I can send you a copy fo this PDF on CD if you want it. It is too big to
    email or FTP.

    - David Craig

    ----------
    | 367|108|2005-09-07 15:44:14|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /psys22.zip
    Uploaded by : msxhans <h.otten@... Description : MS DOS host based p-system IV2.2 R1.1

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/psys22.zip

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    msxhans <h.otten@...| 369|355|2005-09-10 10:46:36|Laurie Boshell|Re: Is there a good description of p-code instructions?|
    Hi David,

    I have 2 copies of Randy's book and would love a scanned version but
    I appreciate the difficulty in sending such a large file.
    Put me on the wanted list! Perhaps I could send you a CD
    of all my UCSD stuff as well.

    Laurie


    | 371|370|2005-09-13 04:30:37|Eric Engler|Re: Books and manuals on Apple Pascal, UCSD P-System|
    --- In UCSDPascal@yahoogroups.com, "Hans Otten" Great content!

    You've got a small error on the name of the second book - it's the
    Operating Manual.

    It's remarkable how many people in this group can remember things from
    25 years ago. It almost feels like I can turn back the clock by
    reliving old memories. Maybe that's why we all do it...

    When I was younger I thought I would never be the kind of person who
    looks back at the past in this manner. Time has a way of changing your
    perspective ...
    | 374|355|2005-09-30 05:04:00|aaronnathanielgray|Re: Is there a good description of p-code instructions?|
    English?

    See "Pascal Implementation" :-


    http://homepages.cwi.nl/~steven/pascal/book/pascalimplementation.html

    Aaron
    | 375|355|2005-09-30 06:37:15|aaronnathanielgray|Re: Is there a good description of p-code instructions?|
    --- In UCSDPascal@yahoogroups.com, "aaronnathanielgray" A better link :-

    http://homepages.cwi.nl/~steven/pascal/

    This includes links to pascal sources, and C sources, and P code for
    compiler.

    Aaron
    | 376|355|2005-09-30 13:17:40|rsmpaul|Re: Is there a good description of p-code instructions?|
    --- In UCSDPascal@yahoogroups.com, a year now:

    http://linux.cis.monroeccc.edu/~paulrsm/6502/

    --
    Paul R. Santa-Maria
    Monroe, Michigan USA
    | 377|370|2005-09-30 14:08:02|rsmpaul|Re: Books and manuals on Apple Pascal, UCSD P-System|
    --- In UCSDPascal@yahoogroups.com, "Hans Otten"
    Pascal Language Reference Manual
    Operating System Reference Manual
    Update 1.2 Manual
    Device and Interrupt Support Tools Manual

    I have these small addendums that I will scan:

    Pascal Language Reference Manual Addendum
    Operating System Reference Manual Addendum
    1.2 Update Manual Addendums

    I have scanned these Apple III Pascal manuals:

    Introduction, Filer, and Editor
    Programmer's Manual vol 1
    Programmer's Manual vol 2
    (missing: Program Preparation Tools)

    I have scanned Part IV - Technical Reference (96 pages)
    of the Apple Pascal 1.3 manual and have OCR's (but not
    proofread) the first 49 pages of it.

    Finally, I plan to scan the Apple FORTRAN manual.

    --
    Paul R. Santa-Maria
    Monroe, Michigan USA
    | 378|355|2005-10-01 04:11:10|Eric Engler|Re: Is there a good description of p-code instructions?|
    This is for the mainframe-oriented P4 compiler. The UCSD compiler had
    much smaller instructions as it was designed to target small 8 bit
    processors.
    | 379|355|2005-10-01 05:54:24|Aaron Gray|Re: Is there a good description of p-code instructions?|
    ---- Original Message -----
    | 380|380|2005-11-08 20:10:51|Stuart Bell|eBay purchase!|
    Hi!

    Just had to share this with some of the few people in the world who
    would understand my pleasure! I've just bagged a working Sage IV on
    eBay, complete with manuals and s/w. I could never afford a Sage in
    the 'olden days', when my p-System experience was confined to North
    Star Horizons and Apple ][s, apart from a glimpse of a Sage/Stride at
    USUS(UK) Conferences.

    Auction was:
    http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=8718172394

    All advice on getting an old Mac with serial ports to connect to the
    Stride and run a terminal emulator gratefully received.

    Stuart
    | 381|380|2005-11-08 20:26:49|willi@wilserv.com|Re: eBay purchase!|
    Hi!

    Quoting Stuart:
    <--- snip --- Congrats! Would just LOVE to see the manuals converted to '.pdf' files.

    Willi
    | 383|108|2005-11-11 23:07:12|Stuart Bell|Re: New file uploaded to UCSDPascal|
    --- In UCSDPascal@yahoogroups.com, UCSDPascal@yahoogroups.com wrote:
    In preparation for the arrival of my Sage, I thought I'd try getting the Mac p-System up and
    running on a Mac 128/512 or Plus. I'm trying to create floppies from the images, but none
    of my normal Mac OS applications (DiskCopy etc, running under System 8) seem to
    recognise the images as vailid image files and be willing to open them. What am I missing,
    please?

    Stuart
    | 384|384|2005-11-13 21:59:16|Anders Persson|UCSD p-system on Texas 99/4A|
    I've read that some user's group, presumably in the US, got access to
    some internal information about the p-system for the TI 99/4A. Not
    that I use it now, but does anyone know where this information went,
    or if it even was true from the beginning?
    The TI implementation was lacking from no interface text in the KERNEL
    unit and other similar problems for us, who wanted to modify and use
    the system as good as possible.

    Anders
    | 385|384|2005-11-14 03:40:23|ti99_forever|Re: UCSD p-system on Texas 99/4A|
    --- Anders Persson <apersson850@...
    Yes, but you were a sheer genius in creating
    extensions for the TI version.

    I was able to compile the Turtlegraphics library you
    wrote and release it to anyone who was interested.
    Very interesting work. And thanks to the
    self-documenting UNITs, actually figured out some of
    the code in the extended library.

    You don't happen to have TEXT versions of
    documentation of some of those library routines? Not
    the Turtlegraphics, that are well documented.


    ---
    Ben
    http://journal4cs.blogspot.com/



    __________________________________
    Yahoo! FareChase: Search multiple travel sites in one click.
    http://farechase.yahoo.com
    | 386|108|2005-11-14 09:16:03|willi@wilserv.com|Re: New file uploaded to UCSDPascal|
    Hi!

    Quoting Stuart Bell <stuartsmacs@... I just downloaded the images to my IBM ThinkPad 760XL. It's in the wee
    small hours here. So, after some rest I'll see if I can get 'em moved to an
    appropriate Mac and convert 'em to real disks. Then perhaps I'll know if the
    images I originally uploaded are "vailid".

    Willi
    | 387|108|2005-11-14 09:43:33|Stuart Bell|Re: New file uploaded to UCSDPascal|
    On 14 Nov 2005, at 07:16, willi@... wrote:

    Thanks!

    Stuart
    | 388|384|2005-11-14 13:29:59|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    --- In UCSDPascal@yahoogroups.com, ti99_forever Thank you for your kind words. I'll now go around and think better of
    myself, thus being a pain to may friends... ;-)

    For those not knowing anything about it:

    The turtlegraphics unit never got completed, as it came a bit too
    late, when I was moving most of my Pascal efforts to Turbo Pascal on
    the IBM AT machines, which then were becoming available.
    Not that it wasn't possible, but I more or less stopped when I was
    faced with the task of defining what should happen, considering the
    characteristics of the TI videochip, when to implement the different
    ways of overwriting, underwriting and whatever it was, which were
    available in the integer math turtlegraphics unit for Apple, which in
    turn I was modelling the whole thing upon. My original idea was that
    my unit should make it possible to execute all applications, which
    otherwise needed the Apple turtlegraphics unit (integer, not real),
    and I'm of the opinion that I came far enough to proove that it could
    be done on the TI 99/4A.
    Perhaps with some limitations regarding program size, since most of
    the alternate code pool (in VDP RAM) had to be closed down, to
    reserve space for bitmapped graphics.

    The multitasking project crashed when it turned out that the system
    units for dynamic memory management didn't work properly in a true
    multitasking environment. (For those not knowing about it, I managed
    to modify the p-system on the TI to support true pre-emptive
    multitasking, not just voluntary task switching, when a process had
    to hang itself on a semaphore, to allow the task handler to let
    another process run. This was before Windows could handle this
    properly, so back then the TI was technically well positioned in the
    race.) That's one of the reasons for why I needed access to more
    parts of the source code for the system, like at least interface
    parts of the units KERNEL and HEAPOPS. Full source would have been
    even better, of course.
    Since dynamic memory assignments are virtually necessary to handle a
    multitasking environment properly, not being able to run instructions
    like new and dispose in such program virtually killed all possible
    ways ahead for that project. But it did work perfectly, as long as I
    didn't use these instructions.
    I used the Minimemory module to store the necessary wedge into the
    PME, so that I could interrupt the normal interrupt processing, and
    do the task management which was needed. I also added drivers to
    implement something similar to the Pascal attach funtionality, i.e.
    that some kind of hardware event could modify a semaphore state, and
    thus start a process. It wasn't really a hardware interrupt, since it
    was polled in the interrupt service, but it appeared like that, on
    the Pascal level. Rather funny to be able to edit a text on the
    screen, at the same time as the same Pascal program was controlling
    some hardware, attached to the computer.

    To display messages in windows, on top of the normal text, worked
    fine. Creating access to four physical disk drives, as well as a RAM-
    disk, in the p-system also worked very well.
    Using my real time clock to update the system date also worked
    perfectly.
    Some of these modifications were simpler to do on my 99/4A, since it
    had 64 kilobytes of internal 16-bit wide RAM, in addition to external
    memory expansion. This internal RAM allowed shadowing of the OS, so I
    could for example modify the interrupt vectors as needed.

    Exactly which routines are you referring to, when you ask for
    documentation? My 99/4A still works, if I put it back together (or so
    I think), so I may dig something up, if you want me to.

    Still, noone knows about more internal data for the p-system on the
    99/4A?

    Anders
    | 389|384|2005-11-14 15:19:27|ti99_forever|Re: UCSD p-system on Texas 99/4A|

    If you have ANY documentation concerning the routines
    you've worked on, I would hate to see it lost. I'm
    having trouble remembering at present (it has been a
    few months since I last fired up my p-system), but
    some of the library routines that were added to
    SYSTEM.LIBRARY. I've been through them all, looking at
    interface text. Something like fast I/O routines comes
    to mind as being one I was really interested in.

    I don't think anyone ever found out more than you,
    honestly. Although I remember reading on a web site
    that a group of 99/4 enthusiasts got the code. I would
    suspect that it was Geneve users, for the Myarc 9640.
    I can ask on the Olug...

    My Cyc cd came with the Internal Architecture Guide on
    it, but nothing TI specific.


    ---
    Ben
    http://journal4cs.blogspot.com/




    __________________________________
    Yahoo! Mail - PC Magazine Editors' Choice 2005
    http://mail.yahoo.com
    | 390|384|2005-11-14 17:40:25|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    --- In UCSDPascal@yahoogroups.com, ti99_forever Well, one day I'll see what I can find on the attic (literally, since
    there's where it is, nowdays).
    Most of what I did was intended to be added to SYSTEM.LIBRARY, at least
    if you intended to use it regularily.

    I do have an Internal Architecture Guide, but the man (well, back then
    perhaps "boy" was more appropriate) said it really was for the TI
    Professional Computer, if anyone can remember that one. An IBM PC
    competitor, but not compatible.

    Anders
    | 392|355|2005-11-14 19:30:56|Anders Persson|Re: Is there a good description of p-code instructions?|
    Are you helped by this file?

    http://www.stanford.edu/~thierry1/ti99/pcode.htm

    Althogh specifically aimed at the Texas Instruments 99/4A, the section
    on p-codes ought to be universal for any IV.0 system, I presume?

    Anders

    And this time the blo... link got in there too...
    | 393|384|2005-11-14 21:24:04|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    I've not been in the attic, but I have checked some printed
    information in the bookshelf. The 99/4A section is still rather
    respectable...

    Anyway, there's a listing of my SYSTEM.LIBRARY file, or the directory
    of that file, as it's given by the Library program.
    The units this listing mentions are as follows:

    REALTIME
    Allows access to my own real-time clock card, installed in the PE box.

    EXTRASCREEN
    A unit which handles input of numeric values to Pascal program.
    Instead of getting an error, just because you happen to press the
    wrong key, this unit doesn't allow entry of wrong characters, and then
    presents the value to the calling program.
    Also has equivalents to CALL KEY in BASIC, as well as a similar
    function, which scans the type-ahead buffer in the p-system instead.
    Also has funtions equivalent to the BASIC subprograms GCHAR, HCHAR and
    VCHAR.

    SHOWERRORS
    Allows display of a window, containing any text you like, on top of
    what otherwise is on the screen. The ordinary screen is then simply
    restored. Utilizes the fact that the p-system screen is a 40 character
    viewport into a 80 character screen. These windows are created on the
    40 character copy, without disturbing the underlying 80 character
    version.

    INITMINI
    Allows allocation of storage space for dynamic variables in the
    Minimemory module. That memory space is otherwise wasted when using
    Pascal.

    SWEDISH
    A unit which, using initialization and termination code, redefines the
    character set to include the special Swedish characters. By simply
    referencing this unit (uses swedish), these characters are then
    available as long as the calling program runs.

    MULTISUPPORT
    Support routines for multitasking on the 99/4A.

    MULTISCREEN
    Equivalent to EXTRASCREEN, but supporting these procedures in a
    multitasking environment.

    EPSONCODES
    Unit which makes using my Epson-compatible old Seiko matrix printer a
    bit easier. No need to remember the code to select different font
    densities etc.

    ANALOGBOX
    Drivers for my own analog joystick, connected to my own I/O card in
    the PE box. It has 40 digital inputs, 32 outputs and 8 analog 8-bit
    input channels.

    FASTIO
    The built-in read and write procedures aren't very fast, when using
    them with text files, as these are defined in the p-system. This unit
    has an alternate set of access routines, using intrinsics like
    BLOCKREAD and BLOCKWRITE to accomplish the same thing, but faster.
    To compare, reading a text file in a program, line by line, with the
    normal readln procedure, made the floppy drive stop between every read
    disk block. The program wasn't fast enough to keep the drive busy all
    the time. Using FASTIO, the drive never stops, when doing the same
    task of reading the file.

    This was a short (?) summary of what I can see I once had in my
    SYSTEM.LIBRARY file. I think it's pretty current, in spite of being
    printed 1986-12-11.

    But I remember I also wrote a program, which could format disks, using
    the more advanced features available in the CorComp double density
    disk controller. Pascal needs another interlace than BASIC, to run at
    the best performance. The ordinary formatting routines doesn't allow
    that, but my special dformat does. It will also properly format double-
    sided disks, something the standard program can't do.

    Another rather fun program I wrote analyzes specially formatted disks.
    This I did to be able to make copies of the disks with the programs
    for Disk diagnostics and the Explorer tools, which allowed you to
    monitor the execution of assembly language programs. They were made
    by... what was the name of that company? Hmmm, can't remember right
    now. Anyway, their disk were copy protected, so if you didn't want to
    risk the original all the time, you had to make a copy of it firs.

    The turtlegraphics unit never made it into the SYSTEM.LIBRARY, since
    it wasn't completed. But it was intended to implement the same
    functions as you got from that unit in Apple Pascal, if you had the
    first, integer version of the unit.

    A driver for making a RAM-disk of my additional 64 kbytes of internal
    RAM, together with the Maximem module and some more memory on my own
    cards. Having the editor and compiler, and the source and code files,
    if they aren't too large, on this RAM-disk, shortened compilation time
    significantly.

    The fact that my memory expansion was 16 bits wide, not 8, also
    increased the speed of Pascal, but only about 10%, since most of the
    code ran from scratch pad RAM (8300H-83FFH) or on the p-code card.

    A program which was intended to make a catalog listing of all files on
    all diskettes (non-Pascal disks) was also near completion, but it
    turned out to work too slow. I didn't have all the additional RAM by
    then, but I would have needed that, to be able to store all indexing
    information in RAM. That would have required something like at least
    128 kbytes of memory, preferably 256 kbytes. Not exactly normal memory
    sizes for computers in the 99/4A class, but it came later, in some RAM
    disks. I could have added that to some of my own cards, but I never
    came that far. As it now was, it became intolerable when more than 100
    diskettes were read, each with up to 127 files. The listing produced
    all file names sorted alphabetically, and also remembered on which
    disk they were as well as stored all that in a file on a data disk. At
    a later time, it was possible to update a certain disk, simply by
    reading it again from the program. This program used the trick to tag
    each diskette by writing a special number into some un-used bytes in
    the disk directory structure.

    A software system to compute the proper dimensions for dust evacuation
    systems also saw its birth on my 99/4A. It's about 4000 source lines
    long, so it was a substantial program for such a small machine. I
    later ported it to the IBM PC, using Turbo Pascal 4.0.

    I've also made some software to manage some calculations related to
    the orienteering club I'm still a member of.

    The main tedious thing is of course to transfer some of these files to
    a format, useful in todays machines. I'll have to work on that, but
    not today. At least I've summarized some of my projects from the
    1980's.

    Anders
    | 394|384|2005-11-14 22:23:40|ti99_forever|Re: UCSD p-system on Texas 99/4A|
    The EXTRASCREEN and FASTIO routines really interested
    me, I know how slow READLN is! And how annoying
    entering text into a READLN(numeric) is!

    I added TURTLEGRAPHICS to my SYSTEM.LIBRARY, it takes
    up a good size of the disk!

    I never could get the RAMDISK setup with my Horizon. I
    tried so much that my Horizon went "flaky". It has
    since been repaired but is constantly losing its
    contents.

    I'd just like to find out more about how to use ALL
    the routines.

    Also, I asked on the OLUG about the P-system. Sources
    for the runtime were included in the buyout of the
    Geneve sources, but no sources for the libraries
    according to Beery Miller.


    ---
    Ben
    http://journal4cs.blogspot.com/



    __________________________________
    Start your day with Yahoo! - Make it your home page!
    http://www.yahoo.com/r/hs
    | 395|384|2005-11-15 10:05:19|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    --- In UCSDPascal@yahoogroups.com, ti99_forever Basically, EXTRASCREEN reads all input as strings, then convert to
    numbers after the fact. Just like with the file input intrinsics,
    after the conversion is done and the result returned, you check the
    boolean function goodinput (like ioresult) to see if the last
    conversion was successful.

    It's possible to define sets of characters that are valid, so that
    you can use these input functions much like the ACCEPT VALIDATE in TI
    Extended BASIC.
    You can also set different terminators. In a program I wrote, I
    allowed the arrow keys to terminate entry, as well as the ENTER key.
    Thus I got about the same feature as you sometimes get from
    spreadsheet-like programs, where you can terminate input with an
    arrow, and both enter and then move to the next field at once.
    The unit will deliver the value, and then tell you which key was used
    to terminate the entry.

    Wait a moment, I have a copy of parts of this unit already in PC
    format, since I've ported it to a unit in Turbo Pascal (for DOS).
    Is it meaningful to upload that source here, in spite of it not being
    UCSD any longer, it just originated as a UCSD unit?

    Anders
    | 396|384|2005-11-15 23:58:28|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    Well, I went up and assembled the old TI 99/4A system. Last time the p-
    system was running was October 2nd, 2002. But it started again, after
    some quirks.

    The multitasking code consists of some 30 text files or so, but at
    least there are the service routine (OS patch), installer and support
    unit, usually including both Pascal and assembly files.
    Then perhaps 15 test programs, to see if it actually worked.

    I'll have to see if I can get something arranged to transfer the files
    to a PC, so that the text can be uploaded here, for example.

    Anders
    | 397|397|2005-11-16 00:22:24|Anders Persson|USUS disks, or some of them|
    When looking for a misplaced Pascal disk, I found that I actually have
    about 20 disks, labelled USUS #xx. They seem to contain a lot of
    files, many of which I have no idea right now about what they really
    are. But in the directory listings I did find some disks, which seem
    to contain the Freefrom spreadsheet, which at least in my old Pascal
    manual is promised as a complimentary program, to be received as soon
    as it got ready. I'm not sure if the code is included as well, but it
    may very well be.

    Do anyone here know if these disks are old bla-blaha, already well
    known to the community (the 99/4A community, at least), or have I
    found some kind of more or less lost treasure here? I remember that
    I've once got these disks as a gift from someone, probably in the US
    (maybe UK), so reasonably there must be copies elsewhere, unless
    they've been lost.

    Anders
    | 398|397|2005-11-16 00:42:30|willi@wilserv.com|Re: USUS disks, or some of them|
    Hi!

    Quoting Anders Persson <apersson850@... <--- snip --- http://www.threedee.com/jcm/usus/index.html

    Are these a match to what you have?

    Willi
    | 399|397|2005-11-16 00:57:48|John Foust|Re: USUS disks, or some of them|
    At 04:42 PM 11/15/2005, willi@... wrote:
    Be kind to my T-1. :-)

    - John
    | 400|397|2005-11-16 01:27:03|Anders Persson|Re: USUS disks, or some of them|
    --- In UCSDPascal@yahoogroups.com, John Foust Anders
    | 401|397|2005-11-16 01:32:28|willi@wilserv.com|Re: USUS disks, or some of them|
    Hi, y'all!

    Quoting John:
    For those of you not aware, John is the Curator of the Jefferson Computer
    Museum.

    BTW John, the Apple II FAQ link on the page specified above is broken.

    Willi
    | 402|397|2005-11-16 01:41:11|willi@wilserv.com|Re: USUS disks, or some of them|
    Hi!

    Quoting Anders:
    John is concerned that my mentioning his site will cause all the list
    members to start grabbing all the files on his site and cause an overload on
    his T-1 line.

    Willi
    | 403|397|2005-11-16 01:58:14|Anders Persson|Re: USUS disks, or some of them|
    --- In UCSDPascal@yahoogroups.com, willi@w... wrote:
    well
    that
    the US
    All right, I've checked a zip file, which seems to contain volumes 1-
    29 and then some. I've compiled all the content files into a large
    document. I'll print it out and then start comparing with what I
    have.
    At least it seems that some of them are the same, but I saw higher
    volume numbers in my stack of disks too, so there may be some
    discrepancies.
    Now I'm going to bed instead.

    Anders
    | 404|397|2005-11-16 01:58:26|Anders Persson|Re: USUS disks, or some of them|
    --- In UCSDPascal@yahoogroups.com, willi@w... wrote:
    wrote:
    the list
    overload on
    It's obvious when you get it explained, isn't it? I'm too tired, I
    guess.

    Anders
    | 405|397|2005-11-16 11:17:26|Stuart Bell|Re: USUS disks, or some of them|
    On 15 Nov 2005, at 22:22, Anders Persson wrote:

    They will be the USUS (UCSD p_system Users' Society) Library Discs.
    USUS had US and UK branches. I gloried in the title of editor of the
    USUS(UK) newsletter for a number of years, when 'letter quality'
    printing meant a too-expensive laser printer or a daisy-wheel printer,
    which I used for the newsletter!

    ISTR there were at least 30+ discs.

    Don't assume that there are copies of all your discs, until we're
    certain!

    Stuart
    | 406|397|2005-11-16 14:36:00|Anders Persson|Re: USUS disks, or some of them|
    --- In UCSDPascal@yahoogroups.com, Stuart Bell have
    the
    printer,
    I'll see if there are descriptions, like the catalog files on the
    disks in the archive you pointed me to, on these disks. If so, I'll
    try to move them to PC format and post here, so you can see if
    there's anything you think may be unique.

    Anders
    | 407|108|2005-11-16 23:45:04|willi@wilserv.com|Re: New file uploaded to UCSDPascal|
    Hi!

    Quoting Stuart:
    I created the image files on a 520c. The file size there is 410073. After
    transferring the files to this 760XL, the file size is 409684.

    The disk drive on the 520c has since died. The discrepancy in the file
    sizes is likely the cause of the problem you noted.

    Will have to re-create the image files on a different system and see if I
    can transfer them here for uploading to Yahoo! without losing bytes.

    Willi
    | 408|108|2005-11-17 00:59:50|Stuart Bell|Re: New file uploaded to UCSDPascal|
    On 16 Nov 2005, at 21:44, willi@... wrote:

    Thanks.

    I was surprised I was the first to try them.

    Stuart
    | 409|108|2005-11-17 01:00:32|Stuart Bell|Re: New file uploaded to UCSDPascal|
    On 16 Nov 2005, at 21:44, willi@... wrote:

    PS I'll happily pay shipping costs if you could write a couple of
    floppies, anyone?

    Thanks,

    Stuart
    | 410|108|2005-11-17 01:59:47|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Mac/UCSD Pascal 1.image
    Uploaded by : wilserv_41 <willi@... Description : Disk 1 image created with Disk Copy 4.2

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Mac/UCSD%20Pascal%201.image

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 411|108|2005-11-17 02:02:21|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Mac/UCSD Pascal 2.image
    Uploaded by : wilserv_41 <willi@... Description : Disk 2 image created with Disk Copy 4.2

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Mac/UCSD%20Pascal%202.image

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 412|384|2005-11-19 00:29:41|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    --- In UCSDPascal@yahoogroups.com, ti99_forever I've uploaded a file called Multisupport.TXT to the files section of
    this group. It contains at least an essential part of the multitasking
    package I once wrote for the 99/4A.

    There may very well be some include-file missing. If you find
    something lacking, you'll have to tell me, and I'll see if I can dig
    it up.

    I've used Hyperterminal as a printer to the 99/4A, to get the files
    converted to this format.

    Anders
    | 413|384|2005-11-20 03:08:33|Ben Yates|Re: UCSD p-system on Texas 99/4A|
    --- In UCSDPascal@yahoogroups.com, "Anders Persson" I don't suppose you'd have a DCOPY version of this? ;)

    It was a LOT of work converting the Turtlegraphics text files back to
    the P-system. I had to use a utility program to do the conversion from
    TI DOS back to P-system (the terminal program whose name I forget for
    the P-system didn't work, like it was expecting a TI format coming in)
    so I used a little utility that only worked on TI DOS disks that
    weren't over 180k (or it would really mess up).

    Ben
    | 414|384|2005-11-20 20:04:33|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    --- In UCSDPascal@yahoogroups.com, "Ben Yates"
    to
    from
    for
    in)
    Right now I have no other copy, except the one on the 99/4A
    floppies, of course.

    I know that I once had (and probably still have, if I dig a bit), a
    program which could read 99/4A disks on a PC, or maybe it was the
    other way around.
    Are you saying that there's no program, which can run on the 99/4A,
    that can simply receive a text file sent from a PC? If you connect
    then via cable, transmission will most probably be so good, that you
    can simply transfer the text, without the need for any special error-
    controlling protocol.
    If there's no such program, maybe it's about time that we make one.
    I've never really seen the need for such a program, since I've
    mainly used either the TI or a PC, not both together.

    Now I do actually have a 5 1/4" drive in one of my PC machines, but
    it's a 1.2 MB drive, so I'm not sure it will work well with the 360K
    disks from the TI. I thought I did have a 360K drive lying around as
    well, but it turned out not to work, when I tried it, so that didn't
    lead anywhere.

    When I was active with the TI (during the 1980's, that is), we used
    to send floppies around, in envelopes. That's what now is called
    snail-mail.

    Do you have to convert this listing to TI format at all, then? Note
    that unlike the turtlegraphics unit, this package isn't too useful,
    due to the bugs in the IV.0 OS. I've read somewhere, in an update
    notice, that the IV.1 version included "debugging of code for
    concurrency", something I immediately understood the need for.

    The only thing that was rewarding with the multitasking thing was
    mainly that it was doable to some extent at all.

    Anders
    | 415|384|2005-11-20 20:15:37|Eric Smith|Re: UCSD p-system on Texas 99/4A|
    Anders Persson wrote:
    A high-density (1.2M) 5.25 inch drive can read low-density (360K) disks
    just fine. The issue is with writing them. The high-density drive has a
    narrower head gap, so it writes a narrower track on the disk. It can't
    reliably overwrite sectors on a low-density disk. The only practicaly way
    to write low-density media on a high-density drive is to format and write
    to low-density media that has NEVER been formatted, or that has been
    bulk-erased really well. This is only recommended as a transfer step; the
    resulting disk should be copied by the system with the low-density drive,
    to get a "proper" low-density disk as the result.

    Note that low-density and high-density 5.25-inch media have MUCH different
    coercivity, so low-density media cannot reliably be used with high-density
    formatting, or vice versa.

    Eric
    | 416|384|2005-11-21 01:58:01|ti99_forever|Re: UCSD p-system on Texas 99/4A|
    --- Anders Persson <apersson850@...
    Not on the P-system. There are plenty for the native
    OS. Even still, once it is on a TI disk, converting to
    use on the P-system can be a chore.

    There was a terminal program for the P-system, called
    TEP I believe, but like I said, I had no luck
    transferring a file. Probably expects a TI format
    file.

    The program I use is a utility program that takes
    native TI files (Display/Variable 80) and converts to
    TEXT files. It has a limitation on the size of the
    disk it can work on (180k, I think) otherwise you get
    "corruption"!
    I also wrote a simple one that uses UNITREAD to
    convert at one point.

    My dream is to write a library to access native TI
    files from UCSD. READ/WRITE so the UCSD language can
    access non-Psystem files. Tried once (long ago), and
    failed miserably. Think I could tackle it now. Problem
    then was I had no idea of memory usage at the time.

    Then there is the sheer number of files to convert.
    I have Paolo's TI99-PC program, but recently lost my
    Windows partition... still trying to recover it.

    Well, maybe not. But it will still be interesting to
    read.
    I remember Thierry released a multitasking system for
    Extended Basic! Never got around to trying it. It is
    about time I stopped collecting tools and started
    using them!!!


    ---
    Ben
    http://journal4cs.blogspot.com/



    __________________________________
    Yahoo! FareChase: Search multiple travel sites in one click.
    http://farechase.yahoo.com
    | 417|384|2005-11-21 09:31:10|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    --- In UCSDPascal@yahoogroups.com, "Eric Smith" has a
    can't
    practicaly way
    write
    step; the
    drive,
    different
    density
    What you say here is exactly what I suspected. Is there any software
    that will understand the p-system disks as well?
    On the other hand, that doesn't matter, since the TI makes a dummy
    file all over the p-system disks. Any PC program, which can read that
    DIS/FIX 128 (or whatever it is) file would do.

    Anders
    | 418|384|2005-11-21 09:40:20|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    --- In UCSDPascal@yahoogroups.com, ti99_forever If that's the only thing you need, then I already have such a
    program. It will only do text files to DIS/VAR 80, but transferring
    code files, or special data files, isn't much of a point anyway.
    But it works with my DS/DD drives, so it's not at all limited to a
    small disk format.
    That program runs on the p-system, but can transfer in both
    directions (D/V 80 <- It's written by Lars Thomasson, a friend of mine, with some support
    from me about accessing the native disk catalog from Pascal.

    I've seen other such programs, but some have been rather crippled,
    like requiring only one D/V 80 file to be on a disk, requiring it to
    be consecutive on the disk and so on. This program just reads and
    writes them just as good as the ordinary OS does.

    Perhaps I should dig that one up, and post that file as well? Even if
    someone will have to key it in on a TI 99/4A, once that's done, you
    can transfer files to the native format as much as you like.

    Anders
    | 419|384|2005-11-21 13:03:10|Dr A.P. Whichello|Re: UCSD p-system on Texas 99/4A|
    I know there was a kermit for ucsd pascal for the Apple II - I used to use
    it all the time to transfer my thesis files back and forth. Does
    watsun.cc.columbia.edu still exist? That was where all the kermit stuff for
    all sorts of computers was stored. Of course, there was still a need for
    parts of kermit to be written in native assembler for the particular
    computer for speed, so I expect some low level I/O routines would be
    necessary for the TI machine. I seem to remember never getting better than
    9600 baud out of my Apple II, but for the relatively small (for nowadays)
    text files we are talking about, that would certainly be adequate.

    Adrian.

    ps Some UCSDPascal Digests back, someone was asking about an improved
    readln for string I/O routines. I wrote a UNIT based on somebody's work in
    Byte magazine (I think) that sped up string io considerably. No good for
    integers/reals. I can probably dig it out and post it if anyone is
    interested.

    --
    Dr A.P. Whichello Phone: +61 2 6201 2431
    Electronics & Telecommunications Engineering Fax: +61 2 6201 5041
    University of Canberra Email: Adrian.Whichello@...
    Australia WWW: http://www.ise.canberra.edu.au/

    "I wish to God these calculations had been executed by Steam!" C.Babbage
    | 421|384|2005-11-21 16:09:34|Anders Persson|Re: UCSD p-system on Texas 99/4A|
    --- In UCSDPascal@yahoogroups.com, "Dr A.P. Whichello"
    work in
    for
    That's exactly what my FASTIO unit is all about. Faster read and write
    for text files.
    Yes, the inspiration came from an article in Byte, that's correct.

    Anders
    | 422|384|2005-11-21 16:11:12|Anders Persson|Re: Serial file transfer to 99/4A p-system|
    I wonder what happens if you simply tell the filer to transfer a file
    from REMIN: to anyfile.text ? Will that work? If I connect hardware
    flow control?

    Anders
    | 423|384|2005-11-21 16:50:25|Stuart Bell|Re: Serial file transfer to 99/4A p-system|
    On 21 Nov 2005, at 14:11, Anders Persson wrote:

    That will work, or at least a small Pascal program can have the same
    effect. Several hundred years ago, or so it seems, a friend and I
    extracted a complete p-System (i.e. all the files on the discs) from a
    North-Star Horizon to an Apple ][ (ready for onward transfer to a
    homebrew Z80 system) by connecting the relevant REMINs and REMOUTs,
    using a simple 20-line program. Just make sure the sending program
    appends an EOF character at the end, and make sure there's no issue
    with unflushed buffers. ISTR we worked at such a slow baud rate that
    the hardware handshaking issue was avoided! ;-)

    Stuart
    | 424|384|2005-11-21 20:01:57|ti99_forever|Re: Serial file transfer to 99/4A p-system|
    --- Anders Persson <apersson850@...
    Nope. Tried that many times. For SOME reason, the
    P-system doesn't see end of file. Even if you send the
    proper EOF for TEXT files. It just sits there waiting
    forever...

    Closest I've come is using a terminal program to feed
    characters to the Editor through redirection, but you
    have to have a very slow baud rate and a very large
    character delay. So much so that I can type just as
    fast, otherwise you lose characters.

    I still want a general native file system extension -
    not just for transferring files, but so I can access
    native data files as well, just to utilize Pascal to
    operate on native files.


    ---
    Ben
    http://journal4cs.blogspot.com/



    __________________________________
    Yahoo! FareChase: Search multiple travel sites in one click.
    http://farechase.yahoo.com
    | 425|384|2005-11-21 20:05:45|ti99_forever|Re: Serial file transfer to 99/4A p-system|
    --- Stuart Bell <stuartsmacs@...
    I could not get one to work (many years ago) due to
    the fact that apparently the TI wouldn't recognize the
    EOF character (for TEXT files, not DOS).

    I was trying to use the FILER Transfer function. The
    documentation in the Filer manual said it could be
    used just that way. But it never worked.


    ---
    Ben
    http://journal4cs.blogspot.com/




    __________________________________
    Yahoo! Mail - PC Magazine Editors' Choice 2005
    http://mail.yahoo.com
    | 426|384|2005-11-21 23:07:55|Anders Persson|Re: Serial file transfer to 99/4A p-system|
    --- In UCSDPascal@yahoogroups.com, ti99_forever How do you envision this? There has to be some kind of transfer
    performed, to get the data in the native file into some kind of
    useful data type/structure in Pascal. Are you going to write a new
    program for every occasion, or are you going to provide some general
    purpose (as general as it could be) routines to read data from a
    native file?
    Remember that a native file can actually store data in whatever
    format, even change the format from one record to another, since the
    PRINT statements in BASIC can mix reals and strings in any order.
    Other languages can do the same, of course.

    Except for variant records, Pascal wants a file to consist of
    records of the same type.

    Or do you just want some kind of procedure, which can read whichever
    record in a native file, into some untyped buffer, where you'd have
    to pick it apart on your own, using the moveleft intrisic?

    Anders
    | 427|384|2005-11-21 23:10:17|Anders Persson|Re: Serial file transfer to 99/4A p-system|
    --- In UCSDPascal@yahoogroups.com, ti99_forever Well, I think I have TEP lying around. At least I've seen that I've
    printed out the manual from a text file, so it's probably on some
    utility disk I have. I don't think I've ever needed it before, so
    maybe it's about time.
    Or I'll have to make something myself, but nowadays I have so many
    other things to attend to, that I can't really spend the evenings in
    front of the 99/4A all the time...

    Anders
    | 428|384|2005-11-22 00:04:34|ti99_forever|Re: Serial file transfer to 99/4A p-system|
    --- Anders Persson <apersson850@...
    I envision a UNIT that will mirror what c99 had, with
    the extension that INTERNAL files are supported. NOT
    the INTERNAL BASIC format, necessarily. Simply
    returning a record, like fgets does. For writing,
    simply doing the same thing a writeln would do, but to
    a buffer that is in turn written using the write
    opcode.

    Once I get something like that working, I can worry
    about datatypes, which would be akin to fscanf.

    DISPLAY delimited comma separated lists are easy
    enough to deal with, whether on a higher level within
    the program or within the UNIT.

    As for INTERNAL/BASIC format, I couldn't care less
    about that format. I never really used it, but even
    still it shouldn't be too hard for Pascal to pull it
    apart.

    Just don't see why I should have c99 with access to
    native files, but not Pascal. I was able to port the
    I/O routines for c99 to the SAMS c99 compiler, don't
    see why I couldn't do the same for the P-system. If I
    can just be sure of memory usage, where to put my
    PABs, if disk buffers are used like in the native OS,
    etc. There just isn't enough KNOWN about how the TI
    implemented the P-system, except what you found out. I
    don't believe ANYONE has ever discovered an internal
    TI document on their port of the Psystem.

    That I would love to see. Everything is either through
    research, like you've done, or from SofTech/Pecan. No
    implementation related documentation exists, besides
    the manuals TI provided which provide no insight into
    the internals.


    ---
    Ben
    http://journal4cs.blogspot.com/



    __________________________________
    Start your day with Yahoo! - Make it your home page!
    http://www.yahoo.com/r/hs
    | 429|384|2005-11-22 01:53:18|Eric Smith|Re: UCSD p-system on Texas 99/4A|
    Anders Persson wrote:
    John Foust has published source code that can list directories and
    extract files from disk images of 8-inch p-System disks. It could
    probably easily be modified to deal with TI 99/4A p-System disks.

    http://www.threedee.com/jcm/diskutil/index.html

    Eric
    | 430|430|2005-11-22 09:53:42|Peter|II.0 Manual available|
    Date: Fri, 18 Nov 2005 18:35:35 -0800
    From: Gary Morris <gm@... To:
    We're cleaning out the garage and I found a copy of the orange "UCSD
    PASCAL System II.0 User's Manual March 1979". Does anyone want it?

    --GaryM

    --
    Gary A. Morris - San Marcos, California
    business: www.MorrisPhotoArt.com
    personal: gary.mggm.net
    | 431|430|2005-11-22 14:10:01|h.otten@chello.nl|Re: II.0 Manual available|
    Yes! Please!

    | 432|384|2005-11-22 17:02:03|Anders Persson|Re: Serial file transfer to 99/4A p-system|
    --- In UCSDPascal@yahoogroups.com, ti99_forever All right, I see what you mean. There isn't really any
    INTERNAL/BASIC format, though. The file formats are INT/FIX,
    INT/VAR, DIS/FIX, and DIS/VAR. Display files are most reasonably
    dealt with like strings. That's usually what they are, anyway.
    The internal files should be transferred to any untyped buffer. Then
    the programmer has to be responsible for understanding the contents
    of the buffer, either by manually taking it apart, or by declaring
    an appropriate record structure and use moveleft to transfer them
    into that structure, thus getting the translation "for free".

    Thinking about it, you can't use an untyped buffer in a unit
    interface declararion, but one could use a
    buftype = packed array[0..255] of char;

    That would always work, since no records are longer than 255 bytes
    in the internal system. Then using moveleft would transfer this to
    any variable you like.

    Something like this

    unit fileio;

    interface

    type
    buftype = packed array[0..255] of char;
    longstring = string[255];
    bufpoint = ^buftype;
    filekind = (intfix, intvar, disfix, disvar, image);

    filetype = record
    kind = filekind;
    filename: string;
    case filekind of
    intfix, intvar: buffer: ^buftype;
    disfix, disvar: line: ^longstring;
    image: bigbuf: ^bigpoint;
    end;
    fileid: integer;
    end;

    (* Each file operation returns an integer. 0=no_error. *)

    function openfile(var natfile: filetype): integer;
    function closefile(var natfile: filetype): integer;
    function readfile(var natfile: filetype): integer;
    function writefile(var natfile: filetype): integer;

    implementation

    (* Not done, but I know enough about the TI to make one. *)

    end.

    That's not very difficult to make, but I can't promise I'll have
    time to do it in the near future.

    Anders
    | 433|430|2005-11-22 17:30:09|Anders Persson|Re: II.0 Manual available|
    --- In UCSDPascal@yahoogroups.com, "Peter" That must be very close to the one I have. It's called

    SofTech Microsystems
    UCSD Pascal
    System II.0
    User Manual
    September 1979
    Second printing

    Perhaps a direct successor to your version?
    284 pages. Has then an appendix, by Datema (Swedish company), dated
    Sug 25th, 1980. It's in Swedish, and covers some details in
    implementations of UCSD Pascal II.0 for Metric 85, PDT11 and RSX-11M.

    Oh, now I see that the table of contents still says March 1979, so
    it's probably just an additional printing, compared to the one you
    found.

    I've also got a copy of something with the simple title

    UCSD p-system version IV.0
    Internal Architecture Guide for the
    Texas Instruments Professional computer

    If anyone remembers that one? A PC competitor, although not a PC
    compatible.
    Not equivalent to the TI 99/4A, but many things are at least similar.

    These two documents, together with the book Using the UCSD p-System,
    by Buckner, Cookson et. al. has given me a lot of info about this
    system. Together with A LOT of digging, of course...

    Anders
    | 434|384|2005-11-22 20:32:32|ti99_forever|Re: Serial file transfer to 99/4A p-system|
    --- Anders Persson <apersson850@...

    What I meant by "INTERNAL/BASIC" format is that
    INTERNAL is simply a flag to the file system. INTERNAL
    really means "in the applications format". Such as
    Archiver using it to tell you compressed vs.
    uncompressed files. Or Multiplan having them in
    INTERNAL, basically not text format.

    BASIC INTERNAL means that each data type is preceded
    by a length byte (always 8 for floating point, length
    of the string for strings). It was the assumption that
    this was true for all INTERNAL files that disappeared
    rapidly when I tried using BASIC to read other
    application's INTERNAL files and realizing that you
    didn't have to follow BASIC's rules, that many
    applications just use the INTERNAL flag to indicate
    "NOT TEXT". They don't have length bytes preceding
    each type (not confusing length bytes IN the record
    for each variable vs. length bytes for VARIABLE
    records that are actually OUTSIDE the record to tell
    the length of the record)...

    don't think), just with the P-system's interference,
    perhaps. I suppose I need more P-system knowledge.
    Perhaps allocating the memory for PABs in the VDP for
    example. Do I find a P-system intrinsic to help me
    here, or do I go directly to the VDP and modify
    pointers the P-system uses to allocate VDP memory.
    That sort of thing?

    Ben

    P.S. - Keep going, you have a good start there... ;)





    __________________________________
    Yahoo! Mail - PC Magazine Editors' Choice 2005
    http://mail.yahoo.com
    | 435|384|2005-11-22 23:32:53|Anders Persson|Re: Serial file transfer to 99/4A p-system|
    --- In UCSDPascal@yahoogroups.com, ti99_forever
    No, that's a more complicated way to do it, than the approach I
    intended to use. Indeed, you could use the native systems file
    handling procedure, but the way I and Lars did with the program that
    reads/writes Dis/Var 80 files from the p-system, is to use the
    Pascal intrinsics unitread and unitwrite to access the disk. We then
    made a program, in Pascal, which understood the structure of the
    native disk directory. Thus we could access the lines in the Dis/Var
    80 file from Pascal only, without having to take care of all
    pecularities which the native OS otherwise would cause us, if we
    tried to use normal file access at the same time as the p-system is
    running. Figuring out what to save, and where to stuff it away, and
    then properly restore the system again, would be much more difficult.
    The p-system doesn't use anything else than the sector access
    subprograms on the disk controller. Thus, there aren't any normal
    PAB's for each file, just a modified version for each physical unit.

    It's my opinion that writing this driver, which will allow a Pascal
    program to use the native file catalog is easier than to try to run
    the standard file access routines concurrently with the p-system.

    Anders
    | 436|384|2005-11-23 02:40:49|ti99_forever|Re: Serial file transfer to 99/4A p-system|
    --- Anders Persson <apersson850@...
    Yes, but I intend to support all level-3 routines,
    including Ramdisks, Hard drives (SCSI, HFDC), etc,
    while UNITREAD/WRITE can only access the floppies.


    ---
    Ben
    http://journal4cs.blogspot.com/



    __________________________________
    Yahoo! FareChase: Search multiple travel sites in one click.
    http://farechase.yahoo.com
    | 437|384|2005-11-23 09:49:46|Anders Persson|Re: Serial file transfer to 99/4A p-system|
    --- In UCSDPascal@yahoogroups.com, ti99_forever I see. Unitread/write depends on the sector read/write subprogram,
    which is supported by the floppy disk controller, for example.
    But as long as you can install a PCB (Peripheral Control Block) for
    another device AND this device also supports the sector read/write
    subprogram AND you call unitclear prior to using this new blocked
    unit, it should work anyway.

    I know, since that's the way I installed my own RAMdisk. That disk
    supports nothing more than the sector read/write, since I use if for
    Pascal only.

    How do you handle files on the hard drive? Limiting to 77 files (p-
    system) or even 127 files (native system) seems somewhat short-handed?
    Tree-structured directory?

    Anders
    | 438|430|2005-11-24 14:24:08|Laurie Boshell|Re: II.0 Manual available|
    --- In UCSDPascal@yahoogroups.com, "Peter" Perhaps it could be scanned and added to the I.5 manual at
    bitsavers.org. I'd be happy to scan it, and arrange postage, I live in
    the Blue Mountains west of Sydney, Australia, but that has not stopped
    me being a keen p-system follower. BTH: any source with that :)?

    Laurie.
    | 439|430|2005-11-27 03:09:23|Gary|Re: II.0 Manual available|
    --- In UCSDPascal@yahoogroups.com, "Laurie Boshell" orange "UCSD
    I've already mailed the manual off to Hans, who was the first to ask
    for it. I haven't seen any source yet, but I'm still cleaning out the
    garage.

    I had *all* the II.0 and IV.0 source but I think I got rid of it a few
    years ago. I don't think I have any source left. I didn't know this
    group existed until just recently otherwise it would've found a home
    somewhere... Sigh.

    --GaryM
    | 440|430|2005-11-28 22:00:24|willi@wilserv.com|Re: II.0 Manual available|
    Hi!

    Quoting Gary:
    <--- snip --- AAArrrrrggggghhhhh!!! Was it REALLY necessary to share that????

    Willi
    | 441|441|2005-11-29 12:36:32|Anders Persson|Faster text files á la Byte Magazine|
    I located the source files for the speed-improved text file handling,
    according to the article in Byte Magazine, published more than 20 years
    ago.

    Is that of any interest to anyone here, so that I shall take the effort
    and list it to a PC, so that I can upload the source to this forum? Or
    is it already somewhere, where I haven't found it?

    There's a funny trick involved in the program, which allows you to call
    an operating system procedure without having the unit, where it
    resides, available.

    Anders
    | 442|430|2005-11-29 19:31:30|Gary|Re: II.0 Manual available|
    --- In UCSDPascal@yahoogroups.com, willi@w... wrote:
    Well, someone asked... I took another look and found some disks that
    say they have I.3 and I.4 Pascal Compiler source. But those were
    public domain (I think) and you probably already have them.
    --GaryM
    | 444|444|2005-11-30 05:30:38|Shirl|Re: |
    Hi

    I have about 30 5 1/2" floppies with lots of UCSD Pascal source code from
    the Apple II days. This includes the fast text file i/o unit Anders
    mentioned. I will try to put these files in a more modern form in a week or
    two. This means I will extract the files from these floppies and turn them
    into modern text files for others to at least be able to visually read.

    - David Craig

    ----------
    | 445|445|2005-12-01 09:44:05|Anders Persson|Compiler directive "U"|
    Does anyone remember, or is close enough to the documentation to check
    the meaning of the (*$U-*) compiler directive?

    I have some idea about that it had something to do with the compilation
    of reserved unit names, or so, but I'm not sure, and far away from my
    old manuals.

    Anders
    | 446|445|2005-12-01 10:02:46|Stuart Bell|Re: Compiler directive "U"|
    On 1 Dec 2005, at 07:43, Anders Persson wrote:

    U- 'allows compilation of units with names that are predeclared in the
    System, Also sets R- and I-. The average user will _never_ use this
    option, except when compiling GOTOXY (see the installation guide).'


    [My new Sage with its manual set arrived yesterday!] :-)

    Stuart
    | 447|445|2005-12-01 10:43:10|Anders Persson|Re: Compiler directive "U"|
    --- In UCSDPascal@yahoogroups.com, Stuart Bell the
    Thank you. That's in line with what I thought, then. This directive is
    used in the fast text file handler, from Byte magazine, since they need
    to compile a faked unit fileops, to allow access to the finit procedure
    in the operating system.
    So it makes perfect sense that they have to use the U- directive.
    Obviously you can compile new system units, and use these in your own
    programs, without ever actually executing these units. If you don't
    include them into the OS, then they'll just be referenced at compile
    time.

    Anders
    | 448|445|2005-12-01 11:46:53|Laurie Boshell|Re: Compiler directive "U"|
    Anders,

    Are you referring to version IV.x? I think you will find that the $U-
    directive works differently for version IV.x and versions
    I.5/II.0/II.0s/II.1.
    Under versions prior to IV.0, $U- allows compilation of a segment 0
    unit, that is the segment that the OS is. To work correctly you had
    to include the system global declarations (which I uploaded some time
    ago in the files section of this group).

    It also sets $R-,$I-, and if I remember correctly, had an effect on
    swapping to allow the complier a larger symbol table on SOME II.x
    versions without the user requesting $S+ or $S++. (Ugg: this is
    starting to look like C!)

    I'd love to see the FASTIO.TEXT unit, I typed it in from byte but
    never could get it to work reliably.

    Keep up the interesting work.

    Laurie
    | 449|445|2005-12-01 16:30:17|Anders Persson|Re: Compiler directive "U"|
    --- In UCSDPascal@yahoogroups.com, "Laurie Boshell" $U-
    time
    Yes, the only UCSD system I've ever used seriously is on my TI 99/4A,
    and that was IV.0. So that's what I'm referring to. But the answer I
    got above fits what I expected it to do.

    The fastio unit works perfectly on the Texas Instruments
    implementation, so at least it can work, if you are lucky...
    I'll at least make the text available soon.

    Anders
    | 450|450|2005-12-01 21:00:26|Stuart Bell|Mac disc image files|
    Despite several attempts, I can't get DiskCopy 4.x or 6.x to read the
    files for the Mac p-System on the web site. The problem is usually
    reported as a file-type problem, despite efforts with various
    file-typing utilities.

    Has anyone used the file images successfully, please? If you have, then
    I'll know the problem is at 'my end'. If no-one has . . . .

    Stuart
    | 451|450|2005-12-01 21:18:50|Stuart Bell|Re: Mac disc image files|
    On 1 Dec 2005, at 18:59, Stuart Bell wrote:

    Well, of course we know that the best way to solve a problem is to
    announce to the whole world that you can't solve it . . . . .

    10 minutes later; using FileInfo to set the filetype and creator under
    Mac OS X having failed, as had various attempts under Mac OS 8, I used
    FileInfo to do the job on the disc images as they sat elsewhere on the
    network on an old Mac running Mac OS 8. The filetype should be set to
    'dImg' and the creator to 'dCpy'. Floppies created . . . . . now to
    get a 512Kb or 128Kb Mac out of the cupboard.

    Stuart
    | 452|450|2005-12-01 22:05:10|Stuart Bell|Re: Mac disc image files|
    On 1 Dec 2005, at 19:18, Stuart Bell wrote:

    Success!

    Well, semi-success. The discs work fine. The problem is that they're
    not the discs I thought they were! Back in the early 1980s, my
    p-System limit for financial reasons, was Z80s and Apple ][s. My
    understanding was that just as there was a 'native' and a 'DOS-hosted'
    system for the PC, so for the Mac there was a 'native' and one which
    ran under Mac OS.

    I'd assumed that the discs were the native system, not one for
    producing UCSD Pascal programs under the normal Mac OS - Softech's
    'MacAdvantage' product. I was wrong, of course.

    Was there a 'native' Mac p-System, like the p-System for the Apple ][?
    And does it still exist anywhere?

    Thanks,

    Stuart
    | 453|450|2005-12-01 22:37:22|Stuart Bell|Re: Mac disc image files|
    On 1 Dec 2005, at 20:04, Stuart Bell wrote:

    Sorry that this is turning into a bit of a monologue. ;-) The
    following confirms my understanding that there were two p-System
    development environments for the Mac:

    http://groups.google.com/group/fa.info-mac/browse_thread/thread/
    258a91c0c355d58f/76ddc8bf0930c688?lnk=st&q=mac+p-
    system&rnum=21#76ddc8bf0930c688

    Dated 22/12/1984, it reads:



    Dan -
    I've used both p-Systems quite a bit (I'm reviewing them for BYTE), so
    here are my thoughts on both, for what they're worth.

    "Product A" is an almost-direct port of the p-System to the Mac. This
    was released in August 84, well ahead of schedule (SofTech's marketing
    people were caught by surprise, not expecting the product to be ready
    for
    several more weeks or even months). It doesn't use the Finder
    environment
    at all. Instead, it boots you up into a standard (well, almost
    standard)
    p-System environment: prompt line across the top of a 85 column x 34
    line
    display. It's pretty much version IV.1 p-System, with all the features
    and drawbacks thereof. The basic development system is $195 and comes
    with
    editor, compiler, filer, and a few other odds and ends. It also comes
    with
    a "MacDraw" unit in SYSTEM.LIBRARY that allows you access to some of the
    QuickDraw routines, as well as most of the Mouse routines. Some more
    money
    gets you the Advanced Development Kit, with 68000 assembler, source
    (both
    Pascal and assembly) of MacDraw, and more tools. The MacDraw source is
    very valuable, because it shows you (more or less) how to write your own
    ToolBox calls. The assembler is (again) the standard p-System assembler
    with 68000 mnemonics; unfortunately, because of the p-Systems 16-bit or-
    ientation, the assembler is a 16-bit assembler, causing some hassles
    when
    you want to work with 24- or 32-bit values.

    Anyone familiar with the p-System will feel right at home with Product
    A. I took a graphics library that I had been developing on the Apple II
    for about 2 years and converted most of it to the Mac (using assembly
    language calls to the ToolBox as well as some custom assembly stuff of
    my
    own) in about a week. I think that I could have converted the game I
    wrote (SunDog: Frozen Legacy, in Apple Pascal/6502 assembly) to the Mac
    using Product A in about 3 months, possibly less. It does suffer from
    the same disk slowness as other Mac products, but you can do honest-to-
    goodness development on a single-drive, 128K Mac (though I do recomment
    two drives). In fact, the current product doesn't take advantage of
    512K Macs, and I'm not sure just how SofTech plans to support the extra
    RAM (they have several options).

    "Product B" (known as "The MacAdvantage: UCSD Pascal") was just
    released
    about two weeks ago, at the start of December. I have a beta copy and
    will
    (hopefully) soon get a finished copy. Product B is not the p-System;
    it is
    a UCSD Pascal compiler running under the Finder. A Mac-style editor is
    used (the same one, apparently, found in Apple's assembler/debugger);
    you
    can even use MacWrite if you like. The compiler produces an application
    file full of p-code; when you double-click it, it loads the p-machine,
    the
    runtime system, and any library stuff needed, and then executes itself.
    About 95% of the ToolBox is supported in a series of units which yield
    definitions and procedures identical (or nearly so) to those in Inside
    Macintosh. A resource compiler is included, so you can define resources
    for a program, compile them into a resource file, then have that file
    included when the program itself is compiled. Debuggers are also
    included,
    but there is no assembler (and no apparent plans for one). Cost is
    $195.

    Of the two, I prefer "Product B". Its main disadvantage is that there
    is a very steep learning curve, i.e., the same one for Lisa Pascal or
    any
    other language that requires you to wade through Inside Mac. Even so, I
    feel like I am doing true Mac development on a Mac (instead of on a
    Lisa).
    And there aren't the compatibility problems that exist with Product A.
    Another advantage is licensing fees. Product A has a standard SofTech
    money-up-front-and-so-much-per-copy fee (high volume is $6000 up front
    and $1.25/10% of retail per copy, whichever is cheaper). Product B has
    a flat $500/year-unlimited-copies fee.

    Feel free to contact me with any more questions you might have.
    ..bruce..

    Bruce F. Webster
    Contributing Editor, BYTE
    6215 Thorn Street
    San Diego, CA 92115
    bang!crash!bwebster@nosc
    {ihnp4 | sdcsvax!bang)!crash!bwebster
    CompuServe: 75166,1717
    Fido node #87 [(619) 286-7838, 300/1200 baud]
    | 454|384|2005-12-02 23:31:51|Dr Jerry Coffey|Re: Serial file transfer to 99/4A p-system|
    Hi Anders. 
     
    Jerry Coffey here. 
     
    We exchanged some software many years ago.  I'm pretty sure TEp (that's the way Andy spelled it) was on one of the disks I sent you.  I sent copies of the fine software you sent me to several user groups who distributed it nationally.  (One of them was the big Boston group that supported all computers -- their librarian then was a young student named Peter Hoddie who made sure that TI99/4a software of all flavors made it into the master library).
     
    There were several reasons why a limited number of people were able to use this software (both yours and mine).
     
    As you may recall, I used the the TI's DCOPY program to facilitate transfers of digital data between OS's and over networks.  DCOPY (TI's program to extract the bit-stream as a single file from a TI disk) was compromised by software authors who ignored some of the details of TI's format (specifically the use of the hex "E5" as fill data in formatting a disk -- DCOPY used E5 to distinquish unused sectors that could be dropped from the output file).  I patched a version of DCOPY to use "D7" instead of "E5". but many just threw up their hands when DCOPY failed..
     
    Many destroyed perfectly good P-system disks because some TI software flagged them as unformatted. 
     
    The Pecan-licensed version of the P-system used by the 9640 Geneve was an MDOS-hosted implementation, but when other authors started using unique control codes in their "own" versions of MDOS,  the P-system (full-screen) Editor was broken (^C was one of the casualties).  This deprived the TI community of Paul Charlton's MDOS launch program that supported 5 units (including multiple ramdisks) plus subdirectories and context-sensitive help files.  In fairness, Clint Pulley tried to include an MDOS boot switch to restore normal ascii control codes, but by then most people had decided (incorrectly) that the P-system was buggy.
     
    Glad to hear from you.
     
    Jerry L. Coffey, Ph.D.   Mathematical Statistician
          drjerrycoffey@...
    | 455|384|2005-12-03 00:05:42|Anders Persson|Re: Serial file transfer to 99/4A p-system|
    --- In UCSDPascal@yahoogroups.com, "Dr Jerry Coffey"

    Yes, you did, thank you. I've found it, after looking through the
    disks you sent me.

    Anders
    | 457|430|2005-12-09 00:37:33|Anders Persson|Re: II.0 Manual available|
    --- In UCSDPascal@yahoogroups.com, "Hans Otten" It's similar to the one I have, with the exception that mine is
    printed later in 1979.

    Good scanning job! No wonder you have omitted page 225, but have page
    226 twice in your pdf, since there are so many pages to handle.

    Anders
    | 459|441|2005-12-10 01:56:14|Laurie Boshell|Re: Faster text files á la Byte Magazine|
    Further to that (faster text files) I just found a faster seek!
    I looks like it is for I.5 and II.x. That probably means that
    it can be used on Apple Pascal as well!.
    Code listed below.
    Laurie boshell.

    {Copyright 1980 by
    Stuart Lynne
    1350 Clifton Ave.
    Coquitlam, British Columbia,
    Canada
    V3J 5K6

    Permission granted to use for noncommercial purposes. All
    other rights reserved}


    { fast.seek }
    {$U-,S+}

    {$I globals }

    {
    *
    * Fast Seek
    *
    * Changes Copyright (c) 1980, by Stuart Lynne. All rights
    reserved.
    *
    * This is a recoded version of the UCSD Pascal Seek algorithm.
    It
    * is 50 to 100 % faster than the original.
    *
    *
    }
    {$C Copyright (c) 1980, by Stuart Lynne. All rights reserved.}
    (*----------------------------------------------------------*)

    SEPARATE UNIT Unit_Seek;
    INTERFACE

    PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER);

    IMPLEMENTATION

    Procedure Super (A, B: integer; var Block, Byte: integer);

    var
    A_Hi, A_Mid, A_Low, B_Hi, B_Mid, B_Low,
    Little_Total, A_Mid_B_Low, A_Low_B_Mid, A_Low_B_Low: integer;

    begin {of SUPER_DIV}

    A_Low := A Mod 32;
    B_Low := B Mod 32;

    A_Hi := A Div 1024;
    B_Hi := B Div 1024;

    A_Mid := (A mod 1024) DIV 32;
    B_Mid := (B mod 1024) DIV 32;

    A_Mid_B_Low := A_Mid * B_Low;
    A_Low_B_Mid := A_Low * B_Mid;
    A_Low_B_Low := A_Low * B_Low;


    Little_Total := (A_Mid_B_Low * 32 Mod 512) +
    (A_Low_B_Mid * 32 Mod 512) +
    (A_Low_B_Low Mod 512);

    Byte := Little_Total Mod 512;

    Block := A_Hi * B_Hi * 2048 + A_Hi * B_Mid * 64 + A_Hi *
    B_Low * 2
    + A_Mid * B_Hi * 64 + A_MiD * B_MiD * 2 +
    A_Mid_B_Low Div 16
    + A_Low * B_Hi * 2 + A_Low_B_Mid Div 16 +
    A_Low_B_Low Div 512
    + Little_Total div 512;

    end {of Super};

    PROCEDURE FSEEK(*VAR F: FIB; RECNUM: INTEGER*);
    LABEL 1;
    VAR BYTE,BLOCK,N: INTEGER;


    BEGIN SYSCOM^.IORSLT := INOERROR;
    IF F.FISOPEN THEN
    WITH F,FHEADER DO
    BEGIN
    IF (RECNUM < 0) OR NOT FSOFTBUF OR
    ((DFKIND = TEXTFILE) AND (FRECSIZE = 1)) THEN
    GOTO 1; (*NO SEEK ALLOWED*)
    { * Block := RECNUM*FRECSIZE DIV FBLKSIZE + 1;
    * Byte := RECNUM*FRECSIZE MOD FBLKSIZE;
    } Super (Recnum, Frecsize, Block, Byte);
    Block := Block + 1;
    IF BYTE = 0 THEN
    BEGIN
    BYTE := FBLKSIZE;
    BLOCK := BLOCK - 1;
    END;
    N := DLASTBLK-DFIRSTBLK;
    IF (BLOCK BEGIN BLOCK := N; BYTE := DLASTBYTE END;
    IF BLOCK < BEGIN
    IF FBUFCHNGD THEN
    BEGIN FBUFCHNGD := FALSE; FMODIFIED := TRUE;
    UNITWRITE(FUNIT,FBUFFER,FBLKSIZE,DFIRSTBLK+FNXTBLK-
    1);
    IF IORESULT < END;
    IF (BLOCK <= FMAXBLK) AND (BYTE < BEGIN
    UNITREAD(FUNIT,FBUFFER,FBLKSIZE,DFIRSTBLK+BLOCK-1);
    IF IORESULT < END
    END;
    IF FNXTBLK BEGIN FMAXBLK := FNXTBLK; FMAXBYTE := FNXTBYTE END
    ELSE
    IF (FNXTBLK = FMAXBLK) AND (FNXTBYTE FMAXBYTE := FNXTBYTE;
    FEOF := FALSE; FEOLN := FALSE; FREPTCNT := 0;
    IF FSTATE < FNXTBLK := BLOCK; FNXTBYTE := BYTE
    END
    ELSE SYSCOM^.IORSLT := INOTOPEN;
    1:
    END (*FSEEK*) ;


    END { PASCALIO } ;

    (*Dummy level 0 outerblock*)
    BEGIN END.
    | 460|460|2005-12-10 18:20:21|Shirl|Fast UCSD Pascal Text File reader unit|
    Here's the source for a fast UCSD Pascal text file reader unit from 1982
    that may interest some of the group members. This is from one of the USUS
    disks.

    I have seen another of these units which I recall was different and more
    annotated than this one. Believe this was in BYTE magazine, or in one of
    Apple Computer's Apple II or III technical notes.

    - David Craig

    { FASTREAD - fast text file string read for UCSD pascal. }
    { dhd - PCD Systems, Inc. }

    { S+}

    {
    17 Aug 82 [acd] Fixed bug on consecutive null lines with no blank
    compression
    17 Aug 82 [acd] Intrinsic declarations for Apple iron made conditional
    14 Aug 82 [acd] Changed to intrinsic for Apple ][
    12 Aug 82 [acd] Fixed error on blank lines with indent count
    }

    UNIT FastRead ;
    {%IFT Apple }
    (*INTRINSIC CODE 16 ;*)
    {%ENDC }

    INTERFACE
    CONST
    BufSiz = 1024 ;
    LineMax = 255 ;

    TYPE
    LineIndex = 0..LineMax ;
    LongString = String[LineMax] ;
    FFile = FILE ;
    Fcb = RECORD
    InLFN : STRING[30] ; { input file name }
    Line : LongString ; { current text line }
    BPos : INTEGER ; { buffer position }
    EndFile : BOOLEAN ; { true when end of file }
    Buf : PACKED ARRAY [0..BufSiz] OF CHAR ;
    BlkNr : INTEGER ;
    END ; { Fcb }

    PROCEDURE GetString
    ( VAR Phyle : Fcb ;
    VAR InFile: FFile ;
    VAR s : LongString ) ;

    PROCEDURE OpenFile
    ( VAR Phyle : Fcb ;
    VAR InFile: FFile ;
    VAR Lfn : STRING ) ;

    IMPLEMENTATION

    PROCEDURE OpenFile
    { VAR Phyle : Fcb ;
    VAR InFile: FFile ;
    VAR Lfn : STRING } ;

    BEGIN { OpenFile }

    WITH Phyle DO BEGIN
    RESET( InFile, Lfn ) ;
    InLFN := Lfn ;
    Line := '' ;
    BPos := BufSiz + 1 ;
    EndFile := FALSE ;
    BlkNr := 2 ;
    END ;

    END ; { OpenFile }


    PROCEDURE GetString
    { VAR Phyle : Fcb ;
    VAR InFile: FFile ;
    VAR s : LongString } ;

    CONST
    Cr = 13 ;
    Dle = 16 ;

    VAR
    BCnt,
    Chg : INTEGER ;
    Found : BOOLEAN ;

    BEGIN { GetString }

    {$R- disable string range checks }

    WITH Phyle DO
    REPEAT
    IF BPos BCnt := BLOCKREAD( InFile, Buf[0], 2, BlkNr ) ;
    BPos := 0 ;
    BlkNr := BlkNr + BCnt ;
    IF BCnt < 2 THEN { eof } BEGIN
    EndFile := TRUE ;
    EXIT( GetString )
    END ; { if }
    END ; { if }
    Chg := SCAN( BufSiz-BPos, =CHR(Cr), Buf[BPos] ) ;
    IF (BPos + Chg) < BufSiz THEN { found a carriage return } BEGIN
    MOVELEFT( Buf[BPos], s[1], Chg ) ; { copy string except CR }
    s[0] := CHR( Chg ) ;
    BPos := SUCC( BPos + Chg ) ;
    Found := TRUE
    END
    ELSE BEGIN
    Chg := SCAN( BufSiz-BPos, =CHR(0), Buf[BPos] ) ; { look for null }
    IF (BPos + Chg) < BufSiz THEN BEGIN
    MOVELEFT( Buf[BPos], s[1], Chg-1 ) ;
    s[0] := CHR( Chg ) ;
    BPos := BufSiz ;
    END ;
    Found := FALSE
    END ;
    UNTIL Found ;

    IF LENGTH( s ) IF s[1] = CHR(dle) THEN { insert leading blanks } BEGIN
    Chg := ORD( s[2] ) - ORD( ' ' ) ;
    IF Chg MOVERIGHT( s[3], s[Chg+1], LENGTH(s)-2 )
    ELSE
    MOVELEFT( s[3], s[Chg+1], LENGTH(s)-2 ) ;
    FILLCHAR( s[1], Chg, ' ' ) ;
    s[0] := CHR( LENGTH(s)+Chg-2 ) ;
    END ;

    {$R+}

    END ; { GetString }

    END. { of unit }
    | 461|461|2005-12-14 01:03:02|John Pham|P-code in VHDL ?|
    just wondering, but did anyone ever implement UCSD P-code in
    VHDL and have a FPGA P-code CPU?

    Seems like one could do a p-code type CPU nowadays in one of those
    Xilinx or Altera FPGA and still have plenty of space left for other
    stuff.
    | 462|461|2005-12-14 02:06:08|Richard Kaufmann|Re: P-code in VHDL ?|
    It was before the FPGA era (and VHDL has Ada in its heritage, which in turn has Pascal in its heritage...).  Besides, JVMs have JITs -- so there's really no need to optimize away the interpreter overhead anymore.  The use of FPGAs as application accelerators is more about getting away from excessively linear control flows and useless concepts like program counters, etc.
     
    Anyway, Joel McCormack while at NCR was the lead designer of a AMD290X bit-sliced implementation of UCSD Pascal.  Even weirder than the project being done at a cash register company (!), was that the only real intended application was a hotel reservation system.
     
    Cheers,
     
    Richard
    | 463|461|2005-12-14 03:58:53|John Pham|Re: P-code in VHDL ?|
    Yes, I know Psystem was before FPGA day, I was thinking of writing
    it to play around with my XILINX ISE. Just wondering if anyone
    already done it (OPENCORES.ORG) so I dont have to re-invent the
    wheel. Just think 100Mhz CPU running in native p-code.



    --- In UCSDPascal@yahoogroups.com, "Richard Kaufmann"
    so there's really no need to optimize away the interpreter overhead
    anymore. The use of FPGAs as application accelerators is more about
    getting away from excessively linear control flows and useless
    concepts like program counters, etc.
    AMD290X bit-sliced implementation of UCSD Pascal. Even weirder than
    the project being done at a cash register company (!), was that the
    only real intended application was a hotel reservation system.
    those
    other
    ----------
    of Service.
    ----------
    | 464|464|2006-01-20 01:14:13|Wheller Herbmaster|Turtlegraphics unit drawblock modes.|
    In case somebody was interested, the modes are as follows:

    mode: meaning:
    0 ignore bit pattern (color = black)
    1 logical NOR with screen
    2 logical AND with screen compliment
    3 screen compliment
    4 logical AND compliment with screen
    5 compliment
    6 logical XOR with screen
    7 logical NAND with screen
    8 logical AND with screen
    9 equivilance
    10 direct copy
    11 logical OR with screen compliment
    12 screen replacement
    13 logical OR compliment with screen
    14 logical OR with screen
    15 ignore bit pattern (color = white)
    | 465|464|2006-01-20 02:31:57|Eric Smith|Re: Turtlegraphics unit drawblock modes.|
    Oooh, that's a very nice screen!

    Sorry, couldn't resist. Reminds me of the same typo in
    "two's compliment (sic) arithmetic."
    | 466|466|2006-02-06 19:37:51|Willi Kusche|New group members|
    Hi, y'all!

    Three recent new members entered interesting comments when they
    asked to be added to the list.

    Partial e-mail address:
    internetwasteland
    Comment from user:
    I'm an embedded programmer with a love of the "old stuff".
    I may even have some UCSD Pascal sources around if I want to dig...

    Partial e-mail address:
    eds_2
    Comment from user:
    I recently re-discovered UCSD pascal through Apple Pascal and am
    interested in the internals of the compiler and virtual machine.

    Partial e-mail address:
    papemjr
    Comment from user:
    Interested in UCSD Pascal, thinking about implementing a pcode
    interpereter on a 6502-based CPU board.

    All I can add at this point is that "digging" is very much encouraged.

    Willi
    | 467|466|2006-02-06 19:56:49|Eric Scharff|Disassembling p-code|
    As one of the new members, any sources would be greatly
    appreciated!

    I'm very interested in the internal workings of the UCSD
    compiler, especially the Apple Pascal compiler.

    I tried to get more verbose output from the compiler with the $L
    flag, but this simply seemd to give me line numbers and what I
    assume are instruction pointers.

    Does anyone have sample code to disassemble .CODE files from
    various versions of the UCSD p-System (especially the Apple
    Pascal variants)?

    -Eric


    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 468|466|2006-02-07 01:36:27|Philip Pemberton|Re: New group members|
    In message <ds5mbo+r6cs@...
    That would be my Yahoo ID... "philpem" is the username I use pretty much
    everywhere else :)

    Well, to expand on that, I've got a 6502-based multi-board computer that I
    designed and built. Problem is, I built it, then realised there were no nice
    OSes available. There are plenty of BASICs though :)

    Anyway, someone mentioned P-system on the "classiccmp" mailing list, then I
    started digging. Now I'm toying with the idea of porting P-system over to my
    6502 board and adding an IDE hard drive controller and maybe a uPD765-based
    floppy controller.

    I know I'm mad. A lot of people - especially in the medical profession - keep
    telling me that :)

    Thanks,
    --
    Phil. | Kitsune: Acorn RiscPC SA202 64M+6G ViewFinder
    philpem@... | Cheetah: Athlon64 3200+ A8VDeluxeV2 512M+100G
    http://www.philpem.me.uk/ | Tiger: Toshiba SatPro4600 Celeron700 256M+40G
    ... See that megaphone, That's your modem that is.
    | 469|466|2006-02-07 07:44:09|Shirl|Re: Disassembling p-code|
    Eric,

    Most UCSD Pascal compilation listings only show the Pascal source and p-code
    byte offsets. P-code itself tends not to be present.

    But Apple's Apple III Pascal compiler (believe version 2) produced a listing
    with the Pascal source and its p-code interspersed. This provided a very
    good way to see what p-code was actually generated. This is much better than
    a p-code disassembler since these do not include the Pascal source.

    I have a few Pascal/p-code listings I made of Apple's sample programs that I
    can look for and email.

    - David Craig

    ----------
    | 470|466|2006-02-07 10:01:36|Stuart Bell|Re: New group members|
    On 6 Feb 2006, at 23:35, Philip Pemberton wrote:

    20-25 years ago, I disassembled the Apple Pascal p-system BIOS and
    interpreter, and rewrote it for things like 8" floppy drive and
    home-brew 80-column cards. A friend did similar for a home-brew Z80
    system, with Version I.5 of the p-System.

    So, it can be done!

    We were thought to be mad, as well. ;-)

    I now deeply regret ditching all the s/w when I got rid of the Apple
    ][s in the late 1980s. Assuming that you have an Apple ][ system, it's
    not too difficult to write a disassembler in Pascal. THE book you need
    is called something like 'The Source' by Randall Hyde. It dissects the
    Apple Pascal interpreter in great detail. It will save you an awful lot
    of work.

    Good luck!

    Stuart
    | 471|466|2006-02-07 12:54:39|Dr A.P. Whichello|Re: Disassembling p-code|
    Ages ago, (1981?) Call-A.P.P.L.E. did an issue called "Pascal in Depth"
    which included a pcode decoder for Apple Pascal 1.1 by Chris Wilson. No
    documentation, just the program text file listing. Those were the days,
    when you could figure out an operating system as a hobby in your spare
    time! Anyway, I also have the disks with the text listings, so I can
    probably dig them out and email them, if you are interested. I expect
    you'll need a working Apple Pascal system to use them, plus the joy of
    getting them onto suitable media...

    Adrian.

    --
    Dr A.P. Whichello Phone: +61 2 6201 2431
    Electronics & Telecommunications Engineering Fax: +61 2 6201 5041
    University of Canberra Email: Adrian.Whichello@...
    Australia WWW: http://www.ise.canberra.edu.au/

    "I wish to God these calculations had been executed by Steam!" C.Babbage
    | 472|466|2006-02-07 15:36:05|Richard Stearn|Re: Disassembling p-code|
    Eric Scharff did scribe:
    Eric

    Yes, this one:

    ----------------------------------------------------------------------
    (*
    P CODE INTERPRETER
    ------------------

    for UCSD Pascal I.5
    -------------------
    *)

    (*$C Copyright 1981 Chris Wilson *)
    (* copied from Call A.P.P.L.E. in depth vol 2: Pascal. *)
    ----------------------------------------------------------------------

    I used this to inverse-compile some chunks of the I.5 P-system so I could
    fix some of the more irritating bugs.

    I will look into posting it in a suitable place later this week.

    --
    Regards
    Richard
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    My opinions are mine, all mine. None to spare for unopinionated masses.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    | 473|466|2006-02-07 15:48:12|Stuart Bell|Re: Disassembling p-code|
    On 7 Feb 2006, at 11:53, Dr A.P. Whichello wrote:

    Could you put them on the group web site as well, please?

    Thanks,

    Stuart
    | 474|466|2006-02-07 15:50:14|Stuart Bell|Re: Disassembling p-code|
    On 7 Feb 2006, at 13:27, Richard Stearn wrote:

    This group's web site?

    Stuart
    | 475|466|2006-02-07 18:01:23|Philip Pemberton|Re: New group members|
    Stuart Bell said:
    You mean "p-Source"? Seventy quid (about $140) off Amazon UK. There is no way
    I can justify spending that on a book... :(

    Thanks,
    --
    Phil. | Kitsune: Acorn RiscPC SA202 64M+6G ViewFinder
    philpem@... | Cheetah: Athlon64 3200+ A8VDeluxeV2 512M+100G
    http://www.philpem.me.uk/ | Tiger: Toshiba SatPro4600 Celeron700 256M+40G
    ... Not genius, glory or love reflects the soul's greatness, it's kindness.
    | 476|466|2006-02-07 19:26:01|Stuart Bell|Re: New group members|
    On 7 Feb 2006, at 15:58, Philip Pemberton wrote:

    Absolutely; but if you could get it for £20, it would be worth it.
    Someone is trying to make a killing. :-(

    Stuart
    | 477|466|2006-02-07 20:05:14|Derek M Jones|Re: New group members|| 478|108|2006-02-07 21:00:52|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /RevEngII/Ducsd.shk
    Uploaded by : wilserv_41 <willi@... Description : An Apple II archive using the ShrinkIt format

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/RevEngII/Ducsd.shk

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 479|466|2006-02-07 21:19:54|Willi Kusche|Re: Disassembling p-code|
    Hi, y'all!

    | 480|480|2006-02-07 23:05:43|Willi Kusche|New directory, new file|
    Hi, y'all!

    I just created a new directory in the 'Files' area, named
    "Disassembly Stuff". I moved the file described in my prior message
    to this new directory from the "RevEngII" directory. I also uploaded
    the source for a disassembler written by William Franks of the
    University of California at San Diego. The end of line delimiter in
    the Pascal source text file is the new line character as I keep my
    Pascal files on an Amiga 3000.

    If anyone who wants access to this file has a problem with either
    the format of the archive or the end of line characters in the text
    file, let me know and I can transfer the text file to my ThinkPad
    laptop, insert line feed characters and create a '.zip' archive for
    uploading.

    Willi
    | 481|108|2006-02-07 23:28:15|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Disassembly stuff/CompDis.lha
    Uploaded by : wilserv_41 <willi@... Description : Apple Pascal v1.1 compiler diassembly

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Disassembly%20stuff/CompDis.lha

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 482|108|2006-02-07 23:44:27|Willi Kusche|Re: New file uploaded to UCSDPascal|
    Hi, y'all!

    | 483|466|2006-02-08 16:43:33|ti99_forever|Re: Disassembling p-code|
    --- Eric Scharff <eds_2@...
    Would this be the same as the "DECODE" prog that is on
    my TI's UCSD IV.0 Utility disk?

    ---
    Ben
    http://journal4cs.blogspot.com/

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 484|480|2006-02-08 18:38:25|Eric Scharff|Re: New directory, new file|
    I was able to extract the shrinkit file onto a disk, but when I
    BRUN DUCSD, the system simply seems to exit PRODOS (it calls
    BYE)

    Is this because of the file you say is missing from the shrinkit
    archive? Do you know where this file may be?

    Many thanks,

    -Eric

    --- Willi Kusche <willi@...
    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 485|480|2006-02-08 20:58:07|willi@wilserv.com|Re: New directory, new file|
    Hi!

    Quoting Eric:
    Hmmm, it works from the shell I use. I'm investigating the problem.

    The missing file is only needed if you are trying to compile the source.

    Willi
    | 486|480|2006-02-08 21:05:47|Eric Scharff|Re: New directory, new file|
    Shell? Oh. Are you running ducsd from within kyan pascal's
    shell? that may make a difference. I don't have kyan pascal.
    I was running from a prodos 1.9 disk, from the applesoft prompt.

    -Eric

    --- willi@... wrote:

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 487|466|2006-02-08 21:10:58|willi@wilserv.com|Re: Disassembling p-code|
    Hi!

    Quoting ti99_forever <ti99_forever@... I would have to see what's on your disk to know.

    Willi
    | 488|480|2006-02-08 21:16:53|willi@wilserv.com|Re: New directory, new file|
    Hi!

    Quoting Eric:
    Yes, it runs when KIX, the shell that came with Kyan Pascal, is in control.

    Willi
    | 489|108|2006-02-11 07:00:32|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /0index.txt
    Uploaded by : wilserv_41 <willi@... Description : A gude to what's available here

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/0index.txt

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 490|490|2006-02-11 07:07:23|Willi Kusche|Renovation in the file area|
    Hi, y'all!

    I've been moving stuff around in the file area in attempt to
    improve it. There's a "0index.txt" file right after the last
    directory/folder that should make it easier to see what's available.

    Kudos and/or brickbats encouraged.

    Willi
    | 491|108|2006-02-11 12:53:31|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /DPTH2.sit
    Uploaded by : apw3642 <Adrian.Whichello@... Description : Call A.P.P.L.E. All About Pascal files for Apple Pascal 1.1

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/DPTH2.sit

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    apw3642 <Adrian.Whichello@...| 492|108|2006-02-13 01:15:48|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Disassembly stuff/p-decode.zip
    Uploaded by : wilserv_41 <willi@... Description : Sent to me by Richard Stearn for uploading here

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Disassembly%20stuff/p-decode.zip

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 493|466|2006-02-13 20:34:02|Dr Jerry Coffey|Re: Disassembling p-code|
    Ben,

    The story I heard about DECODE for the TI-99/4a goes like this. The call is in the firmware kernel, but there was not enough room fore the actual routine in the 32k card. Then TI provided a small dummy program on disk that just exits and returns control to the procedure that called it. Another rumor has it that a working version of DECODE for the TI p-system was provided to developers only.

    Jerry Coffey

    | 494|108|2006-02-13 20:56:23|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Disk images/Apple II/pdepth.sdk
    Uploaded by : wilserv_41 <willi@... Description : Image of 5.25 inch disk containing first half of files in "DPTH2.sit"

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Disk%20images/Apple%20II/pdepth.sdk

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 495|108|2006-02-13 20:59:28|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /0index.txt
    Uploaded by : wilserv_41 <willi@... Description : A guide to what's available here

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/0index.txt

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 496|108|2006-02-13 21:23:29|Willi Kusche|Re: New file uploaded to UCSDPascal|
    Hi, y'all!

    Quoting UCSDPascal@yahoogroups.com:
    <--- snip ---
    This file and "pdepth.sdk" were made possible by Adrian Whichello, who
    uploaded "DPTH2.sit". "DPTH2.sit" contains '.TEXT' files that were published
    in "Pascal in Depth", by Call A.P.P.L.E. Listings of the contents of
    "pdepth.sdk" and "pdepth2.sdk" can be found in "0index.txt".

    Accessing these files could be a problem for group mebers who belong because
    of their interest in the TI-99/A. If so, I can upload any of the files in
    "DPTH2.sit" as plain text. Just ask!

    Willi
    | 497|108|2006-02-13 21:33:58|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Disk images/Apple II/pdepth2.sdk
    Uploaded by : wilserv_41 <willi@... Description : Image of 5.25 inch disk containing second half of files in "DPTH2.sit"

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Disk%20images/Apple%20II/pdepth2.sdk

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 498|108|2006-02-13 22:35:33|Richard Stearn|Re: New file uploaded to UCSDPascal|
    All

    The zip contains a version of Chris Wilson's Pcode decoder. It has been
    modified to aid the inverse compilation of I.5 pcode files and was heavily
    used by me to reconstruct a number of the core parts of I.5 p-system
    during the 1980's.

    The two files in the zip are the same, one is P-system native the other
    DOS native.

    Many thanks to willi for putting the files up whilst I try to figure out
    what Yahoo has done to my login.

    --
    Regards
    Richard
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Unix is user friendly. Just rather selective about its friends.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    | 499|466|2006-02-15 16:35:23|Anders Persson|Re: Disassembling p-code|
    --- In UCSDPascal@yahoogroups.com, "Dr Jerry Coffey"
    actual routine in the 32k card. Then TI provided a small dummy program
    on disk that just exits and returns control to the procedure that
    called it. Another rumor has it that a working version of DECODE for
    the TI p-system was provided to developers only.
    Jerry, it sound like you are implying that the Decode program,
    delivered with the UCSD system for the TI99/4A, doesn't work. But it
    most certainly does produce some kind of output. Since I did a lot of
    fiddling with the OS, I can also confirm that it produces sensible
    output, i.e. code that's relevant compared to the source it came from.

    Anders
    | 500|466|2006-02-15 16:46:04|Dr Jerry Coffey|Re: Disassembling p-code|
    Thanks for the correction Anders.  I guess I just gave up too quickly.
     
       Jerry
    | 501|466|2006-02-15 19:11:38|Eric Scharff|Re: Disassembling p-code|
    I read that the prototype TI-99/8 computer had a p-Code
    interpreter in ROM. I'm not sure about the TI-99/4a. Is this
    correct?

    -Eric

    --- Anders Persson <apersson850@...
    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 502|502|2006-02-17 16:01:41|Shirl|Disassembling 6502 microprocessor code|
    Here's an Apple II Pascal program which disassembles 6502 microprocessor
    object code. This program originated in the Call-APPLE magazine and is part
    of Call-APPLE's public domain Pascal disk set. Thought someone may find this
    useful.


    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DISASM.DOC.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-JAN-04
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCAL08
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_08.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)

    Recently, I was looking for a way to
    add some functions to the updated
    Pascal System (1.1). It became
    apparent that a BIOS listing for
    Pascal 1.1 was not forthcoming and I
    really wanted to make the same
    modifications that I had made in
    Pascal 1.0.

    So, I wrote a dis-assembler.

    This dis-assembler is written in
    Pascal and dis-assembles SYSTEM.APPLE
    into 16 separate files on diskette.
    The format of the generated text is
    such that they may be re-assembled by
    the APPLE supplied assembler.

    The text file for the dis-assembler
    is supplied so that modifications may
    be easily made. Currently, DISASM
    reads in '#4:SYSTEM.APPLE' and asks
    for you to insert a diskette named
    'BIOSA'. This diskette and another one
    named 'BIOSB' must be previously
    formatted by the Pascal formatter and
    changed from 'BLANK' by the FILER.
    After you insert 'BIOSA' DISASM starts
    writing out the dis-assembled code
    onto 'BIOSA:BIOS1.TEXT'. After 1024
    bytes are dis-assembled, DISASM closes
    'BIOSA:BIOS1.TEXT' and starts writing
    to 'BIOSA:BIOS2.TEXT.' This continues
    every 1024 bytes through BIOS8. Then
    DISASM stops and asks you to insert
    BIOSB. After you hit any key, it picks
    up at 'BIOSB:BIOS9.TEXT' and continues
    through BIOS16. The entire process
    nearly fills two diskette surfaces and
    takes about an hour. I thought about
    supplying SYSTEM.APPLE already
    processed but I figured I would run
    into legal problems. This way,
    SYSTEM.APPLE must be supplied by the
    user.

    DISASM may be easily modified to dis-
    assemble the files on the BASICS disk
    or the data on the first two blocks of
    a formatted diskette.

    I guess this is a classic case of a
    manufacturer not answering simple
    questions that are reasonable at least
    to the one asking the questions. The
    one asking the questions gets around
    the problem and finds out many things
    along the way that he would never have
    found out if the manufacturer had
    answered the original questions. For
    example I expect this would be a good
    tool to figure out how APPLE makes
    certain areas of disk non-copyable on
    some of their software products.

    Happy hunting!!!!!



    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCAL08 - DISASM.DOC.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:41:01 AM
    *)



    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DISASM.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-JAN-02
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCAL08
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_08.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)

    PROGRAM DISASM;

    TYPE OPTYP=STRING[3];

    VAR DISDATA: PACKED ARRAY[0..16386] OF 0..255;
    I: INTEGER;
    L:INTEGER;
    B:INTEGER[8];
    OP: INTEGER;
    CH:CHAR;
    F:TEXT;

    FUNCTION PEEK (PTR:INTEGER):INTEGER;

    TYPE TRIXARRAY=PACKED ARRAY[0..1] OF 0..255;

    VAR TRIX:RECORD CASE BOOLEAN OF
    FALSE:(ADDRESS:INTEGER);
    TRUE:(POINTER:^TRIXARRAY);
    END;(*RECORD TRIX*)

    BEGIN
    TRIX.ADDRESS:=PTR;(*SET POINTER TO DATA*)
    PEEK:=TRIX.POINTER^[0];(*PEEK THE DATA*)
    END;(*POKE*)

    PROCEDURE POKE (PTR,DATA:INTEGER);

    TYPE TRIXARRAY=PACKED ARRAY[0..1] OF 0..255;

    VAR TRIX:RECORD CASE BOOLEAN OF
    FALSE:(ADDRESS:INTEGER);
    TRUE:(POINTER:^TRIXARRAY);
    END;(*RECORD TRIX*)

    BEGIN
    TRIX.ADDRESS:=PTR;(*SET POINTER TO DATA*)
    TRIX.POINTER^[0]:=DATA;(*POKE THE DATA*)
    END;(*POKE*)

    PROCEDURE GETDATA;

    VAR F:FILE;
    BLKSREAD:INTEGER;

    BEGIN
    RESET (F,'#4:SYSTEM.APPLE');
    BLKSREAD:=BLOCKREAD(F,DISDATA,32);
    CLOSE (F,LOCK);
    END; (*GETDATA*)


    PROCEDURE OUT1(S:STRING);
    BEGIN
    WRITE(F,S);
    END (*OUT1*);

    PROCEDURE NL;
    BEGIN
    WRITELN(F);
    END (*NL*);

    PROCEDURE BLANKS(CT:INTEGER);
    VAR A:STRING[1];
    BEGIN
    A:='';(*SET NULL*)
    WRITE(F,A:CT);
    END;

    PROCEDURE OUT2(S:STRING;CT:INTEGER);
    BEGIN
    WRITE(F,S:CT);
    END;

    PROCEDURE OUT3A(X:INTEGER);
    BEGIN
    CASE X OF
    0:OUT1('0');
    1:OUT1('1');
    2:OUT1('2');
    3:OUT1('3');
    4:OUT1('4');
    5:OUT1('5');
    6:OUT1('6');
    7:OUT1('7');
    8:OUT1('8');
    9:OUT1('9');
    10:OUT1('A');
    11:OUT1('B');
    12:OUT1('C');
    13:OUT1('D');
    14:OUT1('E');
    15:OUT1('F');
    END;(*CASES*)
    END;

    PROCEDURE OUT3(X:INTEGER);
    BEGIN
    OUT3A(X DIV 16);
    OUT3A(X MOD 16);
    END;

    PROCEDURE LASTA;

    VAR X:INTEGER[8];
    Y:INTEGER[8];
    BEGIN
    BLANKS(1);
    OUT1(';');
    X:=B+I;(*CALCULATE ADDRESS*)
    Y:=X DIV 256;(*CALCULATE FIRST BYTE*)
    OUT3(TRUNC(Y));
    OUT3(TRUNC(X-(Y*256)));
    OUT1(':');
    OUT3(ORD(DISDATA[I]));
    END; (*LASTA*)

    PROCEDURE LAST(INCR:INTEGER);

    BEGIN
    LASTA;
    IF INCR OUT3(ORD(DISDATA[I+1]));
    IF INCR OUT3(ORD(DISDATA[I+2]));
    NL;
    I:=I+INCR;(*LENGTH OF INSTRUCTION*)
    END;

    PROCEDURE PRBRK;

    BEGIN
    IF ORD(DISDATA[I+1])=0 THEN
    BEGIN
    OUT1(' .WORD 0 ');
    LAST(2);
    END
    ELSE
    BEGIN
    OUT1(' .BYTE 0 ');
    LAST(1);
    END;
    END;

    PROCEDURE PRASCI;

    VAR PASC:INTEGER;
    PASA:STRING[1];

    BEGIN
    OUT1(' .BYTE 0');
    OUT3(ORD(DISDATA[I]));
    BLANKS(2);
    LASTA;
    BLANKS(1);
    PASC:=ORD(DISDATA[I]);
    PASA:=' ';
    PASA[1]:=CHR(ORD(DISDATA[I]));
    IF PASC<128 THEN
    IF PASC OUT1(PASA)
    ELSE
    OUT1(' ')
    ELSE
    IF PASC OUT1(PASA)
    ELSE
    OUT1(' ');
    NL;
    I:=I+1;
    END;


    PROCEDURE PRIMPL(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(8);
    LAST(1);
    END;


    PROCEDURE PRACCU(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('A');
    BLANKS(6);
    LAST(1);
    END;


    PROCEDURE PRABSO(OPTYPE:OPTYP);

    BEGIN
    IF ORD(DISDATA[I+2])=0 THEN
    BEGIN (*BAD DECODE*)
    PRASCI;
    PRASCI;
    PRASCI;
    END
    ELSE
    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('0');
    OUT3(ORD(DISDATA[I+2]));
    OUT3(ORD(DISDATA[I+1]));
    BLANKS(2);
    LAST(3);
    END;
    END;


    PROCEDURE PRZPAG(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('0');
    OUT3(ORD(DISDATA[I+1]));
    BLANKS(4);
    LAST(2);
    END;


    PROCEDURE PRIMME(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('#0');
    OUT3(ORD(DISDATA[I+1]));
    BLANKS(3);
    LAST(2);
    END;


    PROCEDURE PRABSX(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('0');
    OUT3(ORD(DISDATA[I+2]));
    OUT3(ORD(DISDATA[I+1]));
    OUT1(',X');
    LAST(3);
    END;


    PROCEDURE PRABSY(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('0');
    OUT3(ORD(DISDATA[I+2]));
    OUT3(ORD(DISDATA[I+1]));
    OUT1(',Y');
    LAST(3);
    END;


    PROCEDURE PRINDX(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('(0');
    OUT3(ORD(DISDATA[I+1]));
    OUT1(',X)');
    LAST(2);
    END;


    PROCEDURE PRINDY(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('(0');
    OUT3(ORD(DISDATA[I+1]));
    OUT1('),Y');
    LAST(2);
    END;


    PROCEDURE PRZPGX(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('0');
    OUT3(ORD(DISDATA[I+1]));
    OUT1(',X');
    BLANKS(2);
    LAST(2);
    END;


    PROCEDURE PRRELA(OPTYPE:OPTYP);

    VAR RELI:INTEGER;
    RELA:INTEGER;
    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('*');
    RELI:=ORD(DISDATA[I+1]);
    IF RELI BEGIN
    RELA:=254-RELI;
    OUT1('-');
    END
    ELSE
    BEGIN
    RELA:=RELI+2;
    OUT1('+');
    END;
    OUT1('0');
    OUT3(RELA);
    BLANKS(2);
    LAST(2);
    END;


    PROCEDURE PRINDI(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('@0');
    OUT3(ORD(DISDATA[I+2]));
    OUT3(ORD(DISDATA[I+1]));
    BLANKS(1);
    LAST(3);
    END;


    PROCEDURE PRZPGY(OPTYPE:OPTYP);

    BEGIN
    OUT2(OPTYPE,4);
    BLANKS(1);
    OUT1('0');
    OUT3(ORD(DISDATA[I+1]));
    OUT1(',Y');
    BLANKS(2);
    LAST(2);
    END;


    PROCEDURE DIS0;

    CONST OPORA='ORA';
    OPASL='ASL';

    BEGIN
    CASE OP OF
    0:PRBRK;
    1:PRINDX(OPORA);
    5:PRZPAG(OPORA);
    6:PRZPAG(OPASL);
    8:PRIMPL('PHP');
    9:PRIMME(OPORA);
    10:PRACCU(OPASL);
    13:PRABSO(OPORA);
    14:PRABSO(OPASL);
    16:PRRELA('BPL');
    17:PRINDY(OPORA);
    21:PRZPGX(OPORA);
    22:PRZPGX(OPASL);
    24:PRIMPL('CLC');
    25:PRABSY(OPORA);
    29:PRABSX(OPORA);
    30:PRABSX(OPASL);
    2,3,4,7,11,12,15,18,19,20,23,26,27,28,31:PRASCI;
    END;(*CASES*)
    END;


    PROCEDURE DIS32;

    CONST OPAND='AND';
    OPBIT='BIT';
    OPROL='ROL';

    BEGIN
    CASE OP OF
    32:PRABSO('JSR');
    33:PRINDX(OPAND);
    36:PRZPAG(OPBIT);
    37:PRZPAG(OPAND);
    38:PRZPAG(OPROL);
    40:PRIMPL('PLP');
    41:PRIMME(OPAND);
    42:PRACCU(OPROL);
    44:PRABSO(OPBIT);
    45:PRABSO(OPAND);
    46:PRABSO(OPROL);
    48:PRRELA('BMI');
    49:PRINDY(OPAND);
    53:PRZPGX(OPAND);
    54:PRZPGX(OPROL);
    56:PRIMPL('SEC');
    57:PRABSY(OPAND);
    61:PRABSX(OPAND);
    62:PRABSX(OPROL);
    34,35,39,43,47,50,51,52,55,58,59,60,63:PRASCI;
    END;(*CASES*)
    END;


    PROCEDURE DIS64;

    CONST OPEOR='EOR';
    OPLSR='LSR';

    BEGIN
    CASE OP OF
    64:PRIMPL('RTI');
    65:PRINDX(OPEOR);
    69:PRZPAG(OPEOR);
    70:PRZPAG(OPLSR);
    72:PRIMPL('PHA');
    73:PRIMME(OPEOR);
    74:PRACCU(OPLSR);
    76:PRABSO('JMP');
    77:PRABSO(OPEOR);
    78:PRABSO(OPLSR);
    80:PRRELA('BVC');
    81:PRINDY(OPEOR);
    85:PRZPGX(OPEOR);
    86:PRZPGX(OPLSR);
    88:PRIMPL('CLI');
    89:PRABSY(OPEOR);
    93:PRABSX(OPEOR);
    94:PRABSX(OPLSR);
    66,67,68,71,75,79,82,83,84,87,90,91,92,95:PRASCI;
    END;(*CASES*)
    END;


    PROCEDURE DIS96;

    CONST OPADC='ADC';
    OPROR='ROR';

    BEGIN
    CASE OP OF
    96:PRIMPL('RTS');
    97:PRINDX(OPADC);
    101:PRZPAG(OPADC);
    102:PRZPAG(OPROR);
    104:PRIMPL('PLA');
    105:PRIMME(OPADC);
    106:PRACCU(OPROR);
    108:PRINDI('JMP');
    109:PRABSO(OPADC);
    110:PRABSO(OPROR);
    112:PRRELA('BVS');
    113:PRINDY(OPADC);
    117:PRZPGX(OPADC);
    118:PRZPGX(OPROR);
    120:PRIMPL('SEI');
    121:PRABSY(OPADC);
    125:PRABSX(OPADC);
    126:PRABSX(OPROR);
    98,99,100,103,107,111,114,115,116,119,122,123,124,127:PRASCI;
    END;(*CASES*)
    END;


    PROCEDURE DIS128;

    CONST OPSTA='STA';
    OPSTX='STX';
    OPSTY='STY';

    BEGIN
    CASE OP OF
    129:PRINDX(OPSTA);
    132:PRZPAG(OPSTY);
    133:PRZPAG(OPSTA);
    134:PRZPAG(OPSTX);
    136:PRIMPL('DEY');
    138:PRIMPL('TXA');
    140:PRABSO(OPSTY);
    141:PRABSO(OPSTA);
    142:PRABSO(OPSTX);
    144:PRRELA('BCC');
    145:PRINDY(OPSTA);
    148:PRZPGX(OPSTY);
    149:PRZPGX(OPSTA);
    150:PRZPGY(OPSTX);
    152:PRIMPL('TYA');
    153:PRABSY(OPSTA);
    154:PRIMPL('TXS');
    157:PRABSX(OPSTA);
    128,130,131,135,137,139,143,146,147,151,155,156,158,159:PRASCI;
    END;(*CASES*)
    END;


    PROCEDURE DIS160;

    CONST OPLDX='LDX';
    OPLDY='LDY';
    OPLDA='LDA';

    BEGIN
    CASE OP OF
    160:PRIMME(OPLDY);
    161:PRINDX(OPLDA);
    162:PRIMME(OPLDX);
    164:PRZPAG(OPLDY);
    165:PRZPAG(OPLDA);
    166:PRZPAG(OPLDX);
    168:PRIMPL('TAY');
    169:PRIMME(OPLDA);
    170:PRIMPL('TAX');
    172:PRABSO(OPLDY);
    173:PRABSO(OPLDA);
    174:PRABSO(OPLDX);
    176:PRRELA('BCS');
    177:PRINDY(OPLDA);
    180:PRZPGX(OPLDY);
    181:PRZPGX(OPLDA);
    182:PRZPGX(OPLDX);
    184:PRIMPL('CLV');
    185:PRABSY(OPLDA);
    186:PRIMPL('TSX');
    188:PRABSX(OPLDY);
    189:PRABSX(OPLDA);
    190:PRABSX(OPLDX);
    163,167,171,175,178,179,183,187,191:PRASCI;
    END;(*CASES*)
    END;


    PROCEDURE DIS192;

    CONST OPCMP='CMP';
    OPCPY='CPY';
    OPDEC='DEC';

    BEGIN
    CASE OP OF
    192:PRIMME(OPCPY);
    193:PRINDX(OPCMP);
    196:PRZPAG(OPCPY);
    197:PRZPAG(OPCMP);
    198:PRZPAG(OPDEC);
    200:PRIMPL('INY');
    201:PRIMME(OPCMP);
    202:PRIMPL('DEX');
    204:PRABSO(OPCPY);
    205:PRABSO(OPCMP);
    206:PRABSO(OPDEC);
    208:PRRELA('BNE');
    209:PRINDY(OPCMP);
    213:PRZPGX(OPCMP);
    214:PRZPGX(OPDEC);
    216:PRIMPL('CLD');
    217:PRABSY(OPCMP);
    221:PRABSX(OPCMP);
    222:PRABSX(OPDEC);
    194,195,199,203,207,210,211,212,215,218,219,220,223:PRASCI;
    END;(*CASES*)
    END;


    PROCEDURE DIS224;

    CONST OPSBC='SBC';
    OPCPX='CPX';
    OPINC='INC';

    BEGIN
    CASE OP OF
    224:PRIMME(OPCPX);
    225:PRINDX(OPSBC);
    228:PRZPAG(OPCPX);
    229:PRZPAG(OPSBC);
    230:PRZPAG(OPINC);
    232:PRIMPL('INX');
    233:PRIMME(OPSBC);
    234:PRIMPL('NOP');
    236:PRABSO(OPCPX);
    237:PRABSO(OPSBC);
    238:PRABSO(OPINC);
    240:PRRELA('BEQ');
    241:PRINDY(OPSBC);
    245:PRZPGX(OPSBC);
    246:PRZPGX(OPINC);
    248:PRIMPL('SED');
    249:PRABSY(OPSBC);
    253:PRABSX(OPSBC);
    254:PRABSX(OPINC);
    226,227,231,235,239,242,243,244,247,250,251,252,255:PRASCI;
    END;(*CASES*)
    END;


    PROCEDURE DISSUB;

    BEGIN
    REPEAT
    WRITELN(I);
    OP:=DISDATA[I];
    CASE (OP DIV 32) OF
    0:DIS0;
    1:DIS32;
    2:DIS64;
    3:DIS96;
    4:DIS128;
    5:DIS160;
    6:DIS192;
    7:DIS224;
    END;(*CASES*)
    UNTIL I NL;
    END;

    BEGIN
    WRITELN('INSERT ''BIOSA'' DISKETTE');
    WRITELN(' AND PRESS ANY KEY');
    GETDATA; (*LOAD DATA TO BE DISASSEMBLED*)
    READ(CH);
    REWRITE(F,'BIOSA:BIOS1.TEXT');
    I:=0;
    L:=1024;
    B:=53248;(*SET BASE ADDRESS*)
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSA:BIOS2.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSA:BIOS3.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSA:BIOS4.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSA:BIOS5.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSA:BIOS6.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSA:BIOS7.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSA:BIOS8.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    WRITELN('INSERT ''BIOSB'' DISKETTE');
    WRITELN(' AND PRESS ANY KEY');
    READ(CH);
    REWRITE(F,'BIOSB:BIOS9.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSB:BIOS10.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSB:BIOS11.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSB:BIOS12.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    B:=40960;
    I:=12288;
    REWRITE(F,'BIOSB:BIOS13.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSB:BIOS14.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSB:BIOS15.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    REWRITE(F,'BIOSB:BIOS16.TEXT');
    L:=L+1024;
    DISSUB;
    CLOSE(F,LOCK);
    END.


    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCAL08 - DISASM.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:41:01 AM
    *)
    | 503|466|2006-02-17 17:31:30|Anders Persson|Re: Disassembling p-code|
    --- In UCSDPascal@yahoogroups.com, Eric Scharff base unit, like they intended for the 99/8. But you could add an
    additional card, which you installed in the expansion box.

    This card has 12K of ROM, in 8K address space (the last 4K was bank-
    switched). In this ROM, most of the p-code interpreter is stored. There
    are also drivers for various I/O devices and similar things. The most
    frequently executed part of the PME is copied into internal RAM in the
    console, to achieve higher execution speed. Also some other parts are
    copied into the RAM expansion, since they must be available even when
    the p-code card is disabled, to allow access to other cards, like the
    disk controller.

    In addition to this, there are GROM's (special ROM-circuits with
    autoincrementing addressing technique) on this card. These ICs simulate
    a ROM disk, #14:, which has the files containing the operating system.
    This means that the floppy in the root drive (#4:) doesn't have to hold
    that file as well.
    These GROM also has space for the code that's copied to RAM when the
    system starts.

    Anders
    | 504|504|2006-02-18 16:44:52|Shirl|ATTACH-BIOS document for Apple II Pascal 1.1 Part 1 of 9|
    For Apple II Pascal users here is the complete description by Apple Computer
    of the ATTACH-BIOS system. Apple Computer developed this system so that 3rd
    party Apple II Pascal developers could attach hardware drivers to the Pascal
    system.

    System documented in 9 files. Files found on Call-APPLE magazine public
    domain Apple II Pascal disks.


    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DOC.0.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-MAR-03
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCL06
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_06.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)



    ATTACH-BIOS document for Apple II Pascal 1.1



    By Barry Haynes

    Jan 12, 1980



    This document is intended for Apple II Pascal internal applications
    writers, Vendors and Users who need to attach their own drivers to the
    system or who need more detailed information about the 1.1 BIOS. It is
    divided into two sections, one explaining how to use the ATTACH utility
    available through technical support and the other giving general
    information about the BIOS. It is a good idea to read this whole
    document before assuming something is missing or hasn't been completely
    explained. This document is intended for more advanced users who
    already know a fair amount about I/O devices and how to write device
    drivers. It is not intended to be a simple step by step description of
    how to write your first device driver, nor does it claim to be a
    complete description of all there is to know about the Pascal BIOS.

    The Apple Pascal UCSD system has various levels of I/O that are each
    responsible for different types of actions. It was divided at UCSD
    into these levels to make it easy to bring up the system on various
    processors and also various configurations of the same processor and
    yet have things look the same to the Pascal level regardless of what
    was below that level. The levels are:

    LEVEL TYPES OF IO ACTIONS
    ----- -------------------

    Pascal READ & WRITE
    BLOCKREAD & BLOCKWRITE
    UNITREAD & UNITWRITE
    UNITCLEAR
    UNITSTATUS

    RSP (Runtime Support Package) This is part of the interpreter and
    is the middle man between the above
    types of I/O and the below types of
    I/O. All the above types are
    translated by the compiler and
    operating system into UNITREAD,
    UNITWRITE, UNITCLEAR and UNITSTATUS if
    they are not already in that form in
    the Pascal program. The RSP checks
    the legality of the parameters passed
    and reformats these calls into calls to
    the BIOS routines below. The RSP also
    expands DLE (blank suppression)
    characters, adds line feeds to
    carriage returns, checks for end of
    file (CTRL C from CONSOLE:), monitors
    UNITRW control word commands, makes
    calls to attached devices if present,
    echoes to the CONSOLE:.

    BIOS (Basic I/O Subsystem) This is the lowest level device
    driver routines. This is the level
    at which you can attach new drivers
    to replace or work with the regular
    system drivers and also attach drivers
    for devices that will be completely
    defined by you.




    I.RECONFIGURING THE BIOS TO ADD YOUR OWN DRIVERS USING THE ATTACH
    UTILITY.


    INTRODUCTION

    With the Apple Pascal 1.1 System (both regular and runtime 1.1),
    there is an automatic method for you to configuer your own drivers
    into the system. This method requires you to write the drivers
    following certain rules and to use the programs ATTACHUD.CODE and
    SYSTEM.ATTACH provided through Apple Technical Support. At boot
    time, the initialization part of SYSTEM.PASCAL looks for the program
    SYSTEM.ATTACH on the boot drive. If it finds SYSTEM.ATTACH, it
    Xecutes it before Xecuting SYSTEM.STARTUP. SYSTEM.ATTACH will use
    the files ATTACH.DATA and ATTACH.DRIVERS which must also be on the
    boot disk. ATTACH.DATA is a file the developer will make using the
    program ATTACHUD. It tells SYSTEM.ATTACH the needed information
    about the drivers it will be attaching. ATTACH.DRIVERS is a file
    containing all the drivers to be attached and is constructed by the
    developer using the standard LIBRARY program. The drivers are put on
    the Pascal Heap below the point that a regular program can access it.
    They do take away Stack-Heap (= to the size of the drivers attached)
    space from that available to Pascal code files but this should not be
    a problem unless the drivers are very large or the code files very
    hungry in their use of memory. Since these drivers are configured
    into the system after the operating system starts to run, this method
    will not work for configuring drivers for devices that the system
    must cold boot from. Some of supporting code in the RSP, boot and
    Bios may make the task of bringing up boot drivers easier though.
    The advantages to this kind of setup are:

    1. Software Vendors can use the ATTACHUD program to put
    their own drivers into the system at boot time. This will
    be invisible to the user.

    2. There can be no problems losing drivers due to improper heap
    management since the drivers are put on the heap by the
    operating system and before any user program can allocate heap
    space.

    3. This method does not freeze parts of the system to special
    memory locations since it enforces the clean methodology of
    using relocatable drivers.



    USING ATTACHUD

    ATTACHUD.CODE will ask you questions about the drivers you want to
    attach to the system. It makes a file called ATTACH.DATA which tells
    SYSTEM.ATTACH which drivers to attach to the system, what unit
    numbers to attach them to and other information. The options covered
    by ATTACHUD are:

    1. A driver can be attached to one of the system devices, then
    all I/O to this device (PRINTER: for example) will go to
    this new driver. In the case of a new driver for a disk
    device the user will have to specify which of the 6 standard
    disk units will go to this new driver. This will allow
    replacement of standard drivers with custom ones without
    having to restrict the I/O interface to UNITREAD and
    UNITWRITE as is the case with option 2.

    2. A driver can be attached to one of 16 userdevices. I/O to
    these will be done with UNITREAD and UNITWRITE to device
    numbers 128-143.

    3. A method will be included to allow the attached driver to
    start on an N byte boundry. The driver writer will be
    responsible for aligning his code from that point.

    4. More than one unit can be attached to the same driver. This
    way only one copy of the driver resides in memory and I/O to
    all the attached units goes to this one driver. It is up to
    the driver to decide which unit's I/O it is doing. How this
    is done is explained below.

    5. The initialize routine for any attached driver can be called by
    SYSTEM.ATTACH after it has attached the driver and before any
    programs can be Xecuted.

    6. In case any of your programs use the Hires pages, you can
    specify
    in ATTACHUD that drivers must not be put on the heap over these
    areas. Your drivers would have to be quite large before they
    could
    possibly overlap the Hires pages.

    Follow through this example of a session with ATTACHUD where the
    options available are completely described. First Xecute ATTACHUD:

    You will be given the prompt:


    Apple Pascal Attachud [1.1]

    Enter name of attach data file:

    This is asking for what you want the output file from this session
    with ATTACHUD to be called. You could call it ATTACH.DATA or some
    other
    name and then rename it to ATTACH.DATA when you put it on the boot
    disk
    with SYSTEM.ATTACH.

    If you ever get a message of the form:

    ERROR = Try again (RETURN to exit program):

    then just retype what was requested on the previous prompt after
    deciding what mistake you made while typing it the first time.

    The next prompt is:

    These next questions will determine if
    attached drivers can reside in the hires
    pages. It will be assumed they can for the
    page in question if you answer no to the
    prompt for that page.
    Will you ever use the (2000.3FFF hex)
    hires page?

    Followed by:

    Will you ever use the (4000.5FFF hex)
    hires page?

    You should answer yes to the question for a particular Hires page if
    you will ever be running a program that uses that Hires page while the
    drivers are Attached. You don't want the possibility of your driver
    residing in the Hires page if that page will be clobbered by one of
    your programs. After answering the Hires questions you will be asked
    the following questions once for each driver you will be attaching:

    What is the name of this driver? This
    must be the .PROC name in its assembly
    source (RETURN to exit program):

    This must be the name of one of the drivers in the ATTACH.DRIVERS that
    will be used with this ATTACH.DATA. The length of this name must not
    be
    more than 8 characters. After entering the name you will be asked:

    Which unit numbers should refer to this
    device driver?

    Unit number (RETURN to abort program):

    You must enter a unit number in the range 1,2,4..12,128..143 or will
    be given an error message. You cannot attach a character unit
    (CONSOLE:,
    PRINTER: or REMOTE:) to the same driver as a block structured unit and
    if
    you try you will be given the message:

    You can''t attach a character unit and
    a block unit to the same driver. I
    will remove the last unit# you entered.
    Type RETURN to continue:

    If you don't get the above error, you will be asked:

    Do you want this unit to be
    initialized at boot time?

    A yes response will put the unit number just entered on a list of
    units that SYSTEM.ATTACH will call UNITCLEAR on after attaching all
    the drivers. This gives you a way to have the system make an
    initialize
    call on your attached unit at boot time. A no response will mean
    that no boot time init call will be made on this unit to the driver
    you just attached.

    You will be eventually asked:

    Do you want another unit number to refer
    to this device driver?:

    A yes response will get you to the Unit number prompt again and a no
    response will get you to the prompt:

    Do you want this driver to start on a
    certain byte boundary?

    A yes here will give you more prompts:

    The boundry can be between 0 and 256.
    0= 8= N= 256= Enter boundary (RETURN to exit program):

    And the last line of the prompt will repeat until you enter a
    boundary in the correct range. The boundary refers to the memory
    location where the first byte of the driver is loaded. If your
    driver needs to be aligned on some N byte boundary you can assure it
    will be using this mechanism. if you know how the driver's origin is
    aligned, You can align internal parts of your driver however you
    want. Finally you will get to the prompt:

    Do you want to attach another driver?

    And if you answer Yes to this you will return to the 'What is the name
    of this driver' prompt and answering No will end the program, saving
    the data file you have made.

    ^I ATTACH:DOC.1.TEXT
    ^I ATTACH:DOC.2.TEXT
    ^I ATTACH:DOC.3.TEXT
    ^I ATTACH:DOC.4.TEXT
    ^I ATTACH:DOC.5.TEXT
    ^I ATTACH:DOC.6.TEXT
    ^I ATTACH:DOC.7.TEXT
    ^I ATTACH:DOC.8.TEXT



    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCL06 - DOC.0.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:40:54 AM
    *)
    | 505|505|2006-02-18 16:45:08|Shirl|ATTACH-BIOS document for Apple II Pascal 1.1 Part 2 of 9|
    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DOC.1.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-JAN-22
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCL06
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_06.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)


    THE DRIVER

    Drivers must be written in assembly using the Pascal Assembler.
    They must not use the .ABSOLUTE option, so the drivers can be
    relocated as they are brought in by the system. Each driver must be
    assembled separately with no external references. When all drivers
    are assembled, use the LIBRARY program (in the same way you would use
    it to put units into a library) to put all the drivers in one file.
    Name this file SYSTEM.DRIVERS. See further explanation of making
    SYSTEM.DRIVERS below.


    Considerations for all drivers:

    1. Study the examples below as certain information is only
    documented there.

    2. Refer to the Apple II Pascal memory map below and you will see
    that parts of the interpreter and BIOS reside in the same address
    range and are bank-switched. The system automatically folds in
    the BIOS for drivers added using ATTACH. Most of these drivers
    will have to make calls to CONCK if they want type ahead to
    continue to work properly. CONCK is the BIOS routine that
    monitors the keyboard. See the example drivers below to be sure
    you are doing this correctly. You cannot call CONCK through the
    CONCK vector at BF0A (see BIOS part of this document) because
    this call would go through the same mechanism used to get to your
    driver and the return address to Pascal would be lost.

    3. All attached drivers must be written with one common entry point
    for read, write, init and status. The driver will use the Xreg
    contents to decide which type of I/O call this is and jump to the
    appropriate place within it's code. The Xreg is decoded as
    follows:

    0 -- 1 -- 2 -- UNITCLEAR(UNITNUMBER); makes an init call for
    unit UNITNUMBER }
    4 --
    4. The drivers must also pop a return address off the stack, save
    it and later push it to do a RTS when the driver is finished. All
    other parameters must be removed from the stack by the driver.
    For all calls, the return address will be the top word on the
    stack.

    5. SYSTEM.ATTACH will make a copy of the normal system jump vector
    (the vector after the fold) and put this on the heap. There will
    be a pointer to this vector at 0E2. Your drivers can use this
    vector to get to the normal system drivers for device numbers
    1..12.
    See example below.

    6. All drivers must pass back a completion code in the X register
    corresponding to the table on page 280 of the 1.1 "Apple II Apple
    Pascal Operating System Reference Manual".

    7. In references below to parameters passed on the stack, all
    parameters are one word parameters so they require two bytes to
    be popped from the stack by the driver.

    8. Control word format for Unitread & Unitwrite

    bits 15..13 12..6 5 4 3 2 1..0
    user reserved type B type A nocrlf nospec reserved
    defined for future chars chars for future
    functions expansion expansion

    type B =0 == during the time of this Unitio call.
    =1 == this
    Unitio.
    type A =0 == CTRL A,Z,K,W & E from CONSOLE: during the
    period
    of this Unitio.
    =1 == this Unitio.
    nocrlf =0 == Interpreter.
    =1 == nospec =0 == output and the EOF character is detected on
    input
    =1 == EOF on input.

    default setting for all control word bits = 0.

    9. Control word format for UNITSTATUS

    bits 15..13 12..2 1 0
    user reserved for direction
    defined for future purpose

    direction =0 == =1 == purpose =0 == =1 ==
    10. These are the new vectors and routines added to the BIOS to make
    attach work. The RSP, bootstrap, and readseg were also modified
    to allow for attaches.


    UDJMPVEC ;Jump vector for user devices, offset=0 = ;The correct addresses are initialized by SYSTEM.ATTACH
    ;See locations section of BIOS part below for pointers to
    ;this vector.
    JMP 0 ;Unit 128
    JMP 0 ;Unit 129
    .
    .
    .
    JMP 0 ;Unit 143

    DISKNUM ;If high byte=FF then
    ; device is not a disk drive
    ;else
    ; if high byte=0 then
    ; device is a regular disk drive and low byte=drive #
    ; else
    ; driver for this disk drive has been attached by
    SYSTEM.ATTACH
    ; and the driver address is stored in this word.
    ; (Driver address has to be the address-1 for RTS in PSUBDR
    ; to work correctly, remember this for ATTACH. PSUBDR is
    ; listed below.)
    ;See locations section of BIOS part below for pointers to
    ;this vector.
    .WORD 0FFFF ;Unit #1
    .WORD 0FFFF ;Unit #2 (ATTACH would modify the words
    .WORD 0FFFF ;Unit #3 for units 4,5,9..12 if a
    .WORD 0 ;Unit #4 different disk driver were
    .WORD 1 ;Unit #5 attached to any of them)
    .WORD 0FFFF ;Unit #6
    .WORD 0FFFF ;Unit #7
    .WORD 0FFFF ;Unit #8
    .WORD 4 ;Unit #9
    .WORD 5 ;Unit #10
    .WORD 2 ;Unit #11
    .WORD 3 ;Unit #12

    UDRWIS ;Routine to get to an attached driver through UDJMPVEC
    ;Assume unit# in Areg & operation to be performed in Xreg.
    ;See the jump vector in the BIOS sections to see how you
    ;get to this routine.
    STA TT1
    AND #7F ;Clear top bit of unit#
    STA TT2 ;Make address in UDJMPVEC table
    ASL A ;Address=Areg*3 + base of table
    CLC
    ADC TT2 ;Now we have (Areg*3).
    ADC #JVECTRS ;Add in low byte of base of table having
    STA TT2 ;no carry problem with only 16 UD's.
    LDA #0
    ADC JVECTRS+1 ;JVECTRS is a word pointing to the base
    ;of UDJMPVEC.
    STA TT2+1
    LDA TT1
    JMP @TT2


    PSUBDR ;Routine to get to an attached driver through DISKNUM
    ;We assume on entry, Areg=unit#, Yreg=DISKNUM
    ;offset & Xreg=the command to be performed by the substituted
    ;disk driver.
    ;See the jump vector in the BIOS sections to see how you
    ;get to this routine.
    STA TT1 ;Save unit#.
    LDA DISKNUM-1,Y ;Store MSB of driver address.
    PHA
    LDA DISKNUM-2,Y ;Store LSB of driver address.
    PHA
    LDA TT1 ;Restore unit# to Areg.
    RTS ;Jump to substituted driver. This assumes
    ;the driver address in DISKNUM =
    ;(ADDRESS OF DRIVER)-1 for the RTS to work


    Special considerations when attaching drivers for the system
    devices, unitnumbers 1..12.

    A. Character Oriented Devices (Pass the character to be read-written
    in the A-register and make Bios calls one character at a time
    from RSP level. On entry, the unit number will be in the Y
    register in case you wanted to attach all character oriented
    devices to the same driver). If you attach REMOTE: & or PRINTER:
    to the same driver as CONSOLE:, all will have their jump vectors
    pointing to the start of the driver+3 bytes. See further
    discussion on this below.

    Units 1 & 2 (CONSOLE: and SYSTERM:)
    1. These must both go to the same driver.
    2. The system CONCK routine will be patched to jump to the start
    of
    the driver. The CONCK routine gets characters entered at the
    keyboard and fills the type ahead buffer. See the example
    CONSOLE:
    driver below.
    3. Because of item 2, the entry point for normal calls (not CONCK
    calls) to the attached driver will be 3 bytes beyond the start
    of the driver.
    4. The interpreter takes care of expanding blank suppression codes
    (DLE's), echo to the screen, EOF (the end of file character),
    and
    adding line feeds to every carriage return. Your driver
    doesn't
    need to do this.
    5. CONSOLE: read and write have only the return address on the
    stack.
    The stack for CONSOLE: init looks like:
    POINTER TO BREAK VECTOR (This should be stored at
    location BF16..BF17 by
    CONSOLE:
    init.)
    POINTER TO SYSCOM (This should be stored at
    location F8..F9 by CONSOLE:
    init.)
    (Also at init time, the Flush
    and Start/Stop conditions
    should be set to normal and
    the type-ahead queue should
    be emptied.)
    RETURN ADDRESS <--TOS (top of stack)
    The stack for CONSOLE: status looks like:
    POINTER TO STATUS RECORD
    CONTROL WORD
    RETURN ADDRESS <--TOS
    6. A status request should return, in the first word of the status
    record, the number of characters currently queued in the
    direction
    asked for. This is the number of characters in the type-ahead
    buffer. If no type-ahead is being used then output status
    should
    always return a 0 and input status a 1 if a char is waiting to
    be
    read, otherwise a 0.
    7. Since we are using 7 bit ASCII codes, the CONSOLE: read routine
    should zero the high order bit of all characters it reads from
    the keyboard and passes back to Pascal ( to the RSP ). The
    CONSOLE: write routine should transfer all 8 bits as received
    from the RSP since many devices use 8 bit control codes.
    8. The RSP will send both upper and lower case chars to the
    CONSOLE:
    write routine. The write routine should map the lower to upper
    if the device cannot handle lower case.
    9. CONSOLE: Output Requirements:
    A. CR (0D hex) A carriage return should move the cursor to the
    beginning of the current line.
    B. LF (0A hex) A line feed should move the cursor to the next
    line
    but not change the column position. If the cursor is on the
    last line on the screen when a line feed is sent, the rest of
    the screen should scroll up one line and the bottom line be
    cleared.
    C. BELL (07 hex) A sound should be made if possible when the
    CONSOLE: gets 07. If making a sound is not possible then
    ignore the 07.
    D. SP (20 hex) Place a space at the current cursor position
    overwriting whatever is there. Move the cursor to the next
    column. If the cursor is on the last column of a line, it is
    best if the cursor stays where it is after the space fills
    that
    position. If the cursor is on the last column of the last
    line
    on the screen, it is also best if the cursor remains in that
    position and the screen does not scroll. These are the
    prefered actions of the cursor at end of line & end of
    screen;
    in the strict sense, the actions of the cursor in these
    circumstances are undefined.
    E. NUL (00 hex) When a Null is sent to the CONSOLE: from the
    RSP, the CONSOLE: should delay for the ammount of time
    required to write one character but the state of the screen
    should not change.
    F. All printable characters should be written to the screen and
    the cursor should move in the same way it does for SP.
    G. See the discussion on pages 199-215 in the 1.1 Operating
    System Reference Manual for further requirements and
    information.
    10. CONSOLE: Input Requirements:
    A. The RSP takes care of echoing characters to the screen typed
    from the CONSOLE: keyboard.
    (below items optional The Start/Stop, Flush & Break chars
    are
    redefinable; see 9G above for more
    info.)
    B. The Start/Stop character is detected by CONCK and is used
    to stop all processing until the character is received a
    second time. When the character is received (see 9G above
    for more info) one should loop in CONCK continuing to process
    other characters until:
    1. the S/S char is received again
    2. the Break char is received
    In case 1, the suspended processing should continue as it
    was before the first S/S was typed. Action needed for the
    Break char is described below. The S/S char is never
    returned
    to the RSP and CONSOLE: type-ahead, if implemented, should
    continue during the suspended state. Offset from SYSCOM to
    this
    char is 85 decimal. (This and the next 2 chars are
    redefinable
    by the Setup program and SYSCOM is the system area that keeps
    track of this info. The pointer to the start of SYSCOM is
    passed to the CONSOLE: init routine and is stored at
    F8..F9 hex.)
    C. The Flush character will stop all output and echoing to the
    CONSOLE: until it's second occurEnce (see 9G above). CONCK
    detects this and must set a flag to tell the CONSOLE:
    output routine to ignore characters while the flag is set.
    If
    the CONSOLE: is re-initialized or a Break char is received,
    the
    flush state should be turned off. Flush is never returned to
    the RSP. Flush only stops CONSOLE: output, other processing
    continues. Offset from SYSCOM to this char is 83 decimal.
    D. The Break char should cause CONCK to jump to the location
    stored at BF16. This location is also passed to the CONSOLE:
    init routine which stores it at BF16. The break char is
    never
    returned to the RSP and it should remove the system from
    Stop or Flush mode if it is in either mode. Offset from
    SYSCOM to this char is 84 decimal.
    E. Type-ahead should be implemented in CONCK by storing
    characters typed at the keyboard in a queue until they
    are requested by a CONSOLE: read from Pascal. When the
    queue fills, further characters should be ignored and
    a bell sounded when they are typed. The length of the
    queue should be at least 20 characters.
    11. For more information on CONSOLE: requirements, see pages 199-
    216 of the 1.1 Operating System Reference Manual.



    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCL06 - DOC.1.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:40:54 AM
    *)
    | 506|506|2006-02-18 16:45:34|Shirl|ATTACH-BIOS document for Apple II Pascal 1.1 Part 4 of 9|
    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DOC.3.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-FEB-04
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCL06
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_06.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)



    This is a sample driver for a user defined device.

    ;Locations 0..35 hex may be used as pure temps. One should
    ;never assume these locations won't be clobbered if you
    leave
    ;the environment of the driver itself. ("leaving" includes
    ;calls to CONCK).


    CONCKADR .EQU 02


    ;Only one .PROC may occur in a driver, each driver to be
    ;ATTACHED must be assembled separately using the Pascal
    ;assembler and can have no external references.

    .PROC U128DR

    STA TEMP1 ;Save Areg contents (unit#)
    PLA
    STA RETURN
    PLA
    STA RETURN+1
    TXA ;Use the X reg to tell you what kind of
    ;call this is.
    CMP #2
    BEQ INIT
    CMP #4
    BEQ STATUS
    CMP #0
    BEQ PMS
    CMP #1
    BEQ PMS

    ;Could have error code here
    JMP RET

    PMS PLA ;Get the parameters
    STA BLKNUM
    PLA
    STA BLKNUM+1
    PLA
    STA BYTECNT
    PLA
    STA BYTECNT+1
    PLA
    STA BUFADR
    PLA
    STA BUFADR+1
    PLA
    STA UNITNUM ;Also in TEMP1
    PLA
    STA UNITNUM+1 ;Should always be 0
    PLA
    STA CONTROL
    PLA
    STA CONTROL+1
    TXA
    BNE WRITE

    READ JSR GOTOCK
    ;Your driver's code for a read
    (If more than one unit were attached to this driver, this
    code could jump to various places depending on the
    contents
    of the Areg stored in TEMP1)
    JMP RET

    WRITE JSR GOTOCK
    ;Your driver's code for a write
    JMP RET

    ;If you wanted to call CONCK whenever your device did a
    read
    ;or write, you would use this routine:
    CKR .WORD CONCKRTN-1
    GOTOCK LDY #55. ;Offset to address of CONCK
    LDA @0E2,Y
    STA CONCKADR
    INY
    LDA @0E2,Y
    STA CONCKADR+1
    LDA CKR+1 ;Set it up so you return to CONCKRTN after
    PHA ;the CONCK call.
    LDA CKR
    PHA
    JMP @CONCKADR ;Jump to CONCK
    CONCKRTN RTS ;Return to caller.

    INIT ;Your driver's code for init
    JMP RET

    STATUS PLA
    STA CONTROL
    PLA
    STA CONTROL+1
    PLA
    STA BUFADR ;Address of status record.
    PLA
    STA BUFADR+1
    ;Your driver's code for status

    RET LDA RETURN+1
    PHA
    LDA RETURN
    PHA
    LDA TEMP1
    RTS


    RETURN .WORD 0 ;Can't use 0 page for these since we leave
    TEMP1 .WORD 0 ;our environment when going to CONCK.
    CONTROL .WORD 0
    UNITNUM .WORD 0
    BUFADR .WORD 0
    BYTECNT .WORD 0
    BLKNUM .WORD 0


    .END




    This is a sample driver for a CONSOLE: driver replacement.

    ROUTINE .EQU 02
    TEMP1 .EQU 04


    .PROC CKATCH

    JMP CONCKHDL ;SYSTEM.ATTACH will patch the start of CONCK
    ;to jump here when you attach a driver to
    the
    ;CONSOLE:.

    ;We are not popping the return address from
    ;the stack cause we'll return from the
    system
    ;routine we call from this driver.
    STA TEMP1 ;All the read,write,init and stat calls will
    ;jump here (the starting address of your
    ;CONSOLE: driver+3).

    STY TEMP1+1
    TXA
    ;This example shows you how to have your
    ;own code for the CONSOLE: as well as using
    ;the system CONSOLE: routines. If you want
    ;to replace the system routines completely,
    ;you need to pull the return address here.
    BEQ READ
    CMP #1
    BEQ WRITE
    CMP #2
    BEQ INIT
    CMP #4
    BEQ STATUS

    ;Error code here

    READ ;Your driver's code for a read

    LDY #1 ;offset to address of CONSOLE: read in
    ;the copy of the jmp vector made by
    ;SYSTEM.ATTACH. See the jump vectors in the
    ;BIOS section below to see how we get the
    ;offsets.

    BNE GET

    ;You would have a JMP RET here (see example for user
    defined
    ;device) if you were not using the system CONSOLE: routines
    ;as well.

    WRITE ;Your driver's code for a write
    LDY #4
    BNE GET

    INIT ;Your driver's code for init
    LDY #7
    BNE GET

    STATUS ;Your driver's code for status
    LDY #43.

    GET LDA @0E2,Y ;At E2 is a pointer to the copy of the
    ;jump vector made by SYSTEM.ATTACH before
    ;it was modified to attach your drivers.

    STA ROUTINE
    INY
    LDA @0E2,Y
    STA ROUTINE+1
    LDY TEMP1+1 ;Restore registers
    LDA TEMP1
    JMP @ROUTINE ;Go to the original CONSOLE: driver for this
    ;I/O command. You will return from there;
    the
    ;BIOS is already folded in due to the way
    your
    ;driver was attached by SYSTEM.ATTACH.


    CONCKHDL PHP ;Duplicate the 1st three instructions of
    CONCK
    PHA ;as they were patched by SYSTEM.ATTACH to
    jump
    ;TXA below ;to the 1st instruction of this driver.

    ;Here you can put the code for your own part of CONCK (you
    ;may want to check some additional device like a keypad or
    ;something or you may want to replace the system CONCK
    ;routine alltogether. If you do this, you must save the
    rest
    ;of the machine state and return it when you are finished.
    ;See example below.

    TYA ;Save Yreg contents for a second.
    PHA

    ;This code gets us to the system CONCK routine.
    CLC
    LDY #55. ;Offset to the address of system CONCK in
    the
    ;copy of the original jmp vector.

    LDA @0E2,Y
    ADC #3 ;Add 3 so you enter right after the three
    ;instructions you duplicated at CONCKHDL.
    STA ROUTINE
    INY
    LDA @0E2,Y
    ADC #0
    STA ROUTINE+1
    PLA ;Restore Yreg.
    TAY
    TXA ;Last of CONCK instructions SYSTEM.ATTACH
    ;overwrote with the jmp to the start of this
    ;driver.

    JMP @ROUTINE ;Goto system CONCK and return from there.

    .END


    Here is another alternative for the CONCKHDL part of the above
    program.

    CKRTN .WORD CONCKRTN-1
    CONCKHDL ; 1.If you don't care about type-ahead, this could be
    ; simply the following code (assuming your CONSOLE:
    ; read gets a character directly from your CONSOLE:
    ; device whenever it is called) :

    ---------------------------------------------------------------
    PHP
    INC RANDL ;RANDL is a permanent word at BF13 used in
    ;the built in random function.
    BNE $1
    INC RANDH ;RANDH
    $1 PLP
    RTS
    ---------------------------------------------------------------

    ; 2.If you want type-ahead, this code should check to see
    ;if there is a character available and stuff it into a
    type-
    ;ahead buffer.
    ; 3.If you are using this with the regular CONCK (extra
    keypad
    ;to check or statistics for example), then you can do it
    this
    ;way.

    ---------------------------------------------------------------
    PHP ;Save state of machine
    PHA
    TXA
    PHA
    TYA
    PHA

    ;Put your driver's part of CONCK here (gives your driver
    ;priority)

    LDA CKRTN+1 ;Set up things to return from reg CONCK
    PHA
    LDA CKRTN
    PHA
    PHA ;Push garbage to account for other pushes done
    PHA ;in first three bytes of CONCK

    CLC ;Setup to call CONCK
    LDY #55. ;Offset to the address of system CONCK in
    the
    ;copy of the original jmp vector.

    LDA @0E2,Y
    ADC #3 ;Add 3 so you enter right after the three
    ;instructions you duplicated at CONCKHDL.
    STA ROUTINE
    INY
    LDA @0E2,Y
    ADC #0
    STA ROUTINE+1
    ;In this example we don't have to worry
    about
    ;the machine state here as we are restoring
    ;it after we call CONCK

    JMP @ROUTINE ;Goto system CONCK and return to CONCKRTN

    CONCKRTN PLA ;Restore state of machine
    TAY
    PLA
    TAX
    PLA
    PLP
    RTS ;Return to the guy who called CONCK.
    -----------------------------------------------------------------



    MAKING ATTACH.DRIVERS

    1. Xecute the standard 1.1 LIBRARY program.
    2. The output code file should be ATTACH.DRIVERS or could be named
    somethine else and renamed ATTACH.DRIVERS when you put it on the
    boot disk.
    3. For the Link code file use the code file of your first driver.
    4. Copy its slot #1 into slot #0 of ATTACH.DRIVERS.
    5. As long as you have more drivers to add, use N(EW to get another
    Link code file and copy it's slot #1 into slots #2,3,...15 of
    ATTACH.DRIVERS.
    6. When done, type 'Q' then 'N' followed by a RETURN for the notice.
    See the 1.1 Operating System Reference Manual for further info on
    the LIBRARY program.


    THE WORKINGS OF SYSTEM.ATTACH

    If it is on the boot disk, SYSTEM.ATTACH is Xecuted by the operating
    system (both regular 1.1 and runtime 1.1) before SYSTEM.STARTUP.
    The
    1.1 runtime system will use a runtime version of SYSTEM.ATTACH.

    The error messages that can be generated by SYSTEM.ATTACH are:

    1. ERROR = 2. ERROR = 3. ERROR = 4. ERROR = 5. ERROR = 6. ERROR =
    If all goes well attaching drivers, SYSTEM.ATTACH will display
    nothing unusual in the regular boot sequence except for extra disk
    accesses and anything done in the init calls to any of the attached
    devices.




    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCL06 - DOC.3.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:40:54 AM
    *)
    | 507|507|2006-02-18 16:45:35|Shirl|ATTACH-BIOS document for Apple II Pascal 1.1 Part 3 of 9|
    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DOC.2.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-FEB-04
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCL06
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_06.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)


    Unit 6 (the PRINTER:)
    1. The interpreter takes care of expanding blank suppression codes
    (DLE's), EOF (the end of file character), and adding line feeds
    to every carriage return.
    2. PRINTER: read,write and init have only the return address on
    the
    stack. PRINTER: status has the same items on the stack as
    CONSOLE:
    status. PRINTER: init should cause the PRINTER: to do a
    carriage
    return and a line feed and throw away any characters buffered
    to
    be printed. No form feed should be done.
    3. For status, return in the first word of the status record the
    number of bytes buffered in the direction asked for; if this
    cannot be determined by your PRINTER:, return a 0.
    4. The PRINTER: write routine must buffer a line and send it all
    at
    once if your PRINTER: can only receive data that way.
    5. Line Delimiter characters:
    A. CR (hex 0D) A carriage return should cause the PRINTER: to
    print
    the current line and return the carriage to the first column.
    An automatic line feed should not be done by the PRINTER:
    driver when it reads a CR.
    B. LF (hex 0A) The RSP will send line feeds to the PRINTER:
    driver
    after each carriage return. This should cause the PRINTER: to
    advance to the next line. If the PRINTER: must also do a
    carriage return when it is given a line feed, then this is
    O.K.
    C. FF (hex 0C) This should cause the PRINTER: to move the paper
    to
    top of form and do a carriage return. If top of form is not
    possible on your PRINTER:, do a carriage return followed by a
    line feed.
    6. It is assumed that input cannot be received from the PRINTER:.
    See the BIOS section for a discussion of how to get input from
    the PRINTER:. Normally, trying to get input from the PRINTER:
    should return completion error code #3.


    Units 7 (REMOTE: in) & 8 (REMOTE: out)
    1. These must both go to the same driver.
    2. The interpreter takes care of expanding blank suppression codes
    (DLE's), EOF and adding line feeds to every carriage return.
    3. Same stack setup as the PRINTER:.
    4. Status should return in first word of status vector the number
    of
    bytes buffered for the direction specified in the control word,
    0 if you have no way to check.
    5. This unit is supposed to be an RS-232 serial line for many
    different applications so it is necessary that it transfer the
    data without modifying it in any way. The transfer rate
    default
    is 9600 baud.
    6. It would be nice if the input to REMOTE: could be buffered in
    the
    same way input to the CONSOLE: is but this is not an absolute
    requirement.
    7. REMOTE: init should set up the REMOTE: device so it is ready to
    read and write.

    B. Block Structured Devices
    Units 4 (the boot unit),5,9,10,11,12.
    1. These units are assumed to be block structured devices, the
    drivers for these units must do their own Pascal Block to
    Track-Sector conversions.
    The UCSD system assumes the disk device is a 0-based
    consecutive
    array of 512 byte logical blocks. All UCSD Pascal disks must
    have this logical structure no matter what their actual
    physical
    structure or size are. The physical allocation schemes for
    information on different types of disks are arranged with
    sectors
    that are of various sizes that depend on the hardware of the
    particular disk device used. The driver must convert the
    Pascal
    block # to the appropriate track & sector # of where that block
    is stored on it's disk device. This could be a floppy or hard
    disk or some other type of device. It doesn't really matter,
    so
    long as your driver maps the Pascal Block to the cOrrect place
    and
    continues to do so for the length (byte count) required for the
    UnitIO operation.
    The Pascal system uses logical blocks 0 & 1 for it's bootstrap
    code. These logical blocks should not be used for anything
    else and should therefore only be available to Pascal through
    direct UNITREAD & UNITWRITE operations and not accessable by
    the system through any other means. This document will not
    attempt to describe the boot sequence & does not attempt to
    give you enough information to attach another driver or device
    to unit #4: so you can cold boot from that unit.
    When a UNITWRITE is done to disk where the byte count MOD 512
    is not equal to 0 ( this means the last block included in the
    write would be partially written to according to the byte
    count),
    it is undefined whether garbage is written into the remaining
    part of this last block. So you may write a whole block anyhow
    if that is more efficient and the Pascal system will not suffer
    any bad consequences.
    When a UNITREAD is done from a disk you are not allowed to
    overwrite into the unused part of the last block (if there is
    an unused part due to byte count MOD 512 < send the number of bytes asked for because you could clobber
    memory having some other valid use if you wrote extra bytes.
    You will have to buffer the last sector inside your disk
    read routine then transfer exactly the number of bytes from
    this last sector needed to add up to the total bytes requested.
    2. The unit number will always be in the A register.
    3. The stack setup for read and write is:
    CONTROL WORD (The MODE parameter mentioned in the
    1.1 Language Ref Manual on page 41)
    DRIVE NUMBER
    BUFFER ADDRESS
    BYTE COUNT
    BLOCK NUMBER
    RETURN ADDRESS <--TOS

    For init there is only the return address on the stack and
    for status the setup is the same as for the CONSOLE:.
    4. Status requests should return the following in the status
    record:
    word1:Number of bytes buffered in the direction asked
    for in the control word. Return 0 if you have no
    way of checking.
    word2:Number of bytes per sector.
    word3:Number of sectors per track.
    word4:Number of tracks per disk.


    C. Other
    Unit 3
    1. This unit has no meaning for the Apple II system except that
    UNITCLEAR on this unit sets text mode.


    Considerations when attaching drivers for user defined devices
    numbers 128-143.

    These unit numbers are provided for you to do whatever you want
    with them. you can define what they do except for the following
    protocols.
    1. Follow the considerations for all drivers listed above.
    2. The unit number will always be in the A register.
    3. The stack setup for read and write is:
    CONTROL WORD
    DRIVE NUMBER
    BUFFER ADDRESS
    BYTE COUNT
    BLOCK NUMBER
    RETURN ADDRESS <--TOS

    For init there is only the return address on the stack and
    for status the setup is the same as for the CONSOLE:.


    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCL06 - DOC.2.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:40:54 AM
    *)
    | 508|508|2006-02-18 16:45:48|Shirl|ATTACH-BIOS document for Apple II Pascal 1.1 Part 5 of 9|
    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DOC.4.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-FEB-04
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCL06
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_06.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)



    II.BIOS

    This section explains things in the BIOS area that are extensions
    and modifications that were added to Apple Pascal version 1.1 that were
    different or not there at all in Apple Pascal version 1.0 (UCSD version
    II.1).


    1. The disk routines have been modified to handle interrupts (So
    interrupt driven devices could be attached to 1.1 Pascal) if they are
    being used. To use interrupts, one would have to attach an
    interrupt driver, then patch the IRQ vector (FFFE hex) to point to
    this driver. The Pascal system is defined to come up with interrupts
    turned off so, once the driver is brought in and the IRQ patched,
    interrupts must be turned on. The driver's init call could patch the
    IRQ and turn on interrupts. The disk routines save the current state
    of the system and turn interrupts off only during crucial time
    periods, the state of the system is returned during non crucial time
    periods so interrupts can be handled. This has not been tested at
    this time, so there is no data concerning the maximum interrupt
    response
    time delay.

    2. The control word parameter in UNITREAD and UNITWRITE was not passed
    on to the BIOS level routines from the RSP level. This has been done
    in 1.1 to allow the changes to the control word listed below under
    special character checking and also so user defined units or attached
    Pascal units can use the user defined bits of the control word.

    3. IORESULTS 128-255 are available for user definition on user defined
    devices.

    4. UNITSTATUS has been implemented in the Apple II Pascal 1.1 system.
    This works for the Pascal system units as described in the ATTACH
    part of this document. For user defined units, Unitstatus can be
    used for whatever necessary.

    Unitstatus is a procedure that can be called from the Pascal level in
    the same way Unitread can. It has three parameters:

    1. unit#.
    2. pointer to a buffer.
    (any size buffer you want of type Packed
    Array of Char)
    3. control word.

    When you make a Unitstatus call from Pascal, the call should look
    like:

    UNITSTATUS(UNITNUM,PAC,CONTROL);

    Where UNITNUM & CONTROL are integers and PAC is a Packed Array of
    CHAR or a STRING and may be subscripted to indicate a starting
    position to transfer data to or from. See further information on
    what Unitstatus is defined to do for the various devices in the
    ATTACH part of this document.

    The control word will tell the status procedure for a particular unit
    what information about the unit you want. Bit 0 of this word should
    equal 1 for input status and 0 for output status. Unitstatus is
    implemented with bit 1 of the control word =1 meaning the call is for
    unit control. When this bit =0 the call is for unitstatus. In all
    cases bits 2-12 are reserved for system use and bits 13-15 are
    available for user defined funtions.

    An entry in the jump vector has been made for each of the system
    Unitstatus calls, i.e. CONSOLESTAT,PRINTERSTAT,REMOTESTAT,etc..
    Unitstatus calls to a user defined device (128-143) will all go
    through the same jump vector location.

    5. The handling of CTRL-C by the Apple bios was non standard in 1.0.
    The
    UCSD BIOS definition specifies that a CTRL-C coming from REMOTE: or
    the
    PRINTER: should be placed in the input buffer and then no more
    characters
    should be received. Our bios did fill the buffer with nulls
    including the place where the CTRL-C was to go. Apple Pascal's BIOS
    now
    conforms to the standard definition, where the null filling of the
    buffer
    is done only when CTRL-C comes from the CONSOLE: (#1:).

    6. The unitio routines can be accessed from assembly procedures by
    pushing the correct parameters on the stack and using the jump vector
    to get to the BIOS routine. A seperate document needs to be
    written describing how this is done and pointing out the problems
    doing it in the case of the CONSOLE:,SYSTERM:,PRINTER: & REMOTE:
    units.
    These problems are concerned with the special character handling done
    in the RSP for these units. The assembly procedures calling the
    pascal drivers for these units would either have to repeat portions
    of the RSP code themselves or not get the special character handling
    provided by the RSP. Calling the CONSOLE: init routine requires
    pointers to syscom and the break routine to be passed on the stack.
    These pointers are now stored in a fixed location so assembly
    routines wanting to call coninit can get at them. See the locations
    section.

    7. Suppression of Special Character Checking.

    Special characters in the Pascal system are of three types:

    A. Chars used to control the 40 character screen. These are
    ctrl-A,Z,W,E & K.

    B. Pascal system control chars for general CONSOLE: use. These are
    ctrl-S & F.

    C. Types A & B are checked for by the CONCK funtion in the bios.
    There are other special chars checked for in the RSP. These are
    ctrl-C, DLE, and CR (line feeds are automatically appended to
    CR). With UNITREAD and UNITWRITE the automatic handling done by
    the Pascal system of these characters can be turned off. To turn
    off DLE expansion and EOF checking give bit 2 of the control word a
    value of 1. The automatic adding of line feeds to carriage returns
    can be suppressed by setting bit 3 of the control word to 1.

    A way was needed to suppress special handling for types 'A'&'B'.
    This
    can now be done in two ways. First, the control word of UNITR/W
    will
    turn off checking for type 'A' control chars if bit 4 is set and
    will
    turn off checking for type 'B' chars if bit 5 is set. In this
    mode,
    the special char handling will only be turned off during that
    particular unitio. This will be be done for you in the RSP by
    setting bits in a byte 'SPCHAR' at location BF1C. The CONCK
    routine
    will look at bit 0 of SPCHAR and if set will not look for the type
    'A' chars; if bit 1 is set, it will not look for the type 'B'
    chars.
    If you set these bits in the SPCHAR yourself instead of letting the
    RSP do it through the unitio control word, then the associated
    special character checking will be turned off until you reboot or
    reset the bits again. When special char checking is turned off,
    the
    chars are passed back to the Pascal level like all other chars
    would
    be. You can use these added features to redefine the system
    special
    chars in a particular application program or to just disable them.

    8. The EOF char (ctrl-C) causes a lot of problems in the Pascal system.
    The cause of the problems is that the editor looks for this character
    to end many of it's editing modes. The editor has it's own getchar
    routine which reads each character the user enters from SYSTERM:.
    When reading from SYSTERM: instead of the CONSOLE:, the EOF char is
    passed back as any other character but it still ends the current call
    to unitread. The editor echoes each char to the CONSOLE: itself
    until
    it comes to ctrl-C. The operating system and the filer both use the
    getchar routine in the operating system. This routine is defined to
    re-init the system if it gets a ctrl-C from the CONSOLE: and it reads
    from the CONSOLE:, not SYSTERM:. You must be sure not to end
    responses
    with control-C except for the cases (in the editor only) that are
    supposed to end with control-C. See the 1.1 Operating System
    Reference Manual.

    9. The bios card recognizing section has been enhanced to recognize a
    new 'FIRMWARE' type card. This card will allow OEM's to have their
    drivers in their own firmware on the card. Routines have been added
    to allow for init,read,write & status calls to this new type card.
    This protocol has been documented and is attached as an appendix
    to this document.



    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCL06 - DOC.4.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:40:54 AM
    *)
    | 509|509|2006-02-18 16:46:10|Shirl|ATTACH-BIOS document for Apple II Pascal 1.1 Part 7 of 9|
    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DOC.6.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-FEB-04
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCL06
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_06.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)


    Pascal 1.1 Firmware Card Protocol
    ------ --- -------- ---- --------


    One major problem with Apple Pascal 1.0 is the way it deals with
    peripheral cards. It was set up to work with the four peripheral cards that
    Apple supported at the time of its release (the disk,communciations,serial
    and parallel cards) and had no mechanism for interfacing any other devices.
    Since Apple as well as many other vendors continue to produce new
    peripherals
    for the Apple ][, a new protocol was designed and implemented in the Pascal
    1.1 BIOS which allows new peripheral cards to be introduced to the system in
    a consistent and transparent fashion. The new protocol is called the
    "firmware card" protocol since the BIOS deals with these cards by making
    calls to their firmware at entry points defined by a branch table on the
    card
    itself. The new protocol fully supports the Pascal typeahead function and
    KEYPRESS will work with firmware cards used as CONSOLE devices. The
    following paragraphs describe the firmware card protocol in full detail.

    A firmware card may be uniquely identified by a four byte sequence in
    the card's $CN00 ROM space. Location $CN05 must contain the value $38 and
    location $CN07 must contain $18. Note that these are identical to the Apple
    Serial Card. A firmware card is distinguished from a serial card by the
    further requirement that location $CN0B must contain the value $01. This
    value is called the "generic signature" since it is common to all firmware
    cards. The value at the next sequential location, $CN0C, is called the
    "device signature" since it uniquely identifies the device.

    The device signature byte is encoded in a meaningful way. The high
    order 4 bits specify the class of the device while the low order four bits
    contain a unique number to distinguish between specific devices of the same
    class. The appendix to this document defines some device class numbers; in
    any case vendors should contact Apple Technical Support to make sure they
    use
    a unique number for their device signature. Although the device signature
    is
    ignored by the 1.1 BIOS, it may be used by applications programs to identify
    specific devices.

    Following the 2 signature bytes is a list of four entry point offsets
    starting at address $CN0D. These four entry points must be supported by all
    firmware cards. They are the initialization, read, write and status calls.
    The BIOS takes care of disabling the $C800 ROM space of all other cards
    before calling the firmware routines.

    The offset to the initialization routine is at location $CN0D. Thus, if
    $CN0D contains XX, the BIOS will call $CNXX to initialize the card. On
    entry, the X register contains $CN (where N is the slot number) and the Y
    register contains $N0. On exit, the X register should contain an error
    code,
    which should be 0 if there was no error. This error code is passed on to
    the
    higher levels of the system in the global variable "IORESULT". Registers do
    not have to be preserved.

    The offset to the read routine is at location $CN0E. On entry, the X
    register will contain $CN and the Y register will contain $N0. On exit, the
    A register should contain the character that was read while the X register
    contains the IORESULT error code. The A and Y registers do not have to be
    preserved.

    The offset to the write routine is at location $CN0F. On entry, the A
    register contains the character to be written while the X register contains
    $CN and the Y register contains $N0. On exit the X register should contain
    the IORESULT error code (which should be 0 for no error). The A and Y
    registers do not have to be preserved.

    The offset to the status routine is at location $CN10. On entry, the X
    register contains $CN and the Y register contains $N0 while the A register
    contains a request code. If the A register contains 0, the request is "are
    you ready to accept output?". If the A register contains 1, the request is
    "do you have input ready for me?". On exit, the driver returns the IORESULT
    error code in the X register and the results of the status request in the
    carry bit. The carry clear means "false" (i.e., no, I don't have any input
    for you), while the carry set means true. Note that the status call must
    preserve the Y register but does not have to preserve the A register.

    Thus, sample code for the first few bytes of a firmware card's $CN00
    space should look something like:


    BASICINIT BIT $FF58 ;set the v-flag
    BVS BASICENTRY ;always taken
    IENTRY SEC ;BASIC input entry point
    DFB $90 ;opcode for BCC
    OENTRY CLC ;BASIC output entry point
    CLV
    BVC BASICENTRY ;Always taken
    ;
    ; Here is the Pascal 1.1 Firmware Card Protocol Table
    ;
    DFB $01 ;Generic signature byte
    DFB $41 ;Device signature bye
    ;
    PASCALINIT DFB PASCALREAD DFB PASCALWRITE DFB PASCALSTATUS DFB

    The above code fulfils all the requirements for both the BASIC and
    Pascal 1.1 I/O protocols. The routines PINIT, PREAD, etc, are probably
    jumps
    into the card's $C800 space which is already properly enabled by the BIOS.
    The reason the $CN00 space was chosen for the protocol (as opposed to the
    $C800 space) is that the BASIC protocol requires that all cards have $CN00
    ROM space while some smaller cards may not need any $C800 ROM space.

    The firware card protocol includes 2 optional calls that do not have to
    be implemented but would be kind of nice. The BIOS checks location $CN11 to
    determine if the optional calls are present; if that location contains a $00
    then the BIOS thinks the calls are implemented. Thus if your card does not
    implement the optional calls, you should ensure that $CN11 contains a
    non-zero value. The two optional calls are a control call pointed to by
    $CN12 and an interrupt handler call pointed to by $CN13.

    The control call entry point is specified by the offset at $CN12. On
    entry, the X register contains $CN, the Y register contains $N0 and the A
    register contains the control request code. Control requests are defined by
    the device. On exit the X register should contain the IORESULT error code.

    The interrupt poll entry point is specified by the offset at $CN13. On
    entry, the X register contains $CN and the Y register contains $N0. The
    interrupt poll routine should poll the card's hardware to determine if it
    has
    a pending interrupt; if it does not it should return with the carry clear.
    If it does, it should handle the interrupt (including disabling it) and
    return with the carry set. Also, the X register should contain the IORESULT
    error code which should be 0 if there was no error. An interrupt polling
    routine must be careful not to clobber any zero page or screen space
    temporaries.

    The control and interrupt requests are not implemented in the Pascal 1.1
    BIOS but it would be nice to support them if possible as they may be
    implemented in later versions of the Pascal BIOS as well as other
    forthcoming
    operating system environments for the Apple ][.

    Note that the firmware card signature is a superset of the Apple serial
    card signature as recognized by the Pascal 1.0 BIOS. This allows a firmware
    card to function with both Pascal 1.0 and Pascal 1.1. If a card wishes to
    work with Pascal 1.0 as a "fake" seral card, it must provide an input entry
    point at $C84D and an output entry point at $C9AA. Note that since Pascal
    1.0 will think the card is a serial card, typeahead and KEYPRESS
    capabilities
    will be lost.


    Additional Notes
    ---------- -----

    1. The Pascal RSP expects the high order bit of every ASCII character
    it receives from the Console read routine to be clear. The RSP will not
    do
    this for you; you must ensure the high bit of all text your card passes
    to
    the RSP from the console read routine is clear.

    2. Zero page locations $00 to $35 may be used as temporaries by your
    firmware, as are the slot 0 screen space locations ($478,$4F8, etc.).
    In general, peripheral card firmware should be as conservative as
    possible in their memory usage, preserving zero page contents whenever
    possible. An interrupt polling routine must not destroy these or any
    other memory locations.

    3. Location $7F8 must be set up to contain the value $CN, where N is the
    slot number, if your card utilizes the $C800 expansion ROM space. The
    BIOS
    does not do this for you; his must be done if you want your card to
    function in an interrupting environment.

    4. The firmware card status routine should be as quick as possible, as it
    may be called from within the I/O polling loops of many other
    peripherals
    if your card is being used as the console device. In no case should the
    status routine take longer than 100 milliseconds.

    5. A firmware card in slot 1 is automatically recognized as the volume
    "PRINTER:". A firmware card in slot 2 is automatically recognized as
    the volumes "REMIN:" and "REMOUT:". A firmware card in slot 3
    is automactically recognized as the volumes "CONSOLE:" and "SYSTERM:".



    APPENDIX
    --------


    The following numbers correspond to device classes used in the device
    signature code. Make sure you contact Apple Technical Support to
    ensure that you have a unique device signature code.


    0 -- reserved
    1 -- printer
    2 -- joystick or other X-Y input device
    3 -- I/O serial or parallel card
    4 -- modem
    5 -- sound or speech device
    6 -- clock
    7 -- mass storage device
    8 -- 80 column card
    9 -- Network or bus interface
    10 -- Special purpose (none of the above)


    11 through 15 are reserved for future expansion


    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCL06 - DOC.6.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:40:55 AM
    *)
    | 510|510|2006-02-18 16:46:22|Shirl|ATTACH-BIOS document for Apple II Pascal 1.1 Part 6 of 9|
    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DOC.5.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-FEB-04
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCL06
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_06.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)



    10. As you can see, the Pascal system memory usage is scattered
    all over the 64k space. The Apple II was not designed with a
    stack machine, like the Pascal P-machine, in mind. We don't
    need any more constraints fixing certain pieces of the system
    to certain EXACT places. To make the best use of the space we
    have, we must have the ability to move things around. To
    achieve this goal, we intend the following:

    A. To stop people from writing things that peek here and poke there
    and expect things to stay exactly where they were for future
    versions.

    B. Various people need space for patch areas and other purposes.
    All programs have to be written so this space does not have to
    be in a permanent fixed location if this is at all possible.
    The areas reserved for system use are filling up fast, we need
    to avoid using them. You can get space dynamically using NEW
    but you must be careful that this space stays around for the
    whole time you need it. If you are attaching a driver, you
    can get buffer space in the driver by using .WORD or .BLOCK
    in the Assembler. This space can be accessed from outside the
    driver if you know the offset to the start of this space from
    the start of the driver. This method could even be used to get
    space below the heap by attaching a driver to one of the user
    defined devices that is a large .BLOCK and is only used as a
    buffer. You can get the address of this buffer (of a driver)
    from the jump vector that has a pointer to the driver. Pointers
    to all the jump vectors are in zero page, see the locations
    section below.

    C. The jump vector will have a fixed order for version 1.1 and
    future versions. The order is the same as in the old version
    1.0 with the new entrys added to the bottom. The setup for the
    jump vector and getting into the BIOS is different than the old
    1.0 system. Here is how the new system is set up with the
    fixed order for the jump vector:

    ;---------------------------------------------------
    ;
    ; MAIN BIOS JUMP TABLE CALLED FROM INTERPRETER
    ; (FOLLOWED BY REAL JUMP TABLE AT FIXED OFFSET)
    ; RSP CALLS COME TO THIS JUMP VECTOR
    ;
    ;---------------------------------------------------
    BIOS JSR SAVERET ;CONSOLE READ ;Jump vector before fold.
    JSR SAVERET ;CONSOLE WRITE
    JSR SAVERET ;CONSOLE INIT
    JSR SAVERET ;PRINTER WRITE
    JSR SAVERET ;PRINTER INIT
    JSR SAVERET ;DISK WRITE
    JSR SAVERET ;DISK READ
    JSR SAVERET ;DISK INIT
    JSR SAVERET ;REMOTE READ
    JSR SAVERET ;REMOTE WRITE
    JSR SAVERET ;REMOTE INIT
    JSR SAVERET ;GRAFIC WRITE
    JSR SAVERET ;GRAFIC INIT
    JSR SAVERET ;PRINTER READ
    JSR SAVERET ;CONSOLE STAT
    JSR SAVERET ;PRINTER STAT
    JSR SAVERET ;DISK STAT
    JSR SAVERET ;REMOTE STAT
    KCONCK JSR SAVERET ;To get to CONCK from CONCKVEC
    JSR SAVERET ;USER READ For UDRWIS
    ;USER WRITE
    ;USER INIT
    ;USER STAT
    JSR SAVERET ;For PSUBDR
    JSR SAVERET ;IDSEARCH
    .
    .
    .

    ;--------------------------------------
    ;
    ; THIS JUMP TABLE MUST BE OFFSET
    ; FROM BIOSTBL BY EXACTLY $5C.
    ; SYSTEM.ATTACH MODIFYS THIS JUMP
    ; VECTOR TO POINT TO ATTACHED DRIVERS
    ; FOR THE STANDARD SYSTEM UNITS.
    ;
    ;--------------------------------------

    BIOSAF JMP CREAD ;Jump vector after fold.
    JMP CWRITE
    JMP CINIT
    JMP PWRITE
    JMP PINIT
    JMP DWRITE
    JMP DREAD
    JMP DINIT
    JMP RREAD
    JMP RWRITE
    JMP RINIT
    JMP IORTS ;Do nothing for GRAFWRITE.
    JMP GRAFINIT
    JMP IORTS ;Do nothing for PRINTER: read.
    JMP CSTAT
    JMP ZEROSTAT ;For PRINTER: stat, pop params & store 0
    ;in 1st buffer word.
    JMP DSTATT
    JMP ZEROSTAT ;For REMOTE: stat, pop params & store 0
    ;in 1st buffer word.
    JMP CONCK
    JMP UDRWIS ;Routine to get to user defined devices, see
    ;ATTACH part of document for description of
    ;this routine.
    JMP PSUBDR ;Routine to get to drivers that are
    substituted
    ;for the standard Pascal disk units
    4,5,9..12.
    ;See ATTACH part of document for description
    of
    ;this routine.
    JMP IDS


    ;----------------------------------------
    ;
    ; STRIP LOCAL RETURN ADDR,
    ; STRIP PASCAL ADDR AND SAVE IN RETL,RETH
    ; PLACE 'GOBACK' ON RETURN STACK
    ; THEN RESTORE LOCAL RET ADDR & RETURN
    ; MEANWHILE UNFOLD BIOS INTO DXXX
    ;
    ;----------------------------------------
    SAVERET STA TT1 ;SAVE A REG
    PLA
    CLC
    ADC #05A ;ADD OFFSET TO JUMP TABLE (BIOSAF)
    STA TT2 ;LOCAL RET ADDR
    PLA
    ADC #0
    STA TT3
    PLA
    STA RETL ;PRESERVE PASCAL RETURN
    PLA
    STA RETH
    .IF RUNTIME=0
    LDA 0C083 ;UNFOLD BIOS INTO DXXX
    .ENDC
    LDA TT1 ;RESTORE A-REG
    JSR SAVRET2 ;PUTS 'GOBACK' ON STACK

    ;----------------------------------------
    ;
    ; FOLD INTERP INTO DXXX
    ; THEN RETURN TO PASCAL VIA
    ; RETURN ADDR SAVED IN RETL,RETH
    ;
    ;----------------------------------------
    GOBACK STA TT1 ;SAVE A-REG
    LDA RETH
    PHA
    LDA RETL
    PHA
    .IF RUNTIME=0
    LDA 0C08B ;FOLD INTERP INTO DXXX
    .ENDC
    LDA TT1
    RTS ;AND BACK TO PASCAL

    SAVRET2 JMP @TT2 ;JUMP INTO JUMP TABLE (BIOSAF)



    D. In zero page are two words pointing to the base of the two
    jump vectors (before and after the fold). These are stored in
    PERMANENT locations that had a value of 0 in the old 1.0
    release and were not used by the system (see locations
    section). Applications needing to patch the jump vectors can
    store the offset from the vector base in the Y reg and use
    indirect indexed addressing to do the patch. The application
    will need to have the vector base locations for the old release
    hardcoded in as the base pointer for the old 1.0 release will
    be 0. If you want to write an application that works with 1.0
    and 1.1 and future versions, you know if the zero page vector
    pointers are 0 it's the 1.0 system otherwise it's 1.1 or a
    future
    version which will use the same protocols as 1.1 as described in
    this document.

    It is important that any application patching the jump vector
    temporarily then returning it to its original value get the
    original value from the vector itself before the patch and put
    it in a storage location. When the vector needs to be restored
    to it's original state, use this storage location for it's
    original value. The patches should be done in this manner so
    the applications doing the patches will always return the
    system to it's original state no matter what past, present or
    future Pascal version it is patching.

    E. For CONSOLE: init to be used from assembly routines the
    locations of SYSCOM and the BREAK routine have to be available.
    The CONINIT routine requires these on the stack. Pointers to
    SYSCOM and BREAK will be stored by the interpreter boot in a
    PERMANENT location in the BF00 page (see locations section).

    F. Since the old 1.0 release, the code to jump to the CONCK
    routine has been set up at location BF0A. Anyone wishing to
    get to the CONCK routine should do a JSR BF0A as this will
    always get them there no matter where the CONCK routine really
    is. The keypress function has been changed to conform to this
    new convention but it will use the old convention if it is
    working from within an old system. Do not try to get to CONCK
    in this way from within an ATTACHED driver as you will loose
    your return address to Pascal. See ATTACH part of this
    document for how to get to CONCK from an attached driver.

    G. There is now a version byte so one can tell which version (1.0,
    1.1, etc.) of Apple Pascal he is working with. There is also a
    flavor byte to tell one which flavor of this version he has
    (regular, runtime, runtime without sets, etc.). (see locations
    section)

    11. Whenever SYSTEM.ATTACH is used, it will make a copy of the
    original BIOS jump vector (the after fold vector that has the
    actual driver addresses in it) and put this below the heap with
    the drivers that are attached. It will leave a pointer to this
    copy of the vector at location 00E2. You can use this vector in
    you drivers to get to the standard Apple drivers for any device.
    This way you can define a driver that does something above and
    beyond the standard Apple driver yet this new driver can still
    make use of the standard Apple driver. See the ATTACH part of
    this document for more information.

    12. In the RSP are two vectors that tell the RSP what is legal
    (input &-or output) for a particular character orientated device
    (CONSOLE:, REMOTE: & PRINTER:). For example it tells the RSP that
    it is illegal to read from the PRINTER:. If you wanted to ATTACH
    a PRINTER: driver so you could read from the PRINTER:, you would
    have to change this vector. 00E4 points to the READTBL vector
    and 00E6 to the WRITTBL vector. Let's take the READTBL for an
    example:

    READTBL ;table of routine addresses to be called when
    ;writing to that unit (disk I/O does not use
    ;this table).
    ;an entry=0 means that the operation is illegal
    ;for that unit.
    .WORD BIOS+CONREAD ;unit 1
    .WORD BIOS+CONREAD ;unit 2
    .WORD 0 ;unit 3
    .WORD 0 ;4 & 5 are disk units
    .WORD 0
    .WORD 0 ;6 is PRINTER:
    .WORD BIOS+REMREAD ;unit 7
    .WORD 0 ;8 is rem write which has
    ;an address in the WRITTBL

    Here BIOS refers to the base of the jump vector before the fold and
    CONREAD is the offset off the base of that vector to get to the
    jump to the CONSOLE: read routine (for CONSOLE: read the offset is
    0, for CONSOLE: write it's 3, etc). The value for BIOS is the
    pointer stored in location 00EC mentioned in the locations
    section below.


    LOCATIONS.
    ----------

    These are the locations of new system permanents mentioned in
    this document, all pointers are set up by the system and are
    stored low byte first. Do not modify what is stored in these
    pointers (except for SPCHAR if you want to suppress special
    character checking) since the system uses this information too.
    These locations are defined to have the same function & remain
    in the same place for future versions of Apple II Pascal.

    BF1C SPCHAR (To control special chars)

    BF1D IBREAK (Set by boot in interp for assembly calls to
    CONINIT)
    BF1F ISYSCOM ( '' )

    BF21 VERSION (1 byte Version # of system, =2 for the new release,
    0
    for the old 1.0 release)
    BF22 FLAVOR (This byte tells which flavor [runtime,regular,
    etc.] of this VERSION you are dealing with)
    The encoding is:
    1 -- runtime versions:
    2 -- language card)
    3 -- 4 -- 5 -- 6 -- 7 -- 8 -- 9 -- This flavor byte is 0 in the old 1.0 release.

    BFC0-BFFF BDEVBUF (Area for non Apple boot devices, like the CORVUS)
    00E2 ACJVAFLD (Pointer to ATTACH copy of the original Jump Vector
    after the fold)
    00E4 RTPTR (Pointer to READTBL)
    00E6 WTPTR (Pointer to WRITTBL)
    00E8 UDJVP (Pointer to user device jump vector)
    00EA DISKNUMP (Pointer to disknum vector)
    00EC JVBFOLD (Pointer to jump vector before fold)
    00EE JVAFOLD (Pointer to jump vector after fold)

    FFF6 (Version word which = 1 for version 1.0 and
    = 0 for version 1.1
    This version word should not be used at runtime
    to tell which version you have. For that use the
    version byte mentioned above. This word should
    only
    be used by software that wants to see which
    SYSTEM.APPLE it is dealing with by looking at the
    contents of this word in the SYSTEM.APPLE file
    when it is not loaded in memory)
    FFF8 (Start vector)
    FFFA (NMI non maskable interrupt vector)
    FFFC (RESET vector)
    FFFE (IRQ interrupt request vector)


    The locations and code in the 1.0 'PRELIMINARY APPLE PASCAL GUIDE
    TO
    INTERFACING FOREIGN HARDWARE' BIOS document are not the same for
    Apple Pascal 1.1 and that document clearly stated we would not
    commit ourselves to keeping them the same.


    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCL06 - DOC.5.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:40:54 AM
    *)
    | 511|511|2006-02-18 16:47:08|Shirl|ATTACH-BIOS document for Apple II Pascal 1.1 Part 9 of 9|
    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DOC.8.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-FEB-04
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCL06
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_06.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)


    ;---------------------------------------
    ;
    ; CONSOLE CHECK FOR CHAR AVAIL
    ; STATUS AND ALL REGS PRESERVED
    ; IF CHAR AVAIL,PUT IN CONBUF AND INC WPTR.
    ;
    ; WARNING...THIS ROUTINE ALSO CALLED FROM DISK ROUTINES
    ;
    ;---------------------------------------
    CONCK PHP
    PHA
    TXA
    PHA
    TYA
    PHA
    RNDINC INC RANDL ;BUMP 16 BIT RANDOM SEED
    BNE RNDOK
    INC RANDH
    RNDOK LDA SLTTYPS+3 ;WHAT CARD IS IN SLOT 3?
    CMP #3 ;IS IT A COM CARD?
    BEQ COMCK ;YES,GO CHECK IT
    CMP #4 ;IS IT A SERIAL CARD?
    BEQ JDONCK ;YES,IT CANT BE TESTED
    CMP #6
    BEQ FIRMCK
    TSTKBD LDA 0C000 ;TEST APPLE KEYBOARD
    BPL JDONCK ;NO CHAR AVAIL
    STA 0C010 ;CLEAR KEYBD STROBE
    AND #07F ;MASK OFF TOP BIT
    TAX ;See if checking for apple special chars is
    LDA SPCHAR ;turned off.
    ROR A
    BCS NOTFOLP2 ;Jump if so
    TXA
    CMP #11. ;CTRL-K?
    BNE NOTK
    LDA #05B ;YES,REPLACE WITH LEFT SQR BRACKETT
    NOTK CMP #1 ;CTRL-A?
    BNE NTTAB
    JSR HTAB ;YES,TAB NEXT MULT 40
    LDA CONFLGS
    AND #0FE
    STA CONFLGS ;CLEAR AUTO-FOLLOW BIT
    JMP DONECK
    NTTAB CMP #26. ;CTRL-Z?
    BNE NOTFOL ;NO,PUT CHAR IN BUFFER
    LDA CONFLGS
    ORA #1
    STA CONFLGS ;SET AUTO-FOLLOW BIT
    BNE DONECK ;BR ALWAYS


    COMCK LDA 0C0BE ;CHAR AVAIL?
    LSR A
    BCC DONECK ;NO CHAR AVAIL
    LDA 0C0BF ;GET CHAR FROM UART
    GOTCHAR AND #07F ;MASK OFF BIT 7
    NOTFOL TAX
    LDA SPCHAR ;See if console special char checking is
    ;turned off.
    ROR A
    NOTFOLP2 ROR A
    BCS NFMI1 ;Jump if so
    TXA
    LDY #055
    CMP (SYSCOM),Y ;STOP CHAR?
    BNE NOTSTOP
    LDA CONFLGS
    EOR #080
    STA CONFLGS ;YES,TOGGLE STOP BIT (BIT 7)
    JDONCK JMP DONECK

    FIRMCK LDA #1
    LDY #030
    JSR FIRMSTATUS
    BCC DONECK
    JSR FREAD1
    JMP GOTCHAR

    NOTSTOP DEY
    CMP (SYSCOM),Y
    BNE NOTBRK
    LDA CONFLGS
    AND #03F
    STA CONFLGS ;CLEAR FLUSH&STOP BITS
    .IF RUNTIME=0
    JMP TOBREAK
    .ELSE
    JMP @BREAK ;BREAK OUT
    .ENDC
    NOTBRK DEY
    CMP (SYSCOM),Y ;FLUSH?
    BNE NOTFLUS
    LDA CONFLGS
    EOR #040
    STA CONFLGS ;TOGGLE FLUSH BIT (BIT 6)
    JMP DONECK

    NFMI1 TXA
    NOTFLUS LDX WPTR
    JSR BUMP
    CPX RPTR ;BUFFER FULL?
    BNE BUFOK
    JSR BELL
    JMP DONECK ;BEEP&IGNORE CHAR
    BUFOK STX WPTR
    STA CONBUF,X ;PUT CHAR IN BUFFER
    DONECK BIT CONFLGS ;IS STOP FLAG SET?
    BPL CKEXIT
    JMP RNDINC ;LOOP IF IN STOP MODE

    CKEXIT PLA
    TAY
    PLA
    TAX
    PLA
    PLP
    RTS ;ELSE RESTORE STAT AND ALL REG AND RETURN
    BUMP INX ;BUMP BUFFER POINTER WITH WRAP-AROUND
    CPX #CBUFLEN
    BNE BMPRTS
    LDX #0
    BMPRTS RTS



    ;----------------------------------
    ;
    ; INITIALIZE CONSOLE:
    ;
    ;----------------------------------
    CINIT PLA
    STA TEMP1 ;SAVE RETURN ADDR
    PLA
    STA TEMP2
    PLA
    STA SYSCOM ;SAVE PTR TO SYSCOM AREA
    PLA
    STA SYSCOM+1
    PLA
    STA BREAK ;SAVE BREAK ADDRESS
    PLA
    STA BREAK+1
    LDA TEMP2
    PHA ;RESTORE RETURN ADDR
    LDA TEMP1
    PHA
    LDA RPTR ;FLUSH TYPE-AHEAD BUFFER
    STA WPTR
    LDA CONFLGS
    AND #03E
    STA CONFLGS ;CLEAR STOP,FLUSH,AUTO-FOLLOW BITS
    JSR TAB3 ;NO,HORIZ SHIFT FULL LEFT
    CINIT2 LDX #0 ;CLEAR IORESULT
    RTS ;AND RETURN

    ;----------------------------------
    ;
    ; READ FROM CONSOLE:
    ; KEYBOARD,COM OR SERIAL CARD IN SLOT 3
    ;
    ;----------------------------------
    CREAD JSR ADJUST ;HORIZ SCROLL IF NECESSARY
    LDY #030 ;SLOT 3
    LDA SLTTYPS+3 ;WHAT TYPE OF CARD?
    CMP #4 ;IS IT A SERIAL CARD?
    BNE CREAD2 ;NO,CONTINUE
    JSR RSER ;YES, READ IT
    AND #7F ;MASK OFF TOP BIT
    RTS
    CREAD2 JSR CONCK ;TEST CHAR
    LDX RPTR
    CPX WPTR
    BEQ CREAD ;LOOP TILL SOMETHING IN BUFFER
    JSR BUMP
    STX RPTR ;BUMP READ POINTER
    LDA CONBUF,X ;GET CHAR FROM BUFFER
    LDX #0 ;CLEAR IORESULT
    RTS ;AND RETURN TO PASCAL

    ;----------------------------------
    ;
    ; INITIALIZE PRINTER:
    ; PRINTER IS ALWAYS IN SLOT 1
    ; IT MAY BE A PRINTER,COM,OR SERIAL CARD
    ;
    ;----------------------------------
    PINIT LDY #010 ;SLOT 1 ; 010
    LDA SLTTYPS+1 ;WHAT CARD IN SLOT 1?
    CMP #5 ;PRINTER CARD?
    BEQ CLRIO1 ;YES,NO INIT NEEDED
    GENIT CMP #4 ;SERIAL CARD?
    BEQ ISER ;YES, INIT SER CARD
    CMP #3 ;COM CARD?
    BEQ ICOM ;YES,INIT COM CARD
    CMP #6
    BEQ FIRMINIT
    LDX #9 ;NONE OF ABOVE,OFFLINE
    RTS

    FIRMINIT PHA
    JSR SER1
    LDY #0D
    FVEC1 LDA (TEMP1),Y
    STA TEMP1
    LDY 6F8
    PLA
    JMP @TEMP1

    ;----------------------------------
    ;
    ; INITIALIZE REMOTE:
    ; REMOTE IS ALWAYS IN SLOT 2
    ; IT MAY BE A COM OR SERIAL CARD
    ;
    ;----------------------------------
    RINIT LDA SLTTYPS+2 ;WHAT CARD IN SLOT 2?
    LDY #020
    BNE GENIT ;BR ALWAYS TAKEN

    ;----------------------------------
    ;
    ; INIT COM CARD, Y=0N0
    ;
    ;----------------------------------
    ICOM LDA #3 ;MASTER INIT
    STA 0C08E,Y ;TO STATUS
    LDA #21.
    STA 0C08E,Y ;SET BAUD ETC
    CLRIO1 LDX #0 ;CLEAR IORESULT
    RTS ;AND RETURN

    ;----------------------------------
    ;
    ; INIT SERIAL CARD, Y=0N0
    ;
    ;----------------------------------
    ISER JSR SER1 ;ASSORTED GARBAGE
    JSR 0C800 ;SET UP SLOT DEPENDENTS
    CLRIO3 LDX #0 ;CLEAR IORESULT
    RTS ;AND RETURN

    ;----------------------------------
    ;
    ; ASSORTED SERIAL CARD SET-UP
    ;
    ;----------------------------------
    SER1 STY 06F8 ;STORE N0
    TYA
    LSR A
    LSR A
    LSR A
    LSR A
    ORA #0C0
    TAX ;MAKE 0CN IN X
    LDA #0
    STA TEMP1
    STX TEMP2 ;SET UP INDIRECT ADDRESS
    LDA 0CFFF ;TURN OFF ALL C8 ROMS
    LDA (TEMP1),Y ;SELECT C8 BANK
    RTS

    ;----------------------------------
    ;
    ; WRITE TO CONSOLE:
    ; VIDEO SCREEN,COM OR SER CARD IN SLOT 3
    ;
    ;----------------------------------
    CWRITE JSR CONCK ;CONSOLE CHAR AVAIL?
    BIT CONFLGS ;IS FLUSH FLAG SET?
    BVS CLRIO ;YES,DISCARD CHAR & RETURN
    TAX ;SAVE CHAR IN X
    LDY #030 ;SLOT 3;010
    LDA SLTTYPS+3 ;WHAT KIND OF CARD?
    CMP #3 ;COM CARD?
    BEQ WCOM ;YES WRITE TO COM CARD SLOT 3
    CMP #4 ;SERIAL CARD?
    BEQ WSER ;YES,WRITE TO SER CARD SLOT 3
    CMP #6
    BEQ WFIRM
    TXA ;ELSE RESTORE CHAR & SEND TO SCREEN
    VIDOUT STA TEMP1 ;SAVE CHAR FOR LATER
    JSR INVERT ;REMOVE CURSOR
    LDY CH
    JSR VOUT2 ;DO THE BUSINESS
    JSR INVERT ;RESTORE THE CURSOR
    CLRIO LDX #0 ;CLR IORESULT
    RTS ;RETURN FROM VIDOUT

    WFIRM TXA
    PHA
    LDA #0
    JSR IOWAIT
    JSR SER1
    LDY #0F
    JMP FVEC1

    ;----------------------------------
    ;
    ; WRITE TO SERIAL CARD, Y=0N0,CHAR IN X
    ;
    ;----------------------------------
    WSER JSR CONCK ;CONSOLE CHAR?
    TXA
    PHA ;SAVE CHAR ON STACK
    JSR SER1 ;ASSORTED GARBAGE
    PLA
    STA 05B8,X ;SET UP DATA BYTE
    JSR 0C9AA ;SEND IT (SHOUT)
    LDX #0
    RTS

    ;----------------------------------
    ;
    ; WRITE TO REMOTE:, CHAR IN A
    ;
    ;----------------------------------
    RWRITE TAX ;SAVE CHAR
    LDA SLTTYPS+2 ;WHAT CARD IN SLOT 2?
    LDY #020
    BNE GENW2 ;BR ALWAYS TAKEN

    ;----------------------------------
    ;
    ; WRITE TO PRINTER CARD SLOT1, CHAR IN X
    ;
    ;----------------------------------
    WPRN JSR CONCK ;CONSOLE CHAR AVAIL?
    LDA 0C1C1 ;TEST PRINTER READY
    BMI WPRN ;LOOP TILL READY
    STX 0C090 ;SEND CHAR
    CLRIO2 LDX #0
    RTS

    ;----------------------------------
    ;
    ; WRITE TO COM CARD, Y=0N0,CHAR IN X
    ;
    ;----------------------------------
    WCOM JSR CONCK ;CONSOLE CHAR?
    LDA 0C08E,Y ;TEST UART STATUS
    AND #2 ;READY?
    BEQ WCOM ;NO,WAIT TILL READY
    TXA
    STA 0C08F,Y ;SEND CHAR
    LDX #0
    RTS

    ;----------------------------------
    ;
    ; WRITE TO PRINTER:, CHAR IN A
    ;
    ;----------------------------------
    PWRITE TAX ;SAVE CHAR IN X
    LDA LFFLAG ;TEST LINE-FEED FLAG
    BPL LFPASS ;PASS IF BIT7=0
    CPX #10. ;IS IT A LINE-FEED?
    BEQ CLRIO ;YES,IGNORE
    LFPASS LDY #010 ;SLOT 1
    LDA SLTTYPS+1 ;WHAT KIND OF CARD?
    GENW CMP #5 ;PRINTER CARD?
    BEQ WPRN ;YES WRITE TO PRINTER CARD
    GENW2 CMPL#4 ;SERIAL CARD?
    BEQ WSER ;YES WRITE TO SER CARD
    CMP #3 ;COM CARD?
    BEQ WCOM ;YES WRITE TO COM CARD
    CMP #6
    BEQ WFIRM
    OFFLINE LDX #9
    RTS

    ;----------------------------------
    ;
    ; READ FROM REMOTE:
    ;
    ;----------------------------------
    RREAD LDA SLTTYPS+2 ;WHAT CARD IN SLOT 2?
    LDY #020
    GENR CMP #4 ;SERIAL CARD?
    BEQ RSER ;GET FROM SER CARD
    CMP #3 ;COM CARD?
    BEQ RCOM ;GET FROM COM CARD
    CMP #6
    BEQ RFIRM
    BNE OFFLINE ;CARD NOT RECOG

    ;----------------------------------
    ;
    ; READ FROM COM CARD, Y=N0
    ;
    ;----------------------------------
    RCOM JSR CONCK ;CHECK FOR CONSOLE CHAR
    LDA 0C08E,Y ;TEST UART STATUS
    LSR A ;TEST BIT 0
    BCC RCOM ; WAIT FOR CHAR
    LDA 0C08F,Y ;GET CHAR
    LDX #0
    RTS

    RFIRM LDA #1
    JSR IOWAIT
    FREAD1 JSR SER1
    PHA
    LDY #0E
    JMP FVEC1

    ;----------------------------------
    ;
    ; READ FROM SERIAL CARD, Y=0N0
    ;
    ;----------------------------------
    RSER JSR CONCK ;CONSOLE CHAR AVAIL?
    JSR SER1 ;ASSORTED GARBAGE
    JSR 0C84D ;GET A BYTE (SHIFTIN)
    LDA 05B8,X ;GET BYTE 0678+SLOT
    LDX #0
    RTS

    FIRMSTATUS PHA
    JSR SER1
    LDY #10
    JMP FVEC1

    IOWAIT JSR CONCK
    PHA
    JSR FIRMSTATUS
    PLA
    BCC IOWAIT
    RTS





    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCL06 - DOC.8.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:40:55 AM
    *)
    | 512|512|2006-02-18 21:34:59|Shirl|ATTACH-BIOS document for Apple II Pascal 1.1 Part 8 of 9|
    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ PASCAL FILE NAME .................... DOC.7.TEXT
    $$$ PASCAL FILE TYPE .................... TEXT
    $$$ PASCAL FILE DATE .................... 1981-FEB-04
    $$$
    $$$ PASCAL VOLUME NAME .................. PSCL06
    $$$
    $$$ DISK IMAGE NAME ..................... CALLAPPLEPAS_06.DSK
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$
    $$$ DISK IMAGE COMMENT:
    $$$
    $$$ CALL-APPLE PD PASCAL DISKS (DAVID T CRAIG / MAY 2004)
    $$$
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    *)


    Additional Information
    ---------- -----------

    1. The type ahead buffer is located at $03B1 hex and is $4E hex in length.
    It is implemented with a read pointer (RPTR at BF18 hex) and a write
    pointer (WPTR at $BF19 hex). At CONSOLE: init time, these should both
    be set to 0. When a character is detected by CONCK, the WPTR is
    incremented then compared with $4E. If it is equal to $4E, it is set
    to $0 (this is a circular buffer). Then the WPTR is compared with RPTR
    and if they are equal the buffer is full. If the buffer is not full,
    the character is stored at $03B1+the value in WPTR.

    When removing a character from the type ahead buffer, use the following
    sequence. Compare the RPTR with WPTR and if they are equal, the buffer
    is empty and you must wait until a character is available from the
    keyboard. If they are not equal, increment the RPTR and compair it
    to $4E. If it equals $4E, set it to $0. Now get the character from
    location $03B1+the value in RPTR.

    If you are implementing your own type ahead, you can do it however
    you wish. This information is made available in case you want to check
    for input from another device as well as the standard system CONSOLE:
    and have characters from that device be put in the system type ahead
    buffer.

    2. The example drivers in this document did not show the setting of the
    IORESULT in the X register. This would be done in the code specific
    to your driver and should allways be set to something (0 if there are
    no errors). If there are errors, set it as described elsewhere in this
    document and the Pascal Manuals.

    3. For further information, see the newest edition of the Apple II
    Reference
    Manual.

    4. These listings from the BIOS are included to show you how we
    implemented
    certain system drivers. You cannot rely on the locations of these
    to stay in the same place in the BIOS in future releases of Apple II
    Pascal nor can you rely on the routines themselves staying the same.
    They are only included as examples and to give you information that
    may not be documented elsewhere. This is not a complete BIOS listing
    so
    you may find references to routines or locations that are not included
    in
    this listing. The only locations that will be sure to remain the same
    for future releases are those mentioned in the LOCATIONS section above.
    We are against you poking the BIOS yourself to change or overwrite any
    of these routines. We did not include this information so you could
    poke
    the BIOS. If you do modify the BIOS, it is completely at your own
    risk!
    We have provided the ATTACH utility so you can add your own drivers
    the system without poking the BIOS and this is the way it should be
    done!
    If you have special requirements that are not solved by ATTACH, please
    contact Apple Technical Support.

    ;---------------------------------------
    ;
    ; ZERO PAGE PERMANENTS
    ;
    ;---------------------------------------
    FIRST .EQU 0F0 ;START ZERO PAGE USE
    BAS1L .EQU FIRST ;SCREEN 1 PTR
    BAS1H .EQU FIRST+1
    BAS2L .EQU FIRST+2 ;SCREEN 2 PTR
    BAS2H .EQU FIRST+3
    CH .EQU FIRST+4 ;HORIZ CURSOR, 0..79
    CV .EQU FIRST+5 ;VERT CURSOR, 0..23
    TEMP1 .EQU FIRST+6
    TEMP2 .EQU FIRST+7
    SYSCOM .EQU FIRST+8 ;2 BYTES PTR TO SYSCOM AREA

    ;---------------------------------------
    ;
    ; BF00 PAGE PERMANENTS
    ;
    ;---------------------------------------
    CONCKVECTOR .EQU 0BF0A ;4 BYTES
    SCRMODE .EQU 0BF0E
    LFFLAG .EQU 0BF0F
    NLEFT .EQU 0BF11
    ESCNT .EQU 0BF12
    RANDL .EQU 0BF13
    RANDH .EQU 0BF14
    CONFLGS .EQU 0BF15
    BREAK .EQU 0BF16 ;2 BYTES
    RPTR .EQU 0BF18 ;1 BYTE
    WPTR .EQU 0BF19 ;1 BYTE
    RETL .EQU 0BF1A
    RETH .EQU 0BF1B
    SPCHAR .EQU 0BF1C ;00 MEANS DO ALL SPECIAL CHARACTER CHECKING
    ;01 MEANS DON'T CHECK FOR APPLE SCREEN
    STUFF
    ;02 MEANS DON'T CHECK FOR OTHER SCREEN
    STUFF
    IBREAK .EQU 0BF1D ;INTERP STORES BREAK & SYSCOM ADR HERE FOR
    ISYSCOM .EQU 0BF1F ;USER ROUTINES TO GET AT
    VERSION .EQU 0BF21 ;VERSION OF SYSTEM SET TO 2 FOR APPLE 1.1
    FLAVOR .EQU 0BF22 ;SEE TABLE IN INTERP BOOT
    SLTTYPS .EQU 0BF27 ;BF27..0BF2E
    XITLOC .EQU 0BF2F ;INTERP INITS THIS TO LOCATION OF XIT
    ;FORTRAN PROTECTION USES BF56..BF7F
    ;VENDOR BOOT DEVICES CAN USE BFC0..BFFF

    ;---------------------------------------
    ;
    ; MISCELANEOUS PROGRAM EQUATES
    ;
    ;---------------------------------------
    BUFFER .EQU 0200 ;TEMP HSHIFT BUFFER (OVERLAPS DISK BUF)
    CONBUF .EQU 03B1 ;78 CHAR TYPE-AHEAD BUF
    CBUFLEN .EQU 04E ;78 DECIMAL
    NCTRLS .EQU 14. ;# CTRL CHARS IN TABLE
    SIGVALUE .EQU 1
    BYTEPSEC .EQU 256. ;DISK INFO FOR DISKSTAT
    SECPTRAK .EQU 16.
    TRAKPDSK .EQU 35.
    UDJVP .EQU 0E8 ;0 PAGE JUMP VECTOR POINTER LOCATIONS
    DISKNUMP .EQU 0EA
    JVBFOLD .EQU 0EC
    JVAFOLD .EQU 0EE
    HCMODE .EQU 0E1 ;THESE TWO BYTES USED FOR HIRES STUFF
    HSMODE .EQU 0E0


    JVECTRS .WORD UDJMPVEC
    .WORD DISKNUM
    .WORD BIOS
    .WORD BIOSAF

    ;---------------------------------------
    ;
    ; HARD RESET INITIALIZATION
    ;
    ;---------------------------------------
    START CLD ;SET HEX MODE
    SEI ;MAKE SURE INTERRUPTS ARE OFF.

    ;---------------------------------------
    ;
    ; CLEAR ALL MEMORY 0 TO BFFF
    ; (RUN-TIME SYSTEM:0 TO TOPMEM + BF PAGE);
    ;
    ;---------------------------------------
    LDA #0
    STA ZEROL
    STA ZEROH
    TAY
    TAX
    ZERLP STA (ZEROL),Y ;WRITE A BYTE OF 0
    INY ;BUMP POINTER
    BNE ZERLP ;LOOP TILL NEXT PAGE
    INC ZEROH ;BUMP MSB POINTER
    INX
    .IF RUNTIME=1
    CPX #TOPMEM ;DONE CLEARING MEM?
    BNE $1
    LDX #0BF ;CLEAR BF PAGE
    STX ZEROH
    $1: CPX #0C0
    BNE ZERLP
    .ELSE
    CPX #0C0 ;DONE CLEARING BFXX?
    BNE ZERLP
    .ENDC

    ;-----------------------
    ;
    ; CHECKSUM PROMS ON EACH SLOT
    ; TO FIND OUT WHO'S OUT THERE
    ;
    ; SUM TWICE TO TELL IF CARD THERE
    ; IF SUMS DONT MATCH THEN NO PROM IS THERE
    ; IF MS BYTE OF SUM=0 THEN NO PROM IS PRESENT
    ;
    ;-----------------------
    LDY #0C7 ;POINT TO SLOT 7 PROM
    NXTCRD STY CKPTRH ;(CKPTRL=0 FROM MEM CLEAR)
    JSR CKPAGE ;16 BIT SUM IN X,A
    STA CHECKL
    STX CHECKH ;SAVE FOR MATCH
    JSR CKPAGE ;SUM AGAIN
    CPX #0 ;WAS MSB ZERO?
    BEQ NOPROM ;YES NO PROM ON CARD
    CMP CHECKL ;LSB MATCH?
    BNE NOPROM ;NO, NO PROM ON CARD
    CPX CHECKH
    BNE NOPROM ;MSB DIDNT MATCH
    BEQ SKIPIORTS ;ALWAYS TAKEN

    ;----------------------------
    ;
    ; TABLE OF CN05 AND CN07 BYTES OF EACH CARD
    ;
    ;----------------------------
    CN05BYTS .BYTE 003,018,038,048
    CN07BYTS .BYTE 03C,038,018,048

    ;----------------------------
    ;
    ; NOW THAT WE KNOW A CARD IS THERE,
    ; EXAMINE CN05 AND CN07 BYTE TO
    ; DETERMINE WHICH CARD IT IS
    ;
    ; SET CARDTYPE AS FOLLOWS:
    ; 0=CKSUM NOT REPEATABLE OR MSB=0
    ; 1=CKSUM REPEATABLE,CARD NOT RECOGNIZED
    ; 2=DISK CARD (BYTE 07= 03C)
    ; 3=COM CARD (BYTE 07= 038)
    ; 4=SERIAL (BYTE 07= 018)
    ; 5=PRINTER (BYTE 07= 048)
    ; 6=FIRMWARE (BYTE 07= 048)
    ;-----------------------------
    SKIPIORTS LDX #5 ;4 TYPES OF CARDS
    NXTYP LDY #5 ;CHECK BYTE CN05 OF CARD
    LDA (CKPTRL),Y
    CMP CN05BYTS-2,X ;MATCH TABLE?
    BNE TRYNXT ;NO, TRY NEXT IN LIST
    LDY #7
    LDA (CKPTRL),Y ;TEST CN07 BYTE
    CMP CN07BYTS-2,X ;MATCH TABLE?
    BEQ STOR ;BOTH MATCHED, CARD RECOGNIZED
    TRYNXT DEX ;BUMP TO NEXT IN LIST
    CPX #2 ;TRY ALL TYPES IN LIST
    BCS NXTYP ;IF NOT IN LIST,FALL THRU WITH X=1
    STOR CPX #4 ;IS IT A SERIAL CARD?
    BNE STOR1
    LDY #0B
    LDA (CKPTRL),Y
    CMP #SIGVALUE
    BNE STOR1
    LDX #6
    STOR1 LDY CKPTRH
    TXA
    STA SLTTYPS-0C0,Y
    NOPROM LDY CKPTRH
    DEY ;BUMP TO NEXT LOWER SLOT
    CPY #0C0 ;SLOTS 7 DOWNTO 1 DONE?
    BNE NXTCRD ;LOOP TILL 7 SLOTS DONE
    ;LEAVE WITH Areg:=0
    ;---------------------------------------
    ;
    ; SET UP CONCK VECTOR FOR KEYPRESS FUNCTION
    ;
    ;---------------------------------------
    BEQ $2 ;ALWAYS BRANCHES
    $1 JSR KCONCK ;HERE ARE THE 2 INSTRUCTIONS TO BE
    TRANSFERRED
    RTS
    $2 LDY #3 ;TRANSFER 4 BYTES TO BF0A
    $21 LDA $1,Y
    STA CONCKVECTOR,Y
    DEY
    BPL $21

    ;SET UP JUMP VECTOR POINTERS IN 0 PAGE
    LDY #7
    $3 LDA JVECTRS,Y
    STA UDJVP,Y
    DEY
    BPL $3

    ;---------------------------------------
    ;
    ; SET SCREEN MODE ETC
    ;
    ;---------------------------------------
    LDA #80
    STA HCMODE
    LDA 0C051 ;SET TEXT MODE
    LDA 0C052 ;SET BOTTOM 4 GRAFIX
    LDA 0C054 ;SELECT PRIMARY PAGE
    LDA 0C057 ;SELECT HIRES GRAFIX
    LDA 0C010 ;CLEAR KEYBOARD STROBE
    JSR FORM ;ERASE SCREEN
    JSR INVERT ;PUT CURSOR ON SCREEN
    JSR DRESET ;DO ONCE ONLY DISK INIT
    LDA SLTTYPS+3 ;WHAT CARD IN SLOT 3?
    LDY #030 ;SLOT 3
    JSR GENIT ;SET BAUD IF COM OR SER THERE
    CPX #0 ;WAS AN EXTERNAL CONSOLE THERE?
    BNE STARTUP ;NO,USE APPLE SCREEN
    LDA #4
    STA SCRMODE ;SET BIT 2 FOR EXT CON
    STARTUP JMP JPASCAL ;FOLD IN INTERP AND START PASCAL

    ;-------------------------
    ;
    ; SUB TO CHECKSUM ONE PAGE
    ;
    CKPAGE LDA #0
    TAX ;CLEAR SUM
    TAY ;CLEAR INDEX
    CKNX CLC
    ADC (CKPTRL),Y ;ADD BYTE
    BCC NOCRY
    INX ;INC HI BYTE IF CARRY
    NOCRY INY ;BUMP INDEX
    BNE CKNX ;SUM 256 BYTES
    RTS ;RETURN SUM IN X,A AND Y=0


    ;-------------------------------------------------------------
    ;
    ; BIOS HANDLERS FOR LOGICAL AND PHYSICAL DEVICES.
    ;
    ;-------------------------------------------------------------




    (*
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    $$$ END OF FILE : PSCL06 - DOC.7.TEXT
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    File brought to you by:

    Apple Macintosh Apple II Pascal Disk Image Dumper 0.0.9 (09 May 2004)
    David T Craig (Santa Fe, New Mexico, USA)
    shirlgato@... / dcraig@...

    Sunday, May 9, 2004 -- 10:40:55 AM
    *)
    | 513|108|2006-02-19 09:12:31|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Disk images/Apple II/ATTACH1.do
    Uploaded by : wilserv_41 <willi@... Description : Disk distributed by the Philadelphia Area Computer Society (PACS)

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Disk%20images/Apple%20II/ATTACH1.do

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 514|108|2006-02-19 09:16:00|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Disk images/Apple II/ATTACH2.do
    Uploaded by : wilserv_41 <willi@... Description : Disk distributed by the Pascal Interest Group of Washington Apple Pi (WAP)

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Disk%20images/Apple%20II/ATTACH2.do

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 515|515|2006-02-19 09:44:58|Willi Kusche|About the files I just uploaded|
    Hi, y'all!

    The group of messages posted by David Craig reminded me of the
    disks I obtained many, many moons ago and that are stored on the hard
    drive of my trusty Amiga 3000. The two files are images of two disks
    that are almost identical. They contain all the files David posted in
    his messages plus others. The disk from PACS I picked up at a PACS
    meeting at least 20 years ago. The copy from WAP was one of a group
    of about 15 that I acquired about 10 years ago by mail.

    I seem to remember doing some work many years ago to determine
    what the differences are between the two disks but my memory has
    failed me as to what they are. A straight binary compare of the two
    files shows a great number of differences but catalog listings of the
    two files appear to be identical. If someone in the group has more
    time on their hands than they know what to do with is welcome to
    determine the differences and report back to the group.

    Oops, the images aren't on the hard drive of my Amiga, they're on
    a Zip disk. I just noticed that another one of the WAP disks has
    something called "The Guerilla Guide to Apple Pascal" that might be of
    interest to the group so I'm about to upload that one, also.

    Willi
    | 516|108|2006-02-19 09:51:20|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Disk images/Apple II/PIG13.do
    Uploaded by : wilserv_41 <willi@... Description : Disk from WAP with "The Guerilla Guide to Pascal"

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Disk%20images/Apple%20II/PIG13.do

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    wilserv_41 <willi@...| 517|517|2006-02-21 22:00:48|Eric Scharff|Tiny Pascal|
    In a question peripherally related to UCSD pascal, I recently
    discovered "Tiny Pascal."

    In Byte Magazine Vol. 3 Nos. 9, 10, and 11 (Sep 1978, Oct 1978,
    Nov 1978) there is an article written by Kin-Man Chung and
    Herbert Yuen describing a "Tiny Pascal" compiler. Tiny Pascal
    compiles a subset of pascal to p-code, and then translates that
    p-code into 8080 assembly. The compiler is written in North
    Star BASIC.

    I found the articles in the local library, but I noticed that
    the listings are incomplete (especially the p-code to 8080
    translation program is absent)

    I'm interested in tracking down the history and sources of this
    compiler. I have heard that it was ported to many other 8-bit
    machines. I'm trying to track down working versions of this
    compiler and those from which it was derived. I'm told that
    Lazer Pascal was a Tiny Pascal derivative.

    Any pointers would be greatly appreciated.

    Thanks,

    -Eric

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 518|108|2006-02-21 22:08:21|David Barto|UCSD Pascal I.5 is available for download.|
    The following link is the UCSD I.5 sources, as distributed by UCSD
    for all to use as they wish. This has been validated and released
    from UCSD.

    I'm very happy to make this announcement to this group.

    Feel free to download and use.

    -barto

    From William Decker at UCSD

    David:

    We are good to go with I.5. Please feel free to let folks know.

    http://invent.ucsd.edu/technology/cases/1995-prior/SD1991-807.htm


    | 519|108|2006-02-22 01:16:33|willi@wilserv.com|Re: UCSD Pascal I.5 is available for download.|
    Hi!

    Quoting David:
    Thanks!!! I added the link to the "Links" page.

    Willi
    | 520|108|2006-02-22 01:18:27|John Foust|Re: UCSD Pascal I.5 is available for download.|
    At 02:08 PM 2/21/2006, David Barto wrote:
    http://invent.ucsd.edu/technology/cases/1995-prior/SD1991-807.htm

    Amazing news! Wonderful to hear. Who can we thank for this,
    both inside and outside UCSD? Was this a consequence of the
    anniversary celebration?

    I know I tried in 1996 to have the source released or at least
    some sort of hobbyist licensing enacted - but to no avail.

    What do you know about the provenance of these particular
    I.4 and I.5 sources that have been released?

    - John
    | 521|517|2006-02-22 01:18:27|John Foust|Re: Tiny Pascal|
    At 02:00 PM 2/21/2006, Eric Scharff wrote:
    It was reproduced in full in the 1979 "Byte Book of Pascal."
    I have a hardcover copy here.

    - John
    | 522|517|2006-02-22 05:33:50|Ed Davis|Re: Tiny Pascal|
    --- Eric Scharff wrote:

    Get a copy of the Byte Book of Pascal. You can get it used for
    $10 or so. It appears to contain the complete sources.

    On the web, I've found the following:

    1)

    http://www.retroarchive.org/cpm/cdrom/SIMTEL/CPMUG/CPMUG050.ARK

    This is an implementation for CP/M.

    The source for Tiny Pascal is in a non standard Pascal dialect.
    It claims to compile itself, however. Translates to p-code.
    There is no p-code interpreter, but there is a p-code to 8080
    machine code translator.

    While this one does not mention Chung's and Yuen's version, it is
    obviously derived from it, as it uses some of the same p-code
    extensions, and compiles pretty much the same Pascal subset.

    2)

    http://cq-pan.cqu.edu.au/david-jones/Projects/rcos/software/rcos.zip

    This is an implementation for MS-DOS. Only translates to p-code.

    Tiny Pascal is written in Pascal, and the documentation says that
    it was translated from the Northstar Basic sources.

    I would be interested to hear about anything you come up with or do
    regarding Tiny Pascal!

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 523|108|2006-02-22 15:51:20|David Barto|Re: UCSD Pascal I.5 is available for download.|
    David Barto gathered the I.5 source from lots of people, and put the
    package together for UCSD. Kelly Briggs at UCSD pointed me in the
    proper direction inside of UCSD to get it released.

    William Decker at UCSD did the analysis of the code and approved it
    for release.

    Ken Bowles was informed of this announcement and was very happy to
    finally have it available for all to use and learn from.

    -barto


    | 525|525|2006-02-23 16:24:44|garyekaufman|Osborne system disks?|
    I was a heavy user of UCSD pascal on PDP11/03, Apple II and Z80
    platforms in the late 70's. I'd like to set up a working system again.

    Besides the usual Pentium platforms, I have a two working Osbornes. I
    thought that might be a nice vintage platform to play with the P system
    again. Does anyone know of a source of bootable UCSD Pascal disks for
    the Osborne (5 1/4" SD) system?

    Many thanks,

    - Gary
    | 526|108|2006-02-24 20:51:18|Aaron Gray|Re: UCSD Pascal I.5 is available for download.|
    Now all we need is some PDP-11's or PDP-11 emulators which do exist :)
     
    Aaron
     
     
    | 527|108|2006-02-25 10:01:25|Laurie Boshell|Re: UCSD Pascal I.5 is available for download.|
    Hi Barto,

    Well done on the I.4 and I.5 front.

    Perhaps it is time to try and collate II.0 stuff.
    As a starter I'm uploading the complete source for
    the II.0 interp for Z80 under CP/M. Z80INTERP20.ZIP

    I understand that it will assemble with the I.5 assembler.

    Anyone else have bits of the II.0 system?? :)

    Kind regards,

    Laurie.

    --- In UCSDPascal@yahoogroups.com, David Barto the
    it
    UCSD
    group.
    | 528|108|2006-02-25 10:02:22|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /Z80INTERP20.zip
    Uploaded by : laurieboshell2004 <laurie@... Description : Complete source code for the Z80 interp for II.0 under CP/m

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/Z80INTERP20.zip

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    laurieboshell2004 <laurie@...| 529|108|2006-02-25 10:10:41|Philip Pemberton|Re: UCSD Pascal I.5 is available for download.|
    In message <dtp2qp+b9mm@...
    Agreed. No binaries though, which means I need to find another I.5 P-system
    to compile the compiler (after I finish writing the VM for my 6502 board) :-/

    This is going to be fun...

    Thanks,
    --
    Phil. | Kitsune: Acorn RiscPC SA202 64M+6G ViewFinder
    philpem@... | Cheetah: Athlon64 3200+ A8VDeluxeV2 512M+100G
    http://www.philpem.me.uk/ | Tiger: Toshiba SatPro4600 Celeron700 256M+40G
    ... 90% of being smart is knowing what you're dumb at.
    | 530|108|2006-02-25 16:11:40|Laurie Boshell|Re: UCSD Pascal I.5 is available for download.|
    --- In UCSDPascal@yahoogroups.com, Philip Pemberton board) :-/

    I know of at least 3 options depending on your hardware:

    1. Using either a real Apple 2 or an Apple 2 emulator, use the disk
    image I56502.dsk ( in Disk images of the file area) that I made
    some years ago to run the I.5 system. It will compile the compiler
    for you.

    2. If you have a PC, use I5forPC in the file area, under PCDOS or
    in a dos box for windows. Use interp7.exe to run the pcode file
    pc157j.cod which is a I.5 compiler. It will compile any valid
    I.4 or I.5 system file: ONLY PROBLEM...it does not do include
    files. So, have your compiler that you want to compile in one
    source file.

    3. Use Dave Dunfield's North Star emulator: he has the disk images
    for a I.5 system. Seems very stable. I have used it to compile
    the I.4 system editor.
    ( go to http://www.parse.com/~ddunfield/museum/ and use the link to
    simulators and emulators at the bottom of the page. )

    Hope this helps.

    Chrres,

    Laurie.
    | 531|108|2006-02-26 01:13:09|Philip Pemberton|Re: UCSD Pascal I.5 is available for download.|
    In message <dtpoee+q361@... "Laurie Boshell" <laurie@...
    That sounds easy enough. Compile a compiler for the 6502, then compile the
    rest of the P-system and copy it over.
    The problem now is finding either a 6502 P-system VM that I can port to my
    system, or some documentation on the I.5 P-system VM that I can use to write
    my own...

    Seems like that's the way to go - compile on a PC and copy the binaries over
    to the 6502.

    I wonder how fast P-System will run on an 8MHz 6502.. or if it will be able
    to handle the 80Mbyte hard drive...

    Thanks.
    --
    Phil. | Kitsune: Acorn RiscPC SA202 64M+6G ViewFinder
    philpem@... | Cheetah: Athlon64 3200+ A8VDeluxeV2 512M+100G
    http://www.philpem.me.uk/ | Tiger: Toshiba SatPro4600 Celeron700 256M+40G
    ... "What?!? This isn't the Files section?!?"
    | 532|108|2006-02-27 01:25:46|John B. Matthews MD|Re: UCSD Pascal I.5 is available for download.|
    On Feb 25, 2006, at 6:10 PM, Philip Pemberton wrote:

    I frequently run Apple II Pascal 1.3 (UCSD II.1) on an emulator at 8
    MHZ. Repeated, long compiles are a bit tedious, but everything else
    is zippy.

    The system tolerates large volumes within some limits: MAXDIR, the
    number of directory entries, defaults to 77. A larger value is
    possible but cumbersome. Also, set the volume DIRENTRY's DEOVBLK to
    the last block on your volume. The largest volume I ever created on a
    hard disk was one megabyte (DEOVBLK := 2048). In the era of slow
    floppies, I loved to purposely fragment a volume with the Filer's M
    (ake command and watch K(rnch go to town:-)

    John
    --
    jmatthews at wright dot edu
    http://www.wright.edu/~john.matthews/

    | 533|533|2006-03-01 02:03:07|Ben Yates|? - what is the smallest machine running the P-system|
    My guess is the 99/4A, but I'm curious if there is something smaller.

    I suppose since the 99/4A used ROM/GROM to run it on a 32k RAM system,
    this same setup could have been used on another machine with even less
    RAM?

    And maybe since the 99/4A has two code pools (one of 20k and Video
    Display RAM of 10k) with these combined it may not be the smallest?
    | 534|533|2006-03-01 04:06:09|Shirl|Re: ? - what is the smallest machine running the P-system|
    My understanding is a 64KB RAM machine is the smallest that one can run the
    UCSD Pascal system.

    I recall reading long ago in a UCSD p-system article from one of the UCSD
    p-system people that they conducted a study and found this size to be
    minimum in terms of not having the p-system OS code swapping too much and
    causing unacceptable performance delays. There had to be enough memory (RAM
    or ROM) to hold the p-code interpeter (believe around 10KB in size
    typically) and the OS core (believe around 32KB in size typically). The
    remainder of memory could then be used for application use.

    The Apple II system ran UCSD Pascal with 64KB RAM but required certain
    programs such as the Pascal compiler to swap code segments if your Pascal
    source was large otherwise the compiler's symbol table overflowed.

    I consider from experience 64KB RAM to be the minimum address space for the
    p-system. My Apple IIe with 64KB RAM was very slow when compiling and
    running large programs which had to be segmented. My Apple IIe with 128KB
    RAM (2 64KB bank switched) was much much better.

    How big was the TI 99/4A ROM? I'm guessing 32KB. I assume this hosted the
    p-system.

    - David Craig

    ----------
    | 535|533|2006-03-01 04:34:44|ti99_forever|Re: ? - what is the smallest machine running the P-system|
    --- Shirl <shirlgato@...
    The ROM has 12k...

    Anders said it best...
    ... has 12K of ROM, in 8K address space (the last 4K
    was bank-
    switched). In this ROM, most of the p-code interpreter
    is stored. There
    are also drivers for various I/O devices and similar
    things. The most
    frequently executed part of the PME is copied into
    internal RAM in the
    console, to achieve higher execution speed. Also some
    other parts are
    copied into the RAM expansion, since they must be
    available even when
    the p-code card is disabled, to allow access to other
    cards, like the
    disk controller.

    In addition to this, there are GROM's (special
    ROM-circuits with
    autoincrementing addressing technique) on this card.
    These ICs simulate
    a ROM disk, #14:, which has the files containing the
    operating system.
    This means that the floppy in the root drive (#4:)
    doesn't have to hold
    that file as well.
    These GROM also has space for the code that's copied
    to RAM when the
    system starts.
    [end quote]

    So, if we speak of RAM remaining to the user, what is
    the minimum? You earlier said 10k for the interpreter,
    32k for the OS core, that is 42k, leaving only 22k
    free on a 64k system? Is this correct?

    I got my numbers by running a program that used the
    memory utilities (memavail being one, I can't remember
    which code pool it showed, CPU or VDP).

    And yes, the compiler swaps like crazy on the TI... Of
    course it is IV.0, which I believe the manual stated
    there was more swapping than earlier versions.

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 536|533|2006-03-01 09:32:15|Stuart Bell|Re: ? - what is the smallest machine running the P-system|
    On 1 Mar 2006, at 00:03, Ben Yates wrote:

    The Commodore 64 system, which was demoed but AFAIK, never made a
    commercial product (one reason being that using the lethargic disc
    system was like watching paint dry) must be a candidate!

    STuart
    | 537|533|2006-03-02 00:44:29|Eric Scharff|Re: ? - what is the smallest machine running the P-system|
    Who developed/demoed a Commodore 64 port of UCSD pascal? I
    agree that the disk system was painfully slow, but modern kernel
    implementations and disk drives fix this problem. BTW: Like
    the Apple II, the Commodore 64 had 64 K of physical RAM,
    although like the Apple II you need to bank switch out the I/O
    and ROM to access all of the RAM. So, strictly speaking the
    C-64 was no less "small" than the Apple.

    -Eric

    --- Stuart Bell <stuartsmacs@...
    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 538|517|2006-03-02 09:23:49|willi@wilserv.com|Re: Tiny Pascal|
    Hi!

    Quoting Eric:
    KMMM Pascal had its genesis in Tiny Pascal. The early versions of KMMM
    Pascal were based on Tiny Pascal so I paid a royalty to Chung and Yuen. At
    some point all component parts of KMMM Pascal were coded in assembly language.

    KMMM Pascal was available for the Commodore PET a few years before the C64
    was released. I got my hands on a C64 shortly after it was released and
    discovered that the ROMs in the C64 weren't much different than those in the
    PET. So it took me just a couple of weeks to get the C64 version of KMMM
    Pascal working.

    Willi
    | 539|533|2006-03-02 09:35:47|Stuart Bell|Re: ? - what is the smallest machine running the P-system|
    On 1 Mar 2006, at 22:44, Eric Scharff wrote:

    I remember it being demoed at a USUS(UK) Conference; the presenter was
    embarrassed at the speed and muttered about the disc system. I think
    it was either Softech or TDI.

    Stuart
    | 540|533|2006-03-02 09:39:38|willi@wilserv.com|Re: ? - what is the smallest machine running the P-system|
    Hi!

    Quoting Eric:
    If I remember correctly, the rumor was that Commodore didn't want to pay for
    using the UCSD name. I didn't mind a bit as it gave me a two year monopoly on
    supplying a version of Pascal to C64 users. At one point I made a deal with
    Abacus Software for them to release an older version of KMMM Pascal as Zoom
    Pascal for the C64. So, for a period of time, I was competing with myself.

    Willi
    | 541|533|2006-03-02 15:17:53|ti99_forever|Re: ? - what is the smallest machine running the P-system|
    --- Stuart Bell <stuartsmacs@...
    ...
    [UCSD for the C64]
    What year? What version? I'd be surprised if it was
    really any slower than TI's version, and yet it was
    released (sort of - it was produced, but during the
    life of the TI it was hard to get. Stories abound of
    people trying to obtain the package and only being
    successful after the machine was dumped).


    ---
    Ben
    http://journal4cs.blogspot.com/

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 542|533|2006-03-02 15:23:02|John Foust|Re: ? - what is the smallest machine running the P-system|
    At 01:37 AM 3/2/2006, willi@... wrote:
    Did you keep your sources? Who has the rights now?

    I think I had a Pascal for my C-64 but I'm drawing a blank
    on the name... I don't think it was any of those mentioned so far.

    - John
    | 543|533|2006-03-02 15:35:53|Stuart Bell|Re: ? - what is the smallest machine running the P-system|
    On 2 Mar 2006, at 13:19, John Foust wrote:

    My recollection is that it was to have been priced in line with
    SofTech/TDI's normal pricing structures, which meant that it might be
    OK for developers, but prohibitive for end users.

    Stuart
    | 544|533|2006-03-02 23:11:56|Laurie Boshell|Re: ? - what is the smallest machine running the P-system|
    Willi,

    Where is KMMM Pascal now? Can we run it on a C64 emulator?

    Laurie.
    | 545|533|2006-03-03 11:09:57|Willi Kusche|Re: ? - what is the smallest machine running the P-system|
    Hi!

    Quoting John:
    I did all my development on a Commodore 32K PET equipped with an S-100 buss
    adaptor. The S-100 buss had a 32K RAM card and a Versafloppy disk controller
    card connected to two 8 inch single sided single density drives. All the
    source is on 8 inch disks. I still have the disks but the question now is, did
    the disks keep? The system is still set up in the den but it's been years since
    I've turned it on. Now, I'm afraid of what will happen if I try to power it up.

    There was Kyan Pascal and Oxford Pascal and probably more. Kyan Pascal was
    available for the Apple II, the Atari 800 and the C64. Kyan is an excellent
    system. It's so much better than what I did that I've reverse engineered all
    of Kyan's stuff and am actively maintaining it for my own use. My attempts to
    contact Kyan have not been successful.

    Willi
    | 546|533|2006-03-03 11:38:23|Willi Kusche|Re: ? - what is the smallest machine running the P-system|
    Hi!

    Quoting Laurie:
    GOOOOOOD question. I'll have to dig down to the lower strata of the piles
    of old computer stuff in this place to see if I can find executable copies.

    You would need an image of Commodore 1541 disk, right? But there is one
    problem. You could run the editor, compiler or editor/compiler but the
    generated programs would not run unless there was a hardware dongle on the user
    port of the C64 or PET when you compiled the program you wanted to run. Is
    there a copy of KMMM Pascal somewhere on the I'net with the copy protection
    removed? If not, I'm not sure if I could, at this late date, build a version
    that doean't need a dongle.

    Now that you've got the old grey cells stirred up, I remember that my
    development system generated versions that weren't protected. But the I/O for
    those versions was for the PET and the Versafloppy controller card on the S-100
    adaptor. Now that was a speedy system, in it's day...

    Willi
    | 547|533|2006-03-03 13:22:45|Willi Kusche|UCSD Pascal for PET, was: smallest machine...|
    Hi!

    | 548|533|2006-03-03 16:20:56|John Foust|Re: ? - what is the smallest machine running the P-system|
    At 03:08 AM 3/3/2006, Willi Kusche wrote:
    Yes, the old capacitors in the power supply may have trouble.
    But the disks are probably OK. They used big, long-lasting bits
    back then. I am sure some of the folks on the Classic Computer
    Collector mailing list http://classiccmp.org/ can give advice about
    how to read those floppies. If the PET was just handing it
    sectors, it's just a matter of reading the raw sectors and
    then reassembling it into a disk image that could be handled
    by some other utility.

    - John
    | 549|533|2006-03-03 16:31:06|Eric Scharff|Re: UCSD Pascal for PET, was: smallest machine...|
    The SuperPET 9000 was really a PET 8032 with a 96K of memory.
    The expansion board had a 6809 processor on it. I know that
    there was a "Waterloo Pascal" for the SuperPET. I think this
    was a different system. AFAIK, there is no SuperPET emulator
    out there, but adding a 6809 emulation layer to VICE would not
    necessarily be that hard.

    I wonder if this the Pascal in question, or if there was a port
    for the 6502-based PET (which would probably port easily to the
    Commodore 64).

    -Eric

    --- Willi Kusche <willi@...
    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 550|533|2006-03-03 20:06:49|Willi Kusche|Re: UCSD Pascal for PET, was: smallest machine...|
    Hi!

    Quoting Eric Scharff <eds_2@... Waterloo Pascal for the SuperPET is not a port of UCSD Pascal. My memory of
    UCSD Pascal for the PET was reinforced by an entry in the list of PET software
    published on the site listed below.

    Willi

    http://www.npsnet.com/danf/cbm/languages.html
    | 551|533|2006-03-03 22:50:08|Richard Stearn|Re: UCSD Pascal for PET, was: smallest machine...|
    Willi Kusche wrote:
    Willi

    Is this link relevant?

    http://wwwmatthes.in.tum.de/file/Lehrstuhl/Mitarbeiter/matthes/C64_C128/index.htm

    Towards the bottom of the page there is a table of what I suspect are disk
    directory listings.

    It is from Hans Ottens' website
    <http://www.hansotten.com/indexpascal.html

    --
    Regards
    Richard
    | 552|533|2006-03-04 09:17:23|Willi Kusche|Re: UCSD Pascal for PET, was: smallest machine...|
    Hi!

    Quoting Richard:
    http://wwwmatthes.in.tum.de/file/Lehrstuhl/Mitarbeiter/matthes/C64_C128/index.htm
    Not really. If you take a careful look at Hans' site, the section heading
    is "Pascal on the Commodore". Although the section follows the UCSD stuff it
    is really a separate section. At least, that's the way I see it.

    Willi
    | 554|554|2006-03-05 08:38:17|RWWells@aol.com|Does anyone know of a clean UCSD package?|
    I am looking for a UCSD installation that mimics the default setups. The one
    I installed is missing the help files but includes some extraneous software
    that does not interest me. Ideal would be a DOS hosted variation.

    I could see if my parents still have the PDP-11 I used 25 years ago and
    transfer disks and install an emulator. But that is a lot of work just so I can
    show that UCSD p-system was as good as I vaguely remember it.
    | 555|108|2006-03-09 05:23:10|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /TI/PASCAL.txt
    Uploaded by : ti99_forever <ti99_forever@... Description : Early description of TI system by USUS member

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/TI/PASCAL.txt

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    ti99_forever <ti99_forever@...| 556|108|2006-03-09 05:28:00|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
    Hello,

    This email message is a notification to let you know that
    a file has been uploaded to the Files area of the UCSDPascal
    group.

    File : /TI/SYSMAP.TXT
    Uploaded by : ti99_forever <ti99_forever@... Description : ti p-code card memory map

    You can access this file at the URL:
    http://groups.yahoo.com/group/UCSDPascal/files/TI/SYSMAP.TXT

    To learn more about file sharing for your group, please visit:
    http://help.yahoo.com/help/us/groups/files

    Regards,

    ti99_forever <ti99_forever@...| 557|108|2006-03-09 22:14:40|al_kossow|Re: UCSD Pascal I.5 is available for download.|
    I took a look at what is on the UCSD site for I.4, and was disturbed
    to see it is an archive of several floppy images I read for Mark Riorden.

    A REAL distribution needs to be found. This one contains things like
    index.html files with my old spies account in them, and lots of material
    not related at all to I.4.

    I'm hoping John Foust may have archived something in his Terak
    archives.
    | 558|554|2006-03-09 22:14:46|al_kossow|Re: Does anyone know of a clean UCSD package?|
    --- In UCSDPascal@yahoogroups.com, RWWells@... wrote:

    I would be willing to read these for you if the floppies can be found.
    | 559|108|2006-03-10 01:34:00|John Foust|Re: UCSD Pascal I.5 is available for download.|
    At 02:13 PM 3/9/2006, al_kossow wrote:
    Deja vu strikes - I thought we had exorcised his personal
    files from that archive a long time ago.

    Well - define "real distribution". See below.

    I'm not sure off the top of my head what I have. A full online
    catalog has been on the to-do list for a decade. :-)

    I agree that we can probably find something more definitive,
    such as a distribution floppy from UCSD or (in my case) Terak.
    Certainly the sources were distributed for particular platforms
    with relevant source code and sometimes even other interesting bits
    for other platforms.

    Obviously, all the years that I'd hoped that UCSD would release the
    source code, it would be that someone still knew of the largest
    possible archive of material containing all versions, all manuals,
    all OS-specific porting bits, etc. However, I would guess that
    many files have been lost. Indeed, a quick examination of a
    series of emails I exchanged with Bowles in 1996 shows the
    lack of preservation of this material.

    Perhaps a "real distribution" will consist of many different
    files on a timeline, some clustered in logical groups, others
    not and recognized as in-between pieces or platform-specific code.

    Unfortunately, all of my Teraks are no longer running, and I've
    never gotten around to connecting an 8" drive to a PC in order
    to find alternative methods of rescuing my disks.

    - John
    | 560|108|2006-03-10 01:56:22|al_kossow|Re: UCSD Pascal I.5 is available for download.|
    --- In UCSDPascal@yahoogroups.com, John Foust
    This is the classic problem that has developed with software preservation.
    No one is willing to release the code until no copies can be found.

    That would be a good thing. The contact person that I forwarded in
    the private msg that I sent to you seems to want to do the right thing.

    If you have a tidied up I.4, I'm sure he'd be happy to get it back on line.

    I was in Wisconsin several times this past year, but was tied up
    with other things. I'll see what I can do to get your floppies archived.
    | 561|554|2006-03-10 02:42:58|Laurie Boshell|Re: Does anyone know of a clean UCSD package?|
    Please excuse me if I state the obvious:
    Look in the file area of this group if not
    done so already.
    Check out 15sys1.vol and 15sys2.vol, images of my
    8" floppy distribution disks for I.5 with most
    sources.
    Currently I'm tracking down IV.13 sources with
    moderate success.

    Laurie
    | 562|533|2006-03-10 04:27:04|Aaron Brockbank|Re: ? - what is the smallest machine running the P-system|
    --- In UCSDPascal@yahoogroups.com, "Ben Yates" system,
    less
    I remember using the version for the TRS-80 Model I, which ran on 32k
    systems. It did run better on 48k systems. FMG manufactured it, but
    Tandy in Australia never distributed it (I worked in Computer Support
    at Tandy's Aust HQ from 1979-81, and 'road tested' it for them.)

    I think I still have a copy of the disks here somewhere - if I can
    ever find them, I'll put the disk images in the files area.
    | 563|108|2006-03-10 06:46:22|Shirl|Re: UCSD Pascal I.5 is available for download.|
    "al_kossow" <aek@...
    I too saw some UCSD Pascal files that I had created. Specuificaly, the
    PROCNAME LISTING files which I produced using Apple's Macintosh MPW
    ProcNames tool several years go.

    Seems like UCSD does not have an official distribution of USCD Pascal 1.4.

    - David Craig
    | 564|564|2006-03-12 21:06:08|Willi Kusche|FORTRAN|
    Hi, y'all!

    "What are FORTRAN files doing in a UCSD Pascal group file area?",
    you ask. Well, there was a FORTRAN compiler that runs under the
    operating system used by UCSD Pascal. I just uploaded a couple of
    Apple II disk images that will let you play with FORTRAN on your Apple
    II or on the Oasis Apple II emulator for Windows. "IIe", an Apple II
    emulator for the Mac, has a problem with these images.

    Willi
    | 565|565|2006-03-12 21:18:05|Willi Kusche|Plain text only, please|
    Hi!

    I see that those of you who post messages to this group from the
    Web interface provided by Yahoo! now see the following message: "New!
    Compose your message with Rich-Text Editor (Beta).". Please do NOT
    use this Editor. Also, please stick with plain text.

    Willi
    | 566|564|2006-03-13 09:21:18|ti99_forever|Re: FORTRAN|
    --- Willi Kusche <willi@...
    Willi,

    Several years ago, another TI buddy of mine gave me a
    Fortran compiler, that supposedly ran on the TI. I
    couldn't get it to work. It would compile programs as
    long as you didn't call any output functions.

    I remember renaming a library on it to be
    system.library (I think I did).

    Are there any samples of Fortran programs on the disk
    you uploaded? Wonder how we can transfer between the
    two systems...

    ---
    Ben
    http://journal4cs.blogspot.com/

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com
    | 567|564|2006-03-13 09:58:10|Willi Kusche|Re: FORTRAN|
    Attachments :
      Hi!

      Quoting Ben:
      It would seem that the program I use to write e-mail messages will only
      allow me to attach files, not insert them. So, I've attached three trivial
      FORTRAN programs. If YAHOO! strips the attached files from this message, I'll
      add them to the file area.

      Willi

      Attached:
      DEMO.TEXT
      RRDISK.TEXT
      WRDISK.TEXT
      | 568|564|2006-03-13 11:16:39|ti99_forever|Re: FORTRAN|
      --- Willi Kusche <willi@...
      Thank you, they came through. Now I will have to find
      that Fortran disk!

      I have a book on VAX Fortran that I was trying...


      ---
      Ben
      http://journal4cs.blogspot.com/

      __________________________________________________
      Do You Yahoo!?
      Tired of spam? Yahoo! Mail has the best spam protection around
      http://mail.yahoo.com
      | 569|554|2006-03-16 21:57:36|RWWells@aol.com|Re: Does anyone know of a clean UCSD package?|
      In a message dated 3/10/06 5:17:21 AM Eastern Standard Time, "Laurie Boshell"
      writes:

      Thank you. That plus a few other pieces downloaded combined to make a
      reasonable facsimile of how I remembered P-system as being. It is good to know that
      when I was espousing a favorable view of the system that I was not confusing it
      with other programs.
      | 570|533|2006-03-19 01:00:54|Anders Persson|Re: ? - what is the smallest machine running the P-system|
      After I got a simple RAM-disk working with the p-system, it became
      much better. Swapping from a RAM-disk doesn't take that much time, and
      is silent!

      Anders
      | 571|533|2006-03-19 11:21:50|ti99_forever|Re: ? - what is the smallest machine running the P-system|
      --- Anders Persson <apersson850@...
      You sent me your Ram-disk code, but I never could get
      it to work with my Horizon. Shortly after trying, my
      HRD started having problems, so I had to send it off
      to be repaired (I'm sure it was unrelated to your
      program!).

      I'd like to try again someday. My HRD was "repaired",
      but constantly loses its contents - much like its
      owner ;)

      I once ran the P-system from an MFM hard drive, using
      the HFDC and emulate files. It would run fine for a
      while, but then the volume would disappear from the
      P-system, like it went offline.



      ---
      Ben
      http://journal4cs.blogspot.com/

      __________________________________________________
      Do You Yahoo!?
      Tired of spam? Yahoo! Mail has the best spam protection around
      http://mail.yahoo.com
      | 572|533|2006-03-19 20:49:21|Anders Persson|Re: ? - what is the smallest machine running the P-system|
      --- In UCSDPascal@yahoogroups.com, ti99_forever Yes, I remember, and I also remember that you never got it to work.
      In my case, it's my own home-brew RAM-disk I'm using, but the same
      principle also worked for my friend Lennart Thelander, who had some
      off-the-shelf RAM-disk. I don't remember if it was Myarc or what,
      but I do remember it was 512 kbyte, and that it also worked as a
      memory expansion (external, of course).

      I have a suggestion: Pack your TI in a box, then come visit me, and
      I'll plan some days of vacation and we can use our old TI computers
      together. I have a house that's big enough now, to have a separate
      TI-room on the attic. There is heating, if you come before the
      summer...

      Then I bet it will work before you leave.
      Do you fancy a beer? Have to update my supply.

      Anders
      | 573|554|2006-03-21 17:54:48|dbarto|Re: Does anyone know of a clean UCSD package?|
      Note that a very complete distribution of the sources for I.5 can be
      found at UCSD:

      http://invent.ucsd.edu/technology/cases/1995-prior/SD1991-807.htm

      -barto

      | 574|554|2006-03-21 18:06:38|John Foust|Re: Does anyone know of a clean UCSD package?|
      At 09:54 AM 3/21/2006, you wrote:
      Indeed, the "filenote.txt" file there was written by Laurie Boshell,
      and those are his sources of System I.5, filer version F.5...

      - John
      | 575|466|2006-03-21 20:29:57|Eric Scharff|Re: Disassembling p-code|
      There were 3 versions of the Apple II UCSD system, right, (Apple
      Pascal 1.1, 1.2, and 1.3)?

      All three of these versions are based on the UCSD II.1 release,
      yes?

      Is the Apple III version based on UCSD II.1, or another version?

      I'm rather fuzzy on the changes that occurred between Apple
      Pascal 1.1 and 1.3. Does anyone know?

      -Eric

      --- Shirl <shirlgato@...
      __________________________________________________
      Do You Yahoo!?
      Tired of spam? Yahoo! Mail has the best spam protection around
      http://mail.yahoo.com
      | 577|466|2006-03-22 04:10:10|Shirl|Re: Disassembling p-code|
      Eric Scharff on Tue, Mar 21, 2006, 11:29 AM said:

      4 versions -- you missed 1.0

      yes

      yes

      /// Pascal included more language features (non standard) that were useful.
      E.g. BYTESTREAM and WORDSTREAM data types which allowed access to any data
      which was treated as a stream of indexed bytes or words.

      I don't recall the details but in general each higher version either fixed
      previous version bugs (1.0 had lots of bugs, I recall seeing a list and it
      was around 50 bugs if I recall correctly) or added new features. I recall
      1.3 support some new hardware primatives which let you access 800K 3.5"
      disks.

      I have all these versions and their documentation.

      - David Craig
      | 578|466|2006-03-22 04:18:55|Shirl|Re: Disassembling p-code|
      Eric Scharff on Tue, Mar 21, 2006, 11:24 AM wrote:

      I suspect that if you could get the Apple /// sources from someone who
      worked on this at Apple that the job would be rather difficult. The /// had
      a very nice memory manager built into the ///'s OS (SOS) which I'm sure ///
      Pascal used extensively. Trying to retrofit this memory manager on the //
      series would be difficult since this manager required some special memory
      management hardware which the /// had and the // did not.

      I have the sources for the ///'s OS and this was a large OS for its time.
      Believe it's object code was around 20K in size. Therefore, the /// memory
      management module is available. This OS was written in 6502 assembly
      language.

      Does anyone in this group have the /// p-system sources?

      I recall that AL HOFFMAN was one of the /// Pascal developers at Apple. He
      came from UCSD.

      Note that there is a /// emulator for the macintosh which may be the easiest
      way for people today to run /// programs such as /// Pascal. Chris Smolinski
      wrote this several years ago, I believe it is still in development but seems
      to work fairly well.

      Concerning // versus /// hardware, I wrote a paper about this years ago
      which I can find and send to whoever wants a copy. These machines are not as
      close as you would think with the /// being much more sophisticated. Note
      that the /// hardware designer and the //e hardware designer were the same
      person - Walt Broedner. His initials are etched on the //e's motheboard
      (WFB) which was a rare event at Apple.

      - David Craig
      | 579|533|2006-03-24 06:32:04|ti99_forever|Re: ? - what is the smallest machine running the P-system|
      --- Anders Persson <apersson850@... ...
      Don't tempt me! Sounds like fun to me...
      Shoot, wish I hadn't just started a new job!

      __________________________________________________
      Do You Yahoo!?
      Tired of spam? Yahoo! Mail has the best spam protection around
      http://mail.yahoo.com
      | 580|466|2006-03-26 06:42:17|Laurie Boshell|Re: Disassembling p-code|
      --- In UCSDPascal@yahoogroups.com, "Shirl"
      Well I'd love a copy: I have 2 working Apple /// machines but very
      short on software. I dont have a full set of Apple /// Pascal disks,
      can you help there with .DSK images?

      the /// memory
      ago
      Yes David I'd love to read that too. Can you send?



      Laurie Boshell.
      | 581|581|2006-03-26 06:51:56|Laurie Boshell|SOURCE CODE FOR IV.1x|
      I thought that I'd warn (or wet your appetite) the group....

      I've forgotten the exact date but in about 1985 I obtained the
      source code for most of the IV.13 system. I has been on a number
      of original 5.25" distribution disks, and on one of my Sage IV machines.
      I could not read one of the 320K disks but eventually the Sage IV came
      to the rescue and recovered the volume for me. So now they are ready..

      I have put together the complete source code for UCSD PASCAL IV.13
      OS and SYSTEM.COMPILER (IV.13) and sent all this afternoon to David
      Barto. It includes FILER and all OS support stuff but does not have
      the editor or assembler. It DOES have the DOSFILER that we all use to
      move files to and from the DOS hosted system!!

      But we need help, there must be people that have parts of the
      system that I'm missing. Can any one help, hassle friends that might
      have it. This stuff will vanish completey soon. As we've seen, it
      looks like UCSD did not keep copies.

      I think that all those interested will get a copy once we get
      a clearance from UCSD.

      Laurie Boshell
      | 583|583|2006-03-26 18:28:04|al_kossow|Source for II.0 recovered|
      A set of raw 8" floppy images for II.0 (LSI-11 and Z80)
      are up at
      http://bitsavers.org/bits/UCSD_Pascal/ucsd_II.0/

      They need to be verified, but a first pass looks like
      they do contain what the labels say.

      I received another set of images for USUS, most of
      which John has already read, except for vol 33. I'll
      compare the two sets to make sure they match.
      | 584|583|2006-03-26 22:55:18|Laurie Boshell|Re: Source for II.0 recovered|
      --- In UCSDPascal@yahoogroups.com, "al_kossow"
      Thanks for the tip Al.

      The naming of the disks conforms to the system used at SMS.
      They are not .GZ files, but appear to be raw images.
      I'll mount the volumes and check them. But I agree with
      you that they look like the real thing.

      Barto, are you seeing this ?

      Who do we have to thank for this?

      Laurie.
      | 585|583|2006-03-28 23:18:24|John Pham|Re: Source for II.0 recovered|
      Strangely, I couldnt read any of the .gz file.
      Is it possible to archive them in some archiving format that
      has better compression, better error recovery.
      I would prefer RAR file format over gz or zip.



      --- In UCSDPascal@yahoogroups.com, "Laurie Boshell"
      | 586|583|2006-03-28 23:22:34|dbarto|Re: Source for II.0 recovered|
      gunzip the files.

      you now have .raw files, which are mostly like UCSD pascal disk
      images only not. I've tried to read them, but the directory structure
      is corrupt (and I believe that the disk image is also). It might be
      possible to extract the data, but I haven't put too much time into it
      *yet*.

      -barto

      | 587|583|2006-03-29 01:04:09|Eric Smith|Re: Source for II.0 recovered|
      John Pham wrote:
      Must be using the wrong software. They work fine for me.

      You are entirely welcome to convert them to RAR or whatever you
      like. It is *extremely* unlikely that the person that provided
      the images is going to provide them in RAR format.

      barto wrote:
      I have no idea what a "UCSD pascal disk image" as you describe it is,
      but the .raw files are exactly what the extension implies, a raw disk
      image containing 77 tracks (0-76) of 26 sectors (1-26) of 128 bytes
      each.

      They are NOT corrupt. The images are provided in a format that can be
      directly written back to a physical floppy and reproduce the originals;
      some of the disks were bootable and will still be bootable on the
      appropriate hardware after this process.

      What are you using to read them? Possibly your software is using the
      wrong sector interleave?

      Eric
      | 588|583|2006-03-29 05:34:25|John Pham|Re: Source for II.0 recovered|
      Maybe you can tell us which gunzip, zip or uncompress program that you
      use to unzip those file.  I can re-archive them in RAR format


      Eric Smith
      I used gunzip, just as barto suggested. Nothing special there.

      To get the files out of the disk images, I used John Foust's utility.
      | 590|583|2006-03-29 14:17:34|Laurie Boshell|Re: Source for II.0 recovered|
      utility.

      Well I too am struggling to get a clean copy.
      On a PC, using gunzip.exe, it reports that these are not .gz files!
      here is the screen output where U130.1_BASIC_SOURCE.raw.gz was
      renamed as bas.gz ...

      C:\IISource gunzip: bas.gz: not in gzip format

      C:\IISource gunzip: bas.gz: not in gzip format

      C:\IISource
      Further there is evidence that these are not compressed files by their
      size. My PC shows the size as 251 Kb.
      A quick calculation 77 tracks x 26 sectors x 128 bytes = 250.25 Kb,
      the same size as the files, i.e: no compression.

      I have written a short tp program to undo the 2:1 sector interleave
      and although the raw image can then be mounted and read by my p-system
      there appear to be a few sectors per track in the wrong place. So
      some text files are slightly garbled, something that you might miss
      on a cursory inspection. My compiler starts but complains at the
      appropriate parts.

      My interleave order is: 1,3,5,7,9,11,13,15,17,19,21,23,25,2,4,6,8,10,
      12,14,16,18,20,22,24,26.

      Other interleaves 1:1,3:1,4:1,5:1,6:1 and 7:1 fail miserably.

      Can anyone shed more light on this?

      Laurie.
      | 591|583|2006-03-29 16:22:51|dbarto|Re: Source for II.0 recovered|
      I ran 'gunzip' (Unix/MacOS version) on the files, and got the disks,
      with 42 sectors of trash leading the actual disk image, I then
      dissected the disk image by looking at the actual data, and the
      interleave Laurie noted below appears correct.

      | 592|583|2006-03-29 16:45:41|al_kossow|Re: Source for II.0 recovered|
      --- In UCSDPascal@yahoogroups.com, "Eric Smith" a separate directory, and i'll put in on bitsavers?

      Does John's utility preserve the original file dates?

      BTW the 'garbage' at the front are the sectors on the front of the disc.
      As Eric said, what is there is an exact copy of all of the sectors. The
      physical interleave on the discs was 1:1. The utility Eric is using can
      be found at
      http://www.threedee.com/jcm/diskutil/
      | 593|583|2006-03-29 17:20:06|Laurie Boshell|Re: Source for II.0 recovered|
      --- In UCSDPascal@yahoogroups.com, dbarto I should have added: The first track on a CP/M disk for UCSD pascal
      usually was ignored (reserved for CP/M) so I ignored the first 26
      sectors. The UCSD PASCAL directory starts at block 2 so that blocks 0
      and 1 were for bootstrap. that means that there were an extra 8
      sectors before the UCSD directory starts. Further, these disk images
      have duplicate directories with the second directory starting at ucsd
      block 6. (BLOCK = 512 bytes).

      Despite this, I cannot explain why there is a small amount of
      alteration in the text files- it's like the sector interleave is out
      in one of the numbers so that almost all the data read is in the
      correct position.

      Hope you can help.

      Laurie.
      | 594|583|2006-03-29 17:21:12|John Foust|Re: Source for II.0 recovered|
      At 08:44 AM 3/29/2006, you wrote:
      Is DOS's earliest date 1980? So that might not be a feature.
      Moreso in the RT-11 version of the code. I wonder if I tested
      that case. I don't recall all the subtle cases in the conversion
      of a 'struct tm' to a 'time_t'.

      I checked the code for 'bu.c' and it does set the timestamp by default.
      It looks like I intended to make it a command-line option but I didn't.
      It would be easy to add.

      I wrote those in 1990 or so, so I think the code may be DOS, Windows
      and Amiga compatible. Alas, the baby son I was watching when I wrote
      it is now up to my chin.

      - John
      | 595|595|2006-03-29 18:06:48|rly1@earthlink.net|version II.0 is working on simh pdp11|
      Hi All:

      Just a quick status check, the version II.0 inamges work
      just fine using Bob Stupik's simh emulators...

      just gunzip, and attach U006.5_LSI-11_SYS1.raw to drive rx0,
      U012.1_SYS_2.raw to rx1 and boot rx0...

      It looks like everything is there to be able to build a rk05
      hard disk version as well.

      -ron

      ron@server ~ $ cd ucsd/ucsd-II.0/
      ron@server ~/ucsd/ucsd-II.0 $ ls
      CPMBOOT.raw U126_EDITOR_SOURCE.raw
      DIAG.raw U128_L2_YALOE_SOURCE.raw
      U002A.5_Z80_SYS1.raw U130.1_BASIC_SOURCE.raw
      U002B_Z80_SYS1_CPM.raw U132.A_PASCAL_COMPILER_SOURCE.raw
      U006.5_LSI-11_SYS1.raw U132B.2_PASCAL_LINKER_SOURCE.raw
      U012.1_SYS_2.raw U134.4_OS_SOURCE.raw
      U014.1_ASSEM.raw U136.3_LONG_INTEGER_SOURCE.raw
      U120_Z80_P-CODE_SOURCE.raw U138.3_UTILITY_SOURCE.raw
      U121.2_LSI-11_P-CODE_SOURCE.raw UCSD_SYS1_Z80.raw
      U123.1_Z80_ASSEM_SOURCE.raw UCSD_SYS2_Z80.raw
      U124.1_LSI-11_ASSEM_SOURCE.raw test.dsk
      ron@server ~/ucsd/ucsd-II.0 $ ~/work/sim/BIN/pdp11

      PDP-11 simulator V3.5-2
      sim RX: buffering file in memory
      sim RX: buffering file in memory
      sim


      Welcome to
      the Wonderful World of Pascal

      Now that you have brought up the
      system the next step is to configure it
      to your particular terminal. First
      execute SETUP and follow the internal
      directions and the document. Once this
      is done and NEW.MISCINFO is changed to
      SYSTEM.MISCINFO, enter the editor and
      write your GOTOXY routine. If you are
      unfamiliar about how to do this, there
      is a sample GOTOXY on your disk.

      TYPE

      To enable you to write the GOTOXY proc.
      we have bound in a simple GOTOXY proc.
      that will work on any terminal. The
      only problem with this procedure is
      that you cannot move the cursor right
      unless you are in the insert mode, so
      if you make a mistake, delete the
      entire line by placing the cursor at
      the beginning of the line then entering
      the delete mode and typing again.

      TYPE

      Once you have written your
      procedure, have bound it in as described
      by the document, rebooted the system
      and made sure the editor is working
      properly, then you should remove this
      message. This is done by entering the
      filer and removing SYSTEM.STARTUP.

      GOOD LUCK!!!

      Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [II.0]F


      Filer: G, S, N, L, R, C, T, D, Q [B]L
      Dir listing of ? #4


      U006.5:
      SYSTEM.STARTUP 5 28-Feb-79
      SYSTEM.PDP-11 21 20-Feb-79
      SYSTEM.FILER 28 10-Apr-79
      SYSTEM.PASCAL 33 7-Mar-79
      SYSTEM.EDITOR 45 16-Mar-79
      SYSTEM.LINKER 22 10-Feb-79
      SYSTEM.COMPILER 68 8-Feb-79
      SYSTEM.LIBRARY 14 17-Apr-79
      SYSTEM.SYNTAX 14 2-May-79
      BOOTER.CODE 3 7-Mar-79
      RXBOOT 2 7-Mar-79
      SAMPLEGOTO.TEXT 4 17-Nov-78
      BINDER.CODE 6 3-May-79
      SETUP.CODE 25 14-May-79
      NEW.MISCINFO 1 10-Feb-79
      15/15 files, 193 unused, 193 in largest
      Filer: G, S, N, L, R, C, T, D, Q [B]F
      Filer: G, S, N, L, R, C, T, D, Q [B]L
      Dir listing of ? #5


      U012.1:
      YALOE.CODE 14 4-Mar-79
      L2.CODE 50 10-Feb-79
      LIBMAP.CODE 7 28-Feb-79
      MARKDUPDIR.CODE 4 7-Feb-79
      COPYDUPDIR.CODE 3 7-Feb-79
      RT11TOEDIT.CODE 10 4-Mar-79
      EDITTORT11.CODE 6 4-Mar-79
      LIBRARY.CODE 7 7-Mar-79
      DISASM.II.CODE 41 3-Apr-79
      OPCODES.II.0 5 3-Apr-79
      READ.ME.TEXT 4 10-Feb-79
      BASICIO.CODE 10 11-Apr-79
      BASIC.COMPILER 30 11-Apr-79
      13/13 files, 293 unused, 293 in largest
      Filer: G, S, N, L, R, C, T, D, Q [B]Q

      Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [II.0]H

      HALT instruction, PC: 007210 (TRAP 0)
      sim Goodbye
      RX: writing buffer to file
      RX: writing buffer to file
      ron@server ~/ucsd/ucsd-II.0 $ exit
      | 596|583|2006-03-30 00:40:02|dbarto|Re: Source for II.0 recovered : Busted files from extraction|
      Well I've managed to get the files off the images, the following came
      up corrupt though:
      U123B.2_PASCAL_LINKER_SOURCE/GLOBALS.TEXT
      U132.A_PASCAL_COMPILER_SOURCE/BODYPART.A.TEXT
      U134.4_OS_SOURCE/GLOBALS.TEXT
      U136.3_LONG_INTEGER_SOURCE/GLOBALS.TEXT, DECOP.B.TEXT, DECOP.A.TEXT

      Any help on getting this 6 files in a non-corrupt state will allow me
      to send the files
      to UCSD for processing.

      I'll be including the bootable disks as well. A complete package of
      II.0!

      -barto

      | 597|583|2006-03-30 01:34:16|Eric Smith|Re: Source for II.0 recovered|
      You're apparently running one of the buggy browsers that decompresses
      the files when it downloads them, but does not change the extension.
      | 598|595|2006-03-30 02:33:00|al_kossow|Re: version II.0 is working on simh pdp11|
      --- In UCSDPascal@yahoogroups.com, rly1@... wrote:
      Cool! Could you forward the rk image to Bob Supnik?
      | 599|583|2006-03-30 02:37:01|al_kossow|Re: Source for II.0 recovered : Busted files from extraction|
      --- In UCSDPascal@yahoogroups.com, dbarto
      This data should be preserved EXACTLY as it was recovered to be
      a historically accurate artifact.

      Eric may have II.0 from another souce, though I still don't understand
      how the files would have been corrupted, since all of the sectors read
      correctly.
      | 600|595|2006-03-30 02:38:25|al_kossow|Re: version II.0 is working on simh pdp11|
      --- In UCSDPascal@yahoogroups.com, "al_kossow" | 601|595|2006-03-30 05:20:17|ti99_forever|ASE|
      Reading PUG newsletter #27, with great interest,
      concerning ASE (Advanced System Editor).

      It's ability to run on all UCSD versions (including
      the Home Computer from TI), allowing large file sizes
      (I really hate splitting source files on the TI
      version - it only holds about 12k!), and "change
      logging", along with key-macros, "nested" editing...
      sounds like a dream...

      Any chance of finding this?


      __________________________________________________
      Do You Yahoo!?
      Tired of spam? Yahoo! Mail has the best spam protection around
      http://mail.yahoo.com
      | 603|603|2006-03-30 07:16:37|Willi Kusche|Error|
      Hi, y'all!

      My last message was NOT, repeat, NOT supposed to go to the group.
      Sorry about that!

      Willi
      | 604|595|2006-03-30 08:45:23|Stuart Bell|Re: ASE|
      On 30 Mar 2006, at 04:20, ti99_forever wrote:

      I bought it and used it on my Apple Pascal system; it was indeed an
      excellent piece of software, with macros for editing sequences etc etc.

      Stuart
      | 605|595|2006-03-30 16:00:03|Richard Kaufmann|ASE|
      The latest Editor I have is a printout of L.2, which is the last editor I built while still at UCSD. ASE used that as a base, and I signed over all the rights to Volition Systems a long time ago. L.2 actually had the full macro capability (which was the underlying mechanism for change logging), including the put-down / take-up commands. Didn't I see L.2 in that II.0 directory listing?

      Of course, you'd be much better off with ASE. It had a ton more features, and then when someone else finally took it over, a lot fewer bugs :-)


      Cheers,

      Richard
      | 606|595|2006-03-31 03:34:54|rly1@earthlink.net|Re: version II.0 is working on simh pdp11|
      Hi All:

      I'm going to answer both of the simh related questions are once:
      (FYI, all of this is being done on a dual celeron 500 running gentoo
      linux).

      these is first set of ucsd images that I have been able to boot
      on a pdp/lsi.

      WRT the rk05 images for Bob, I will absolutley send him
      one. Once I work out the process, I'll also post the steps to
      the group for future reference. It appears that you need RT11
      to build the rkbootstraps. Simh has serveral RT11 versions
      available.

      Note that there are several different 8080/z80 emulators that
      we could also use for image verification and development. I.E.
      make sure that the disk format is correct using the emulator,
      then write it to the floppy using dd or rawrite...

      The images are raw 8" IBM 3740 compatible floppys (rx01 for DEC)
      format specs are 26 sectors/128 bytes single side single density
      and soft sectoring. I do not think that any sector skew or interleave
      comes into play. I've attached a list of the md5 checksums that I
      made from unpacking the files.

      56902fc8bea6cf0512bd281f0e03e38e CPMBOOT.raw
      f4c74d779e1f16f6b6d73caf5f689502 DIAG.raw
      b4cdfd3fd04154a702bcc25e489f77e0 U002A.5_Z80_SYS1.raw
      302ee226aefba4ab571a51e3b189a48b U002B_Z80_SYS1_CPM.raw
      d4e8a972b289edfa2f3ae0d89f936ead U006.5_LSI-11_SYS1.raw
      88d71db4601ea72e40ea59a178030b11 U012.1_SYS_2.raw
      7c67903269e73e5d5b709dcf5cce5feb U014.1_ASSEM.raw
      baf1abf4d544908f2fe4fb7363eb8b7d U120_Z80_P-CODE_SOURCE.raw
      0d1154606474ad08810322cabc26ef2f U121.2_LSI-11_P-CODE_SOURCE.raw
      f0276ae0b0078a36956649c1a1141c6a U123.1_Z80_ASSEM_SOURCE.raw
      b47ba6d5d9d0ae469a93a220a287a183 U124.1_LSI-11_ASSEM_SOURCE.raw
      b48ca3d2663b9c1cffd6a9095b769ad4 U126_EDITOR_SOURCE.raw
      881b90512aa872655fac77105e6993a4 U128_L2_YALOE_SOURCE.raw
      17d4adb7a27c16b54d1eb2f9176b30b5 U130.1_BASIC_SOURCE.raw
      5f4040c1d120c91b5017a393b4d081ae U132.A_PASCAL_COMPILER_SOURCE.raw
      d0c91909e8f020e7a3ed35852e64fc42 U132B.2_PASCAL_LINKER_SOURCE.raw
      32ff9e648a31e54251c448af3bbf90ba U134.4_OS_SOURCE.raw
      d9cba338e3f63ad58ca34517134ce3e9 U136.3_LONG_INTEGER_SOURCE.raw
      ff2cefeb7f5cc3a20050232da664e35e U138.3_UTILITY_SOURCE.raw
      b4cdfd3fd04154a702bcc25e489f77e0 UCSD_SYS1_Z80.raw
      88d71db4601ea72e40ea59a178030b11 UCSD_SYS2_Z80.raw

      While I haven't looked at the cpm/z80 disks in any detail, all
      of the lsi/pdp ones look intact. Here is the dir and first
      part of basic.text off of the U130.1_BASIC_SOURCE.raw...

      Dir listing of ? #5

      Filer: G, S, N, L, R, C, T, D, Q [B]L
      Dir listing of ? #5
      U130.1:
      BASIC.TEXT 134 11-Apr-79
      BASICIO.CODE 10 11-Apr-79
      BASICIO.TEXT 22 11-Apr-79
      3/3 files, 318 unused, 318 in largest
      Filer: G, S, N, L, R, C, T, D, Q [B]

      Filer: G, S, N, L, R, C, T, D, Q [B]T
      Transfer ? #5:BASIC.TEXT
      To where ? #1


      {$C II0D0 Copyright(c)1979 Regents of the University of California, San
      Diego}
      {$S+}
      (******************************************************************)
      (* *)
      (* UCSD BASIC Compiler *)
      (* Author: J. Greg Davidson *)
      (* Date: 11 April, 1979 *)
      (* Time: 8:01 P.M. *)
      (* Version: D0 for UCSD Pascal system II.0 *)
      (* Institute for Information Systems *)
      (* University of California, San Diego *)
      (* La Jolla, California *)
      (* Director: Kenneth L. Bowles *)
      (* *)
      (* Copyright (c) 1979 Regents of the University of California. *)
      (* Permission to copy or distribute this software or documen- *)
      (* tation in hard or soft copy granted only by written license *)
      (* obtained from the Institute for Information Systems. *)
      (* *)
      (******************************************************************)

      {
      * Declarations to allow access to the parameters passed to systems
      programs
      * containing the workfiles and the error reporting machinery.
      }

      {$U-}
      PROGRAM PASCALSYSTEM;
      TYPE
      PHYLE = FILE;
      INFOREC = RECORD
      WORKSYM,WORKCODE: ^PHYLE;
      ERRSYM,ERRBLK,ERRNUM: INTEGER;
      SLOWTERM,STUPID: BOOLEAN;
      ALTMODE:CHAR
      END;
      VAR
      SYSCOM:INTEGER; {not used}
      GFILES:ARRAY[0..5] OF INTEGER; {not used}
      USERINFO:INFOREC;

      SEGMENT PROCEDURE BASICCOMPILER(III,JJJ:INTEGER{not used});
      CONST
      WRDSPERREAL=2;
      WRDSPERSTR=41;
      DEFSTRLNG=80;
      OUTBUFMINUS1=10239;{Must be outbufsize-1,outbufsize must be multiple
      of 512}
      TYPE
      SYMTYPE=(DEFV,FNV,REMV,STEPV,THENV,TOV, {keywords}
      STRV,ORDV,LENV,GETV,
      CATV,INSV,POSV,COPV,DELV,{op sys procs}
      INTV,SINV,COSV,ATNV,EXPV,LOGV,LNV,{sp'S}
      MODV,OLDV,NEWV,RNDV,
      DATAV,DIMV,FORV,GOSUBV,GOTOV,IFV,INPUTV,LETV,
      NEXTV,ONV,PRINTV,READV,RETURNV,
      REALIDV,STRIDV,ENDV,{comkeys}
      | 607|595|2006-03-31 11:29:14|Willi Kusche|Re: ASE|
      Hi!

      Quoting Stuart:
      So, do you still have it?

      Willi
      | 608|595|2006-03-31 11:30:50|Stuart Bell|Re: ASE|
      On 30 Mar 2006, at 11:38, Willi Kusche wrote:

      Sadly not, went when I stupidly dumped my Apple IIs in the 1990s. :-(

      Stuart
      | 609|595|2006-03-31 16:07:04|dbarto|Re: version II.0 is working on simh pdp11|
      I find that there is a 6 sector skew from track to track.

      I'm also looking forward to an rk05 image: all the files in one place.

      -barto

      | 610|610|2006-03-31 17:28:53|John B. Matthews MD|AppleCommander on Mac OS X|
      Fellow UCSD'ers:

      AppleCommander is Rob Greene's Java based graphical tool for
      manipulating Apple II disk images, including ProDOS, DOS and Apple
      UCSD Pascal. I was finally able to get it to run stand-alone on Mac
      OS X, and this newest version significantly improves the handling of
      Pascal disk images. Of course, it also runs on Linux and Windows.
      More details can be found here:

      <http://www.wright.edu/~john.matthews/ac.html
      Naturally, I'd appreciate any feedback on how the program works for you.

      John
      --
      jmatthews at wright dot edu
      http://www.wright.edu/~john.matthews/
      | 611|595|2006-04-02 17:41:34|Laurie Boshell|Re: version II.0 is working on simh pdp11|
      --- In UCSDPascal@yahoogroups.com, dbarto .VOL files so that the DOS and unix hosted psystem can mount them.
      It is in Delphi, sorry that my machine with Kylix is not running as
      I could have done one for Linux as well. Floppyread uploaded to the
      file area.

      Laurie.
      | 612|108|2006-04-02 17:44:57|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
      Hello,

      This email message is a notification to let you know that
      a file has been uploaded to the Files area of the UCSDPascal
      group.

      File : /floppyread.zip
      Uploaded by : laurieboshell2004 <laurie@... Description : windows program to convert the images of the II.0 source floppies to .VOL files. mountable by the DOS and UNIX psystem.

      You can access this file at the URL:
      http://groups.yahoo.com/group/UCSDPascal/files/floppyread.zip

      To learn more about file sharing for your group, please visit:
      http://help.yahoo.com/help/us/groups/files

      Regards,

      laurieboshell2004 <laurie@...| 613|595|2006-04-03 04:13:17|Eric Scharff|Re: version II.0 is working on simh pdp11|
      Speaking of this, you say that the .VOL files work with the Unix
      hosted P-System. Which version is that? Is there a p=machine
      emulator that compiles on modern Linux systems?

      -Eric


      __________________________________________________
      Do You Yahoo!?
      Tired of spam? Yahoo! Mail has the best spam protection around
      http://mail.yahoo.com
      | 614|595|2006-04-03 11:37:43|Laurie Boshell|Re: version II.0 is working on simh pdp11|
      --- In UCSDPascal@yahoogroups.com, Eric Scharff for a unix hosted p-system on a 68000 machine. Version IV.2.1 IIRC.

      If there is not a p-machine for modern Linux systems, then why don't
      we develop one! (I don't think there is one)

      I'm not a unix person but in the late 80's I had to rebuild the unix
      interp and I did it with the p-system running on one of my Sage IV
      machines, as it had a 68000 SYSTEM.ASSEMBLER.

      I made reference to it in this group about 1 year ago, it is copyright
      by a German company, somebody in this group said that they knew the
      author, and would ask him if I could post it here. Perhaps we could
      chase that up!

      The PME header....
      ; PME.TEXT
      .NOPATCHLIST
      .NOMACROLIST
      .TITLE "MC68000 IV.2.1 p-Machine Emulator"
      .PROC INTERP

      INTVERS .EQU 2 ; for IV.2 standard procs
      ;************************************************
      ; *
      ; MC68000 p-Machine Emulator *
      ; *
      ; Written by: Steve Koehler *
      ; March 1982 *
      ; *
      ; based on: previous version *
      ; written by David M. Bulman *
      ; *
      ; IV.0 revision by *
      ; R. C. Bumgardner, *
      ; Tallgrass Technologies *
      ; *
      ; 1-17-83 Bug Fix #1029,1040 JJR *
      ; 7-18-84 Moved INTVERS out of EQUATES *
      ; Made separate vesions for IV.1 *
      ; and IV.2 based value of INTVERS *
      ; MOVESEG requires that segment *
      ; resolution be 4. (WSN) *
      ; 12-12-84 Made arithmetic in STKCHK 32 *
      ; bits to properly detect stack *
      ; faults. (SCK) *
      ; 8-12-85 Added SRLOC to patch move sr,m *
      ; to move ccr,m for 68010 (JUM) *
      ; *
      ; *
      ;************************************************

      ; This is an unpublished work copyright (c)
      ; 1981 by Tallgrass Technologies Corporation
      ; and 1982, 1985 by SofTech Microsystems, Inc.


      The Unix stuff header...
      {USTUFF.TEXT}
      UNIT unix_stuff;
      INTERFACE
      {$C 1985 FOCUS GmbH written by Jens-Uwe Mager rev 1.1 }

      and the filer header...
      ; UFILER.TEXT
      {$DV13-}
      PROGRAM unix_filer;
      USES {$U comp:screenops.code} screenops,
      {$BV13}
      {$U tool:commandio.code} commandio,
      {$EV13}
      {$U ustuff.code} unix_stuff;
      {$C 1985 FOCUS GmbH written by Jens-Uwe Mager rev 1.0}

      The tertboot header....(sorry about the longer lines)

      ;TERTBOOT.TEXT
      ;*********************************************************************
      *;
      .TITLE "Tertboot for MC68000"
      ;
      ; T E R T B O O T
      ;
      ;
      ;
      ; This is an unpublished work copyright 1984, 1985 by
      ;
      ; SofTech Microsystems, Inc.
      ;
      ;
      ;
      ; This item is the property of SofTech Microsystems, Inc.,
      ;
      ; and it may be used, copied or distributed only as permitted
      ;
      ; in a written license from that company.
      ;
      ;
      ;
      ; Written: 06/84 by Sandra A. Swimmer based on the design
      ;
      ; by Gary Morris for a fast bootstrap
      ;
      ; Change Log:
      ;
      ; Date Initials Change Description
      ;
      ; 06/84 sas [1R0.0]
      ;
      ; Original implementation for IV.2.1
      ;
      ; based on MC68000 BIOS by Steve Koehler.
      ;
      ; 12/84 wsn [1R0.1]
      ;
      ; Fixed the following problems:
      ;
      ; 1. Leave space for SYSCOM
      ;
      ; 2. Fix parameter interface to conform
      to ;
      ; fast boot architecture.
      ;
      ; 3. Improve directory copying.
      ;
      ; 4. Properly build free memory
      descriptor. ;
      ; 5. Flip directory parameter.
      ;
      ;Copyright 1984,1985 SofTech Microsystems, Inc.
      ;
      ;*********************************************************************
      *;
      .NOPATCHLIST
      .PROC TERTBOOT

      ; For the standard bootstrap set STANDARD to TRUE,
      ; for the optional bootstrap that is compatible with old
      ; primary bootstraps set STANDARD to FALSE.
      TRUE .EQU 1
      FALSE .EQU 0
      STANDARD.EQU TRUE


      Perhaps we could start a project, based on that source to bring up a
      unix hosted p-system on a current processor. I'm sure that there are
      some pretty sharp programmers in this group :)

      Cheers,

      Laurie.
      | 615|108|2006-04-03 15:29:13|John Foust|New docs coming...|
      One of the original UCSD programmers contacted me regarding
      some old docs they were about to dump, and so soon I will have:

      Systems Programming Extensions to the Pascal Language
      Manual, Internal Architecture Guide, FORTRAN User Reference Manual, BASIC
      Reference Manual, and Applications Catalog
      I would be glad to loan and forward any parts that require
      scanning to improve the growing archive of online documentation,
      if they're too long for me to scan on my own.

      For all those waiting on previous requests to me, it's relatively easy
      to forward a package on the top of the pile as opposed to those requests
      that require time and effort to dig into the mound of stuff in the basement. :-)

      - John
      | 616|595|2006-04-03 19:19:04|dbarto|Re: version II.0 is working on simh pdp11|
      There are a couple of interpreters out there. Mario Klebsch (http://
      www.klebsch.de) has one for Apple Pascal II.0; it needs real apple
      pascal disk images to run and you can get a copy of those from
      (http://www.kdbarto.org/UCSD/AppleDiskImages). I'd think that would
      make a good starting point.

      -barto

      | 617|595|2006-04-03 20:36:30|Richard Stearn|Re: version II.0 is working on simh pdp11|
      Eric Scharff wrote:
      Eric

      Which version of P-machine?

      For II.0 on Apple ][ there is one by Mario Klebsch
      <http://www.klebsch.de
      For I.5 I am most of the way through constructing one (largely
      based on the Z80 interpreter), just need a tidy way to setup the
      volumes at startup, and sort some interesting bugs.

      --
      Regards
      Richard
      | 618|595|2006-04-03 20:49:04|dbarto|Re: version II.0 is working on simh pdp11|
      Richard, did you start with the work done by Laurie, or did you start
      from scratch?

      -barto

      | 619|595|2006-04-03 22:35:04|Richard Stearn|Re: version II.0 is working on simh pdp11|
      dbarto wrote:
      David

      Started from scratch in 1994 when I made the decison to move from my UCSD
      systems onto Linux based systems. I started writing the p-m/c and a linux
      filesystem module to read (and at some point write) p-system format disks.

      To date this project had got to having a linux filesystem module to read
      p-system disks (started on kernel 1.13.X then moved to 2.0.X) which is
      how you and others have been able to have what source I have found and
      an interpreter that would boot, just, but not run fully.

      Since joining this group and seeing the interest and activity I have taken
      the interpreter to a fully running state, it boots and runs images from
      my real UCSD systems. I can even compile on the Linux box and run on the
      Z80. It still has a few foibles though.

      The filesystem module I am porting to kernel 2.4.X and adding a mode
      to allow cylinder access (read track N, side 0 then track N side 1) or
      linear access (read all of side 0 then start on side 1).

      Along with rummaging through all the P-system disks I have for bits of
      source I feel a little like Burridges donkey, only with three piles of
      hay rather than two. And I still have to get my main UCSD box running
      so I can read all my 8" disks with, I think, the whole USUS (UK) library
      on them.

      There are not enough hours in the day to work, play and do p-system. :-)
      --
      Regards
      Richard
      | 620|595|2006-04-04 00:13:49|Laurie Boshell|Re: version II.0 is working on simh pdp11|
      --- In UCSDPascal@yahoogroups.com, Richard Stearn my UCSD
      linux
      disks.
      read
      is
      and
      have taken
      from
      on the
      or
      of
      of
      running
      library
      system. :-)
      Well Richard, this means that I'm going to have to find even more
      hours in my day! I made detailed notes about the errors in the I.5
      compiler including the infamous error in the BNOT / LNOT p-code.
      That will save a lot of time when funny unexplained errors occur.
      If you have my source, I'm sure the comments will be there.
      I thought that I had fixed them but I'll have to look through a lot
      of stuff. I seem to remember that C.A.L.L. A.P.P.L.E. put out a list
      of about 50 bugs for II.0 but I cannot find it.

      (I never did get Segment 0 to start up correctly).

      Looks like I'll have to have a permanent Linux machine up and running!
      (PS I'm in the process of recovering the USUS stuff including the UK
      volumes. I' probably send them to John Foust.)

      Cheers,
      Laurie.
      | 621|595|2006-04-04 01:20:04|Richard Stearn|Re: version II.0 is working on simh pdp11|
      Laurie Boshell wrote:
      I don't recall that one.

      The only "funny" errors I have found so far are to do with (I think)
      character handling in the Filer. If under the Linux PME I try to
      transfer a file e.g.

      MYDISK:FARKLE.TEXT,BACKUP:$

      no file is transferred. This has to be a PME induced error as the
      filer code is identical between the Z80 box and the Linux box.

      This is the only foible I have found to date.

      No, I have not seen your source code, the only reference I know of
      was a comment by you about running a PME in a DOS box on Linux. I
      found the Apple ][ emulator for II.0 by Mario Klebsch which was some
      help in locating why my PME didn't run. I will hunt up your source
      tomorrow.

      Under I.5 or II.0?

      Ah, I strike a blow for world domination :-)

      I will continue with my attempts, just in case.

      --
      Regards
      Richard
      | 622|622|2006-04-04 04:16:43|rly1@earthlink.net|how to get more than 77 files on a disk|
      Hi:

      I've gotten the version II.0 system to boot off of a rk05 hard
      disk (using the pdp11 simh emulator). While copying over all of
      the distribution diskettes, I ran into the 77 file per directory
      limit. Before I start digging through the sources, does anyone
      know what files I would need to modify to increase this limit?
      There was only one previous mention of "MAXDIR" on this mailing
      list.

      thanks

      -ron
      | 623|622|2006-04-04 12:50:28|Richard Stearn|Re: how to get more than 77 files on a disk|
      rly1@... did scribe:
      Ron

      Lots. The 77 file limit is related to the size of 78 directory entries
      (78 * 26 = 2028) and the 2048 bytes allocated on the disk for the
      directory. There are also several hard references to the directory
      size and location in the interpreter as well as PascalSystem and the
      Utilities.

      UCSD disk structure (I.5):

      UCSD block
      0 -- | Secondary boot |
      2 -- | Primary |
      | Directory |
      6 -- | Duplicate |
      | Directory |
      10 -- | 1st block of |
      | 1st file |

      --
      Regards
      Richard
      | 624|622|2006-04-04 20:44:55|RWWells@aol.com|Re: how to get more than 77 files on a disk|
      In a message dated 4/4/06 4:32:34 AM Eastern Daylight Time,
      UCSDPascal@yahoogroups.com writes:

      I probably shouldn't be replying to this considering the greater knowledge of
      others but I had given it thought in the past. Consider though using
      subsidary volumes instead. Increased directory size equates to increased memory usage
      and plenty of programs barely fit on the PDP-11 under normal P-System.

      The key sections would be globals, pio, and in the kernel. I recall that some
      other modules had their own disk definitions. A quick pop through of the USUS
      library shows about 10 programs that defined the disk format locally. I would
      suggest perusing your sources for any other referent to 77 in addition to
      MAXDIR. Different versions seem to have slightly different placement.

      Back when I was using P-system often, I wanted to make a change to increase
      the directory entries. (Seventh grade papers were very short.) I recall running
      into problems back then; hopefully you will have better luck. If you do get
      it working, I wish to hear how you did it.

      Richard Wells
      | 625|108|2006-04-04 23:28:44|Laurie Boshell|Re: New docs coming...|
      --- In UCSDPascal@yahoogroups.com, John Foust Reports #11, #14 and #15. In the process I've also found correspondence
      from USUS and one of their letter heads. John I can e-mail you a scan
      of the letter head and letter if you want to put it on your site, but
      scanning the News & Reports might take a little longer, one is 92 pages!

      Laurie.
      | 626|108|2006-04-08 01:07:52|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
      Hello,

      This email message is a notification to let you know that
      a file has been uploaded to the Files area of the UCSDPascal
      group.

      File : /ucsd_pme-0.1.0.tgz
      Uploaded by : unix_whisperer <richard@... Description : A UCSD I.5 interpreter for Unix

      You can access this file at the URL:
      http://groups.yahoo.com/group/UCSDPascal/files/ucsd_pme-0.1.0.tgz

      To learn more about file sharing for your group, please visit:
      http://help.yahoo.com/help/us/groups/files

      Regards,

      unix_whisperer <richard@...| 628|595|2006-04-15 11:58:43|Laurie Boshell|Re: version II.0 is working on simh pdp11|
      --- In UCSDPascal@yahoogroups.com, Richard Stearn compiler, and not fixed in the II.0 that Apple releaded as Apple
      Pascal 1.0.
      Sorry for the delay, here are my notes on fixing it in the interp:
      ---------------
      There is an LNOT/BNOT bug (?) in the compiler eg
      for the code
      b:=true;
      f:=b;
      if not f then write('boolean failure');

      the compiler used LNOT
      FIX....
      Make the interp check only bit 0 in FJP. See FJP in this listing

      Further fix 5/2/93
      make true=$FFFF ie not(false)
      but mask of all save bit 0 for boolean checks
      Note 26/12/96 true=$ffff was a bad idea as ord(16 So changed back to true = $0001 on 26/12/96

      Procedure LNOT;
      {logical not}
      Begin
      pop(hl);
      hl:=not hl;
      { hl:=hl and $0001; } {interp7 fix...either $0000 or $0001}
      push(hl);
      end;

      Procedure FJP;
      Begin
      POP(HL);
      hl:= hl and $0001; {ignore all bits except 0, LNOT/BNOT fix}
      If HL = $0000 {FALSE} then
      UJP
      else
      INC(BC);
      end;

      ------------------

      The fix in the interp was in the pcode FJP (Jump if FALSE) to
      mask off all bits except the low order bit. Of course we could
      alter the compiler to emit BNOT instead of LNOT but there might
      be other errors/changes that then propogate throughout the system.

      Laurie.
      | 629|629|2006-04-16 01:56:47|John Pham|Does anyone has UCSD 4.0 on Sage IV ?|
      I have this Sage IV with two floppies and no software.
      Where can I get some UCSD Psystem for this unit?
      I'll trade a pack of 5.25 floppies (They are hard to come by nowadays)
      | 630|630|2006-04-16 09:02:33|Baltissen, GJPAA (Ruud)|Newbie|
      Attachments :
        Hallo allemaal,


        My name is Ruud Baltissen and I'm new in this group. Why did I join this
        group? I write most of my programs for the PC in Turbo Pascal or Delphi. So
        I got the idea to make a Pascal compiler for the Commodore 64, written in
        Pascal and based on Turbo Pascal. The idea behind this is that,
        theoretically, the PC is able to produce an executable that can run on a
        C64.

        My compiler translates the Pascal source into macros and these macros are
        compiled into executables by my assembler, also written in Pascal. Why
        macros? The idea behind this is that one can tell with a directive for which
        computer the executable is meant and therefor the assembler knows what macro
        source file to use. This means that I only need one compiler. My assembler
        is able to handle the various 6502 types so it should be able to produce an
        executable for the various 6502 machines. And my assembler is also able to
        handle Z80 (Commodore 128 has two CPUs).
        I ran into two problems:
        1) the making of the macro source file for every individual machine is very
        time consuming; I haven't even finished the one for the C64.
        2) Memory problems: the compiler needs about 500 KB of memory to store all
        variables etc. to be able to compile itself. And the executable for the PC
        is over 150 KB. Not much for a PC but a bit too big for a C64, I think.

        But then some weeks ago I read about the free sources of UCSD Pascal and the
        fact that it runs on Apple. So my questions: what exactly is available and
        is there a good chance to adapt the software so someone is able to run UCSD
        Pascal on other 6502 machines?

        I don't mind giving up my own compiler project if that means I get a lot of
        support in return :)

        My work so far:
        <http://www.baltissen.org/htm/pcomp.htm http://www.baltissen.org/htm/pcomp.htm
        <http://www.baltissen.org/htm/mp_assem.htm http://www.baltissen.org/htm/mp_assem.htm

        Any comment and info is welcome.


        --
        ___
        / __|__
        / / |_/ Groetjes, Ruud
        \ \__|_\
        \___| URL: Ruud.C64.org









        =====DISCLAIMER=================================================================

        De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

        The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.
        | 631|629|2006-04-16 14:18:15|Laurie Boshell|Re: Does anyone has UCSD 4.0 on Sage IV ?|
        --- In UCSDPascal@yahoogroups.com, "John Pham" memory IV.2.1 UCSD p-system on floppy. I live in the beautiful Blue
        mountains in Australia,so first may I suggest that you try the
        following if not already done so:

        http://www.thebattles.net/sage/sage.html

        At least you'll get the documentation that came with it.

        Let me know, I suspect that I'll need to post you the floppies.
        BTW if it is a Sage IV then it should boot from the 40Mb hard disk as
        long as the bootstrap on the hard disk is OK.

        Good luck

        Laurie. (laurie@...)
        | 632|629|2006-04-17 02:42:25|daviderhart|Re: Does anyone has UCSD 4.0 on Sage IV ?|
        --- In UCSDPascal@yahoogroups.com, "John Pham" nowadays)
        Hello John,

        I have some images of UCSD p-System diskettes for the Sage II and
        Sage IV on my website:
        http://www.sageandstride.org/html/disk_images.html. These were
        created with Dave Dunfield's ImageDisk program:
        http://parse.ca/~ddunfield/museum/img/index.htm

        I would really like to add pictures of more Sage and Stride
        computers to the site so if you have any of your system I'd be happy
        to post them to my site.

        Regards,
        david.
        http://www.sageandstride.org
        | 633|633|2006-04-17 05:23:54|UCSDPascal@yahoogroups.com|New poll for UCSDPascal |
        Enter your vote today! A new poll has been created for the
        UCSDPascal group:

        Originally, I admitted anyone into the group who asked to
        join. Recently, I decided to be a bit more discriminating
        about who could join. If the "comment from user", given in
        resonse to the process of joining, was very brief, something
        like "hi" or "interested" or "Pascal", I would send a
        followup e-mail inquiring as to the prospective member's
        interest in UCSD Pascal. So far, not one of the individuals
        to whom I sent a followup e-mail has responded. So, I took
        no action and their request to join was just ignored.


        o Go back to letting anyone in
        o Continue with the new system
        o Your poll question is unclear, try again


        To vote, please visit the following web page:
        http://groups.yahoo.com/group/UCSDPascal/surveys?id=2203151

        Note: Please do not reply to this message. Poll votes are
        not collected via email. To vote, you must go to the Yahoo! Groups
        web site listed above.

        Thanks!
        | 634|634|2006-04-17 05:35:15|Willi Kusche|We have a poll|
        Hi, y'all!

        I'd like group members to take a moment to visit the group's site
        and check out the poll question I just posted. It's part poll and
        part explanation.

        Willi

        http://groups.yahoo.com/group/UCSDPascal/polls
        | 635|634|2006-04-17 13:49:59|Willi Kusche|Moderator didn't RTFM|
        Hi!

        Quoting Willi:
        DO NOT, repeat, DO NOT use the link I mentioned. Use the link that came
        with the e-mail generated by Yahoo! that originally announced the poll. If you
        use the link in my message, you won't be able to vote.

        I guess the next poll will have to be about whether or not the moderator
        should be replaced...

        Willi
        | 636|634|2006-04-17 14:59:11|jfeezell|Re: We have a poll|
        Willi -

        Permit me to weigh in here.

        I suggest there's a middle road to take.

        First, your observation about response to your follow up inquiry isn't
        exactly consistent with my recollection. When I initially applied to
        join the group, I was one of the ones who simply replied "interested."

        When you sent me your follow up, I replied with something slightly
        longer - but, admittedly not much. To that, I got no reply at all. A
        couple of weeks later, I withdrew my request and re-applied and,
        obviously, got let past the velvet rope.

        You've gotten responses. I just gathered it wasn't what you were
        looking for.

        I offer a little perspective may be in order here. I wasn't present
        at the chartering of this group. However, I it occurs to me that,
        while there's merit in some basic screening to keep out the Ci@1is,
        pr0n, and low-low-low! mortgage rate vendors - some perspective is
        also in order: this group is neither Studio 54, nor the Joint Chiefs
        of Staff.

        Do the Powers That Be in this group really expect, or even want, a
        full-on Curriculm Vitae of each prospective member's familiarity with
        UCSD Pascal, a submission of their current Code Portfolio, and perhaps
        their current bona fides as a USCD Certified Pascal Engineer?

        I don't know what the requirement for admission was under the old
        system. Was I expected to simply write back "Plugh!" or "xyzzy"?

        Is this a casual group of die-hard devotees and enthusiasts of a nifty
        little programming language from back before that vile cult of OO took
        over? Or have I stumbled upon something much more dark and sinister?

        Regards,

        | 637|634|2006-04-17 15:46:16|dbarto|Re: We have a poll|
        On Apr 17, 2006, at 5:58 AM, jfeezell wrote:

        snip

        I believe the correct response was Yeen. A denizen of the UCSD
        computer science building stairwells.

        -barto

        --
        A good friend will come and bail you out of jail...
        A true friend will be sitting next to you saying
        "Damn... that was fun!"

        david.barto@...
        http://www.kdbarto.org
        | 638|634|2006-04-17 19:57:20|Stuart Bell|Re: We have a poll|
        On 17 Apr 2006, at 13:58, jfeezell wrote:

        I'd go for a brief test that filters out the neophyte who has just
        found Pascal on Wikpedia and is busy trying to join every Pascal
        Forum known to the human race.

        Perhaps asking people the normal limit on the number of files in a p-
        System directory would filter out those who are both ignorant AND
        lazy? ;-)

        Stuart
        | 639|634|2006-04-17 21:08:31|rwwells2000|Re: We have a poll|
        --- In UCSDPascal@yahoogroups.com, Stuart Bell software packages, sometimes those new to the system will fix some of
        the problems of the original. If someone gets excited about p-system
        and tries to integrate the windowing system completely, we all will
        benefit.

        Let them in. If they don't respond to the email, leave them unable to
        post or have posts diverted to the moderator before the general list.
        Make it easy for them to lurk and discover the wonder.

        Richard Wells
        | 640|634|2006-04-17 21:31:01|Willi Kusche|Enough about the poll|
        Hi, y'all!

        Please, no more discussions about the poll. Let's get back to UCSD
        Pascal...

        Willi
        | 641|634|2006-04-17 21:52:45|normand roussel|Re: We have a poll|
        Ignorant, noway, lazy maybe but as retired as p-system and ucsd.
        Just tough that this forum was also a kind of nostalgic hobby for the
        oldtimers as I am, TI990,etc...
        It was fun to remember how so many lines of codes where living happy in
        the so limitted space of those big machines.
        Maybe this forum may also help youngsters (ignorants) learn how to make
        more with less.
        I hope that we wont be prisonners of a norrow thinking space (forum).
        Maybe this forum is not for me and I should quit, excuse my english.

        Bye!
        Norm


        Stuart Bell a écrit :
        | 642|595|2006-04-17 22:20:03|Richard Stearn|Re: version II.0 is working on simh pdp11|
        Laurie Boshell wrote:

        Thank you for the info.

        The I.5 interpreter I released is based directly on the I.5 Z80
        interpreter and should thus be consistant with the I.5 compiler.
        It has worked for me for 20+ years, it is just my recode into 'C'
        from Z80 assembler that has the foibles.

        From the Z80 I.5 interpreter:

        FJP does mask for B0.

        there appears to be only one NOT p-code and that is the
        bit-wise logical one (p-code 147).

        --
        Regards
        Richard
        | 643|630|2006-04-18 06:11:55|John B. Matthews MD|Re: Newbie|
        | 644|630|2006-04-19 07:59:20|Baltissen, GJPAA (Ruud)|Re: Newbie|
        Attachments :

          Hallo John,


          precisely the problems (portability & memory, among
          others) 
          architecture:
          href="http://en.wikipedia.org/wiki/P-Code_machine" target=_blank IMHO the macros my compiler generates can be compared with the P-Code. Being so focessed on getting executables, I also missed one important piece of information: the P-Code is being interpreted.


          existing assembler, e.g. cc65:

          CC65 is a C compiler. OK, it has a good assembler but I consider mine better :)
          The assembler isn't the problem anyway, the compiler is (or better, the huge source file that has been produced).

          Then just one question still stands: is there source code of a P-Code interpreter available for a 6502 machine? And if not for a 6502 machine, maybe for a 680x, Z80 or 80x86? TIA!


          --
               ___
              / __|__
             / /  |_/     Groetjes, Ruud
             \ \__|_\
              \___|       URL: Ruud.C64.org

















          =====DISCLAIMER=================================================================

          De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

          The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.
          | 645|630|2006-04-19 11:53:11|Dr A.P. Whichello|Re: Newbie|| 646|595|2006-04-19 14:07:24|Laurie Boshell|Re: version II.0 is working on simh pdp11|
          --- In UCSDPascal@yahoogroups.com, Richard Stearn I should have been more specific stating that the bug was in the 6502
          interp, not the compiler and fixed in Apple Pascal 1.1 release of
          UCSD II.1.
          I remember a list of about 50 bugs for Apple Pascal 1.0, probably
          from Call-APPLE. I wonder if anyone has them? I've searched high
          and low.

          Laurie.
          | 648|630|2006-04-20 00:03:05|Willi Kusche|Re: Newbie|
          Hi!

          | 649|630|2006-04-20 04:19:26|John Pham|Re: Newbie|
          it's a great editor that convert tab/space/etc - you can customize it so
          it align text and even convert your EOL char to something else.
           
           

          Willi Kusche
          This is a genuine tour de force and quite instructive. It's an
          excellent companion to Randy Hyde's p-Source, and it's _way_ better
          than my primitive, pencil-annotated dump from back in the day.

          I see no ethical violation. The listing clearly falls within the
          exceptions in USC Title 17, Chapter 12, §1201(C)(i-v)* and subsequent
          exceptions**. Because it is only a fraction of the entire work and
          from an earlier version than presently being sold, it hardly
          diminishes sales. If fact, the availability of such documentation
          probably enhances the full product's commercial value.

          So, um, anyway, thanks!

          *<http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?
          dbname=browse_usc&docid=Cite:+17USC1201 **<http://www.copyright.gov/1201/2003/index.html
          John Matthews
          --
          jmatthews at wright dot edu
          http://www.wright.edu/~john.matthews/

          | 651|630|2006-04-20 05:30:41|Willi Kusche|Re: Newbie|
          Hi!

          Quoting John:
          Uh, that's a Windoze editor. I'm quite happy with maintaining 6502 source
          on my Amiga 3000 where I have a collection of programs that I use to develop
          programs for the Apple II environment. I have a cross-assembler and a Pascal
          cross-compiler.

          Willi
          | 652|630|2006-04-20 07:42:01|Baltissen, GJPAA (Ruud)|Re: Newbie|
          Attachments :

            Hallo Willi,


            Pascal cross-compiler.

            Could you explain a bit more, please? Used language, sources available etc?


            to create these files so I'm
            something that took me
            No offence meant, but if everybody on this world thought like this, there would be nothing to share on internet. The reason why I share lot of my things is because I hope that somebody else gets interested and starts working on this (or similar) project too. And believe me, it pays off!
            If Shakespeare had hidden his works in a closet all the time, would anybody still know him these days? And if somebody found his work now by chance, would anybody be interested after all that time?


            --
                 ___
                / __|__
               / /  |_/     Groetjes, Ruud
               \ \__|_\
                \___|       URL: Ruud.C64.org















            =====DISCLAIMER=================================================================

            De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

            The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.
            | 653|630|2006-04-20 07:52:31|Baltissen, GJPAA (Ruud)|Re: Newbie|
            Attachments :

              Hallo Hans,


              for example:
              http://www.s100-manuals.com/

              Thank you!


              you ...

              I knew that you sent me something and I searched my computer and back-up CD's but found nothing. I completely forgot that it was on paper. But now is the big question: where did I put those papers ???
              I've have made a database with almost everything I have, books, magazines, electronics, ICs, etc. so I should be able to find it.


              href="http://homepages.cwi.nl/~steven/pascal/" target=_blank way I do it.


              --
                   ___
                  / __|__
                 / /  |_/     Groetjes, Ruud
                 \ \__|_\
                  \___|       URL: Ruud.C64.org















              =====DISCLAIMER=================================================================

              De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

              The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.
              | 654|630|2006-04-20 16:22:20|Eric Scharff|Re: Newbie|| 655|630|2006-04-20 22:40:39|Willi Kusche|Re: Newbie|
              Hi!

              --- In UCSDPascal@yahoogroups.com, "Baltissen, GJPAA (Ruud)"

              The Pascal cross-compiler I have is an Amiga O/S application.
              It's coded in 680x0 assembly language that is a result of a program I
              wrote that translates 6502 assembly language into 680x0 assembly
              language source. I uploaded an archive with an executable and source
              for the translator to Aminet in March of 2001. The 6502 assembly
              language source that was input to the translator is the source I
              created by disassembling Kyan Pascal for the Apple II.

              Kyan Pascal is a really neat implementation of Pascal. It has a
              compiler that translates Pascal source into an assembly language
              source file that is mostly macros. That file is input to a macro
              assembler that creates the executable file. The executable file
              starts by loading the run time routines at $9000. There is also a
              peephole optimizer that creates an executable that does not rely on
              the run time package.

              Willi
              | 656|630|2006-04-21 10:53:52|John B. Matthews MD|Re: Newbie|
              On Apr 20, 2006, at 4:38 PM, Willi Kusche wrote:

              Indeed. The optimizer also makes clever use of conditional assembly
              to minimize code expansion. For example, a 375 line calculator*,
              which uses most of the 12K runtime, consumes over 23K. In contrast, a
              427 line screen editor, with no floating point, runs less than 12K.

              *<http://www.wright.edu/~john.matthews/a2/calc.html
              John Matthews
              --
              jmatthews at wright dot edu
              http://www.wright.edu/~john.matthews/
              | 657|630|2006-04-21 12:18:12|Laurie Boshell|Re: Newbie|
              --- In UCSDPascal@yahoogroups.com, "Hans Otten" days!)

              Hi Hans:
              Can I see the KIM-1 interp listing?
              I've just finished the bugs in my Apple-1 emulator written in
              pascal (tp) originally and now in Delphi. It now faithfully
              runs all the Apple-1 programs that I can throw at it.
              I wonder if I could port it to the Apple-1 emulator?

              BTW: what mods to the P4 compiler?

              Laurie.
              | 659|630|2006-04-23 08:22:11|Baltissen, GJPAA (Ruud)|Re: Newbie|
              Hallo Hans,


              Can I help in some way?
              (045-5793980 -
              --
              ___
              / __|__
              / / |_/ Groetjes, Ruud
              \ \__|_\
              \___| URL: Ruud.C64.org











              =====DISCLAIMER=================================================================

              De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

              The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.
              | 660|660|2006-04-24 14:36:40|Shirl|Apple II Pascal 1.0 bug list|
              Laurie Boshell <laurie@...
              Here's the Apple Pascal 1.0 bug list as found on CALL-APPLE public domain
              disk #1 dated August 1980.

              - David Craig

              This is a list of known PASCAL [1.0] problems. Updates and fixes will be
              announced (from application notes of INTERNATIONAL APPLE CORE MARCH 10
              1980). Entered to file by Roger L. Pennell of the San Diego Apple Core.

              1. The integer value -32768 prints as "--2768 and causes a compile error
              in the expression I:=-32768 where I:integer.

              2. A long integer compare causes the system to crash.

              3. The compiler does not allow R:Real; I,J:integer; R:=I/J;which
              should be legal according to Jensen & Wirth, page 147.

              4. The BREAK key (ctrl-shift-P) does not cause a break during the
              execution of some programs.

              5. A variable of type TEXT can be passed as a VAR parameter. This is ok
              according to Jensen and Wirth, page 157.

              6. The Editor sometimes ends a file with 00 insted of the required
              0D00. This results in trash on the screen.

              7. TTLOUT in Applestuff does NOT work.

              8. Transcendental functions are not included in the APPLE3:CALC
              program.

              9. The compiler will allow more than 9 segment procedures but only 9
              will function properly.

              10. Separate units do not work.

              11. Erroneous placment of control characters may cause the editor to go
              out of control, requiring the user to delete text in orded to recover.

              12. When compiling using the (*$L+*) option, the compiler may
              damage the contents of the diskette.

              13. Intrinsic units cannot use non-intrinsic units,and vice versa.

              14. Intrinsic units cannot contain references to files.

              15. Long integer constants are not implemented.

              16 The IN function for set inclusion does not always work when
              the first argument is negative or greater than 511.

              17. A run-time stack overflow crashes the system insted of re-
              initializing.

              18. The MEMAVAIL function may return incorrect results in some
              cases.

              19. The .PUBLIC and .PRIVATE assembler variables may be relocated
              incorrectly at run-time.

              20. There is no way to tell the compiler to allocate all available
              disk space for the code file, so the compiler may run out of room for
              the
              code file even if sufficent space is available.

              21. The ORD function accepts REAL and pointer arguments even though this
              is incorrect.

              22. Negation of BOOLEAN variables do not turn FALSE to TRUE and vice
              versa.

              23. The compiler allows underscores in an identifier, but
              ignors them.

              24. Functions cannot return STRING values, although this is
              implied in the Apple PASCAL Reference Manual.

              25. Standard PASCAL syntex allows the field list and items to be empty.

              26. Due to the normal inaccuracies in representing REAL's some equalities
              may not test true. For example, LOG(10) prints as 1.00000 but does not
              yield equality in the comparision LOG(10)=1.00000.

              27. Documentation for the SCAN function is incomplete.

              28. The example of MOVERIGHT is incorrect.

              29. The editor does not report assembler errors in the same way that
              it reports compiler errors.

              30. The function KEYPRESS exists in Applestuff, but is not documented.

              31. Overflowing the code file causes the system to crash in various
              ways.

              32. The Editor informs the user when it is about to run out of space
              for the file buffer, but strange things may happen when the file is
              completely full.

              33. The compiler INCLUDE directive does not always work as
              expected.

              34. Use of the compiler swapping option causes global declarations to
              be ignored.

              35. The manual does not clearly state the string argument of the
              .TITLE pseudo-option must be enclosed in double quotation marks.

              36. Not all optiona of the Editor are listed on the prompt line,and the
              "?" option to get a list of the additional options is not supported.

              37. The reference manual does not adequately describe how to set up a
              program to be executed automatically, using SYSTEM.STARTUP.

              38. The Editor accepts files with names of the form 39. The Editor is insensetive to certain punctuation conventions during
              paragraph reformatting.

              40. The Assembler should translate all alphabetics to upper-case.

              41. The documentation is inadequate in the description of
              assembly language and various options.

              42. The compiler may generate an error #407 (too many libraries).

              43. The compiler generates code to always load segments 28-31 if they are
              present. This may cause undesired loading.

              44. When the NOLOAD option is used for an intrinsic unit with a data
              segment, the compiler failes to generate code to unload the data
              segment at the end of execution. Thus, if the program is run again,
              the data segment will not be loaded since the interperter segment
              table will show that it is already there.

              45. The ATAN function gives an erroneous result for an argument less
              than -1.00.

              46. BIOS does not turn off the high-order bit of characters handled
              by the remote I/O routines.

              47. The P1 parallel printer PROM appears to be incompatible with BIOS.
              th P1-02 PROM is required.

              48. The listing file produced by the Assembler does not follow the
              standard for text files as described in the Apple PASCAL Manual.

              49. There is some confusion about the differences between the built-in
              variable KEYBOARD and the volume identifier SYSTERM:.

              50 The fact that the Editor requires text files to have an even
              number of 512-byte blocks is not documented.

              51. If a run-time error occurs while in graphics mode, the screen
              does not switch back to text mode to desplay the error.

              52. The cross reference program on APPLE3 does not close and lock the
              output file.

              53. The Compiler does not check the declared length of STRING
              parameters passed by reference. Therefore, if the declared length
              of the actual parameter is less than that of the formal parameter,
              assignment of characters into the formal can clobber space beyond
              the end of the actual parameter without detection any error conditions.

              54. Using an unintialized long integer may cause unpredictable
              problems because there may be illegal bit patterns that are not
              representations of digits.

              55. The compiler QUIT option (Q+) does not turn off all output to the
              console.

              56. The system will cresh if the system disk containing the Editor is
              not on line when returning from a Copy File command when the system
              disk was replaced for a disk containing the file to be copied.

              57. The interperter code for floating point comparisons returns
              0.0
              58. DIV and MOD functions give incorrect results for certain
              combinations of signs for the arguments.

              59. The code to clear SYSCOM is incorrect in the procedure BOOT.

              60. The figures given for the maximum integer value for each
              declared length of long intrger are incorrect in the Apple
              PASCAL Manual, page 198.

              61. Source code for APPLE3:LINEFEED should be made available.

              End of bugs for this list !!
              | 661|660|2006-04-24 15:24:12|dbarto|A collection of disks to have read|
              I've had a chance to reconnect with Greg Davidson and he gave me a
              collection of 8" Terak floppies, and some 5.25" Apple II floppies.

              I'd like to have this information read back off of these disks to see
              if any of them contain anything useful to the cause. If you can read
              these disks, and are willing to do this, please send me an email and
              we can discuss the shipping of this material.

              I've also come into possession of a listing of the II.0 sources from
              Greg. If someone would be willing to OCR these, I'm willing to ship
              them out also.

              Thanks,
              David Barto
              david.barto@...

              --
              Light travels faster than sound which is why some people
              appear bright until you hear them speak.

              david.barto@...
              http://www.kdbarto.org
              | 662|660|2006-04-24 15:46:17|Laurie Boshell|Re: Apple II Pascal 1.0 bug list|
              --- In UCSDPascal@yahoogroups.com, "Shirl" will be.....

              That's them, that's them. :D Thanks David. I could not find the old
              dotmatrix printout that I'd kept for years. Thanks again.

              The infamous LNOT/BNOT bug that I referred to earlier is the
              following: ...
              22. Negation of BOOLEAN variables do not turn FALSE to TRUE and vice
              versa.
              This was in Apple's 6502 interp not the compiler. Some of these bugs
              were fixed in Apple's rapid release of 1.1 soon after the 1.0 release
              but too late for me as I had struggled and los with many of those
              listed.

              Some bugs existed up until the IV.1 compiler, for example here is an
              exerp from the IV.1 compiler refering to a bug that becomes evident
              in SYSTEM.FILER, although I'm not sure of the exact details...
              see comment "Bug fix -- 22-Aug-79" below.

              {-----------------SNIP-------------------------------}

              BEGIN (*FIELDLIST*)
              NXT1 := NIL; LSP := NIL; LAST := NIL;
              LSYS5 := FSYS + [SEMICOLON];
              IF NOT (SY IN [IDENT,CASESY,ENDSY]) THEN {'ENDSY' added to
              set IV.1 c6}
              BEGIN ERROR(19); SKIP(FSYS + [IDENT,CASESY]) END;
              WHILE SY = IDENT DO
              BEGIN NXT := NXT1;
              REPEAT
              IF SY = IDENT THEN
              BEGIN
              IF PACKING THEN NEW(LCP,FIELD,TRUE)
              ELSE NEW(LCP,FIELD,FALSE);
              WITH LCP^ DO
              BEGIN NAME := ID; IDTYPE := NIL; NEXT := NXT;
              KLASS := FIELD; FISPACKD := FALSE
              END;
              NXT := LCP;
              ENTERID(LCP);
              INSYMBOL
              END
              ELSE ERROR(2);
              IF NOT (SY IN [COMMA,COLON]) THEN
              BEGIN ERROR(6); SKIP(FSYS +
              [COMMA,COLON,SEMICOLON,CASESY]) END;
              TEST := SY < IF NOT TEST THEN INSYMBOL
              UNTIL TEST;
              IF SY = COLON THEN INSYMBOL ELSE ERROR(5);
              TYP(FSYS + [CASESY,SEMICOLON],LSP,LSIZE);
              IF LSP < IF LSP^.FORM = FILES THEN ERROR(108);
              WHILE NXT < WITH NXT^ DO
              BEGIN IDTYPE := LSP; ALLOCATE(NXT);
              { Bug fix -- 22-Aug-79
              symptom: elusive packing bug
              severity: high for filer
              } { IF NEXT = NXT1 THEN } LAST := NXT;
              { end of bug fix -- 'IF' clause deleted }
              NXT := NEXT
              END;
              NXT1 := LCP;
              IF SY = SEMICOLON THEN
              BEGIN INSYMBOL;
              IF NOT (SY IN [IDENT,ENDSY,CASESY]) THEN (* <<<< SMF
              2-28-78 *)
              BEGIN ERROR(19); SKIP(FSYS + [IDENT,CASESY]) END
              END
              END (*WHILE*);
              NXT := NIL;
              WHILE NXT1 < WITH NXT1^ DO
              BEGIN LCP := NEXT; NEXT := NXT; NXT := NXT1; NXT1 := LCP
              END;
              IF SY = CASESY THEN VARIANTLIST
              ELSE FRECVAR := NIL
              END (*FIELDLIST*) ;

              {-----------------SNIP-------------------------------}

              Cheers,

              Laurie.
              | 663|660|2006-04-24 15:56:19|Laurie Boshell|Re: A collection of disks to have read|
              --- In UCSDPascal@yahoogroups.com, dbarto
              Hi David,

              If you cannot get anyone to do the OCR and the Apple 5.25" stuff, then
              I can do that. With notice I could do the 8" floppies but surely
              someone closer could help with that. Lets see what develops.

              Laurie.
              | 666|660|2006-04-24 18:52:08|Willi Kusche|Re: A collection of disks to have read|
              Hi!

              Quoting David:
              <--- snip ---
              I can turn the 5.25 inch Apple II disks into images. I have an Amiga 3000
              system wuth an A1020 5.25 inch drive and software to read Apple disks quickly.
              Seventeen seconds, to be exact. I also have a multitude of Apple II 5.25 drives
              connected to Apple II systems that can read the disks if the Amiga hardware has
              a problem with any of the disks.

              Willi
              | 667|660|2006-04-24 21:13:59|al_kossow|Re: A collection of disks to have read|
              --- In UCSDPascal@yahoogroups.com, dbarto
              Is there an easy way to tell if they differ from the II.0 sources that
              I recovered from floppies?
              | 668|660|2006-04-24 21:16:31|al_kossow|Re: Apple II Pascal 1.0 bug list|
              --- In UCSDPascal@yahoogroups.com, "Hans Otten"
              Machine-readable sources have been recovered?
              | 669|108|2006-04-26 08:22:10|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
              Hello,

              This email message is a notification to let you know that
              a file has been uploaded to the Files area of the UCSDPascal
              group.

              File : /TECHREF3.PDF
              Uploaded by : rsmpaul <rsmpaul@... Description : Apple II Pascal 1.3 Technical Reference

              You can access this file at the URL:
              http://groups.yahoo.com/group/UCSDPascal/files/TECHREF3.PDF

              To learn more about file sharing for your group, please visit:
              http://help.yahoo.com/help/us/groups/files

              Regards,

              rsmpaul <rsmpaul@...| 670|670|2006-04-26 14:46:33|Shirl|Apple II Pascal system source listings ?|
              Does anyone have real source listings for any version of the Apple II Pascal
              system?

              Ideally, I would like to get a copy of the sources for Apple II Pascal 1.3.
              This includes the OS and its tools such as the interpreter, compiler,
              editor, and filer.

              I assume this is floating around somewhere. It would be a shame if this was
              lost.

              - David Craig
              | 671|671|2006-04-28 21:55:11|Willi Kusche|Surprise|
              Hi, y'all!

              I was going through some magazines I recently bought on eBay and
              found a series of ads in an issue of Call-A.P.P.L.E.. The content of
              these ads was a big surprise to me. Since the content of these ads
              may be a surprise to you, I will simply direct your attention the
              album of images I just created in the the "Photos" section of this group.

              Willi
              | 672|108|2006-04-29 00:12:34|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
              Hello,

              This email message is a notification to let you know that
              a file has been uploaded to the Files area of the UCSDPascal
              group.

              File : /Reunion Stuff/Steve Franklin - UCSD Pascal in Education.pdf
              Uploaded by : richardkaufmann <richardkaufmann@... Description : UCSD Pascal at UCI (automated education)

              You can access this file at the URL:
              http://groups.yahoo.com/group/UCSDPascal/files/Reunion%20Stuff/Steve%20Franklin%20-%20UCSD%20Pascal%20in%20Education.pdf

              To learn more about file sharing for your group, please visit:
              http://help.yahoo.com/help/us/groups/files

              Regards,

              richardkaufmann <richardkaufmann@...| 673|660|2006-04-29 14:27:46|Robert Dell|Re: Apple II Pascal 1.0 bug list|
              now that's novel, i remmber submitting a few of these bugs.
              | 674|660|2006-04-29 15:29:40|Shirl|Re: Apple II Pascal 1.0 bug list|
              Some thoughts about Pascal bugs and Pascal test suites ...

              I found this Apple II Pascal bug list to be rather strange since it seems to
              me that such a bug list should not even exist given that Apple II Pascal was
              based on an already existing program, UCSD Pascal version II.

              I assume that USCD Pascal would have had extensive testing and that any
              variants based on it (such as Apple II Pascal) would have at most the same
              bugs as UCSD Pascal. I can't imagine that the UCSD Pascal compiler would
              have had this extensive number of bugs (around 50).

              I've seen the sources for UCSD Pascal version I and I recall that there was
              no validation suite for this Pascal compiler. I would think that the
              developers at UCSD would have created such a validation suite so that they
              could easily verify that their compiler functioned correctly for both new
              features and for regression testing when existing features were modified for
              any reason.

              I would also think that a test suite would have existed for the p-code
              engine to validate that the operation of each p-code was correct. I suspect
              such a test suite would need to be written in p-code assembly since writing
              this in Pascal would be over-kill and possibly not able to generate all the
              p-codes for testing.

              I have the sources for the Pascal validation suite which was written by I
              believe the Pascal Users Group (PUG) and believe this suite pre-dated Apple
              II Pascal's introduction which I believe was around 1979. I would think that
              this validation suite (with modifications) could have been used as a test
              suite for Apple II Pascal.

              The only test suite that I'm aware of for any version of Apple Pascal was
              the SANE (standard apple numeric envrionment) test suite whose purpose was
              to validate the results of SANE's floating point operations. SANE was
              available for Apple II Pascal, Apple III Pascal, Apple Lisa Pascal, and
              Apple Macintosh MPW Pascal.

              - David Craig
              | 675|675|2006-04-29 17:19:27|Richard Kaufmann|Test suites|
              From sketchy memory:

              At UCSD bug tracking was done by "Support" (Keith Shillington et al). We thought ourselves somewhat protected by the fact that we ate our own dog food, i.e. our tools were self-hosting. We very much had to grow up as UCSD Pascal widened to include APIS 61 (the intro programming course), other UCSD projects, UC Irvine, ...

              UCSD Pascal met its first organized test suite in 1979-80. I was the unlucky fool that ran Arthur Sale's Pascal test suite. Arthur was a CS prof at the University of Tasmania, and really did the world a favor with his test suite. Arthur was incredibly helpful, and came up to San Diego to help us get through the suite.

              Many of the bugs had their origin in Urs Amman's P2 portable Pascal compiler from ETH. Another big chunk of bugs were caused by the "pragmatic" nature of our language extensions.

              There were only a few language theologians in the group; for the most part we were willing to get our hands dirty in the name of system performance and efficient coding style. Since folks on the project were steeped in Burroughs Algol (similarly extended from "pure" Algol), this pragmatic approach seemed natural.


              We were completely taken aback at the venom unleashed from the Pascal zealots. I'm sure there are monasteries where grizzled old language designers still curse our names. I guess we should be grateful they have a code of silence! Of course I'll burn because of the intrinsics I wanted that made the editor practical: moveleft, moveright, fillchar and scan.

              Cheers,

              Richard

              p.s. I posted the presentations from the UCSD Pascal reunion in the files directory of this group. I’m sure you’ve seen them before, but thought it’d be a good idea to fine a nice safe place for them.
              | 676|675|2006-04-29 20:00:05|keith_shillington@cox.net|Re: Test suites|
              Richard,
              Your recall is amazing. I'd convieniently forgotten most of all of what went on. Of course, we did start to collect a set of "regression tests" along with our "bug tracking".

              Where did all that go? Into the great bit bucket I'd imagine. Some things are actually better lost to history.

              The zealots of Pascal have a point. The point is purely academic in nature. So, depending on your application; pure by-the-report Pascal is a fantastic learning tool; the more pragmatic approach with segment procedures and the elementary but functional library tools, and for crumbs sake, strings...

              Personally, if I have to program, I'd rather do it in Ada. But thankfully, all I have to do any more is make coffee. (Which I've ALWAYS been good at)

              --Keith
              | 677|660|2006-04-30 03:08:19|Laurie Boshell|Re: Apple II Pascal 1.0 bug list|
              --- In UCSDPascal@yahoogroups.com, Robert Dell I believe most bugs were in the 6502 interp or units that Apple added.

              BTW....
              Are you the Robert R. Dell, author of CODEED.TEXT a program that I
              found on COMPUSERVE or MUSUS some years ago?

              Here is the start.....

              {$r-,i-,v-} { turn off all checking }
              Program linkfile;
              (*
              this program is declared PUBLIC DOMAIN to USUS members only, ALL
              other
              persons that wish to use this must ask permission.

              Robert R. Dell
              Pascal Dept.
              642 ST. Claire Dr.
              Warren, Ohio 44483

              *)

              CONST
              progversion = '[1.4]';
              MaxSeg = 63 ;
              MaxDicSeg = 15 ;
              maxlc = 32767;
              maxproc = 254;
              maxlitypes = 2046; { if you use 2047 then you get an integer of
              +32768 for SIZEOF function and is
              impossible }
              TYPE
              litypes =(eofmark, unitref, globref, publref, privref,
              constref, globdef, publdef, constdef, extproc, extfunc,
              sepproc, sepfunc, seppref, sepfref); {linker information types}

              opformat = (word,byte,big); {label size}

              lcrange = 1..maxlc;
              segnumber = 0..maxseg;that I;ve mused



              ---------------------------------------

              And here is the compiler output for a modified I.5 compiler that
              I've ported to MSDOS using a DOS-based I.5 interp, compiling
              CODEED.PAS showing some missing procedures.



              LISTDEST [ 6009 words]
              < 696 INIT [ 6009 words]
              < 716 ASKFILE [ 6020 words]
              < 739 INPUTINT [ 5951 words]
              < 766 REPAIRME [ 5933 words]
              < 794 < 844 < 894 MENU [ 5955 words]
              < 900 COPYCODE undefined
              COPYLINK undefined
              COPYSEGS undefined
              FREADLN undefined
              FINISHUP undefined
              LISTSOUR undefined
              QUIT undefined.
              LINKFILE [ 6013 words]
              < 932 939 lines, 2 secs, 31013 lines/min
              Smallest available space = 5892 words
              C:\TP6\INTERP
              ------------------------------------------------------

              Are you the same Robert Dell?
              Can you help with missing files?

              I can post the complete CODEED.TEXT if needed.

              Cheers,

              Laurie. (yes old USUS member)
              | 678|630|2006-04-30 06:12:32|Eric Engler|Re: Newbie|
              --- In UCSDPascal@yahoogroups.com, "Laurie Boshell" Sounds interesting, can you share the Delphi source? I'm a fan of
              Delphi and Apple computers so that is an interesting combination!

              Eric
              | 679|679|2006-05-11 15:03:08|pmiller42au|Annouce: ucsd-psystem-fs-1.1 - Linux filesystem|
              I am pleasd to announce the first public release of ucsd-psystem-fs, a
              package for mounting UCSD p-System disk imags as Linux file systems.

              Please visit http://miller.emu.id.au/pmiller/ucsd-psystem-fs/ for more
              information and file downloads.

              (I have been trying to put it on SourceForge.net for the last week,
              but their new project registration review process seems to be
              constipated.)

              Regards
              Peter Miller
              | 680|680|2006-05-11 19:53:22|rsmpaul|Complete source and binary for any version?|
              Has a complete set of source and binary files
              been gathered for any version of UCSD Pascal?
              That is, does anyone have a working UCSD Pascal
              system who can compile the source for their
              version and get the identical OS, Compiler,
              Filer, and the rest of the files?
              | 681|680|2006-05-12 01:49:20|Peter Miller|Re: Complete source and binary for any version?|
              Attachments :
                On Thu, 2006-05-11 at 17:52 +0000, rsmpaul wrote:
                One of the reasons my recently announced file system can cope with the
                weird interleaving on disks 77 tracks of 26 sectors of 128 bytes is so
                that I could access the sources at
                http://www.bitsavers.org/bits/UCSD_Pascal/ucsd_II.0/

                I will post some flattened (de-interleaved) disk images, and a zip file
                of all the contents extracted, some time this weekend.

                My goal is a self-hosting system (one that can compile and run itself),
                using Mario Klebsch's p-code interpreter. The tricky part is, of
                course, boot strapping. The sources above include pre-compiled
                everything, so they should work just fine. If they don't (haven't tried
                it yet), plan B is to try p2c (a Pascal to C translator) to bootstrap
                the initial compile step.

                I managed to get Mario Klebsch's p-code interpreter running (it works
                well) and sent him a couple of patches to fix the build problems. No
                reply, so far. Is he still around? If not, I'll post a new version on
                my web site.

                --
                Regards
                Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                PGP public key ID: 1024D/D0EDB64D
                fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                See http://www.keyserver.net or any PGP keyserver for public key.
                | 682|682|2006-05-12 02:29:57|Peter Miller|version 2.0 sources|
                Attachments :
                  Can any body point me at a web page which gives permission to use the
                  sources which can be found at
                  http://www.bitsavers.org/bits/UCSD_Pascal/ucsd_II.0/

                  Some of the source files carry explicit "written permission needed"
                  header comments. Ideally, a scan of a physical permission letter, or a
                  web page at UCSD, would be available.

                  The reason I ask is so that I can package the file system, the
                  interpreter, and the self-hosting sources as a nice, easily installed
                  package (or small set of packages). To do this, the sources need to be
                  legally distributable - and legally bug fixed.


                  --
                  Regards
                  Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                  PGP public key ID: 1024D/D0EDB64D
                  fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                  See http://www.keyserver.net or any PGP keyserver for public key.
                  | 683|682|2006-05-12 08:38:05|Eric Smith|Re: version 2.0 sources|
                  Peter wrtoe:
                  In the US, you don't need any permission from anyone to
                  fix bugs. For distribution you do.

                  I haven't a clue how copyright laws in other contries (such as
                  Australia) work.

                  Eric
                  | 684|682|2006-05-12 14:45:21|dbarto|Re: version 2.0 sources|
                  I'm working with UCSD to get the II.0 sources released.

                  When I have any information I'll be posting it here first.

                  Patience,

                  -barto

                  | 685|685|2006-05-13 11:27:06|Peter Miller|ucsd_II.0 unpacked|
                  Attachments :
                    I have unpacked the sources at
                    http://www.bitsavers.org/bits/UCSD_Pascal/ucsd_II.0/
                    and repackaged them in various ways. See
                    http://miller.emu.id.au/pmiller/ucsd_psystem_2.0_sources/
                    for more information.

                    --
                    Regards
                    Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                    PGP public key ID: 1024D/D0EDB64D
                    fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                    See http://www.keyserver.net or any PGP keyserver for public key.
                    | 687|685|2006-05-13 12:29:45|Peter Miller|Re: ucsd_II.0 unpacked|
                    Attachments :
                      On Sat, 2006-05-13 at 11:59 +0200, Hans Otten wrote:
                      Many UCSD history web pages indicate that 1.5 and 2.0 are very similar.
                      I'm working towards being able to compare 1.5 and 2.0 sources, so we
                      know how many percent of 2.0 is already released, and how much is yet to
                      be released. (Using the tools developed to debunk SCO's bullshit claims
                      it owns Linux.)

                      Oops. Copy and paste error from another project, that link should not
                      have been there. I've updated the web site. I took out the
                      SourceForge.net links, too, until SF get around to processing their new
                      project backlog.

                      --
                      Regards
                      Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                      PGP public key ID: 1024D/D0EDB64D
                      fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                      See http://www.keyserver.net or any PGP keyserver for public key.
                      | 688|688|2006-05-13 17:26:44|nrousselca|a 68000 p-system|
                      This message is posted just in case it may represent any interest to
                      this forum.

                      I have found a few years ago, in an electronic flee market, two 3in.
                      diskettes for UcsdPascal.
                      I realize after buying them that those disks where the AtariTos(68000)
                      version of Ucsd.
                      They are labled "Gem Pascal Startup" (a tos disk) and UCSD Pascal (the
                      actual UCSD system disk).
                      It was originally sold by TDI Software, Inc in 1986
                      I recently try them on the Atari MegaSt of a freind and everyting
                      works fine. I was kind of surprise since I tougt that Atari was a game
                      machine.
                      It is a complete p-system.
                      It support UNITS for separate compilation, assembly language may be
                      link with pascal, it is a full implementation of Pascal, 64 bits reals
                      as well as all trancendental fuctions are supported,. There is a full
                      screen editor that identifie error in source code.
                      Random access file is avaliable. Get and Put are supported and very
                      large units are also handle. It is complete with Filer, Library
                      generator and many utilities. Nothing is perfect in this world , there
                      is no native cade assembler and no symbolic debuger.

                      Bye! N.R. (excuse my english)
                      | 689|689|2006-05-14 16:00:07|Peter Miller|1.5 vs 2.0 comparison|
                      Attachments :
                        2.0 basic
                        Lines 2885, inserts 100%

                        2.0 compiler
                        15 files changed, 168 insertions(+), 404 deletions(-)
                        Lines 6169, inserts 3%, deletes 7%, unchanged 97%

                        2.0 copydupdir
                        Lines 86, inserts 100%

                        2.0 diagnostics
                        Lines 5303, inserts 100%

                        2.0 disassembler
                        3 files changed, 114 insertions(+), 92 deletions(-)
                        Lines 1627, inserts 7%, deletes 6%, unchanged 93%

                        2.0 editor
                        14 files changed, 702 insertions(+), 184 deletions(-)
                        Lines 3230, Inserts 21.7%, Deletes 5.7%

                        2.0 filer
                        8 files changed, 1792 insertions, 2070 deletions
                        Lines 2586, inserts 69%, deletes 80%, unchanged 31%

                        2.0 libmap
                        1 file changed, 90 insertions(+), 15 deletions(-)
                        Lines 598, inserts 15%, deletes 3%, uncganged 84%

                        2.0 librarian
                        1 file changed, 154 insertions(+), 168 deletions(-)
                        Lines 527, inserts 47%, deletes 52%, unchanged 52%

                        2.0 linker
                        6 files changed, 241 insertions(+), 83 deletions(-)
                        Lines 2637, inserts 9%, deletes 3%, unchanged 91%

                        2.0 long integer
                        Lines 1919, inserts 100%

                        2.0 markdupdir
                        Lines 95, inserts 100%

                        2.0 setup
                        Lines 1240, inserts 100%

                        2.0 system
                        7 files changed, 361 insertions(+), 212 deletions(-)
                        Lines 2666, inserts 14%, deletes 8%, unchanged 86%

                        2.0 yaloe
                        Lines 845, inserts 100%

                        Unchanged
                        Lines 460, radis
                        Lines 372, pio
                        Lines 293, pio_unit
                        Lines 157, execerr
                        Lines 1370, bios.diag
                        Lines 270, binder

                        Totals...
                        Lines 35335, inserts 15150 (43%), deletes 3228 (9%), unchanged 57%

                        Total excluding new programs...
                        Lines 22962, inserts 3622 (16%), deletes 3228 (14%)), unchanged 84%


                        These figures don't include the assemblers or interpreters.


                        --
                        Regards
                        Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                        PGP public key ID: 1024D/D0EDB64D
                        fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                        See http://www.keyserver.net or any PGP keyserver for public key.
                        | 690|690|2006-05-16 11:12:55|Peter Miller|ucsd-psystem-fs 1.2|
                        Attachments :
                          I have made a new release of my ucsd-psystem-fs project.

                          Please visit http://miller.emu.id.au/pmiller/ucsd-psystem-fs/ for change
                          logs and downloads.


                          This release fixes a bug in the date handling. There are also some
                          other improvements.


                          The text file translating has also been updated to guarantee that there
                          is always at least one NUL at the end of each 1KB text block. This is
                          because there is a bug in the Apple Pascal compiler and it gives error
                          400 (invalid character in text) if a line ends exactly at the end of the
                          1KB block with no NUL padding required.

                          Interestingly, the editor can edit these text files correctly, but never
                          writes out text files this shape.


                          I found the text file bug while trying to compile the 2.0 compiler using
                          the Apple Pascal compiler, using Mario Klebsch's p-interp. I have
                          succeeded, BTW. This it good news, because it means I can probably get
                          2.0 up and running self hosted - and be able to compile the 2.0 compiler
                          with itself. And then it will be possible to bootstrap without the
                          Apple disk images. Fingers crossed for a 2.0 license from UCSD.

                          There is also a missing text chunk at the end of one of the compiler
                          source files. Fortunately, it is the same as the 1.5 compiler sources
                          at that point, and all I needed to do was transplant the missing last
                          two lines from 1.5 and all was well.

                          --
                          Regards
                          Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                          PGP public key ID: 1024D/D0EDB64D
                          fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                          See http://www.keyserver.net or any PGP keyserver for public key.
                          | 691|690|2006-05-16 15:06:58|dbarto|Re: ucsd-psystem-fs 1.2|
                          Since Peter mentions it, UCSD hopes to have the review complete
                          within 2 weeks.

                          I'm staying on top of this, as it may be that II.0 is the last
                          release that can be officially released from UCSD.

                          As other companies have gone out of business and sold on the rights
                          to other companies that have gone out of business, getting releases
                          to put that later (III.x, IV.x) software into the public domain may
                          be impossible.

                          -barto

                          | 692|690|2006-05-16 15:52:26|John Foust|Re: ucsd-psystem-fs 1.2|
                          At 08:06 AM 5/16/2006, dbarto wrote:
                          Which companies would those be?

                          Did UCSD have no claim to the rights to subsequent versions?
                          Were they solely developed by other companies?

                          - John
                          | 693|693|2006-05-16 15:52:37|John Foust|Knowledge Software Port-A-Kit?|
                          Also, does anyone on this Yahoo group know much about the
                          portable C version of the P-System made by Knowledge Software?

                          http://www.knosof.co.uk/manuals/Pkit.pdf

                          - John

                          Date: Tue, 07 May 1996 11:15:08 GMT
                          From: derek@... (Derek M Jones)
                          Reply-To: derek@...
                          To: syndesis@...
                          Subject: Re: P-system?

                          John,
                          It is written in C and has been available since 1987. It has been ported
                          to a wide range of platforms.

                          We sell the Port-a-Kit in source code form for $9,000. It implements
                          version 4.13 p-System.

                          From benchmarking we have found on Intel 8x86 /Motorola 680x0 systems
                          that it runs at about 30-100% slower than the hand written native
                          interpreters, depending on the amount of hand tuning.

                          Stride semaphores and a Unit to access a native file system are also
                          provided, along with various utilities to import/export files
                          between p-System/host file system.

                          Please let me know if you have any other questions.

                          derek

                          --
                          Derek M Jones tel: +44 (0) 1252 520 667
                          Knowledge Software Ltd email: derek@...
                          http://www.knosof.co.uk
                          | 694|693|2006-05-16 16:19:30|Derek M Jones|Re: Knowledge Software Port-A-Kit?|
                          John,

                          It is still sitting in a directory waiting for me to find the
                          time to figure out why it does not work when compiled using gcc
                          under Linux.

                          Once that problem is fixed I plan to release the software
                          under GPL.

                          I have had several people offer to help (including one of
                          the original authors, who is also now very busy), but unless
                          you know a lot about p-code (it dies after executing quite a
                          few instruction in the kernel) and C you are unlikely to get
                          anywhere.

                          --
                          Derek M. Jones tel: +44 (0) 1252 520 667
                          Knowledge Software Ltd mailto:derek@...
                          Applications Standards Conformance Testing http://www.knosof.co.uk
                          | 695|690|2006-05-16 16:25:58|dbarto|Re: ucsd-psystem-fs 1.2|
                          On May 16, 2006, at 6:45 AM, John Foust wrote:

                          Softech Microsystems, Pecan(?), Western Digital and others all did
                          licensed versions, which, according to my contact at UCSD, will
                          require that they sign agreements to release the code they did into
                          the public domain, or the UCSD restricted distribution mechanism.

                          Since these companies either don't exist or don't do work in this
                          field any more, it will be hard to find someone with the authority to
                          sign the appropriate paperwork.

                          --
                          A good friend will come and bail you out of jail...
                          A true friend will be sitting next to you saying
                          "Damn... that was fun!"

                          david.barto@...
                          http://www.kdbarto.org
                          | 696|690|2006-05-16 20:41:00|Eric Smith|Re: ucsd-psystem-fs 1.2|
                          barto wrote:
                          Correct me if I'm wrong, but my understanding was that those companies
                          never *owned* any of the rights to the system, and did not sell those
                          rights to anyone else. The rights always remained with UC.

                          I haven't seen the actual contracts between UC and the companies, but
                          I'm pretty sure I've heard it explained this way by multiple
                          knowledgeable sources.

                          I'd expect that the UC legal dept. should have copies of the contracts,
                          so they should be able to determine the status of III.x and IV.x.

                          Eric
                          | 697|693|2006-05-16 20:54:14|John Foust|Re: Knowledge Software Port-A-Kit?|
                          At 09:19 AM 5/16/2006, Derek M Jones wrote:
                          Wonderful! I assume you've tried the obvious, like turning
                          off all the optimizations?

                          I thought the GPL was a mechanism to let other people fix bugs. :-)

                          - John
                          | 698|690|2006-05-16 21:10:31|John Foust|Re: ucsd-psystem-fs 1.2|
                          At 01:33 PM 5/16/2006, Eric Smith wrote:
                          That's what I was going to say, too. They were all licensees.

                          But you'd need to read the contract(s) to see if there was a clause
                          that described the ownership of any modifications or improvements.

                          This can go in any direction: maybe they owned their own changes,
                          maybe UCSD got copies but didn't re-license them to others,
                          maybe they could fold in the changes they wanted, maybe
                          UCSD only sent out (III, IV) reference releases to licensees, etc.

                          - John
                          | 699|690|2006-05-16 21:58:32|dbarto|Re: ucsd-psystem-fs 1.2|
                          I'll ask around at UCSD, but my contact seemed pretty certain at the
                          time that the rights question to the extensions would be hard to sort
                          out.

                          -barto

                          | 700|685|2006-05-17 23:57:44|dbarto|Licensing rights for UCSD Pascal beyond II.x|
                          The official line from UCSD on the licensing rights beyond II.x is as
                          follows:

                          "The authorship rights beyond version II seem to be mingled in a
                          complicated way, and perhaps with some active disputes. The
                          university is willing to license their rights for free for research,
                          academic, and non-profit purposes only if it can be done without
                          incurring an unfunded, and potentially unlimited, liability. To
                          enable this for versions beyond II will take an extensive amount of
                          time - many changes occurred during this time period, and they
                          occurred decades ago. Please be patient."

                          -barto


                          --
                          How do you become a beta tester for MicroSoft?
                          Purchase or download any MicroSoft product.

                          david.barto@...
                          http://www.kdbarto.org
                          | 701|685|2006-05-18 00:13:12|John Foust|Re: Licensing rights for UCSD Pascal beyond II.x|
                          At 04:57 PM 5/17/2006, dbarto wrote:
                          This sounds like legalese for "we're not confident they're all gone."

                          I thought all the licensees were gone...

                          Either all the licensees are gone and done-for, or they're "active".

                          You'd think the former case would be easier to solve, and the latter
                          would look like a step forward because we'd know who to negotiate with.

                          Are these contracts a matter of public record? Can we simply
                          ask to see them?

                          - John
                          | 702|685|2006-05-18 00:45:30|Eric Smith|Re: Licensing rights for UCSD Pascal beyond II.x|
                          John wrote:
                          That's a very interesting question. Can a state-funded university
                          engage in a contract the terms of which are secret, short of
                          classified research for the US government (e.g., national weapons
                          laboratories)? I'd think that any non-classified contract should
                          be public, but I could be mistaken.

                          However, I think we should be patient before we try to push on
                          this. It's obvious that the people at UCSD are really making a
                          serious effort to make the software avaiable, and if we start
                          creating any excess hassle for them at this point, it may be
                          quite counterproductive.

                          Thanks much to David Barto and to the folks at UCSD for all their
                          efforts!

                          Eric
                          | 703|685|2006-05-18 03:19:39|John Foust|Re: Licensing rights for UCSD Pascal beyond II.x|
                          At 05:45 PM 5/17/2006, you wrote:
                          An explanation of the California Public Records Act:

                          http://www.cfac.org/Law//CPRA/Q&A/explanatory_q&a.html

                          http://www.thefirstamendment.org/publicrecordsact.pdf

                          U of C is subject to it.

                          Well, I'd argue that if they were having trouble finding the
                          licensees, we could help. If they didn't have the time to
                          read and interpret the contracts, we could all read them, too.

                          I'm sure they realize there's a fair amount of untangling
                          and recollection of the timeline of events that's not going
                          to be obvious to someone unconnected to the P-System, and
                          that this group here might be able to lend details.

                          - John
                          | 704|685|2006-05-18 03:32:42|Willi Kusche|Re: Licensing rights for UCSD Pascal beyond II.x|
                          Hi, y'all!

                          Quoting John:
                          <--- snip --- I'm with John because he's making a lot of sense.

                          Willi
                          | 705|685|2006-05-18 04:23:10|Eric Smith|Re: Licensing rights for UCSD Pascal beyond II.x|
                          I wrote:
                          John wrote:
                          Willi wrote:
                          My point is that if we start making demands for copies of the
                          contracts with the licensees, we're likely to be creating more
                          work and hassle for the people who are already trying to help
                          us. I've seen this sort of thing happen in other situations,
                          and it doesn't yield good results.

                          By all means if the process stalls we should pursue this, but
                          I think for now it makes sense to wait a while rather than to
                          immediately start sending them CPRA requests.

                          I'm sure that if the people in UCSD who are involved in the effort
                          run up against issues that we can help with, they'll David Barto
                          know, and he'll tell us.

                          Eric
                          | 707|707|2006-05-18 23:08:30|wjdecker_techtips|Licensing UCSD Pascal|
                          I'm the licensing officer at UCSD who inherited the UCSD Pascal case
                          as part of my technology portfolio. While I am now part of this group,
                          it is absolutely true to say the time I spend dealing with questions
                          about licensing and rights is time I am not clearing up the issues to
                          get later versions of UCSD Pascal released. I am looking into getting
                          II out by the Memorial Day weekend. Please be patient as I work
                          through the issues. Here is my attempt to answer recent questions:

                          (1) The issues with versions beyond II are not necessarily about the
                          past licensees, but about past authors (some of whom may be
                          licensees). Think of what I need to do for later versions as being
                          similar to a textbook publisher clearing copyright permissions for all
                          the images, graphs, signifcant quotations, etc. used in a book but
                          were not created by the author listed on the book. The last think you
                          want is to distribute something that causes a claim of damage, since
                          all authors are accountable to each other.

                          (2) It is my intention to nominate UCSD Pascal to be added to the
                          featured collection of technologies that we have licensed that have
                          had significant impact to society. At some point in the future I may
                          ask the list for information about licensees, since it is always good
                          to compare external impressions with what the papers on file say. But
                          this collection is in the early stages of assembly, and I am still
                          tracking down other issues related to UCSD Pascal, so lets hold off on
                          that for now. If you have historical documents, pictures,
                          product-related materials that would look nice as part of a UCSD
                          Pascal display, please package them up and send them directly to my
                          mailing address as found on the contact page in the invent.ucsd.edu
                          website.

                          Bill Decker
                          Assistant Director - Physical Science Licensing
                          UCSD TechTIPS
                          | 708|708|2006-05-21 14:41:16|Peter Miller|II.0 build|
                          Attachments :
                            Well, I can build all of the II.0 programs using the Apple compiler. I
                            can even execute the SYSTEM.PASCAL that I produce, but...

                            But I suspect there is some linker magic required to actually get the
                            compiler to dovetail. I can ask for a compile, but it appears to go
                            through a dummy empty segment procedure, doing nothing, rather than
                            invoke the compiler. Does anyone on the list have any memory of the
                            additional steps required?

                            So, not self-hosting just yet, but very close.

                            --
                            Regards
                            Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                            PGP public key ID: 1024D/D0EDB64D
                            fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                            See http://www.keyserver.net or any PGP keyserver for public key.
                            | 709|660|2006-05-24 07:09:01|al_kossow|Re: A collection of disks to have read|
                            --- In UCSDPascal@yahoogroups.com, "al_kossow" http://bitsavers.org/pdf/ucsd/UCSD_PASCAL_II.0_Listing.pdf

                            the assembler and basic compler were left out

                            The Pascal Maint News Vol 1 No 2 from Mar 80 with 180 bug reports that
                            was sent with the listing is up at
                            http://bitsavers.org/pdf/softech/USCD_PASCAL_Maintenance_News_Vol1No2_Mar80.pdf
                            | 711|711|2006-05-26 17:50:10|wjdecker_techtips|Permission for UCSD Pascal prior to June 1, 1979|
                            Permission to use UCSD Pascal for research, academic, and non-profit
                            purposes has been granted for versions that were written before June
                            1, 1979 and that have only University of California authors, as posted
                            at the UCSD TechTIPS web site

                            invent.ucsd.edu/technology/cases/1995-prior/SD1991-807.htm
                            | 712|711|2006-05-29 01:34:27|Peter Miller|Re: Permission for UCSD Pascal prior to June 1, 1979|
                            Attachments :
                              On Fri, 2006-05-26 at 15:46 +0000, wjdecker_techtips wrote:
                              Thank you for this.

                              I am working on getting II.0 self-hosting - able to compile itself and
                              run itself, using a p-machine interpreter written in C. The interpreter
                              is open source, licensed using the GPL. And I'm working on a cross
                              compiler, also licensed using the GPL.

                              The license UCSD has granted is almost open source, except for the
                              "non-profit" limitation - it fails the open source definition
                              (http://www.opensource.org/docs/definition.php ) point 6
                              "No Discrimination Against Fields of Endeavor" requirement.

                              How does UCSD feel about using the GPL or a GPL-like license?

                              A GPL-like license means that for-profit users are still required to
                              provide the complete source code. This tends to greatly reduce the
                              for-profit uses, since all commercial competitors must also release
                              their source code - including bug fixes and improvements.

                              Dual licensing is also possible, for commercial users who don't want to
                              provide every one else their bug fixes and improvements.

                              Is it possible UCSD would consider a GPL license, or dual licensing?

                              --
                              Regards
                              Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                              PGP public key ID: 1024D/D0EDB64D
                              fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                              See http://www.keyserver.net or any PGP keyserver for public key.
                              | 713|713|2006-06-13 01:34:47|Ruud.Baltissen@abp.nl|Can UCSDPascal version 2.0 run on a PC?|
                              Hallo allemaal,


                              Is there a way to run UCSDPascal version 2.0 run on a PC?

                              Thanks for any help and/or info!


                              --
                              ___
                              / __|__
                              / / |_/ Groetjes, Ruud
                              \ \__|_\
                              \___| URL: Ruud.C64.org











                              =====DISCLAIMER=================================================================

                              De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                              The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.
                              | 714|711|2006-06-13 02:37:27|wjdecker_techtips|Re: Permission for UCSD Pascal prior to June 1, 1979|
                              In general, the University of California, San Diego views open source
                              as one of many licensing models that are possible. For UCSD Pascal, it
                              is still early in the licensing process to try to change the model to
                              anything other than what I previously specified. But we are open to
                              changing it should circumstances dictate that a change is appropriate.


                              | 715|715|2006-06-14 01:34:00|Peter Miller|cross compiler|
                              Attachments :
                                Hi Guys,

                                I have put the beginnings of my cross compiler onto SourceForge
                                http://ucsd-psystem-xc.sourceforge.net/

                                It is still very limited. It understands most expressions now, and
                                simple variables. It understands IF statements, assignment statements,
                                and not much more. I am presently working on function definitions, and
                                then function and procedure calls. (Segment procedures and units are
                                still a long way off.) And then I'll work on RECORD types, and then
                                loop statements and then... The goal, of course, it to be able to cross
                                compile the UCSD II.0 compiler.

                                I have cross compiled and executed a simple "hello world" program, but
                                I'm automating the testing by compiling test programs with the Apple
                                compiler (running in Mario Klebsch's p-code interpreter), and
                                disassembling the output. I then run the cross compiler on the same
                                programs and disassemble its output, too, and compare the two listings.
                                This disassembler is also part of the cross compiler project.

                                If there are any C++ hackers with compiler experience on the list,
                                contributions are always welcome :-)

                                --
                                Regards
                                Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                                PGP public key ID: 1024D/D0EDB64D
                                fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                See http://www.keyserver.net or any PGP keyserver for public key.
                                | 716|713|2006-06-14 12:00:57|Laurie Boshell|Re: Can UCSDPascal version 2.0 run on a PC?|
                                --- In UCSDPascal@yahoogroups.com, I believe that there is.
                                The following is from memory, but if you all are keen then I'll
                                dust off the needed disks and look at it. Let me know how it goes.

                                Get the Volition.VOL system of mine that Randy McLaughlin uploaded in
                                the file area. Use the dos hosted p-system to copy it to a floppy to
                                give you a bootable floppy (it is an image of a bootable 320 or 360K
                                PC floppy, cannot remember which). You do this by using the p-system
                                filer to transfer the whole volume to a floppy.
                                You should then be able to read and write to the floppy.
                                Transfer some of the II.0 psystem code files to the floppy.
                                It should boot on a PC and run a very fast II.0 interp.
                                I have done this (albeit some years ago) using II.0 and II.0s p-code
                                files from an OSI machine. You could also use Apple Pascal 1.0 release
                                which was UCSD II.0 (NOT II.1) p-code.
                                The only problem that I can think of is that the dos hosted p-system
                                might flip the sex of the directory on the floppy so we might need to
                                write a little utility to re-flip the sex of the floppy directory.
                                (I have code to do this, compile it and run under dos hosted p-system)

                                Or you could just boot the volition disk without any changes. From
                                memory there is a blindingly fast II.0 pascal compiler on one of the
                                volition disks as well as the ASE editor, and an M2 compiler.

                                Or using an Apple II emulator, boot the Apple Pascal 1.0 disks, but
                                not the Apple 1.1, 1.2 or 1.3 releases which are all UCSD II.1.

                                Looks like a project for a rainy weekend.

                                Cheers,

                                Laurie.
                                | 717|715|2006-06-25 14:51:53|Peter Miller|cross compiler|
                                Attachments :
                                  Hi folks,

                                  The cross compiler is progressing well. It can now handle procedures
                                  and functions, plain and segments. Next is records, and then all the
                                  weird built-in functions, and then maybe things will start to be ready
                                  to bootstrap II.0

                                  I'd appreciate some code reviews, if there are any C++ hackers on the
                                  list... http://ucsd-psystem-xc.sourceforge.net/


                                  I've also done OCR on the II.0 User Manual, but it needs lots of proof
                                  reading and HTML markup. At almost 300 pages, it needs more than just
                                  me if it's to be finished any time soon. If you'd like to help, drop me
                                  a line. Oh, and sf.net turned it down as a project, because the UCSD
                                  license isn't open source enough, so I'll host it on my web server,
                                  soon-ish.

                                  --
                                  Regards
                                  Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                                  PGP public key ID: 1024D/D0EDB64D
                                  fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                  See http://www.keyserver.net or any PGP keyserver for public key.
                                  | 718|715|2006-06-28 15:39:21|Laurie Boshell|Re: cross compiler|
                                  --- In UCSDPascal@yahoogroups.com, Peter Miller ..sounds interesting. IIRC there was a strange bug introduced when
                                  accessing packed records in II.0, not present in I.5 compiler. Watch
                                  out for that one, I have no further info but could probably look
                                  at later versions compiler code to resolve it.

                                  actually at the time they didn't seem so bad!!

                                  proof reading and HTML markup.

                                  Happy to help (I did the OCR for IV.0 Adaptable manual with Randy
                                  McLaughlin http://www.s100-manuals.com/download/Adap40x.ZIP).
                                  Can you send a version of the OCR to laurie@...?
                                  (I'm using a windows/Dos and IV.22 dos hosted system here )
                                  Cheers,

                                  Laurie
                                  | 719|719|2006-06-30 20:38:59|ed_davis2|1.5 UCSD sources|
                                  I ran across this today:

                                  ftp://ftp.freepascal.org/pub/fpc/attic/ucsd-pascal/

                                  Sorry if it is old news. From a quick look, I did not see this in the
                                  file section, although I could have easily missed it.
                                  | 720|719|2006-06-30 21:01:35|Barto, David|Re: 1.5 UCSD sources|
                                  This is the same set of sources that I sent to UCSD, and that they made
                                  available on their web site.

                                  Check past messages for the UCSD information.

                                  -barto



                                  | 721|108|2006-07-05 05:20:37|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                  Hello,

                                  This email message is a notification to let you know that
                                  a file has been uploaded to the Files area of the UCSDPascal
                                  group.

                                  File : /Disk images/Apple II/PPMPATCH.SDK
                                  Uploaded by : wilserv_41 <willi@... Description : A ShrinkIt archive of a disk containing Pascal Partition Manager patched so that PPM will work with 3.5 inch drives and drives connected to Apple SCSI cards

                                  You can access this file at the URL:
                                  http://groups.yahoo.com/group/UCSDPascal/files/Disk%20images/Apple%20II/PPMPATCH.SDK

                                  To learn more about file sharing for your group, please visit:
                                  http://help.yahoo.com/help/us/groups/files

                                  Regards,

                                  wilserv_41 <willi@...| 722|722|2006-07-05 06:00:09|Willi Kusche|Pascal Partition Manager for USCD Pascal for the Apple|
                                  Hi, y'all!

                                  I just uploaded a file, named "PPMPATCH.SDK", to the 'Files' area.
                                  It's in the "Apple II" directory in the "Disk images" directory.

                                  PPM is an acronym for "Pascal Partition Manager", a system for
                                  setting up multiple Pascal volumes within a "Pascal Area" in a ProDOS
                                  partition on an Apple ProFile drive. This patched version allows a
                                  Pascal Area to be created and maintained on 3.5 inch drives or on
                                  drives connected to Apple SCSI controller cards. This evening, I was
                                  able to create a Pascal Area within a ProDOS partition on a Compact
                                  Flash card.

                                  The nice thing about this PPM is that it allows you to set up many
                                  volumes within a ProDOS partition thereby acting as an alternative to
                                  UCSD Pascal's lack of subdirectories. PPM contains an extended Filer
                                  that allows volumes in a Pascal Area to be handled as normal Pascal
                                  volumes.

                                  One negative is that this software is based on version 1.2 of UCSD
                                  Pascal for the Apple and can't be run from version 1.3.

                                  Thanks to Matt Jenkins, a recent new member of the group, who kept
                                  me from spinning my wheels during my search for the patch, by asking
                                  perceptive questions, at appropriate moments.

                                  Willi
                                  | 723|722|2006-07-05 06:29:22|willi@wilserv.com|Re: Pascal ProFile Manager; was Pascal Partition Manager, in error|
                                  Hi, y'all!

                                  Quoting Willi:
                                  <--- snip --- <--- snip ---
                                  No, no, no, it's "Pascal ProFile Manager", not "Pascal Partition Manager".

                                  Willi
                                  | 724|722|2006-07-06 05:57:49|John Pham|Re: Pascal Partition Manager for USCD Pascal for the Apple|


                                  Just wondering but does anyone have Apple Pascal driver for SCSI drive?


                                  Yahoo! Music Unlimited - Access over 1 million songs. Try it free.
                                  | 725|108|2006-07-15 12:39:09|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                  Hello,

                                  This email message is a notification to let you know that
                                  a file has been uploaded to the Files area of the UCSDPascal
                                  group.

                                  File : /Version II stuff/ODMSCU.TEXT
                                  Uploaded by : laurieboshell2004 <laurie@... Description : A generic screen unit from Arley Dealey of Volition Systems. This unit peeks as system.miscinfo to work out how to move cursor and clear screen.

                                  You can access this file at the URL:
                                  http://groups.yahoo.com/group/UCSDPascal/files/Version%20II%20stuff/ODMSCU.TEXT

                                  To learn more about file sharing for your group, please visit:
                                  http://help.yahoo.com/help/us/groups/files

                                  Regards,

                                  laurieboshell2004 <laurie@...| 726|715|2006-08-05 23:12:23|Peter Miller|cross compiler|
                                  Attachments :
                                    The cross compiler is going well, it now understands RECORD types.
                                    You can get a preview at http://ucsd-psystem-xc.sourceforge.net/
                                    although it isn't ready to compile the II.0 system, its getting closer.
                                    Next is arrays, and then the rest of the data types.

                                    Also Laurie Boshell has done some great work with proofing the II.0 User
                                    Manual. You can see the results so far at
                                    http://miller.emu.id.au/pmiller/ucsd-psystem-um/
                                    As always, contributions welcome (it even says how).

                                    --
                                    Regards
                                    Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                                    PGP public key ID: 1024D/D0EDB64D
                                    fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                    See http://www.keyserver.net or any PGP keyserver for public key.
                                    | 728|728|2006-08-16 07:30:03|Shirl|Re: The history of Algol|
                                    Hans,

                                    Thanks for the info about ALGOL (I know it is written "Algol" but ALGOL
                                    looks better to me). Looking forward to reading your thesis paper. I've not
                                    used ALGOL but have read about its history in the history of computer
                                    languages book by the ACM society about 15 years ago.

                                    Given you live in Nederland, I can see why you're an ALGOL fan due to the
                                    key people from your area who were involved with the development of ALGOL.

                                    I know ALGOL was key to modernizing computer languages and that its
                                    decendents are Mesa, Pascal, C, and Ada.

                                    [Re Ada, I'm very disappointed this language has not been accepted. I did
                                    lots of college work with Ada and thought it had a very good structure. Too
                                    bad the C weenie crowd (C++, C+-, C#, Java) has come to dominate programming
                                    which in my opinion has produced a very poor set of programs which are hard
                                    to maintain and very hard to minimize bugs.]

                                    - David Craig

                                    ----------
                                    | 730|727|2006-08-16 17:42:56|al_kossow|Re: From comp.compilers: The history of Algol|
                                    --- In UCSDPascal@yahoogroups.com, "Hans Otten" 60's with the B5000 series of computers in the US. While most of the other US computer
                                    companies were pushing FORTRAN at the time, Burroughs was writing their operating
                                    systems in modifed Algol.

                                    Even up through the mid-70's, language survey articles in the US were still talking about
                                    Algol as being this not very interesting language from Europe.

                                    Wasn't there a pretty direct connection between UCSD Pascal and B-series computers?
                                    (segmentation comes to mind).

                                    There is also direct lineage from the B systems to the stack-based HP-3000 systems.

                                    One of the problems with Algol (and Pascal) were the portability problems caused by not
                                    defining I/O in the language.
                                    | 731|727|2006-08-16 21:48:12|Richard Kaufmann|Re: From comp.compilers: The history of Algol|
                                    There were very strong connections between the Burroughs B6700 ("The Beast") and UCSD Pascal:

                                    Ken Bowles was the computer center director before starting the UCSD Pascal Project.  The UCSD Computer Center bought the B6700 under his direction.

                                    The Burroughs architecture was stack-based, although it was about as far away from RISC as you could get.  It had an amazingly complicated and rich instruction set.  The compiler was an integral part of system security (enforcing memory protection among other things).

                                    Since the early members of the project were devoted users (aka slaves) of The Beast, many of the ideas came across.  One example: the notion of the Operating System being the "real" main program that calls the user's program as though it were a procedure. 

                                    And Algol::Burroughs Algol as Pascal::UCSD Pascal.  Burroughs hacked and chopped at Algol until it was a useful systems programming language (including a very interesting set of string primitives), just as we hacked and chopped at Pascal (including a very different set of string primitives).  There were Algol Purists who were every bit as peeved that their lovely, pure language was sullied by those brutish systems programming types.

                                    UCSD Pascal was in fact cross compiled from the B6700.  The first teaching system couldn't compile itself; we had to compile on the 6700 and then move the p-code to the PDP-11/10s.

                                    (More details on the UCSD Pascal anniversary site -- see John Van Zandt's presentation.)

                                    When we finally cut the cord and were able to self-host, the world became a much more interesting and better place.

                                    Cheers,
                                    Richard

                                    ----- Original Message ----
                                    From: al_kossow

                                    | 732|732|2006-08-19 09:02:21|Willi Kusche|TI 99/4A UCSD p-SYSTEM Manual on eBay|
                                    Hi, y'all!

                                    Is anyone in the group bidding on this manual? If so, I don't
                                    want to bid against you.

                                    Willi

                                    | 733|727|2006-08-21 07:57:19|Ruud.Baltissen@abp.nl|UCSD Pascal for Commodore|
                                    Attachments :

                                      Hallo allemaal,


                                      Last Saturday I received two manuals with UCSD Pascal for the Commodore 9286, including two floppies; program and utilities. I didn't know this existed at all.
                                      Of course I tried to run the software but that didn't work out: the machine simply stopped during the loading proces. The same happened with both floppies. My first thought was "the floppies are bad :(", but in such a case the machine, or better the drive, behaves differently.

                                      I also tried to make a copy of the floppies and in both cases I got an 'illegal track or sector' error. I tried to copy the file using a file copier. FYI: the first two bytes of a sector point to the track and sector of the next sector. If this pointer is out of range in some way, the above error shows up. It seems there is a copy protection involved. Another thing I can do do is to make a diskcopy. I'll try that this evening.

                                      Is there anybody on this list with knowledge and experience with UCSD Pascal for the 8296?

                                      One other things: I read an article about the IBM PC celebrating its 25th birthday. The article mentioned that the PC could be bought with a choice between three different OS's: MS-DOS, CP/M-86 and UCSD Pascal. I know, the last isn't an OS but that is what the article said. But was UCSD Pascal available for the PC at that time? Version? Has anybody a copy? Thanks IA.


                                      --
                                           ___
                                          / __|__
                                         / /  |_/     Groetjes, Ruud
                                         \ \__|_\
                                          \___|       URL: Ruud.C64.org













                                      De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                      Stichting  Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                      The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                      Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000

                                      De Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000

                                      | 734|727|2006-08-22 20:50:22|Red Rooster|Re: UCSD Pascal for Commodore|
                                      At 10:51 PM 8/20/2006, Ruud.Baltissen@... wrote:

                                      experience with
                                      No, sorry, did only some contract work on LOS-96 back
                                      in those days,
                                      damn, that's 20 years ago, I must be getting old...
                                      ;-)
                                      But it kinda seems logical that someone ported it, the
                                      8296 uses the
                                      same CPU as the Apple ][ and has 128/256KB of RAM,
                                      that was a nice
                                      setup back then, specially with the large floppy
                                      capacity...

                                      celebrating its
                                      could be bought
                                      CP/M-86 and UCSD
                                      the article
                                      that time?
                                      Yes, that was available at that time and the most
                                      expensive option of
                                      those 3. And it kind of is/was an OS, as it was
                                      completely
                                      self-hosted, with its own file system, no need/way to
                                      boot any other
                                      OS to use it.

                                      And you are not the only one looking for a working
                                      copy of those discs... :-(

                                      Ralf


                                      --
                                      No virus found in this outgoing message.
                                      Checked by AVG Free Edition.
                                      Version: 7.1.405 / Virus Database: 268.11.5/425 -
                                      Release Date: 8/22/2006



                                      __________________________________________________
                                      Do You Yahoo!?
                                      Tired of spam? Yahoo! Mail has the best spam protection around
                                      http://mail.yahoo.com
                                      | 735|732|2006-08-23 22:42:23|Anders Persson|Re: TI 99/4A UCSD p-SYSTEM Manual on eBay|
                                      --- In UCSDPascal@yahoogroups.com, "Willi Kusche" since they are full with clever notes.

                                      Anders
                                      | 736|727|2006-08-31 14:49:59|Ruud.Baltissen@abp.nl|Re: UCSD Pascal for Commodore|
                                      Attachments :

                                        Hallo allemaal,


                                        At <
                                        http://www.baltissen.org/zip/ucsd-pascal-8096.zip Pascal flopies I got lately. The images can be used with an emulator like VICE. If you need real floppies, you need to transfer them in one or another way. I myself use my own developed CBM-HD, a PC with a small interface that emulates one or more (different) C= drives. Feel free to visit my site for more info.


                                        --
                                             ___
                                            / __|__
                                           / /  |_/     Groetjes, Ruud
                                           \ \__|_\
                                            \___|       URL: Ruud.C64.org












                                        De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                        Stichting  Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                        The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                        Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000


                                        | 737|727|2006-08-31 15:56:29|Eric Scharff|Re: UCSD Pascal for Commodore|
                                        Thanks for creating these disk images?

                                        I've been trying to get them to work in VICE but I have
                                        experienced problems. I think my VICE configuration isn't
                                        correct.

                                        I set VICE (xpet) to emulate a model 8096 (with 96K or RAM) and
                                        a 8050 disk drive. I insert the disk image and then do

                                        dload"*"

                                        and then RUN

                                        It accesses the disk drive again, but then exits into the PET
                                        built-in monitor:

                                        b*
                                        pc irq sr ac xr yr sp
                                        .; 0401 e455 36 00 00 00 f8

                                        Does anyone have an idea on how to configure VICE correctly for
                                        this program?

                                        Thanks,

                                        -Eric


                                        __________________________________________________
                                        Do You Yahoo!?
                                        Tired of spam? Yahoo! Mail has the best spam protection around
                                        http://mail.yahoo.com
                                        | 738|727|2006-09-07 10:41:50|Ruud.Baltissen@abp.nl|Re: UCSD Pascal for Commodore|
                                        Attachments :

                                          Hallo Eric,


                                          to get them to work in VICE but I have
                                          think my VICE configuration isn't
                                          I tried both disk on a 8296D and no result either. I load the PRG and run it. The computer starts to access the drive and then stops after some seconds. Both floppies act the same. Very strange and I have no idea what is going on. It is certainly not the behaviour of a C= hitting some bad sectors.

                                          A weird thought: the 8296 is said to be nearly 100% 8096 compatible but what if it indeed has to do with whatever difference there is? Due to circumstances I cannot test in a real 8096 at this moment.


                                          I use the LOAD"...",8 command. Please try that. '...' stands for the name of the PRG I don't know right now.


                                          --
                                               ___
                                              / __|__
                                             / /  |_/     Groetjes, Ruud
                                             \ \__|_\
                                              \___|       URL: Ruud.C64.org












                                          De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                          Stichting  Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                          The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                          Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000


                                          | 739|715|2006-09-14 15:36:17|Peter Miller|cross compiler|
                                          Attachments :
                                            Hi folks,

                                            The cross compiler is progressing well. It can now handle records,
                                            packed records, arrays, packed arrays and sets. It gets all the way
                                            through globals.text (the portion of the Pascal source used for
                                            communication between the interpreter and the operating system). A few
                                            of the built-in functions are also done. The FOR, WITH and CASE
                                            statements have yet to be coded (but I'm not expecting problems).

                                            I'd appreciate some code reviews, if there are any C++ hackers on the
                                            list... http://ucsd-psystem-xc.sourceforge.net/
                                            See also the statistics section of the web site - apparently 7 of me
                                            have been slaving for 15 months on this :-)

                                            The II.0 User Manual has been proofed and formatted for 169 of 298 pages
                                            (56%). Laurie Boshell deserves much of the credit for this one. Please
                                            visit http://miller.emu.id.au/pmiller/ucsd-psystem-um/ if you would like
                                            to help (or see the 56% finished product).

                                            --
                                            Regards
                                            Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                                            PGP public key ID: 1024D/D0EDB64D
                                            fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                            See http://www.keyserver.net or any PGP keyserver for public key.
                                            | 741|715|2006-09-18 23:41:46|Laurie Boshell|Re: cross compiler|
                                            --- In UCSDPascal@yahoogroups.com, Peter Miller problem for me some time ago: I could not be sure when the C++
                                            constructors and destructors executed (the explanation given was when
                                            they came into and out of scope. But that's another story).

                                            I DO HAVE a cross compiler for the I.5 system that runs under DOS/WIN
                                            done in TP7 if that's of any help. I never got include files working
                                            correctly mainly because of the stuffing around of the text buffer by
                                            the compiler (SYMBUFP and the array it points to IIRC).

                                            If you can get my interest up, I should re-do it for II.x, then we
                                            could have 2 separate systems to see if the files the compiler
                                            produced are correct!!

                                            Most of my time is spent working on an Apple-1 emulator in Delphi 3
                                            and a subtle bug in ADC and SBC 6502 op codes (Someone on this group
                                            asked for a copy and I rudly never got back to him. Are you still
                                            there?)

                                            I'll continue with the manual work, but only when I get time on the
                                            weekends.

                                            Cheers,

                                            Laurie.
                                            | 742|715|2006-09-20 03:53:38|Eric Engler|Re: cross compiler|
                                            --- In UCSDPascal@yahoogroups.com, "Laurie Boshell" Hi Laurie,

                                            I was the one who wanted it.

                                            I found an Apple II emulator written in Delphi in case you're
                                            interested. But it's a little yucky: it's a WinAPI type of program
                                            that is mostly a direct translation from C++. I strongly prefer the
                                            VCL programming model in general.

                                            Eric
                                            | 744|715|2006-09-21 09:15:23|Ruud.Baltissen@abp.nl|Re: cross compiler|
                                            Attachments :

                                              Hallo Laurie,


                                              cross compiler for the I.5 system that runs under
                                              that's of any help.

                                              I am very interested! Can I get the sources, please?


                                              in
                                              Same question :)

                                              Thank you in advance!



                                              Hallo Eric,


                                              written in Delphi in case
                                              I am !!!


                                              Thank you in advance!


                                              --
                                                   ___
                                                  / __|__
                                                 / /  |_/     Groetjes, Ruud
                                                 \ \__|_\
                                                  \___|       URL: Ruud.C64.org












                                              De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                              Stichting  Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                              The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                              Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000


                                              | 745|108|2006-09-21 23:10:35|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                              Hello,

                                              This email message is a notification to let you know that
                                              a file has been uploaded to the Files area of the UCSDPascal
                                              group.

                                              File : /I5forPC/pc157g.zip
                                              Uploaded by : laurieboshell2004 <laurie@... Description : Source for a DOS I.5 cross compiler

                                              You can access this file at the URL:
                                              http://groups.yahoo.com/group/UCSDPascal/files/I5forPC/pc157g.zip

                                              To learn more about file sharing for your group, please visit:
                                              http://help.yahoo.com/help/us/groups/files

                                              Regards,

                                              laurieboshell2004 <laurie@...| 746|715|2006-09-21 23:16:14|Laurie Boshell|Re: cross compiler|
                                              --- In UCSDPascal@yahoogroups.com, area. There is an interp there if you want to run the compiled p-
                                              codes under DOS.





                                              I'll clean up the source and send it to you and to Eric.

                                              Laurie.
                                              | 747|747|2006-09-24 07:33:46|Eric Engler|OT: Apple II Emulator Source for Delphi|
                                              Forgive me for this off-topic post, but it is possibly of interest to
                                              people here. Many people who like Pascal might want the Delphi source
                                              for an Apple II emulator. This emulator should be able to run Apple
                                              Pascal on a Windows computer.

                                              I uploaded the Delphi source code here:

                                              http://www.ericengler.com/downloads/delphi apple emu.zip

                                              I got it from a German website and there are web pages included in
                                              this archive to serve as documentation. I don't remember the original
                                              download URL, you you might be able to find it in one of the web pages
                                              included in this zip.

                                              This doesn't compile in Delphi 5 "as is" because it uses some features
                                              that came out in Delphi 6 or 7. I only have Delphi 5, and a few
                                              earlier versions.

                                              It's basically a port of an older version of Applewin from C++ to
                                              Delphi. It uses the WinAPI style of coding, so it's a bit hard to work
                                              with.

                                              The main value of this code is the 6502 emulation routines written in
                                              Delphi/Pascal (aw_cpu.pas).

                                              If you want a nicer Apple II emulator, the newer versions of Applewin
                                              have a lot of enhancements, but it uses C/C++ code instead of Delphi.
                                              This has become a very advanced emulator and it runs very well on
                                              modern PC's - the look-and-feel are excellent.

                                              http://applewin.berlios.de

                                              Eric
                                              | 748|715|2006-09-25 08:04:07|Ruud.Baltissen@abp.nl|Re: cross compiler|
                                              Thank you very much !!!

                                              De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                              Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                              The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                              Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000
                                              | 749|749|2006-10-04 23:28:23|rtstofer|Ver I.5 under CP/M|
                                              Many years ago I had I.5 running on an Altair 8800 and I want to
                                              recreate it without trying to get the Altair running.

                                              Is it really going to be as simple as copying the various .BIN files
                                              from CPMADAPT.EXE onto something that looks a lot like an 8" SSSD
                                              floppy?

                                              A couple of years ago I built an FPGA based Z80 (see T80 core at
                                              www.opencores.org) and I have CP/M 2.2 running on 2 compact flash
                                              drives with 16 logical drives of 16 MB each (max for 2.2). I have been
                                              hanging out with my old friends (MAC, RMAC, PL/I, Fortran, WordStar,
                                              etc) and now I would like to restore UCSD Pascal.

                                              Step 2 would be to build an SBC using one of the very fast Z80s (30
                                              MHz) with a bunch of RAM (1 MB?) and a pair of either SD/MMC or CF
                                              devices.

                                              Step 3 would be to add the capability to interface with the real world
                                              of robotics. Things like PWM, A/D and parallel I/O would be nice.

                                              Any advice would be greatly appreciated. I have been thinking about
                                              this project for over 10 years. Now is the time...

                                              Richard
                                              | 750|713|2006-10-06 08:59:20|Ruud.Baltissen@abp.nl|pc157g.zip|
                                              Attachments :

                                                Hallo Laurie,


                                                I just found some time to have a look at your sources. Unfortunately CMPINIT.PAS is missing. There is a BAK present, I renamed it and things compiled fine. But it still means you had a reason to create a newer file. Just shout if you have updated the ZIP :) TIA.


                                                --
                                                     ___
                                                    / __|__
                                                   / /  |_/     Groetjes, Ruud
                                                   \ \__|_\
                                                    \___|       URL: Ruud.C64.org












                                                De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                                Stichting  Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                                The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                                Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000


                                                | 751|749|2006-10-07 00:00:59|Laurie Boshell|Re: Ver I.5 under CP/M|
                                                | 752|713|2006-10-07 00:16:01|Laurie Boshell|Re: pc157g.zip|
                                                --- In UCSDPascal@yahoogroups.com, You are correct. I've uploaded a fresh pc157g.zip with CMPINIT.PAS.
                                                I suspect that the only change was a new comment on line 1.

                                                This now means that you have to check the code, write programs
                                                and report back to the group. All feedback is welcome. Perhaps you
                                                could move the code to Delphi, that would then allow compilation
                                                with WIN 32 and Linux (Delphi 3 migrates to Kylix easily).

                                                What do you reckon mate ??

                                                Laurie.
                                                | 753|749|2006-10-07 07:48:05|Willi Kusche|Re: Ver I.5 under CP/M|
                                                Hi, Laurie!

                                                | 754|749|2006-10-07 11:33:21|Laurie Boshell|Re: Ver I.5 under CP/M|
                                                --- In UCSDPascal@yahoogroups.com, "Willi Kusche" I'm sure that I do Willi.

                                                I'll fire up the Microsoft Z-80 card on one of my Apple II machines
                                                and see what I can come up with. Might not be for a few days though!

                                                Laurie.
                                                | 755|715|2006-10-17 22:18:15|Scott Michel|Re: cross compiler|
                                                --- Laurie Boshell <laurie@...
                                                I'm sure that someone's probably answered this for
                                                you, but on the off chance that no one has...
                                                constructors are executed before an object's first use
                                                (locally and heap allocated objects, not pointers or
                                                references). Destructors are generally executed when
                                                an object goes out of scope, but a compiler can decide
                                                to move the actual destructor call earlier or later,
                                                depending on the optimizer.

                                                Needless to say, if you really have to ask when a
                                                destructor is being called to enforce some rigid
                                                sequencing, your design is probably flawed in some way.

                                                __________________________________________________
                                                Do You Yahoo!?
                                                Tired of spam? Yahoo! Mail has the best spam protection around
                                                http://mail.yahoo.com
                                                | 757|633|2006-10-22 21:20:43|UCSDPascal@yahoogroups.com|New poll for UCSDPascal |
                                                Enter your vote today! A new poll has been created for the
                                                UCSDPascal group:

                                                I am currently using UCSD Pascal:

                                                o to learn good programming habits
                                                o to make a living
                                                o to teach my children good programming
                                                o as an exercise in critical thinking
                                                o because it's free
                                                o because it's an elegant knowable language
                                                o to maintain existing software
                                                o to program antique computers
                                                o on PC hardware
                                                o on Mainframe hardware
                                                o on Macintosh hardware
                                                o because I miss the '70s


                                                To vote, please visit the following web page:
                                                http://groups.yahoo.com/group/UCSDPascal/surveys?id=2360724

                                                Note: Please do not reply to this message. Poll votes are
                                                not collected via email. To vote, you must go to the Yahoo! Groups
                                                web site listed above.

                                                Thanks!
                                                | 758|633|2006-10-22 23:26:28|UCSDPascal@yahoogroups.com|New poll for UCSDPascal |
                                                Enter your vote today! A new poll has been created for the
                                                UCSDPascal group:

                                                What is your main interest in UCSD Pascal?

                                                o recovering sources for building new compiler versions
                                                o creating new applications
                                                o maintaining or accessing present applications
                                                o porting existing applications to another system


                                                To vote, please visit the following web page:
                                                http://groups.yahoo.com/group/UCSDPascal/surveys?id=2360792

                                                Note: Please do not reply to this message. Poll votes are
                                                not collected via email. To vote, you must go to the Yahoo! Groups
                                                web site listed above.

                                                Thanks!
                                                | 759|713|2006-10-27 12:44:46|Laurie Boshell|Re: pc157g.zip|
                                                --- In UCSDPascal@yahoogroups.com, "Hans Otten" section but it is only the object file.
                                                I'll organise it as a borland pascal project and upload the lot to the
                                                files section ASAP. (Please excuse some sections of the code: they
                                                were a quick and dirty hack many hours after midnight some years ago,
                                                other sections were much moe considered.)

                                                Laurie.
                                                | 760|760|2006-11-04 20:20:33|Eric Engler|Turbo Pascal 3 Internals|
                                                I used Apple Pascal (UCSD) for a while until I got the Microsoft
                                                Softcard for the Apple II, then I switched to Turbo Pascal for CP/M.
                                                It seemed like magic to me that the compiler was so small, but also
                                                very fast and it supported a large part of the Pascal language.

                                                Here's an interesting link on the Turbo Pascal 3 internals (x86 platform):

                                                http://www.pcengines.ch/tp3.htm

                                                This following link is one of the slowest sites on the Internet, but
                                                this has source code for several Pascal compilers. I had to use an
                                                auto-downloader (GetRight) to get some of these files because they had
                                                to be resumed multiple times, but I think it was worth the trouble:

                                                http://www.exmortis.narod.ru/src_compilers_eng.html

                                                By the way, I think I have copies of Turbo Pascal 3 for both CP/M and
                                                x86, in case anyone is interested.

                                                TP3 lacks the fascinating multi-platform nature of UCSD, but it really
                                                took the world by storm and that's the key reason UCSD lost
                                                popularity. Borland was also able to keep Microsoft at bay with this
                                                product for many years.

                                                After TP was morphed into the Delphi powerhouse, it had a great run
                                                for over a decade (beyond the decade lifetime of TP itself). Sadly,
                                                Delphi seems to be on the way out now. Microsoft hired away Anders
                                                Heljsberg (author of TP and Delphi) several years ago, and his C#
                                                language produced during his stay at Microsoft is clearly clobbering
                                                Delphi in the marketplace.

                                                So UCSD, Turbo Pascal, and now Delphi are all heading for the history
                                                books. But these will all live on until the last of us has passed
                                                away. It seems to give us a purpose bigger than ourselves. Or maybe
                                                these are the sentimental ramlings of an old programmer who doesn't
                                                want to be old. Alas, we've found our time machine, and at least our
                                                minds can stay young.
                                                | 761|760|2006-11-05 14:25:38|Peter Miller|Re: Turbo Pascal 3 Internals|
                                                Attachments :
                                                  On Sat, 2006-11-04 at 18:17 +0000, Eric Engler wrote:
                                                  For a faster mirror, see
                                                  http://miller.emu.id.au/pmiller/mirror/www.exmortis.narod.ru/src_compilers_eng.html


                                                  --
                                                  Regards
                                                  Peter Miller <millerp@canb.auug.org.au /\/\* http://www.canb.auug.org.au/~millerp/

                                                  PGP public key ID: 1024D/D0EDB64D
                                                  fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                                  See http://www.keyserver.net or any PGP keyserver for public key.
                                                  | 762|760|2006-11-07 08:18:02|Red Rooster|Re: Turbo Pascal 3 Internals|
                                                  At 10:17 AM 11/4/2006, Eric Engler wrote:

                                                  had a great run
                                                  itself). Sadly,
                                                  hired away Anders
                                                  ago, and his C#
                                                  clearly clobbering
                                                  Not so fast... ;-)

                                                  Do you know about www.turboexplorer.com ? ;-)

                                                  RR


                                                  --
                                                  No virus found in this outgoing message.
                                                  Checked by AVG Free Edition.
                                                  Version: 7.5.430 / Virus Database: 268.13.29/520 -
                                                  Release Date: 11/6/2006 3:50 PM






                                                  ____________________________________________________________________________________
                                                  Sponsored Link

                                                  For just $24.99/mo., Vonage offers unlimited local and long- distance calling.
                                                  Sign up now. http://www.vonage.com/startsavingnow/
                                                  | 763|763|2006-11-07 11:20:08|UCSDPascal@yahoogroups.com|Poll results for UCSDPascal |
                                                  The following UCSDPascal poll is now closed. Here are the
                                                  final results:


                                                  POLL QUESTION: What is your main interest in UCSD Pascal?

                                                  CHOICES AND RESULTS
                                                  - recovering sources for building new compiler versions, 8 votes, 61.54%
                                                  - creating new applications, 3 votes, 23.08%
                                                  - maintaining or accessing present applications, 0 votes, 0.00%
                                                  - porting existing applications to another system, 2 votes, 15.38%



                                                  For more information about this group, please visit
                                                  http://groups.yahoo.com/group/UCSDPascal

                                                  For help with Yahoo! Groups, please visit
                                                  http://help.yahoo.com/help/us/groups/
                                                  | 764|713|2006-11-07 13:51:24|Ruud.Baltissen@abp.nl|Re: pc157g.zip|

                                                  Hallo Laurie,


                                                  you reckon mate ??

                                                  As mentioned before, I'm interested in creating an UCSD version for my Commodores. This simply means I need the Interpreter as well. I hope you release it soon.

                                                  The next thing is that, whatever we create, 1) it must be able to compile itself and 2) it must be able to compile the original UCSD files. If things work out fine, we'll end up with a compiler, linker and what ever we need that runs under DOS and is based on the original sources. But because we use DOS, we are bound to 8.3 name convention. This will mean that the original names of quite some files have to be changed as well as sources pointing to those files. But there is nothing against using these changed files as base for further developments as all file systems that I know can cope with this 8.3 format (even the Commodores).
                                                  So IMHO we only have to tweak your TP sources until it produces an EXE that is capable of doing the job on its own.

                                                  You also mentioned moving the code to Delphi. Personnaly I wonder if it is worth the trouble. What specific code would you like to see to run under Delphi? No offence meant but I'm a guy with not much free time so before spending time on something, I need to know if it is worth the trouble.

                                                  I now start with renaming the 1.5 sources I have and will see how your TP compiler copes with them.

                                                  Any comment, suggestions, critics or what ever are welcome :)


                                                  --
                                                      ___
                                                     / __|__
                                                    / /  |_/     Groetjes, Ruud
                                                    \ \__|_\
                                                     \___|       URL: Ruud.C64.org



                                                   




                                                  De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                                  Stichting  Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                                  The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                                  Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000


                                                  | 765|713|2006-11-07 15:04:53|Ruud.Baltissen@abp.nl|Re: pc157g.zip|

                                                  Hallo allemaal,


                                                  Maybe a stupid question, but how does UCSD Pascal work ??? The reason I ask this is that I started with looking for the main file of the compiler which I found in the directory Compiler with the name Copiler (yes, I know, quite obvious). But what took me by suprise is the end of the file:


                                                   .
                                                   .
                                                   .
                                                       IF COMMENT < GENBYTE(0);
                                                     FOR LGTH := 1 TO 256 - 8*(MAXSEG + 1) - 40 DO GENWORD(0);
                                                     CURBLK := 0; CURBYTE := 0; WRITECODE(TRUE)
                                                   END (* PASCALCOMPILER *) ;

                                                   BEGIN (* SYSTEM *)
                                                   END.


                                                  I know this should be the right file as it is the same text I found in Laurie's TP version, that is, the part ending with "(* PASCALCOMPILER *)". Any expanation is welcome!


                                                  renaming the 1.5 sources ....

                                                  The original names:

                                                  Map van L:\Ruud\UCSD\org

                                                  07-11-06  12:36        

                                                  07-11-06  12:36         07-11-06  12:29         07-11-06  12:29         07-11-06  12:29         07-11-06  12:29         07-11-06  12:29         07-11-06  12:29         07-11-06  12:29         09-01-06  14:13                  6.867 I.5Binder.text
                                                  09-01-06  14:13                 15.114 I.5Librarian.text
                                                  09-01-06  14:13                 37.673 I.5-PDP-INTERP.TXT
                                                  09-01-06  14:13                110.776 I5Z80Interp.TXT
                                                  09-01-06  14:13                    373 P.UCSD Pascal 1.5 Binder.txt
                                                  09-01-06  14:13                  4.614 P.UCSD Pascal 1.5 Compiler.txt
                                                  09-01-06  14:13                  1.844 P.UCSD Pascal 1.5 Disassembler.txt
                                                  09-01-06  14:13                    393 P.UCSD Pascal 1.5 LibMap.txt
                                                  09-01-06  14:13                    615 P.UCSD Pascal 1.5 Librarian.txt
                                                  09-01-06  14:13                  1.823 P.UCSD Pascal 1.5 Linker.txt
                                                  09-01-06  14:13                    314 P.UCSD Pascal 1.5 PIO Unit.txt
                                                  09-01-06  14:13                    159 P.UCSD Pascal 1.5 PIO.txt
                                                  09-01-06  14:13                    463 P.UCSD Pascal 1.5 Radix.txt
                                                  09-01-06  14:13                  2.113 P.UCSD Pascal 1.5 System.txt
                                                  09-01-06  14:13                  6.220 set1.txt
                                                  09-01-06  14:13                  1.041 UCSD Pascal 1.5 Interp CopyRite.txt
                                                  09-01-06  14:13                 37.673 UCSD Pascal 1.5 Interp MainOp.txt
                                                  09-01-06  14:13                 42.849 UCSD Pascal 1.5 Interp ProcOp.txt
                                                  09-01-06  14:13                 15.855 UCSD Pascal 1.5 Interp QXBOOT.txt
                                                  09-01-06  14:13                  9.511 UCSD Pascal 1.5 Interp RKBOOT.txt
                                                  09-01-06  14:13                 15.445 UCSD Pascal 1.5 Interp RXBOOT.txt
                                                  09-01-06  14:13                    417 UCSD Pascal 1.5 Interp TERAK.txt
                                                  09-01-06  14:13                 16.590 UCSD Pascal 1.5 LibMap.txt
                                                  09-01-06  14:13                  9.172 UCSD Pascal 1.5 PIO Unit.txt
                                                  09-01-06  14:13                 14.520 UCSD Pascal 1.5 PIO.txt
                                                  09-01-06  14:13                 12.722 UCSD Pascal 1.5 Radix.txt
                                                                35 bestand(en)          365.156 bytes

                                                  Map van L:\Ruud\UCSD\org\editor-e.4

                                                  07-11-06  12:29         07-11-06  12:29         09-01-06  14:13                  6.277 COMMAND.PAS
                                                  09-01-06  14:13                  4.991 EDITOR.PAS
                                                  09-01-06  14:13                  3.111 ENVIRON.PAS
                                                  09-01-06  14:13                  9.898 FIND.PAS
                                                  09-01-06  14:13                  5.510 HEAD.PAS
                                                  09-01-06  14:13                  5.483 INIT.PAS
                                                  09-01-06  14:13                 12.056 INSERTIT.PAS
                                                  09-01-06  14:13                  2.239 MISC.PAS
                                                  09-01-06  14:13                 17.770 MOVEIT.PAS
                                                  09-01-06  14:13                  2.250 OUT.PAS
                                                  09-01-06  14:13                  1.372 USER.PAS
                                                  09-01-06  14:13                 10.787 UTIL.PAS
                                                                14 bestand(en)           81.744 bytes

                                                  Map van L:\Ruud\UCSD\org\filer-F5

                                                  07-11-06  12:29         07-11-06  12:29         09-01-06  14:13                    548 filenote.txt
                                                  09-01-06  14:13                    511 FILER.TXT
                                                  09-01-06  14:13                 10.249 FILERA.TXT
                                                  09-01-06  14:13                 17.915 FILERB.TXT
                                                  09-01-06  14:13                 19.956 FILERC.TXT
                                                  09-01-06  14:13                 18.425 FILERD.TXT
                                                  09-01-06  14:13                 10.756 GLOBALS.TXT
                                                                 9 bestand(en)           78.360 bytes

                                                  Map van L:\Ruud\UCSD\org\I.5.b.1-ASM

                                                  07-11-06  12:29         07-11-06  12:29         09-01-06  14:13                 17.438 ASM1.TXT
                                                  09-01-06  14:13                 17.113 ASM2.TXT
                                                  09-01-06  14:13                 24.506 ASM3.TXT
                                                  09-01-06  14:13                 23.532 ASM4.TXT
                                                  09-01-06  14:13                 19.806 ASM5.TXT
                                                  09-01-06  14:13                 14.240 ASM6.TXT
                                                                 8 bestand(en)          116.635 bytes

                                                  Map van L:\Ruud\UCSD\org\I.5Compiler

                                                  07-11-06  12:29         07-11-06  12:29         09-01-06  14:13                  4.401 BLOCK.TEXT
                                                  09-01-06  14:13                 17.087 BODYPARTA.TEXT
                                                  09-01-06  14:13                 12.938 BODYPARTB.TEXT
                                                  09-01-06  14:13                 18.515 BODYPARTC.TEXT
                                                  09-01-06  14:13                 19.139 BODYPARTD.TEXT
                                                  09-01-06  14:13                 20.996 BODYPARTE.TEXT
                                                  09-01-06  14:13                 14.713 COMPGLBLS.TEXT
                                                  09-01-06  14:13                  2.307 COMPILER.TEXT
                                                  09-01-06  14:13                 13.140 COMPINIT.TEXT
                                                  09-01-06  14:13                 21.453 DECPARTA.TEXT
                                                  09-01-06  14:13                 11.549 DECPARTB.TEXT
                                                  09-01-06  14:13                 14.723 DECPARTC.TEXT
                                                  09-01-06  14:13                 17.104 PROCS.A.TEXT
                                                  09-01-06  14:13                 10.353 PROCS.B.TEXT
                                                  09-01-06  14:13                 13.588 UNITPART.TEXT
                                                                17 bestand(en)          212.006 bytes

                                                  Map van L:\Ruud\UCSD\org\I.5Disasm

                                                  07-11-06  12:29         07-11-06  12:29         09-01-06  14:13                  2.560 OPCODES.I5
                                                  09-01-06  14:13                 18.901 DISASM.TEXT
                                                  09-01-06  14:13                 11.612 DISASM1.TEXT
                                                  09-01-06  14:13                 14.914 DISASM2.TEXT
                                                                 6 bestand(en)           47.987 bytes

                                                  Map van L:\Ruud\UCSD\org\I.5Linker

                                                  07-11-06  12:29         07-11-06  12:29         09-01-06  14:13                 14.788 LINK0.TEXT
                                                  09-01-06  14:13                 11.336 LINK1.TEXT
                                                  09-01-06  14:13                 12.504 LINK2.TEXT
                                                  09-01-06  14:13                 24.880 LINK3A.TEXT
                                                  09-01-06  14:13                 18.453 LINK3B.TEXT
                                                  09-01-06  14:13                    557 LINKER.TEXT
                                                                 8 bestand(en)           82.518 bytes

                                                  Map van L:\Ruud\UCSD\org\I.5System

                                                  07-11-06  12:29         07-11-06  12:29         09-01-06  14:13                 14.077 GLOBALS.TEXT
                                                  09-01-06  14:13                 21.544 SYSSEGS.TEXT
                                                  09-01-06  14:13                 26.820 SYSTEM.B.TEXT
                                                  09-01-06  14:13                 18.760 SYSTEM.C.TEXT
                                                  09-01-06  14:13                    628 SYSTEM.TEXT
                                                                 7 bestand(en)           81.829 bytes

                                                       Totaal aantal bestanden weergegeven:
                                                               104 bestand(en)        1.066.235 bytes


                                                  And the renamed ones......


                                                  Map van L:\Ruud\UCSD\renamed

                                                  07-11-06  13:14         07-11-06  13:14         07-11-06  12:30         07-11-06  12:49         07-11-06  12:52         07-11-06  12:30         07-11-06  12:53         07-11-06  12:54         07-11-06  12:30         09-01-06  14:13                  6.867 Binder.txt
                                                  09-01-06  14:13                  1.041 ICopyRit.txt
                                                  09-01-06  14:13                 37.673 IMainOp.txt
                                                  09-01-06  14:13                 37.673 INTERP.TXT
                                                  09-01-06  14:13                 42.849 IProcOp.txt
                                                  09-01-06  14:13                 15.855 IQXBOOT.txt
                                                  09-01-06  14:13                  9.511 IRKBOOT.txt
                                                  09-01-06  14:13                 15.445 IRXBOOT.txt
                                                  09-01-06  14:13                    417 ITERAK.txt
                                                  09-01-06  14:13                 16.590 LibMap.txt
                                                  09-01-06  14:13                 15.114 Librari.TXT
                                                  09-01-06  14:13                    373 PBinder.txt
                                                  09-01-06  14:13                  4.614 PCompile.txt
                                                  09-01-06  14:13                  1.844 PDisasse.txt
                                                  09-01-06  14:13                 14.520 PIO.txt
                                                  09-01-06  14:13                  9.172 PIOUnit.txt
                                                  09-01-06  14:13                    393 PLibMap.txt
                                                  09-01-06  14:13                    615 PLibrari.txt
                                                  09-01-06  14:13                  1.823 PLinker.txt
                                                  09-01-06  14:13                    159 PPIO.txt
                                                  09-01-06  14:13                    314 PPIOUnit.txt
                                                  09-01-06  14:13                    463 PRadix.txt
                                                  09-01-06  14:13                  2.113 PSystem.txt
                                                  09-01-06  14:13                 12.722 Radix.txt
                                                  09-01-06  14:13                  6.220 set1.txt
                                                  09-01-06  14:13                110.776 Z80Inter.TXT
                                                                35 bestand(en)          365.156 bytes

                                                  Map van L:\Ruud\UCSD\renamed\1-ASM

                                                  07-11-06  12:30         07-11-06  12:30         09-01-06  14:13                 17.438 ASM1.TXT
                                                  09-01-06  14:13                 17.113 ASM2.TXT
                                                  09-01-06  14:13                 24.506 ASM3.TXT
                                                  09-01-06  14:13                 23.532 ASM4.TXT
                                                  09-01-06  14:13                 19.806 ASM5.TXT
                                                  09-01-06  14:13                 14.240 ASM6.TXT
                                                                 8 bestand(en)          116.635 bytes

                                                  Map van L:\Ruud\UCSD\renamed\Compiler

                                                  07-11-06  12:49         07-11-06  12:49         09-01-06  14:13                  4.401 BLOCK.TXT
                                                  09-01-06  14:13                 17.087 BODYPRTA.TXT
                                                  09-01-06  14:13                 12.938 BODYPRTB.TXT
                                                  09-01-06  14:13                 18.515 BODYPRTC.TXT
                                                  09-01-06  14:13                 19.139 BODYPRTD.TXT
                                                  09-01-06  14:13                 20.996 BODYPRTE.TXT
                                                  09-01-06  14:13                 14.713 COMPGLB.TXT
                                                  09-01-06  14:13                  2.307 COMPILER.TXT
                                                  09-01-06  14:13                 13.140 COMPINIT.TXT
                                                  09-01-06  14:13                 21.453 DECPARTA.TXT
                                                  09-01-06  14:13                 11.549 DECPARTB.TXT
                                                  09-01-06  14:13                 14.723 DECPARTC.TXT
                                                  09-01-06  14:13                 17.104 PROCSA.TXT
                                                  09-01-06  14:13                 10.353 PROCSB.TXT
                                                  09-01-06  14:13                 13.588 UNITPART.TXT
                                                                17 bestand(en)          212.006 bytes

                                                  Map van L:\Ruud\UCSD\renamed\Disasm

                                                  07-11-06  12:52         07-11-06  12:52         09-01-06  14:13                  2.560 OPCODES.I5
                                                  09-01-06  14:13                 18.901 DISASM.TXT
                                                  09-01-06  14:13                 11.612 DISASM1.TXT
                                                  09-01-06  14:13                 14.914 DISASM2.TXT
                                                                 6 bestand(en)           47.987 bytes

                                                  Map van L:\Ruud\UCSD\renamed\editor-e.4

                                                  07-11-06  12:30         07-11-06  12:30         09-01-06  14:13                  6.277 COMMAND.PAS
                                                  09-01-06  14:13                  4.991 EDITOR.PAS
                                                  09-01-06  14:13                  3.111 ENVIRON.PAS
                                                  09-01-06  14:13                  9.898 FIND.PAS
                                                  09-01-06  14:13                  5.510 HEAD.PAS
                                                  09-01-06  14:13                  5.483 INIT.PAS
                                                  09-01-06  14:13                 12.056 INSERTIT.PAS
                                                  09-01-06  14:13                  2.239 MISC.PAS
                                                  09-01-06  14:13                 17.770 MOVEIT.PAS
                                                  09-01-06  14:13                  2.250 OUT.PAS
                                                  09-01-06  14:13                  1.372 USER.PAS
                                                  09-01-06  14:13                 10.787 UTIL.PAS
                                                                14 bestand(en)           81.744 bytes

                                                  Map van L:\Ruud\UCSD\renamed\filer-F5

                                                  07-11-06  12:30         07-11-06  12:30         09-01-06  14:13                    548 filenote.txt
                                                  09-01-06  14:13                    511 FILER.TXT
                                                  09-01-06  14:13                 10.249 FILERA.TXT
                                                  09-01-06  14:13                 17.915 FILERB.TXT
                                                  09-01-06  14:13                 19.956 FILERC.TXT
                                                  09-01-06  14:13                 18.425 FILERD.TXT
                                                  09-01-06  14:13                 10.756 GLOBALS.TXT
                                                                 9 bestand(en)           78.360 bytes

                                                  Map van L:\Ruud\UCSD\renamed\Linker

                                                  07-11-06  12:53         07-11-06  12:53         09-01-06  14:13                 14.788 LINK0.TXT
                                                  09-01-06  14:13                 11.336 LINK1.TXT
                                                  09-01-06  14:13                 12.504 LINK2.TXT
                                                  09-01-06  14:13                 24.880 LINK3A.TXT
                                                  09-01-06  14:13                 18.453 LINK3B.TXT
                                                  09-01-06  14:13                    557 LINKER.TXT
                                                                 8 bestand(en)           82.518 bytes

                                                  Map van L:\Ruud\UCSD\renamed\System

                                                  07-11-06  12:54         07-11-06  12:54         09-01-06  14:13                 14.077 GLOBALS.TXT
                                                  09-01-06  14:13                 21.544 SYSSEGS.TXT
                                                  09-01-06  14:13                    628 SYSTEM.TXT
                                                  09-01-06  14:13                 26.820 SYSTEMB.TXT
                                                  09-01-06  14:13                 18.760 SYSTEMC.TXT
                                                                 7 bestand(en)           81.829 bytes

                                                       Totaal aantal bestanden weergegeven:
                                                               104 bestand(en)        1.066.235 bytes


                                                  --
                                                      ___
                                                     / __|__
                                                    / /  |_/     Groetjes, Ruud
                                                    \ \__|_\
                                                     \___|       URL: Ruud.C64.org



                                                   






                                                  De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                                  Stichting  Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                                  The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                                  Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000


                                                  | 766|713|2006-11-07 16:56:12|Ruud.Baltissen@abp.nl|Re: pc157g.zip|
                                                  Hallo Laurie,


                                                  I started to compile the original sources and I got the following results so far:
                                                  - PC157G cannot handle the original files if each line does not end with CR/LF. I'll will change that.
                                                  - the variable symcursor is not set after reading an Include file. I added 'symcursor := 1024' at line 255 in PROCS.PAS plus a 'begin' and an 'end;' around the 'if ucsd(BLOCKREADrel ....'. I already editted some other places so this number can be off.


                                                  --
                                                  ___
                                                  / __|__
                                                  / / |_/ Groetjes, Ruud
                                                  \ \__|_\
                                                  \___| URL: Ruud.C64.org







                                                  De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                                  Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                                  The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                                  Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000
                                                  | 767|760|2006-11-07 18:17:57|Willi Kusche|Re: Turbo Pascal 3 Internals|
                                                  Hi, y'all!

                                                  | 768|713|2006-11-09 14:59:37|Ruud.Baltissen@abp.nl|Re: pc157g.zip|

                                                  Hallo Laurie,


                                                  I'm stuck :( It starts to read COMPBLG.TXT (old COMPBLGLB.TEXT) and when having read CONST at line 71, it says there is an error; it had expexted an smiecolon before.


                                                  --
                                                      ___
                                                     / __|__
                                                    / /  |_/     Groetjes, Ruud
                                                    \ \__|_\
                                                     \___|       URL: Ruud.C64.org



                                                   




                                                  De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                                  Stichting  Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                                  The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                                  Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000


                                                  | 769|713|2006-11-10 08:35:45|Ruud.Baltissen@abp.nl|Re: pc157g.zip|
                                                  Hallo allemaal,


                                                  I forgot to ask one thing: what is this SEGMENT word you find in COMPGLBL.TEXT (and maybe others)?
                                                  Thanks for any help!


                                                  --
                                                  ___
                                                  / __|__
                                                  / / |_/ Groetjes, Ruud
                                                  \ \__|_\
                                                  \___| URL: Ruud.C64.org









                                                  De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                                  Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer 41074000


                                                  The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                                  Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000
                                                  | 770|713|2006-11-10 08:51:06|Willi Kusche|Re: pc157g.zip|
                                                  Hi!

                                                  Quoting Ruud:
                                                  UCSD Pascal allows overlays. SEGMENT controls how overlays are structured.

                                                  Willi
                                                  | 772|713|2006-11-10 19:40:06|Bob Hofkin|Re: pc157g.zip|
                                                  Ruud.Baltissen@... wrote:
                                                  The various system components are separately compiled segments
                                                  (overlays). You do have the main file for the compiler.
                                                  --
                                                  boB

                                                  That's another fine message you've gotten us in.
                                                  | 774|774|2006-11-16 05:09:48|Bob Hofkin|Re: Happy|
                                                  keith_shillington@... wrote:
                                                  Well hello, stranger! I looked around E Street but didn't see you there.
                                                  Are you the power behind the throne?

                                                  This is the best e-mail contact for me.
                                                  --
                                                  boB

                                                  That's another fine message you've gotten us in.
                                                  | 775|108|2006-12-02 05:45:45|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                                  Hello,

                                                  This email message is a notification to let you know that
                                                  a file has been uploaded to the Files area of the UCSDPascal
                                                  group.

                                                  File : /I5forPC/interp7src.zip
                                                  Uploaded by : laurieboshell2004 <laurie@... Description : Source for INTERP7.EXE, the I.5 interp under Dos, in Borland Pascal 7

                                                  You can access this file at the URL:
                                                  http://groups.yahoo.com/group/UCSDPascal/files/I5forPC/interp7src.zip

                                                  To learn more about file sharing for your group, please visit:
                                                  http://help.yahoo.com/help/us/groups/files

                                                  Regards,

                                                  laurieboshell2004 <laurie@...| 776|713|2006-12-02 05:52:39|Laurie Boshell|Re: pc157g.zip|
                                                  --- In UCSDPascal@yahoogroups.com, had expexted an smiecolon before.
                                                  No NO, you've got it wrong.
                                                  The cross compiler does not handle include files (yet) or UCSD type
                                                  blocked text files. It expects a regular TEXT file that contains all
                                                  the source you intend to compile. So if you wish to re-compile the
                                                  ucsd compiler using the cross-compiler, the source to compile is
                                                  provided as PC157G.PAS a 216k dos text file. This will give you a
                                                  p-code file that is executed by interp7.exe.



                                                  bestemd voor de geadresseerde. Wanneer u dit bericht per abuis
                                                  ontvangt, verzoeken wij u contact op te nemen met de afzender per
                                                  kerende e-mail. Verder verzoeken wij u in dat geval dit e-
                                                  mailbericht te vernietigen en de inhoud ervan aan niemand openbaar
                                                  te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste,
                                                  onvolledige dan wel ontijdige overbrenging van de inhoud van een
                                                  verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.
                                                  ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer
                                                  41074000
                                                  be privileged. It may be read, copied and used only by the intended
                                                  recipient. If you have received it in error, please contact the
                                                  sender immediately by return e-mail; please delete in this case the
                                                  e-mail and do not disclose its contents to any person. We don't
                                                  accept liability for any errors, omissions, delays of receipt or
                                                  viruses in the contents of this message which arise as a result of e-
                                                  mail transmission.
                                                  Heerlen, is registered in the Traderegister of the Chamber of
                                                  Commerce Zuid Limburg (Maastricht), the Netherlands, registration
                                                  number: 41074000
                                                  | 777|713|2006-12-02 12:17:02|Laurie Boshell|Re: pc157g.zip|
                                                  I had to cut my last message short..we had a sudden and violent
                                                  electrical storm here in the Blue Mountains, had to shut down the
                                                  network in the house and the loft as fast as I could! But now I'm back....

                                                  my Commodores. This simply means I need the Interpreter as well. I
                                                  hope you release it soon.

                                                  Interp7.exe source uploaded today as interp7src.zip in the I5forPC folder.

                                                  compile itself and 2) it must be able to compile the original UCSD files.

                                                  It does both those. DO NOT CONFUSE IT with the cross compiler which
                                                  is a heavily altered version of the I.5 compiler source so that it
                                                  compiles with the Borland Pascal compiler.


                                                  what ever we need that runs under DOS and is based on the original
                                                  sources.

                                                  I presume you mean the Commadore DOS..I know virtually nothing about
                                                  that.

                                                  There is actually some trickery that I get up to in the interp
                                                  for example: When running under PC DOS, "SYSTEM.MISCINFO" is altered
                                                  to "SYSTEM.MIS" when reading and writing to a DOS 8.3 file system.
                                                  Look at the source in Procedure SystemCalls in Interp7.pas. You see this:
                                                  If Source='SYSTEM.WRK.TEXT'
                                                  then source:='SYSWORK.TXT';
                                                  If Source='SYSTEM.WRK.CODE'
                                                  then source:='SYSWORK.COD';
                                                  If Source='SYSTEM.WRK.BACK'
                                                  then source:='SYSWORK.BAK';
                                                  If Source='SYSTEM.LST.TEXT'
                                                  then source:='SYSLST.TXT';

                                                  If Source='SYSTEM.MISCINFO'
                                                  then source:='SYSTEM.MIS';
                                                  If Source='NEW.MISCINFO'
                                                  then source:='NEW.MIS';
                                                  If Source='SYSTEM.SYNTAX'
                                                  then source:='SYSTEM.SYN';
                                                  If Source='SYSTEM.LIBRARY'
                                                  then source:='SYSTEM.LIB';
                                                  and so on.

                                                  EXE that is capable of doing the job on its own.

                                                  Why not get and interp for I.5 up and running first on your commodore
                                                  machine. Then when the p-code files run, write a p-code to native code
                                                  converter! At one stage I converted/patched Apple's first UCSD interp
                                                  to run I.5 code files. It boots I.5 on and Apple II, the disc image
                                                  is in the file section. Could you use that to bootstrap something
                                                  onto a Commodore. (I suspect that you will not have enough memory.)

                                                  your TP compiler copes with them.

                                                  The 'true' I.5 compiler source is the large 216K text file PC157G.PAS

                                                  BTW Ruud,

                                                  Do you know why our messages (no one else) have very long lines that
                                                  exceed the right margin with no word wrap on my system? (Win XP, IE
                                                  6.0 and also FireFox).

                                                  Cheers,

                                                  Laurie
                                                  | 779|713|2006-12-02 12:33:04|Laurie Boshell|Re: pc157g.zip|
                                                  --- In UCSDPascal@yahoogroups.com, with CR/LF. I'll will change that.

                                                  Those files are meant to be compiled with Borland Pascal 7. They are
                                                  re-written for that compiler!

                                                  I've used the compiler PC157G.COD to rebuild the whole I.5 system with
                                                  no errors as long as the source code is not split into include files.
                                                  The same is true of the cross compiler PC157G.exe.

                                                  added 'symcursor := 1024' at line 255 in PROCS.PAS plus a 'begin' and
                                                  an 'end;' around the 'if ucsd(BLOCKREADrel ....'. I already editted
                                                  some other places so this number can be off.

                                                  You're gonna blow up....those changes were made for dos text files
                                                  that can be any length. The original UCSD compiler, when running under
                                                  the p-system gets get text in 1024 byte blocks that is zero padded
                                                  after the end of the text before the byte at position 1024 is reached,
                                                  so that the compiler knows to get the next block when it hits a zero
                                                  byte after the line end. This is not so when running under DOS.

                                                  Cheers,

                                                  Laurie
                                                  | 780|713|2006-12-02 16:37:13|Ruud.Baltissen@abp.nl|Re: pc157g.zip|

                                                  Hallo Laurie,


                                                  regular TEXT file that contains all the source
                                                  compile.

                                                  So it expects one PAS file with no {$I ....} or USES, if I'm correct.


                                                  dos
                                                   +
                                                  PC157G.COD

                                                  Have I missed something? The ZIP you provided only contains a 26 KB sized PC157G.PAS plus the needed INC's and USES files. So what file did you use to produce the COD?
                                                  I tried to incorperate the USES files as well in the one containing the INC file. But that didn't work out well.


                                                  I presume you mean the Commadore DOS.

                                                  No, I meant MS-DOS/PC-DOS in the first place for the simple reason because you provided a interpreter for it. If this tool is able to turn the COD of the compiler into an EXE, we are there. Then I have to study how this interpreter works and to persuade it to out 6502 ML so the produced EXE, or better, PRG, can be executed on a C64 for a start.


                                                  lines
                                                  system?
                                                  No, I don't. At home I'm using W98SE and Pegasus as emailer and there I have the same problem with some emails. But not with my own ones AFAIK. I sent a test to verify this.
                                                  But don't forget that my emails go through the companies emailserver first and that one attaches the messages at the end of my emails (or did you think I did that on purpose? :) When the company started doing this, they also turned every email into a HTML one :( It is something I, and those people receiving my emails, have to live with.


                                                  --
                                                       ___
                                                      / __|__
                                                     / /  |_/     Groetjes, Ruud
                                                     \ \__|_\
                                                      \___|       URL: Ruud.C64.org












                                                  De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                                  Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer: 41074000


                                                  The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                                  Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000


                                                  | 781|108|2006-12-03 05:15:53|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                                  Hello,

                                                  This email message is a notification to let you know that
                                                  a file has been uploaded to the Files area of the UCSDPascal
                                                  group.

                                                  File : /I5forPC/PC157Jsrc.ZIP
                                                  Uploaded by : laurieboshell2004 <laurie@... Description : Source for p-code compiler to generate I.5 pcodes, based on original UCSD I.5 compiler. Runs under the I.5 interp like this: "INTERP7 PC157J"

                                                  You can access this file at the URL:
                                                  http://groups.yahoo.com/group/UCSDPascal/files/I5forPC/PC157Jsrc.ZIP

                                                  To learn more about file sharing for your group, please visit:
                                                  http://help.yahoo.com/help/us/groups/files

                                                  Regards,

                                                  laurieboshell2004 <laurie@...| 782|713|2006-12-03 07:44:18|Laurie Boshell|Re: pc157g.zip|
                                                  --- In UCSDPascal@yahoogroups.com,
                                                  MY MISTAKE....I never uploaded the correct compiler source for the
                                                  p-code version.

                                                  I have uploaded PC157J.PAS and PC157J.COD in PC157JSrc.zip in the
                                                  I5forPC folder of the files section.

                                                  Just to confuse you: The p-code version is PC157J, the cross compiler
                                                  is PC157G.

                                                  It compiles itself to give a fertile new compiler. But..if you
                                                  re-compile it, change its name first, else the output file overwrites
                                                  the compiler as it is compiling is the names are identical.

                                                  Say... copy the source to TEST.PAS then run the compiler like this:
                                                  INTERP7 PC157J
                                                  and specify the source to compile as TEST.PAS.

                                                  It does not do include files as there is a quirk in the way text files
                                                  are handled, so the source .PAS file should be one large text file.
                                                  It DOES do USES, of course then you will need to use the linker
                                                  (LINKER.COD) to incorporate the used units into the final .COD file.

                                                  because you provided a interpreter for it. If this tool is able to
                                                  turn the COD of the compiler into an EXE, we are there.

                                                  It will be easier to write a p-code to 6502 translator first, that way
                                                  you do not run the risk of introducing bugs into the compiler source.
                                                  I suspect that the 6502 model will not allow enough memory.

                                                  Have fun, if it works, maybe we will all become famous!!

                                                  Laurie.
                                                  | 783|713|2006-12-04 14:14:24|Ruud.Baltissen@abp.nl|Re: pc157g.zip|
                                                  Hallo Laurie


                                                  Thank you very much!


                                                  The UCSD version I have was meant to run on a 8096, a machine with 32 KB RAM plus an extra 64 KB EMS RAM (to speak in PC language).
                                                  My own idea is to run the native version on a machine with a 65816 fitted, the 16-bit version of the 6502, able to address up to 16 MB. I already have a VIC-20 equiped with this CPU and an interface that enables me to add 8-bit PC ISA cards.
                                                  And don't forget, it is not necessary that the compiler runs on a 6502 machine. As long as the produced output runs on one of my Commodores, I'm happy for the moment.


                                                  I don't think mr. Gates will be impressed :)


                                                  --
                                                  ___
                                                  / __|__
                                                  / / |_/ Groetjes, Ruud
                                                  \ \__|_\
                                                  \___| URL: Ruud.C64.org









                                                  De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                                  Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer: 41074000


                                                  The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                                  Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000
                                                  | 784|713|2006-12-05 16:34:02|Laurie Boshell|Re: pc157g.zip|
                                                  | 785|785|2007-01-18 20:50:57|rick_inminn|interested in embedded pascal|
                                                  Hi,
                                                  There is a posting on comp.lang.pascal.misc looking for C to pascal
                                                  translation in embedded systems.

                                                  I suspect some of you might be able to help him.

                                                  Thanks,
                                                  Rick.
                                                  | 786|786|2007-02-05 02:47:08|Willi Kusche|Nine track tape containing Pascal|
                                                  Hi, y'all!

                                                  Bob used the mechanism for joining the group to inform me that he
                                                  has a nine track tape with the following label:
                                                  If interested, email me for Bob's address.

                                                  Willi
                                                  | 787|787|2007-02-11 12:27:14|Laurie Boshell|Compiler IV.13 source acquired|
                                                  It looks as though this group is now fairly quiet. That is a shame....
                                                  Any way I've now located/aquired the complete source code for the IV.13
                                                  release of the UCSD PASCAL compiler..one on the last done by Softech
                                                  Micro Systems. It will be a bit of work for me to check it on the Sage
                                                  IV machine, and then transfer to the DOS-hosted system.

                                                  If there is enough interest then I'll do it. (This is done in spare
                                                  time, usually on weekends). BTW, can anyone help with the source for
                                                  the Basic compiler from about version II.0 of the operating system up?

                                                  Regards to all..

                                                  Laurie.
                                                  | 788|787|2007-02-11 13:13:15|Ksarul|Re: Compiler IV.13 source acquired|
                                                  I'm definitely interested in this one Laurie. . .as it is the version that
                                                  was supposed to be shipped with my TI 99/8. This source code is thus VERY
                                                  useful to me. :)

                                                  Jim Fetzner


                                                  -----Original Message-----
                                                  From: UCSDPascal@yahoogroups.com [mailto:UCSDPascal@yahoogroups.com] On
                                                  Behalf Of Laurie Boshell
                                                  Sent: Sunday, February 11, 2007 5:25 AM
                                                  To: UCSDPascal@yahoogroups.com
                                                  Subject: [UCSDPascal] Compiler IV.13 source acquired

                                                  It looks as though this group is now fairly quiet. That is a shame....
                                                  Any way I've now located/aquired the complete source code for the IV.13
                                                  release of the UCSD PASCAL compiler..one on the last done by Softech
                                                  Micro Systems. It will be a bit of work for me to check it on the Sage
                                                  IV machine, and then transfer to the DOS-hosted system.

                                                  If there is enough interest then I'll do it. (This is done in spare
                                                  time, usually on weekends). BTW, can anyone help with the source for
                                                  the Basic compiler from about version II.0 of the operating system up?

                                                  Regards to all..

                                                  Laurie.




                                                  Yahoo! Groups Links
                                                  | 790|787|2007-02-12 00:46:19|daviderhart|Re: Compiler IV.13 source acquired|
                                                  --- In UCSDPascal@yahoogroups.com, "Laurie Boshell" get a copy of the IV.13 source for the Sage IV. If I can help any way
                                                  please let me know.

                                                  Regards,
                                                  david.
                                                  http://www.sageandstride.org
                                                  | 791|787|2007-02-14 05:17:39|Stuart|Re: Compiler IV.13 source acquired|
                                                  --- In UCSDPascal@yahoogroups.com, "Laurie Boshell"
                                                  It may be quiet here, but I'm certainly still interested. I appreciate
                                                  all the work you (and the other members) have done!

                                                  Stuart
                                                  6502 hacker
                                                  | 792|787|2007-02-14 10:08:50|Laurie Boshell|Re: Compiler IV.13 source acquired|
                                                  OK,OK.. Jim, Hans, David and Stuart.

                                                  It ended up on Sage floppies because the group that I knocked around
                                                  with all used Sages (as did I when I jumped from Apple II pascal), but
                                                  IIRC the compiler is for the dos-hosted system on the PC.

                                                  Now I expect to see wonderful things from this upload boys.... :)
                                                  Check out the upload area...I've made it one long text file, you can
                                                  see where the {$I filename} include directives have been altered to
                                                  delete the '$'. The text of each include file follows each altered
                                                  include directive. If needed you could split it up into the original
                                                  separate files.

                                                  Cheers
                                                  Laurie.
                                                  | 793|108|2007-02-14 10:15:29|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                                  Hello,

                                                  This email message is a notification to let you know that
                                                  a file has been uploaded to the Files area of the UCSDPascal
                                                  group.

                                                  File : /COMPIV/COMP41.PAS
                                                  Uploaded by : laurieboshell2004 <laurie@... Description : Compiler source ver IV.13

                                                  You can access this file at the URL:
                                                  http://groups.yahoo.com/group/UCSDPascal/files/COMPIV/COMP41.PAS

                                                  To learn more about file sharing for your group, please visit:
                                                  http://help.yahoo.com/help/us/groups/files

                                                  Regards,

                                                  laurieboshell2004 <laurie@...| 794|108|2007-02-14 10:23:24|Laurie Boshell|Re: New file uploaded to UCSDPascal|
                                                  My mistake...
                                                  The file is COMPIV.PAS (not comp41.pas)
                                                  Can the Moderator fix the automated message. Is that you Hans?
                                                  (I know I should know but I claim madness from some recent 6502 work!)


                                                  : /COMPIV/COMPIV.PAS
                                                  Uploaded by : laurieboshell2004
                                                  You can access this file at the URL:
                                                  http://groups.yahoo.com/group/UCSDPascal/files/COMPIV/COMPIV.PAS

                                                  Laurie.
                                                  | 795|108|2007-02-14 10:33:21|shadoooo|Re: New file uploaded to UCSDPascal|




                                                  ___________________________________________________________
                                                  "My Verdict: The new Yahoo! Mail is far superior..." – The Wall Street Journal.
                                                  http://uk.docs.yahoo.com/nowyoucan.html
                                                  | 796|787|2007-02-14 17:34:17|Eric Scharff|Re: Compiler IV.13 source acquired|
                                                  This is great, many thanks!

                                                  Does anyone have a description of the IV machine bytecodes?
                                                  Perusing the source, many of the calls to GEN1, GEN2, gen3,
                                                  gensyscall, and gendecop have opcodes in comments, but it would
                                                  be nice to know precisely what those VM instructions are
                                                  supposed to do.

                                                  Thanks,

                                                  -Eric




                                                  ____________________________________________________________________________________
                                                  Finding fabulous fares is fun.
                                                  Let Yahoo! FareChase search your favorite travel sites to find flight and hotel bargains.
                                                  http://farechase.yahoo.com/promo-generic-14795097
                                                  | 798|108|2007-02-28 08:32:10|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                                  Hello,

                                                  This email message is a notification to let you know that
                                                  a file has been uploaded to the Files area of the UCSDPascal
                                                  group.

                                                  File : /Release III (MicroEngine) src/psystem-III.zip
                                                  Uploaded by : jdripper <eric-ge@... Description : Release III system sources

                                                  You can access this file at the URL:
                                                  http://groups.yahoo.com/group/UCSDPascal/files/Release%20III%20%28MicroEngine%29%20src/psystem-III.zip

                                                  To learn more about file sharing for your group, please visit:
                                                  http://help.yahoo.com/help/us/groups/files

                                                  Regards,

                                                  jdripper <eric-ge@...| 799|108|2007-02-28 08:32:41|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                                  Hello,

                                                  This email message is a notification to let you know that
                                                  a file has been uploaded to the Files area of the UCSDPascal
                                                  group.

                                                  File : /Release III (MicroEngine) src/compiler-III.zip
                                                  Uploaded by : jdripper <eric-ge@... Description : Release III compiler sources

                                                  You can access this file at the URL:
                                                  http://groups.yahoo.com/group/UCSDPascal/files/Release%20III%20%28MicroEngine%29%20src/compiler-III.zip

                                                  To learn more about file sharing for your group, please visit:
                                                  http://help.yahoo.com/help/us/groups/files

                                                  Regards,

                                                  jdripper <eric-ge@...| 800|108|2007-02-28 08:34:26|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                                  Hello,

                                                  This email message is a notification to let you know that
                                                  a file has been uploaded to the Files area of the UCSDPascal
                                                  group.

                                                  File : /Release III (MicroEngine) src/calc-III.zip
                                                  Uploaded by : jdripper <eric-ge@... Description : Release III calculator source

                                                  You can access this file at the URL:
                                                  http://groups.yahoo.com/group/UCSDPascal/files/Release%20III%20%28MicroEngine%29%20src/calc-III.zip

                                                  To learn more about file sharing for your group, please visit:
                                                  http://help.yahoo.com/help/us/groups/files

                                                  Regards,

                                                  jdripper <eric-ge@...| 801|108|2007-02-28 08:34:26|UCSDPascal@yahoogroups.com|New file uploaded to UCSDPascal |
                                                  Hello,

                                                  This email message is a notification to let you know that
                                                  a file has been uploaded to the Files area of the UCSDPascal
                                                  group.

                                                  File : /Release III (MicroEngine) src/peditor-III.zip
                                                  Uploaded by : jdripper <eric-ge@... Description : Release III editor sources

                                                  You can access this file at the URL:
                                                  http://groups.yahoo.com/group/UCSDPascal/files/Release%20III%20%28MicroEngine%29%20src/peditor-III.zip

                                                  To learn more about file sharing for your group, please visit:
                                                  http://help.yahoo.com/help/us/groups/files

                                                  Regards,

                                                  jdripper <eric-ge@...| 802|802|2007-03-07 03:11:35|John Foust|Fwd: P2 ported to C|
                                                  Below is a message I received today. I encouragaed him to
                                                  put his code on his web site, and I told him I'd forward his
                                                  message to this list.

                                                  - John
                                                  www.threedee.com/jcm

                                                  | 806|804|2007-03-25 20:16:25|Willi Kusche|Re: UCSD pSystem for CP/M, check the z80sim version|
                                                  Hi, y'all!

                                                  Also, please see message numbers 753 and 754 of this group's
                                                  messages. Perhaps Laurie will take another look now that more than one
                                                  of us is interested.

                                                  Willi
                                                  | 807|804|2007-03-25 22:36:57|udo_munk|Re: UCSD pSystem for CP/M, check the z80sim version|
                                                  --- In UCSDPascal@yahoogroups.com, "Hans Otten" As Hans exaplained already, I'm trying to get II.0 working on my
                                                  z80sim Z80 emulation for UNIX systems. For those who want to have a
                                                  look at it: http://www.unix4fun.org/z80pack/
                                                  The pSystem boots ok, Compiler works, tools work, line editor works,
                                                  only problem left is the full screen editor. The emulated Z80 machine
                                                  runs on almost any UNIX host, console device is xterm nowadays
                                                  usually. So far I wasn't able to make the editor working on xterm,
                                                  which is compatible to DEC VT-102. One problem is that the lead
                                                  sequence for VT-100+ is ESC [ and the II.0 setup allows a single lead
                                                  character only.
                                                  Greater problem is that the editor writes ESC sequences to the
                                                  terminal which totally confuse xterm. Maybe someone has a solution for
                                                  this already?
                                                  | 808|804|2007-03-26 00:11:18|shadoooo|Re: UCSD pSystem for CP/M, check the z80sim version|
                                                  Hello Willi,
                                                  of course there are many interested!!!

                                                  WK
                                                  WK WK WK
                                                  WK






                                                  ___________________________________________________________
                                                  All new Yahoo! Mail "The new Interface is stunning in its simplicity and ease of use." - PC Magazine
                                                  http://uk.docs.yahoo.com/nowyoucan.html
                                                  | 809|804|2007-03-26 03:59:10|Willi Kusche|Re: UCSD pSystem for CP/M, check the z80sim version|
                                                  Hi, y'all!

                                                  --- shadoooo wrote:
                                                  It's been some time since message 754 was posted. I don't want to
                                                  be a nag because Laurie has done so much for the group. So, I thought
                                                  it was time for a gentle reminder. If my prior message can be
                                                  considered gentle...

                                                  Willi
                                                  | 810|805|2007-03-26 06:15:28|John B. Matthews MD|Re: Willamette Apple Connection, Inc. library of Apple Pascal PD d|
                                                  On Mar 25, 2007, at 1:10 PM, Hans Otten wrote:
                                                  Here's a quick catalog, if you're looking for a particular title:

                                                  --
                                                  PSCAL01:
                                                  05-Jul-80 004 CODE TITLE.CODE
                                                  05-Jul-80 026 TEXT INTRO.TEXT
                                                  05-Jul-80 018 TEXT POLICY.TEXT
                                                  05-May-80 018 TEXT BUGS.TEXT
                                                  02-Nov-79 042 TEXT DOS3.2A.TEXT
                                                  14-Mar-80 042 TEXT DOS3.2B.TEXT
                                                  16-Nov-79 014 TEXT DOS3.2C.TEXT
                                                  27-Nov-80 008 TEXT COMBINES.TEXT
                                                  27-Nov-80 004 CODE COMBINES.CODE
                                                  16-Nov-79 022 TEXT CHASE.TEXT
                                                  18-Mar-80 010 CODE CHASE.CODE
                                                  05-May-80 012 TEXT LIST.TEXT
                                                  13-Nov-79 005 CODE LIST.CODE
                                                  05-May-80 006 TEXT INTRINSIC.TEXT
                                                  06-May-80 012 TEXT UNITS.DOC.TEXT
                                                  06-May-80 012 TEXT TYPESET.TEXT
                                                  Pascal format; 9,728 bytes free; 133,632 bytes used.

                                                  --
                                                  PSCAL02:
                                                  05-Jul-80 012 TEXT PILOT.TEXT
                                                  05-Jul-80 008 CODE PILOT.CODE
                                                  05-Jul-80 016 TEXT PILOT.DOC.TEXT
                                                  05-May-80 011 CODE PRETTY.CODE
                                                  02-Nov-79 036 TEXT PRETTY.TEXT
                                                  14-Mar-80 010 TEXT PRETTY.DOC.TEXT
                                                  16-Nov-79 028 TEXT FORMAT2.TEXT
                                                  27-Nov-80 020 TEXT BLACKJACK.TEXT
                                                  27-Nov-80 008 CODE BLACKJACK.CODE
                                                  16-Nov-79 020 TEXT FORMAT.TEXT
                                                  18-Mar-80 030 TEXT FORMAT.DOC.TEXT
                                                  05-May-80 020 CODE FORMAT.CODE
                                                  13-Nov-79 034 TEXT FORMAT1.TEXT
                                                  05-May-80 006 TEXT FLOWER.TEXT
                                                  06-May-80 006 TEXT STARS.TEXT
                                                  06-May-80 004 TEXT SQUARES.TEXT
                                                  Pascal format; 2,560 bytes free; 140,800 bytes used.

                                                  --
                                                  PSCAL03:
                                                  09-Nov-80 006 TEXT DRAWLINE.TEXT
                                                  09-Nov-80 002 CODE DRAWLINE.CODE
                                                  08-Sep-80 024 TEXT MOTGEN.TEXT
                                                  01-Sep-80 008 CODE MOTGEN.CODE
                                                  04-Sep-80 016 TEXT MUD.GUIDE.TEXT
                                                  04-Sep-80 010 TEXT MUD.PROC.TEXT
                                                  04-Sep-80 003 CODE MUD.PROC.CODE
                                                  14-Sep-80 008 TEXT MORE.MUD.TEXT
                                                  04-Sep-80 034 TEXT MUD.TEXT
                                                  04-Sep-80 015 CODE MUD.CODE
                                                  11-Jan-80 002 CODE SIEVE.CODE
                                                  22-Jul-80 006 TEXT FILEIO.TEXT
                                                  22-Jul-80 003 CODE FILEIO.CODE
                                                  03-Nov-79 004 TEXT LCM.TEXT
                                                  03-Nov-79 002 CODE LCM.CODE
                                                  07-Sep-79 002 CODE GCD2.CODE
                                                  07-Sep-79 006 TEXT GCD2.TEXT
                                                  09-Nov-80 004 TEXT README.TEXT
                                                  09-Nov-80 004 TEXT SIEVE.TEXT
                                                  10-May-80 006 TEXT RND.SORT.TEXT
                                                  11-May-80 004 TEXT RANDOMPLOT.TEXT
                                                  14-Jan-81 006 TEXT PRINT.OUT.TEXT
                                                  27-May-80 006 TEXT SHELL.SORT.TEXT
                                                  29-May-80 008 TEXT FIGURE.TEXT
                                                  30-May-80 012 TEXT COLOR.BAR.TEXT
                                                  04-Jul-80 004 TEXT POLOR.EX.TEXT
                                                  25-Jul-80 006 TEXT REALSTR.PC.TEXT
                                                  25-Jul-80 012 TEXT POLORGRAPH.TEXT
                                                  26-Jul-80 012 TEXT POLORLOOP.TEXT
                                                  03-Jul-80 014 TEXT EPICYCLOID.TEXT
                                                  03-Jul-80 014 TEXT HYPO.THREE.TEXT
                                                  04-Jul-80 008 TEXT CYL.TEXT
                                                  Pascal format; 1,536 bytes free; 141,824 bytes used.

                                                  --
                                                  PSCAL04:
                                                  01-Mar-81 010 TEXT PASCALZAP.TEXT
                                                  26-Jan-81 024 TEXT PRINTNET.TEXT
                                                  15-Mar-81 010 TEXT KINETICART.TEXT
                                                  15-Mar-81 004 CODE KINETICART.CODE
                                                  01-Mar-81 006 CODE PASCALZAP.CODE
                                                  08-Nov-80 004 TEXT TIGERPROC.TEXT
                                                  26-Jan-81 008 CODE PRINTNET.CODE
                                                  20-Jan-81 016 TEXT SAILCALC.TEXT
                                                  20-Jan-81 011 CODE SAILCALC.CODE
                                                  20-Mar-81 006 TEXT CENTRON737.TEXT
                                                  20-Mar-81 004 CODE CENTRON737.CODE
                                                  Pascal format; 87,552 bytes free; 55,808 bytes used.

                                                  --
                                                  PSCAL05:
                                                  17-May-80 006 TEXT INTKORR.TEXT
                                                  17-May-80 003 CODE INTKORR.CODE
                                                  29-Nov-80 008 DATA MONITOR.DATA
                                                  29-Nov-80 006 TEXT MONITOR.TEXT
                                                  29-Nov-80 003 CODE MONITOR.CODE
                                                  21-Sep-80 010 TEXT SORTDEMO.TEXT
                                                  17-Nov-80 004 TEXT LINEFEED.TEXT
                                                  08-Jan-80 003 CODE CROSSREF.CODE
                                                  08-Jan-80 008 TEXT CROSSREF.TEXT
                                                  02-Nov-80 004 CODE SORTDEMO.CODE
                                                  02-Nov-80 002 CODE LINEFEED.CODE
                                                  14-Jul-79 002 DATA SYSTEM.CHARSET
                                                  11-Nov-80 016 TEXT SYSTEM.SYNTAX
                                                  12-Nov-80 004 TEXT SYNTAX.TEXT
                                                  12-Nov-80 003 CODE SYNTAX.CODE
                                                  03-Mar-80 006 TEXT PI.TEXT
                                                  12-Nov-80 008 TEXT HANOI.TEXT
                                                  12-Nov-80 003 CODE HANOI.CODE
                                                  12-Nov-80 004 CODE PI.CODE
                                                  20-Sep-80 010 TEXT GENSORT.TEXT
                                                  12-Nov-80 004 TEXT SORTDEMO2.TEXT
                                                  12-Nov-80 004 CODE SORTDEMO2.CODE
                                                  12-Nov-80 006 TEXT STARTUP.TEXT
                                                  12-Nov-80 008 TEXT GRUSS.TEXT
                                                  12-Nov-80 004 CODE SYSTEM.STARTUP
                                                  Pascal format; 69,120 bytes free; 74,240 bytes used.

                                                  --
                                                  PSCAL06:
                                                  06-Mar-81 007 CODE SYSTEM.ATTACH
                                                  22-Jan-81 008 CODE ATTACHUD.CODE
                                                  03-Mar-81 026 TEXT DOC.0.TEXT
                                                  22-Jan-81 030 TEXT DOC.1.TEXT
                                                  04-Mar-81 016 TEXT DOC.2.TEXT
                                                  04-Mar-81 022 TEXT DOC.3.TEXT
                                                  04-Mar-81 018 TEXT DOC.4.TEXT
                                                  04-Mar-81 028 TEXT DOC.5.TEXT
                                                  04-Mar-81 024 TEXT DOC.6.TEXT
                                                  04-Mar-81 024 TEXT DOC.7.TEXT
                                                  04-Mar-81 028 TEXT DOC.8.TEXT
                                                  02-Mar-81 002 CODE ADMERG.CODE
                                                  02-Mar-81 006 TEXT ADMERG.TEXT
                                                  14-Sep-80 014 TEXT LIST.TEXT
                                                  14-Sep-80 004 CODE LIST.CODE
                                                  03-Mar-81 012 TEXT FORTFIX.TEXT
                                                  07-Jan-81 004 CODE FORTFIX.CODE
                                                  03-Mar-81 001 DATA NOT.USED
                                                  Pascal format; 0 bytes free; 143,360 bytes used.

                                                  --
                                                  PSCAL08:
                                                  26-Jul-80 040 TEXT CLOCK.ALL.TEXT
                                                  26-Jul-80 010 TEXT CLOCKSTUFF.TEXT
                                                  26-Jul-80 018 TEXT CLOCK.TEXT
                                                  26-Jul-80 014 TEXT CLOCK.DOC.TEXT
                                                  21-Nov-80 020 TEXT ACLOCK.TEXT
                                                  21-Nov-80 005 CODE ACLOCK.CODE
                                                  12-Jan-81 004 TEXT TRAN.NOTE.TEXT
                                                  12-Jan-81 010 TEXT TRANSFER.TEXT
                                                  17-Sep-80 005 CODE TRANSFER.CODE
                                                  04-Jan-81 008 TEXT DISASM.DOC.TEXT
                                                  02-Jan-81 004 TEXT ASM.SAMPLE.TEXT
                                                  02-Jan-81 026 TEXT DISASM.TEXT
                                                  02-Jan-81 012 CODE DISASM.CODE
                                                  10-Jan-81 004 TEXT STARTUP.TEXT
                                                  10-Jan-81 003 CODE STARTUP.CODE
                                                  10-Jan-81 004 TEXT STARTA.TEXT
                                                  10-Jan-81 003 CODE STARTA.CODE
                                                  02-Mar-81 008 TEXT LCART1.1.TEXT
                                                  10-Jan-81 002 CODE LCASE1.1.CODE
                                                  07-Jan-81 008 TEXT BIOSPRT.TEXT
                                                  07-Jan-81 003 CODE BIOSPRT.CODE
                                                  10-Sep-80 006 TEXT COPYONE.TEXT
                                                  10-Sep-80 003 CODE COPYONE.CODE
                                                  Pascal format; 27,648 bytes free; 115,712 bytes used.

                                                  --
                                                  PSCAL09:
                                                  05-Jul-80 004 DATA MOUNTAIN.CLK
                                                  05-Jul-80 040 TEXT CLOCK.ALL.TEXT
                                                  05-Jul-80 010 TEXT CLOCKSTUFF.TEXT
                                                  05-May-80 018 TEXT CLOCK.TEXT
                                                  02-Nov-79 014 TEXT CLOCK.DOC.TEXT
                                                  14-Mar-80 020 TEXT ACLOCK.TEXT
                                                  16-Nov-79 004 TEXT TRAN.NOTE.TEXT
                                                  27-Nov-80 010 TEXT TRANSFER.TEXT
                                                  27-Nov-80 008 TEXT DISASM.DOC.TEXT
                                                  16-Nov-79 026 TEXT DISASM.TEXT
                                                  18-Mar-80 004 TEXT ASM.SAMPLE.TEXT
                                                  05-May-80 004 TEXT STARTUP.TEXT
                                                  13-Nov-79 004 TEXT STARTA.TEXT
                                                  05-May-80 008 TEXT LCART1.1.TEXT
                                                  06-May-80 008 TEXT BIOSPRT.TEXT
                                                  06-May-80 006 TEXT COPYONE.TEXT
                                                  31-Dec-99 004 TEXT SPIROLAT.TEXT
                                                  31-Dec-99 006 TEXT STRINGCHS.TEXT
                                                  31-Dec-99 006 TEXT STRINGS.TEXT
                                                  31-Dec-99 004 TEXT TESTPRESS.TEXT
                                                  31-Dec-99 004 TEXT PEEK.TEXT
                                                  31-Dec-99 018 TEXT PRINT.IDS.TEXT
                                                  31-Dec-99 014 TEXT MUSIC.CAI.TEXT
                                                  31-Dec-99 020 TEXT ROBOT.TEXT
                                                  31-Dec-99 -248 TEXT NUMBER.TEXT
                                                  Pascal format; 132,096 bytes free; 11,264 bytes used.

                                                  --
                                                  PSCAL10:
                                                  02-Jan-81 014 TEXT CCS.GETIME.TEXT
                                                  06-Jan-81 006 TEXT STRFORT.TEXT
                                                  06-Jan-81 006 TEXT CLOCKUNIT.TEXT
                                                  02-Jan-81 004 CODE CLKUNT1.1.CODE
                                                  13-Mar-81 006 TEXT CCS.DOC.TEXT
                                                  14-Mar-81 004 TEXT STARTUP.TEXT
                                                  30-Sep-79 020 TEXT PLOTTER.TEXT
                                                  12-Mar-81 010 TEXT CASHREG.TEXT
                                                  12-Mar-81 024 TEXT CHAREDIT.TEXT
                                                  01-Mar-81 008 TEXT FULLDUPLEX.TEXT
                                                  01-Mar-81 006 TEXT SYSGEN.TEXT
                                                  01-Mar-81 004 TEXT STUP.TEXT
                                                  02-Mar-81 016 TEXT NATIVECODE.TEXT
                                                  03-Mar-81 012 TEXT MCRMODEM.TEXT
                                                  07-Mar-81 034 TEXT GENEPOOL.TEXT
                                                  12-Mar-81 012 TEXT DOSCAT.TEXT
                                                  05-Jul-80 012 TEXT PILOT.TEXT
                                                  05-Jul-80 016 TEXT PILOT.DOC.TEXT
                                                  16-Mar-79 026 TEXT DEBTS.TEXT
                                                  12-Mar-81 012 TEXT README.TEXT
                                                  18-May-91 012 TEXT DISK.DUMP.TEXT
                                                  18-May-81 004 TEXT DIRECTORY.TEXT
                                                  15-Jul-81 004 TEXT README2.TEXT
                                                  Pascal format; 1,024 bytes free; 142,336 bytes used.

                                                  --
                                                  PSCAL11:
                                                  04-Jul-80 018 TEXT DIAPLOT.TEXT
                                                  26-Jul-79 024 TEXT DIABLO.TEXT
                                                  12-Jul-80 006 TEXT MINIPUB.TEXT
                                                  12-Jul-80 007 CODE MINIPUB.CODE
                                                  04-Jul-80 004 TEXT PLOTTEST.TEXT
                                                  21-Sep-80 022 TEXT DIABLO-DOC.TEXT
                                                  02-Mar-81 010 TEXT PRTPAGE.TEXT
                                                  09-Mar-81 004 TEXT LOOKIT.TEXT
                                                  28-Jan-81 006 TEXT LCPAT1.1.TEXT
                                                  29-Sep-80 008 TEXT MODEDEMO.TEXT
                                                  25-Sep-80 010 TEXT TEMPLIB1.TEXT
                                                  25-Sep-80 003 CODE TEMPLIB1.CODE
                                                  26-Sep-80 010 TEXT FLASHDEMO.TEXT
                                                  26-Sep-80 006 CODE FLASHDEMO.CODE
                                                  26-Sep-80 012 TEXT ERASEDEMO.TEXT
                                                  26-Jul-79 006 TEXT DATEDEMO.TEXT
                                                  15-Jan-81 006 TEXT PROCLIB1.TEXT
                                                  11-Jan-81 005 CODE DCCTL.CODE
                                                  01-Oct-80 004 TEXT DCCONTROL.TEXT
                                                  28-Sep-80 003 CODE DCCONTROL.CODE
                                                  11-Jan-81 005 CODE DC.CODE
                                                  11-Jan-81 038 TEXT DCCTL.TEXT
                                                  18-Jul-80 014 TEXT LANDER.TEXT
                                                  09-Mar-81 016 TEXT ASEED.DOC.TEXT
                                                  12-Mar-81 013 CODE ASEED.DOC.CODE
                                                  12-Mar-81 012 TEXT README.TEXT
                                                  Pascal format; 1,024 bytes free; 142,336 bytes used.

                                                  --
                                                  PSCAL12:
                                                  15-Jul-81 002 DATA PAYROLL
                                                  24-Nov-80 034 TEXT FD.PART3.TEXT
                                                  15-Nov-80 007 CODE FD.INTRO.CODE
                                                  23-Nov-80 028 TEXT FD.PART1.TEXT
                                                  24-Nov-80 028 TEXT FD.PART2.TEXT
                                                  24-Nov-80 040 TEXT FILEDEMO.TEXT
                                                  24-Nov-80 020 CODE FILEDEMO.CODE
                                                  15-Jan-81 010 TEXT FD.INTRO.TEXT
                                                  12-Mar-81 008 TEXT README.TEXT
                                                  15-Jul-81 002 DATA DAILYLEDGER
                                                  27-Jul-81 004 TEXT DAILYBUFF.TEXT
                                                  27-Jul-81 016 TEXT DAYLED.TEXT
                                                  27-Jul-81 008 CODE DAYLED.CODE
                                                  15-Jul-81 004 TEXT LEDGE.DOC.TEXT
                                                  Pascal format; 32,256 bytes free; 111,104 bytes used.

                                                  --
                                                  PSCAL13:
                                                  08-Jul-80 014 TEXT OTH.TEXT
                                                  26-Jul-79 006 TEXT DRAW.TEXT
                                                  28-Jan-80 010 TEXT TURTLE.TEXT
                                                  08-Jul-80 006 TEXT PIECEMAKER.TEXT
                                                  26-Jul-79 024 TEXT DIFF.TEXT
                                                  31-Jan-80 014 TEXT CHESS.TEXT
                                                  26-Jul-79 014 TEXT OTHELLO.TEXT
                                                  25-Mar-80 004 TEXT DAVE.TEXT
                                                  24-Jan-80 038 TEXT CHECKERS.TEXT
                                                  19-Nov-79 040 TEXT BAMBI.TEXT
                                                  30-Mar-80 004 TEXT LCUPDATE.TEXT
                                                  30-Mar-80 014 TEXT DUMP.TEXT
                                                  06-May-80 004 TEXT PATCH.TEXT
                                                  06-May-80 006 TEXT PATCHER.TEXT
                                                  03-May-80 010 TEXT TERM.TEXT
                                                  19-Nov-79 004 CODE TERM.CODE
                                                  19-Mar-80 006 TEXT PARSER.TEXT
                                                  09-May-80 024 TEXT RUNOFF.TEXT
                                                  Pascal format; 16,384 bytes free; 126,976 bytes used.

                                                  --
                                                  PSCAL14:
                                                  22-Mar-81 004 TEXT EXAMP.3E.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.3F.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.3H.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.3I.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.4B.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.5B.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.6C.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.6D1.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.S1.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.S2.TEXT
                                                  22-Mar-81 004 TEXT EXAMP.S3.TEXT
                                                  22-Mar-81 006 TEXT EXAMP.S4.TEXT
                                                  05-May-81 004 TEXT EXAMP.S5.TEXT
                                                  05-May-81 004 TEXT EXAMP.S6.TEXT
                                                  05-May-81 004 TEXT EXAMP.S7.TEXT
                                                  05-May-81 004 TEXT EXAMP.S8.TEXT
                                                  05-May-81 004 TEXT EXAMP.S9.TEXT
                                                  20-Mar-81 004 TEXT PAS0.0.TEXT
                                                  20-Mar-81 004 TEXT PAS1.0.TEXT
                                                  20-Mar-81 004 TEXT PAS2.0.TEXT
                                                  20-Mar-81 004 TEXT PAS3.0.TEXT
                                                  20-Mar-81 004 TEXT PAS4.0.TEXT
                                                  20-Mar-81 004 TEXT PAS1.1.TEXT
                                                  20-Mar-81 004 TEXT PAS2.1.TEXT
                                                  20-Mar-81 004 TEXT PAS3.1.TEXT
                                                  20-Mar-81 004 TEXT PAS5.0.TEXT
                                                  20-Mar-81 004 TEXT PAS4.1.TEXT
                                                  20-Mar-81 004 TEXT PAS5.1.TEXT
                                                  20-Mar-81 004 TEXT ASS1.1.TEXT
                                                  20-Mar-81 004 TEXT ASS2.1.TEXT
                                                  20-Mar-81 004 TEXT ASS3.1.TEXT
                                                  20-Mar-81 004 TEXT ASS5.1.TEXT
                                                  20-Mar-81 004 TEXT ASS4.1.TEXT
                                                  07-May-81 006 TEXT EXAMP.E3B.TEXT
                                                  07-May-81 004 TEXT EXAMP.E3A.TEXT
                                                  07-May-81 004 TEXT EXAMP.E1.TEXT
                                                  07-May-81 004 TEXT EXAMP.E2.TEXT
                                                  07-May-81 004 TEXT EXAMP.E4.TEXT
                                                  07-May-81 008 TEXT EXAMP.E8.TEXT
                                                  10-May-81 006 TEXT EXAMP.E6B.TEXT
                                                  10-May-81 006 TEXT EXAMP.E6A.TEXT
                                                  10-May-81 004 TEXT EXAMP.E5.TEXT
                                                  10-May-81 004 TEXT EXAMP.E7.TEXT
                                                  Pascal format; 46,080 bytes free; 97,280 bytes used.

                                                  --
                                                  PSCAL15:
                                                  02-Jan-81 014 TEXT GETIME.TEXT
                                                  06-Jan-81 006 TEXT STRFORT.TEXT
                                                  06-Jan-81 006 TEXT CLOCKUNIT.TEXT
                                                  02-Jan-81 004 CODE CLKUNT1.1.CODE
                                                  13-Mar-81 006 TEXT CLOCK.DOC.TEXT
                                                  14-Mar-81 004 TEXT STARTUP.TEXT
                                                  30-Sep-79 020 TEXT PLOTTER.TEXT
                                                  30-Sep-79 011 CODE PLOTTER.CODE
                                                  12-Mar-81 010 TEXT CASHREG.TEXT
                                                  12-Mar-81 024 TEXT CHAREDIT.TEXT
                                                  01-Mar-81 008 TEXT FULLDUPLEX.TEXT
                                                  01-Mar-81 006 TEXT SYSGEN.TEXT
                                                  01-Mar-81 004 TEXT STUP.TEXT
                                                  02-Mar-81 016 TEXT NATIVECODE.TEXT
                                                  03-Mar-81 012 TEXT MCRMODEM.TEXT
                                                  07-Mar-81 034 TEXT GENEPOOL.TEXT
                                                  12-Mar-81 012 TEXT DOSCAT.TEXT
                                                  12-Mar-81 005 CODE DOSCAT.CODE
                                                  05-Jul-80 012 TEXT PILOT.TEXT
                                                  05-Jul-80 016 TEXT PILOT.DOC.TEXT
                                                  16-Mar-79 026 TEXT DEBTS.TEXT
                                                  12-Mar-81 012 TEXT README.TEXT
                                                  Pascal format; 3,072 bytes free; 140,288 bytes used.

                                                  --
                                                  PSCAL16:
                                                  08-Mar-81 040 DATA MODEM.LIBRARY
                                                  14-Sep-80 000 CODE FILER.IMPL.CODE
                                                  16-Sep-80 024 CODE SYSTEM.LINKER
                                                  19-Sep-80 075 CODE SYSTEM.COMPILER
                                                  06-Jul-81 004 TEXT LIST.TEXT
                                                  06-Jul-81 024 TEXT ANSWER.TEXT
                                                  06-Jul-81 030 CODE ANSWER.CODE
                                                  06-Jul-81 004 TEXT LOG.TEXT
                                                  Pascal format; 37,376 bytes free; 105,984 bytes used.

                                                  --
                                                  PSCAL17:
                                                  13-Jul-81 012 TEXT FIRSTPART.TEXT
                                                  13-Jul-81 009 CODE FIRSTPART.CODE
                                                  17-Jul-81 019 CODE MAINCAT.CODE
                                                  17-Jul-81 034 TEXT MAINCAT.TEXT
                                                  17-Jul-81 020 CODE CATALOG.CODE
                                                  17-Jul-81 004 TEXT JOHN.DOC.TEXT
                                                  04-Jul-81 020 TEXT CAT3.TEXT
                                                  04-Jul-81 020 TEXT CAT1.TEXT
                                                  04-Jul-81 022 TEXT CAT2.TEXT
                                                  04-Jul-81 004 TEXT CAT.TEXT
                                                  04-Jul-81 022 CODE CAT.CODE
                                                  04-Jul-81 006 TEXT JIM.DOC.TEXT
                                                  Pascal format; 41,984 bytes free; 101,376 bytes used.

                                                  --
                                                  PSCAL18:
                                                  28-Nov-80 006 TEXT BIOSDOC.TEXT
                                                  27-Nov-80 008 TEXT BIOSDEMO.TEXT
                                                  01-Mar-81 016 TEXT BIOSSTUFF.TEXT
                                                  16-Mar-81 004 TEXT BIOSUNIT.TEXT
                                                  31-Jan-81 012 CODE XUNASM.CODE
                                                  01-Mar-81 006 TEXT UNASM.INFO.TEXT
                                                  01-Mar-81 012 TEXT X.TRACE.TEXT
                                                  01-Mar-81 006 TEXT X.SPY.TEXT
                                                  18-Mar-81 010 TEXT SETUPMX80.TEXT
                                                  29-Jan-81 020 TEXT BURTS-DUMP.TEXT
                                                  16-Mar-81 010 TEXT EIGHTQ.TEXT
                                                  16-Mar-81 004 TEXT DATE.TEXT
                                                  06-Jan-81 018 TEXT MASTERCA.TEXT
                                                  14-Sep-80 003 CODE TIGER.UNIT.CODE
                                                  23-Jan-81 004 TEXT TIGER.TEXT
                                                  23-Jan-81 010 TEXT SCRNBYT.TEXT
                                                  15-Sep-80 006 TEXT PRINTSET.TEXT
                                                  15-Sep-80 018 TEXT MASTERMI.TEXT
                                                  27-Sep-80 012 TEXT PILOT.TEXT
                                                  04-Nov-80 010 TEXT TWOD.TEXT
                                                  07-Nov-80 020 TEXT PRETTYPAS.TEXT
                                                  26-Jul-79 009 CODE BLIZZARD.CODE
                                                  15-Jan-80 026 TEXT GROCERY.TEXT
                                                  02-Jan-80 008 TEXT MASTER.TEXT
                                                  17-Mar-81 014 TEXT PIG3.TEXT
                                                  Pascal format; 1,024 bytes free; 142,336 bytes used.

                                                  --
                                                  PSCAL19:
                                                  13-Mar-82 006 TEXT EPSON.UNIT.TEXT
                                                  13-Mar-82 003 CODE EPSON.UNIT.CODE
                                                  13-Mar-82 004 TEXT SMARTERM.TEXT
                                                  13-Mar-82 003 CODE SMARTERM.CODE
                                                  16-Mar-82 020 TEXT CHAREDIT.TEXT
                                                  16-Mar-82 007 CODE CHAREDIT.CODE
                                                  16-Mar-82 038 TEXT GRAFEDIT.TEXT
                                                  16-Mar-82 012 CODE GRAFEDIT.CODE
                                                  16-Mar-82 006 TEXT SHOWFOTO.TEXT
                                                  16-Mar-82 002 CODE SHOWFOTO.CODE
                                                  13-Mar-82 008 TEXT CONCORD.TEXT
                                                  13-Mar-82 003 CODE CONCORD.CODE
                                                  14-Mar-82 012 TEXT DISKDUMP.TEXT
                                                  14-Mar-82 004 CODE DISKDUMP.CODE
                                                  14-Mar-82 010 TEXT STARTUP.TEXT
                                                  14-Mar-82 004 CODE STARTUP.CODE
                                                  16-Mar-82 008 TEXT SNOWFLAKE.TEXT
                                                  16-Mar-82 003 CODE SNOWFLAKE.CODE
                                                  16-Mar-82 010 TEXT TURTLE.TEXT
                                                  16-Mar-82 004 CODE TURTLE.CODE
                                                  16-Mar-82 006 TEXT READ.ME.TEXT
                                                  Pascal format; 51,712 bytes free; 91,648 bytes used.

                                                  --
                                                  PSCAL20:
                                                  29-Mar-80 036 TEXT PROSE.DOC1.TEXT
                                                  25-Mar-80 036 TEXT PROSE.DOC2.TEXT
                                                  11-Jul-80 034 CODE PROSE.CODE
                                                  01-May-80 012 TEXT UNIVERSAL.TEXT
                                                  30-Mar-80 018 TEXT POLICY.DOC.TEXT
                                                  31-Mar-80 008 TEXT CATALOG.3.TEXT
                                                  25-Jul-80 022 TEXT CHASE.TEXT
                                                  07-Nov-79 012 TEXT OTHELLO.TEXT
                                                  07-Nov-79 016 TEXT OTHELL1.TEXT
                                                  07-Nov-79 016 TEXT OTHELL2.TEXT
                                                  08-Nov-79 016 TEXT OTHELLINIT.TEXT
                                                  25-Jul-80 020 TEXT BLACKJACK.TEXT
                                                  25-Jul-80 026 TEXT DEBTS.TEXT
                                                  25-Jul-80 001 DATA STORE.DATA
                                                  Pascal format; 512 bytes free; 142,848 bytes used.

                                                  --
                                                  PSCAL21:
                                                  21-Nov-80 004 TEXT LINEDEMO.TEXT
                                                  21-Nov-80 002 CODE LINEDEMO.CODE
                                                  21-Nov-80 006 TEXT ROMANUMS.TEXT
                                                  21-Nov-80 002 CODE ROMANUMS.CODE
                                                  12-Jul-80 004 TEXT TABDEMO.TEXT
                                                  12-Jul-80 002 CODE TABDEMO.CODE
                                                  31-Jan-81 002 CODE NOWDATE.CODE
                                                  31-Jan-81 008 TEXT NOWDATE.TEXT
                                                  31-Jan-81 004 TEXT POWER.TEXT
                                                  31-Jan-81 002 CODE POWER.CODE
                                                  31-Jan-81 006 TEXT DECIMALROM.TEXT
                                                  31-Jan-81 003 CODE DECIMALROM.CODE
                                                  31-Jan-81 006 TEXT ADDFRACTNS.TEXT
                                                  31-Jan-81 003 CODE ADDFRACTNS.CODE
                                                  31-Jan-81 012 TEXT DISC.TEXT
                                                  31-Jan-81 006 CODE DISC.CODE
                                                  31-Jan-81 006 TEXT SLOMESSAGE.TEXT
                                                  01-Jan-81 002 CODE SLOMESSAGE.CODE
                                                  21-Sep-80 006 TEXT CRAWLER1.TEXT
                                                  21-Sep-80 002 CODE CRAWLER1.CODE
                                                  01-Jan-81 006 TEXT WINDCHILL.TEXT
                                                  01-Jan-81 003 CODE WINDCHILL.CODE
                                                  01-Jan-81 006 TEXT DEMOFUNCT1.TEXT
                                                  01-Jan-81 003 CODE DEMOFUNCT1.CODE
                                                  01-Jan-81 006 TEXT ERASERS.TEXT
                                                  01-Jan-81 003 CODE ERASERS.CODE
                                                  01-Jan-81 006 TEXT PCNTSOLVER.TEXT
                                                  01-Jan-81 004 CODE PCNTSOLVER.CODE
                                                  01-Jan-81 006 TEXT PR737.TEXT
                                                  01-Jan-81 006 TEXT PRINTSET.TEXT
                                                  10-Nov-80 006 TEXT LOCASE.ART.TEXT
                                                  01-Jan-81 008 TEXT FILEPATCH.TEXT
                                                  01-Jan-81 002 CODE ROMTEST.CODE
                                                  01-Jan-81 008 TEXT ROMTEST.TEXT
                                                  01-Jan-81 016 TEXT MASTCAT.TEXT
                                                  01-Jan-81 005 CODE MASTCAT.CODE
                                                  01-Jan-81 004 TEXT CAT.INTRO.TEXT
                                                  01-Jan-81 004 CODE CRYPTOGRAM.CODE
                                                  01-Jan-81 008 TEXT CRYPTOGRAM.TEXT
                                                  10-Jan-81 004 TEXT SPLTSCREEN.TEXT
                                                  10-Jan-81 002 CODE SPLTSCREEN.CODE
                                                  10-Jan-81 004 TEXT RANDALPHAX.TEXT
                                                  10-Jan-81 002 CODE RANDALPHAX.CODE
                                                  10-Jan-81 006 TEXT RANDALPHA1.TEXT
                                                  10-Jan-81 002 CODE RANDALPHA1.CODE
                                                  10-Jan-81 006 TEXT RANDALPHA2.TEXT
                                                  10-Jan-81 002 CODE RANDALPHA2.CODE
                                                  26-Jul-79 010 TEXT DIR.TEXT
                                                  26-Jul-79 002 CODE DIR.CODE
                                                  Pascal format; 18,432 bytes free; 124,928 bytes used.

                                                  --
                                                  PSCAL22:
                                                  02-May-81 008 TEXT INDEXTODOM.TEXT
                                                  20-Mar-81 008 TEXT PROVERBS4.TEXT
                                                  20-Mar-81 004 TEXT AXIOMS.TEXT
                                                  02-May-81 008 TEXT ARAYSEARCH.TEXT
                                                  26-Jan-81 008 TEXT STANDEVIAT.TEXT
                                                  21-Mar-81 006 TEXT NEWCARBUY.TEXT
                                                  17-Mar-81 010 TEXT FILEDEMO7.TEXT
                                                  27-Mar-81 004 TEXT DRAFTSMAN.TEXT
                                                  06-Mar-81 030 TEXT CROSSWORD.TEXT
                                                  12-Jan-81 018 TEXT DOCUMENT.TEXT
                                                  10-Jan-81 010 TEXT FORMAT.TEXT
                                                  12-Jan-81 004 TEXT MONEY.TEXT
                                                  12-Jan-81 006 TEXT UNSTRING.TEXT
                                                  20-Jan-81 008 TEXT FILEBURP.TEXT
                                                  20-Jan-81 010 TEXT DOSPASCAL.TEXT
                                                  26-Jan-81 014 TEXT FORMATUNIT.TEXT
                                                  15-Mar-81 006 TEXT CLEAN.TEXT
                                                  16-Mar-81 006 TEXT CLEAN2.TEXT
                                                  16-Mar-81 004 TEXT FILEMAKER.TEXT
                                                  02-May-81 006 TEXT HOWTO.TEXT
                                                  04-Mar-81 016 TEXT NATIVECODE.TEXT
                                                  04-Mar-81 012 TEXT MICRO.TEXT
                                                  04-Mar-81 006 TEXT SYSGEN.TEXT
                                                  04-Mar-81 004 TEXT STARTGEN.TEXT
                                                  05-Mar-81 008 TEXT FULL.TEXT
                                                  05-Mar-81 003 CODE NATIVECODE.CODE
                                                  05-Mar-81 006 CODE MICRO.CODE
                                                  05-Mar-81 005 DATA MICRO.LINK
                                                  06-Mar-81 004 CODE FULLDUPLEX.CODE
                                                  05-Mar-81 003 CODE SYSGEN.CODE
                                                  05-Mar-81 002 CODE STARTUP.CODE
                                                  Pascal format; 13,824 bytes free; 129,536 bytes used.

                                                  --
                                                  PSCAL23:
                                                  10-Sep-80 012 TEXT DISKDISP.TEXT
                                                  19-Sep-80 006 TEXT FIXCOMPARE.TEXT
                                                  23-Sep-80 004 TEXT LINEFEED.TEXT
                                                  24-Sep-80 004 TEXT GRAPH1.TEXT
                                                  24-Sep-80 004 TEXT GRAPH2.TEXT
                                                  24-Sep-80 004 TEXT SQUARES.TEXT
                                                  24-Sep-80 004 TEXT HEXAGONS.TEXT
                                                  24-Sep-80 004 TEXT GRAFPROC.TEXT
                                                  24-Sep-80 004 TEXT HEXAGON2.TEXT
                                                  24-Sep-80 004 TEXT STARS.TEXT
                                                  15-Sep-80 006 TEXT MIRRORIMAG.TEXT
                                                  15-Sep-80 006 TEXT SLOMESSAGE.TEXT
                                                  22-Sep-80 008 TEXT PALINDROME.TEXT
                                                  23-Sep-80 008 TEXT BILLBOARDS.TEXT
                                                  25-Sep-80 004 TEXT ERASERS.TEXT
                                                  26-Sep-80 006 TEXT ERASERS1.TEXT
                                                  16-Jul-80 008 TEXT WINDCHILL.TEXT
                                                  25-Jul-80 006 TEXT WINDTEMPS.TEXT
                                                  04-Sep-80 006 TEXT OTHERWIND.TEXT
                                                  22-Jul-80 008 TEXT INTERVALS.TEXT
                                                  29-Sep-80 008 TEXT SHOPNSAVE.TEXT
                                                  05-Sep-80 010 TEXT CREDITOPTN.TEXT
                                                  20-May-80 006 TEXT TRIANGLES.TEXT
                                                  20-May-80 006 TEXT TANGTABLE.TEXT
                                                  16-Jul-80 008 TEXT TRIGCHART.TEXT
                                                  22-May-80 006 TEXT LOANTERM.TEXT
                                                  22-May-80 006 TEXT REGPAYMENT.TEXT
                                                  23-May-80 006 TEXT REMBALANCE.TEXT
                                                  23-May-80 006 TEXT FUTUREVALU.TEXT
                                                  23-May-80 006 TEXT AMTOFDEPRE.TEXT
                                                  13-Jul-80 008 TEXT ADDFRACTNS.TEXT
                                                  10-Sep-80 010 TEXT PRINT.TEXT
                                                  27-Sep-80 006 TEXT PRINT.HOWTO.USE
                                                  27-Sep-80 006 TEXT DEMOPIC.TEXT
                                                  05-Sep-80 006 CODE DISKDISP.CODE
                                                  10-Sep-80 004 CODE PRINT.CODE
                                                  Pascal format; 25,600 bytes free; 117,760 bytes used.

                                                  --
                                                  PSCAL24:
                                                  30-Jul-81 012 TEXT MESSAGE.TEXT
                                                  08-Mar-81 014 CODE INPUT.CODE
                                                  08-Mar-81 036 TEXT INPUT.TEXT
                                                  05-Jul-81 008 TEXT TEXTPNT.TEXT
                                                  05-Jul-81 004 CODE TEXTPNT.CODE
                                                  09-Jul-81 013 CODE D6502.CODE
                                                  20-Jul-81 028 TEXT D6502.TEXT
                                                  05-Jul-81 008 TEXT PRECISION1.TEXT
                                                  07-Jul-81 004 TEXT CENTER.TEXT
                                                  15-May-81 010 TEXT STRINGSTUF.TEXT
                                                  14-May-81 005 CODE STRINGSTUF.CODE
                                                  07-Jul-81 008 TEXT STRGMATH1.TEXT
                                                  07-Jul-81 006 TEXT VALDEMO.TEXT
                                                  07-Jul-81 012 TEXT NEWCARBUY2.TEXT
                                                  07-Jul-81 008 CODE NEWCARBUY2.CODE
                                                  14-May-81 006 TEXT SIMUVAL.TEXT
                                                  14-May-81 004 CODE SIMUVAL.CODE
                                                  09-Jul-81 006 TEXT STEPLOOPS.TEXT
                                                  13-Jul-81 010 TEXT READER.TEXT
                                                  01-Jan-81 006 CODE MORSE.CODE
                                                  30-Jul-81 014 TEXT MORSE.TEXT
                                                  30-Jul-81 008 TEXT DOM-NOTES.TEXT
                                                  Pascal format; 22,528 bytes free; 120,832 bytes used.

                                                  --
                                                  PSCAL25:
                                                  23-Jan-81 006 TEXT INDEX.TO.VOLUME
                                                  18-Nov-80 008 TEXT CRYPTOGRAM.TEXT
                                                  23-Nov-80 006 TEXT SPLITSCRN.TEXT
                                                  26-Nov-80 006 TEXT SUMOFNUMS.TEXT
                                                  30-Nov-80 006 TEXT MINIMAX.TEXT
                                                  16-Jan-81 006 TEXT ROOTNUMBER.TEXT
                                                  22-Jan-81 006 TEXT LOGANDBASE.TEXT
                                                  01-Jan-81 008 TEXT PERMNCOMB1.TEXT
                                                  22-Jan-81 008 TEXT BIGCOMBIN1.TEXT
                                                  04-Jan-81 006 TEXT RANDALPHAX.TEXT
                                                  27-Jan-81 006 TEXT RANDALPHA1.TEXT
                                                  23-Jan-81 006 TEXT RANDALPHA2.TEXT
                                                  27-Jan-81 006 TEXT RANDALPHA3.TEXT
                                                  27-Jan-81 006 TEXT RANDALPHA4.TEXT
                                                  06-Jan-81 018 TEXT MASTERCA.TEXT
                                                  07-Jan-81 010 TEXT NEWDIR.TEXT
                                                  14-Sep-80 003 CODE TIGER.UNIT.CODE
                                                  23-Jan-81 004 TEXT TIGER.TEXT
                                                  23-Jan-81 010 TEXT SCRNBYT.TEXT
                                                  26-Mar-80 006 TEXT SKETCH2.TEXT
                                                  27-Mar-80 008 TEXT EQP.TEXT
                                                  16-Mar-80 006 TEXT DISKDATE.TEXT
                                                  17-May-80 012 TEXT MODEMTEST.TEXT
                                                  16-May-80 008 TEXT FILEPATCH.TEXT
                                                  17-May-80 038 TEXT CHECKBOOK.TEXT
                                                  Pascal format; 31,232 bytes free; 112,128 bytes used.

                                                  --
                                                  PSCAL26:
                                                  22-Nov-81 008 TEXT MAKEMENU.TEXT
                                                  02-Nov-81 006 TEXT CENTERDEMO.TEXT
                                                  27-Nov-81 016 TEXT ARROWSMITH.TEXT
                                                  13-Sep-81 006 TEXT FORMATTER2.TEXT
                                                  04-Sep-81 006 TEXT STEPLOOPS2.TEXT
                                                  20-Nov-81 006 TEXT CHARCOUNT.TEXT
                                                  13-Nov-81 012 TEXT FLASHCARD5.TEXT
                                                  20-Jul-81 022 TEXT XREF1.TEXT
                                                  05-Nov-81 034 TEXT CAT.TEXT
                                                  05-Nov-81 018 CODE CAT.CODE
                                                  12-Nov-81 008 TEXT MAKELESSON.TEXT
                                                  12-Nov-81 004 CODE MAKELESSON.CODE
                                                  12-Nov-81 004 TEXT HOWTOUSEIT.TEXT
                                                  10-Nov-81 004 TEXT FRENCH20.TEXT
                                                  01-Jan-81 006 CODE MORSE.CODE
                                                  25-May-80 014 TEXT MORSE.TEXT
                                                  05-Nov-81 006 TEXT DOM-NOTES.TEXT
                                                  Pascal format; 48,128 bytes free; 95,232 bytes used.

                                                  --
                                                  PSCAL27:
                                                  04-May-79 036 DATA SYSTEM.PASCAL
                                                  04-May-79 001 DATA SYSTEM.MISCINFO
                                                  14-Jul-79 002 DATA SYSTEM.CHARSET
                                                  09-Sep-80 006 TEXT PRIMAKER.TEXT
                                                  09-Sep-80 003 CODE PRIMAKER.CODE
                                                  24-Jul-80 004 TEXT PRIREAD.TEXT
                                                  24-Jul-80 003 CODE PRIREAD.CODE
                                                  15-Sep-80 006 TEXT PRINTSET.TEXT
                                                  15-Sep-80 006 TEXT SETINT.TEXT
                                                  15-Sep-80 018 TEXT MASTER.TEXT
                                                  15-Sep-80 008 CODE MASTER.CODE
                                                  04-Nov-80 010 TEXT TWOD.TEXT
                                                  04-Nov-80 004 CODE TWOD.CODE
                                                  13-Nov-80 010 TEXT TWOD1.TEXT
                                                  07-Nov-80 020 TEXT PRETTYPAS.TEXT
                                                  26-Jul-79 009 CODE BLIZZARD.CODE
                                                  01-Nov-80 014 TEXT SCINOTATN.TEXT
                                                  01-Nov-80 007 CODE SCINOTATN.CODE
                                                  17-Jul-80 022 TEXT WP.TEXT
                                                  29-Sep-80 009 CODE WP.CODE
                                                  04-Mar-80 014 TEXT DOC.TEXT
                                                  27-Sep-80 012 TEXT PILOT.TEXT
                                                  11-Nov-80 010 TEXT MEMDISP.TEXT
                                                  16-Nov-80 006 DATA INDEX.TO.DECDOM
                                                  11-Nov-80 030 DATA SYSTEM.LIBRARY
                                                  Pascal format; 2,048 bytes free; 141,312 bytes used.

                                                  --
                                                  PSCAL28:
                                                  02-Jan-80 006 TEXT DSPCHRSET.TEXT
                                                  28-Sep-80 008 TEXT DEFCHARS.TEXT
                                                  17-May-80 036 TEXT CHECKBOOK.TEXT
                                                  10-Sep-80 012 TEXT MINIFILER.TEXT
                                                  12-Nov-80 004 TEXT PEEKPOKE.TEXT
                                                  03-Sep-80 006 TEXT TIMERSTUFF.TEXT
                                                  22-Nov-80 006 TEXT PRINT.TEXT
                                                  10-Jan-81 008 TEXT FILEDUMP.TEXT
                                                  25-Nov-80 004 TEXT BIOSUNIT.TEXT
                                                  27-Nov-80 008 TEXT BIOSDEMO.TEXT
                                                  13-Nov-80 018 TEXT MENU.TEXT
                                                  27-Nov-80 016 TEXT DIR.TEXT
                                                  28-Nov-80 010 TEXT MENUDOC.TEXT
                                                  28-Nov-80 008 TEXT DIRDOC.TEXT
                                                  28-Nov-80 006 TEXT BIOSDOC.TEXT
                                                  28-Nov-80 016 TEXT BIOSSTUFF.TEXT
                                                  24-Sep-80 022 TEXT CRECHARSET.TEXT
                                                  24-Sep-80 008 TEXT CRECHARDOC.TEXT
                                                  07-Jul-80 006 TEXT SERENDIP.TEXT
                                                  20-May-80 010 TEXT CUBE.TEXT
                                                  27-Mar-81 008 TEXT DOODLER.TEXT
                                                  27-Mar-81 010 TEXT INTDAT.TEXT
                                                  21-May-81 020 TEXT PIG1.TEXT
                                                  15-Nov-81 008 TEXT MICROMODEM.TEXT
                                                  Pascal format; 5,120 bytes free; 138,240 bytes used.

                                                  --
                                                  ATTACH:
                                                  06-Mar-81 007 CODE SYSTEM.ATTACH
                                                  22-Jan-81 008 CODE ATTACHUD.CODE
                                                  03-Mar-81 026 TEXT DOC.0.TEXT
                                                  22-Jan-81 030 TEXT DOC.1.TEXT
                                                  04-Mar-81 016 TEXT DOC.2.TEXT
                                                  04-Mar-81 022 TEXT DOC.3.TEXT
                                                  04-Mar-81 018 TEXT DOC.4.TEXT
                                                  04-Mar-81 028 TEXT DOC.5.TEXT
                                                  04-Mar-81 024 TEXT DOC.6.TEXT
                                                  04-Mar-81 024 TEXT DOC.7.TEXT
                                                  04-Mar-81 028 TEXT DOC.8.TEXT
                                                  02-Mar-81 002 CODE ADMERG.CODE
                                                  02-Mar-81 006 TEXT ADMERG.TEXT
                                                  14-Sep-80 014 TEXT LIST.TEXT
                                                  14-Sep-80 004 CODE LIST.CODE
                                                  03-Mar-81 012 TEXT FORTFIX.TEXT
                                                  07-Jan-81 004 CODE FORTFIX.CODE
                                                  03-Mar-81 001 DATA NOT.USED
                                                  Pascal format; 0 bytes free; 143,360 bytes used.

                                                  --
                                                  PSCAL29:
                                                  14-Jan-81 008 TEXT CRYPTODOC.TEXT
                                                  15-Jan-81 010 TEXT CRYPTO.TEXT
                                                  06-Jan-81 016 DATA FILER.LIB
                                                  12-Jan-81 040 TEXT MINIFILER.TEXT
                                                  25-Nov-80 004 CODE PAGEDUMPER.CODE
                                                  13-Sep-80 008 TEXT IOUNITA.TEXT
                                                  14-Sep-80 006 TEXT IOUNITB.TEXT
                                                  30-Jan-81 024 TEXT LIFE.TURTL.TEXT
                                                  08-Jan-81 022 TEXT LORES.USER.TEXT
                                                  08-Jan-81 006 TEXT LORES.UNIT.TEXT
                                                  09-Jan-81 024 TEXT LIFE.LORES.TEXT
                                                  10-Jan-81 006 TEXT LIFE.INFO.TEXT
                                                  10-Jan-81 008 TEXT LORES.INFO.TEXT
                                                  31-Jan-81 028 TEXT DIS1.TEXT
                                                  16-Jul-80 018 TEXT PLOTPOURRI.TEXT
                                                  18-Mar-80 010 TEXT RNDSPIRO.TEXT
                                                  16-May-80 004 TEXT LORES.TEXT
                                                  15-May-80 004 TEXT PLOT.TEXT
                                                  19-May-80 006 TEXT ANDROMEDA.TEXT
                                                  10-Jul-80 004 TEXT DANMAC.TEXT
                                                  18-Mar-81 012 TEXT PIG2.TEXT
                                                  Pascal format; 3,072 bytes free; 140,288 bytes used.

                                                  --
                                                  SYDR-PR:
                                                  02-Mar-81 002 CODE ADMERG.CODE
                                                  02-Mar-81 006 TEXT ADMERG.TEXT
                                                  01-Mar-81 010 TEXT PASCALZAP.TEXT
                                                  01-Mar-81 006 CODE PASCALZAP.CODE
                                                  22-Jul-80 006 TEXT FILEIO.TEXT
                                                  22-Jul-80 003 CODE FILEIO.CODE
                                                  22-Nov-80 006 TEXT PRINT.TEXT
                                                  15-Sep-80 006 TEXT PRINTSET.TEXT
                                                  15-Sep-80 006 TEXT SETINT.TEXT
                                                  17-Jul-80 022 TEXT WP.TEXT
                                                  29-Sep-80 009 CODE WP.CODE
                                                  04-Mar-80 014 TEXT DOC.TEXT
                                                  14-Sep-80 003 CODE TIGER.UNIT.CODE
                                                  23-Jan-81 004 TEXT TIGER.TEXT
                                                  05-Jul-81 008 TEXT TEXTPNT.TEXT
                                                  05-Jul-81 004 CODE TEXTPNT.CODE
                                                  23-Sep-80 004 TEXT LINEFEED.TEXT
                                                  27-Sep-80 006 TEXT PRINT.HOWTO.USE
                                                  01-Jan-81 006 TEXT PR737.TEXT
                                                  13-Mar-82 006 TEXT EPSON.UNIT.TEXT
                                                  13-Mar-82 003 CODE EPSON.UNIT.CODE
                                                  13-Mar-82 008 TEXT CONCORD.TEXT
                                                  13-Mar-82 003 CODE CONCORD.CODE
                                                  18-Mar-81 010 TEXT SETUPMX80.TEXT
                                                  23-Jan-81 010 TEXT SCRNBYT.TEXT
                                                  04-Jul-80 018 TEXT DIAPLOT.TEXT
                                                  26-Jul-79 024 TEXT DIABLO.TEXT
                                                  12-Jul-80 006 TEXT MINIPUB.TEXT
                                                  12-Jul-80 007 CODE MINIPUB.CODE
                                                  04-Jul-80 004 TEXT PLOTTEST.TEXT
                                                  21-Sep-80 022 TEXT DIABLO-DOC.TEXT
                                                  02-Mar-81 010 TEXT PRTPAGE.TEXT
                                                  Pascal format; 6,144 bytes free; 137,216 bytes used.

                                                  --
                                                  PMONEY1:
                                                  17-May-80 036 TEXT CHECKBOOK.TEXT
                                                  07-Jul-81 012 TEXT NEWCARBUY2.TEXT
                                                  07-Jul-81 008 CODE NEWCARBUY2.CODE
                                                  29-Sep-80 008 TEXT SHOPNSAVE.TEXT
                                                  05-Sep-80 010 TEXT CREDITOPTN.TEXT
                                                  22-May-80 006 TEXT LOANTERM.TEXT
                                                  22-May-80 006 TEXT REGPAYMENT.TEXT
                                                  23-May-80 006 TEXT REMBALANCE.TEXT
                                                  23-May-80 006 TEXT FUTUREVALU.TEXT
                                                  23-May-80 006 TEXT AMTOFDEPRE.TEXT
                                                  25-Jul-80 026 TEXT DEBTS.TEXT
                                                  25-Jul-80 001 DATA STORE.DATA
                                                  12-Mar-81 010 TEXT CASHREG.TEXT
                                                  Pascal format; 68,096 bytes free; 75,264 bytes used.

                                                  --
                                                  PMONEY2:
                                                  15-Jul-81 002 DATA PAYROLL
                                                  24-Nov-80 034 TEXT FD.PART3.TEXT
                                                  15-Nov-80 007 CODE FD.INTRO.CODE
                                                  23-Nov-80 028 TEXT FD.PART1.TEXT
                                                  24-Nov-80 028 TEXT FD.PART2.TEXT
                                                  24-Nov-80 040 TEXT FILEDEMO.TEXT
                                                  24-Nov-80 020 CODE FILEDEMO.CODE
                                                  15-Jan-81 010 TEXT FD.INTRO.TEXT
                                                  Pascal format; 53,760 bytes free; 89,600 bytes used.

                                                  --
                                                  SYDRIVE:
                                                  10-Sep-80 012 TEXT MINIFILER.TEXT
                                                  13-Nov-80 018 TEXT MENU.TEXT
                                                  28-Nov-80 010 TEXT MENUDOC.TEXT
                                                  27-Nov-80 016 TEXT DIR.TEXT
                                                  28-Nov-80 008 TEXT DIRDOC.TEXT
                                                  06-Jan-81 018 TEXT MASTERCA.TEXT
                                                  07-Jan-81 010 TEXT NEWDIR.TEXT
                                                  16-Mar-80 006 TEXT DISKDATE.TEXT
                                                  16-May-80 008 TEXT FILEPATCH.TEXT
                                                  13-Jul-81 010 TEXT READER.TEXT
                                                  10-Sep-80 012 TEXT DISKDISP.TEXT
                                                  05-Sep-80 006 CODE DISKDISP.CODE
                                                  17-Mar-81 010 TEXT FILEDEMO7.TEXT
                                                  20-Jan-81 008 TEXT FILEBURP.TEXT
                                                  20-Jan-81 010 TEXT DOSPASCAL.TEXT
                                                  15-Mar-81 006 TEXT CLEAN.TEXT
                                                  16-Mar-81 006 TEXT CLEAN2.TEXT
                                                  16-Mar-81 004 TEXT FILEMAKER.TEXT
                                                  02-May-81 006 TEXT HOWTO.TEXT
                                                  01-Jan-81 004 TEXT CAT.INTRO.TEXT
                                                  14-Mar-82 012 TEXT DISKDUMP.TEXT
                                                  14-Mar-82 004 CODE DISKDUMP.CODE
                                                  12-Mar-81 012 TEXT DOSCAT.TEXT
                                                  12-Mar-81 005 CODE DOSCAT.CODE
                                                  10-Sep-80 006 TEXT COPYONE.TEXT
                                                  04-Jan-81 008 TEXT DISASM.DOC.TEXT
                                                  02-Jan-81 004 TEXT ASM.SAMPLE.TEXT
                                                  02-Jan-81 026 TEXT DISASM.TEXT
                                                  Pascal format; 4,608 bytes free; 138,752 bytes used.

                                                  --
                                                  SYMO-CL:
                                                  03-Sep-80 006 TEXT TIMERSTUFF.TEXT
                                                  15-Nov-81 008 TEXT MICROMODEM.TEXT
                                                  04-Mar-81 016 TEXT NATIVECODE.TEXT
                                                  04-Mar-81 012 TEXT MICRO.TEXT
                                                  04-Mar-81 006 TEXT SYSGEN.TEXT
                                                  04-Mar-81 004 TEXT STARTGEN.TEXT
                                                  05-Mar-81 008 TEXT FULL.TEXT
                                                  05-Mar-81 003 CODE NATIVECODE.CODE
                                                  05-Mar-81 006 CODE MICRO.CODE
                                                  05-Mar-81 005 DATA MICRO.LINK
                                                  06-Mar-81 004 CODE FULLDUPLEX.CODE
                                                  05-Mar-81 003 CODE SYSGEN.CODE
                                                  05-Mar-81 002 CODE STARTUP.CODE
                                                  17-May-80 012 TEXT MODEMTEST.TEXT
                                                  08-Mar-81 040 DATA MODEM.LIBRARY
                                                  14-Sep-80 000 CODE FILER.IMPL.CODE
                                                  06-Jul-81 004 TEXT LIST.TEXT
                                                  06-Jul-81 024 TEXT ANSWER.TEXT
                                                  06-Jul-81 030 CODE ANSWER.CODE
                                                  06-Jul-81 004 TEXT LOG.TEXT
                                                  02-Jan-81 014 TEXT GETIME.TEXT
                                                  06-Jan-81 006 TEXT STRFORT.TEXT
                                                  06-Jan-81 006 TEXT CLOCKUNIT.TEXT
                                                  02-Jan-81 004 CODE CLKUNT1.1.CODE
                                                  13-Mar-81 006 TEXT CLOCK.DOC.TEXT
                                                  14-Mar-81 004 TEXT STARTUP.TEXT
                                                  Pascal format; 18,944 bytes free; 124,416 bytes used.

                                                  --
                                                  SYSCRN1:
                                                  25-Nov-80 004 TEXT BIOSUNIT.TEXT
                                                  27-Nov-80 008 TEXT BIOSDEMO.TEXT
                                                  28-Nov-80 006 TEXT BIOSDOC.TEXT
                                                  28-Nov-80 016 TEXT BIOSSTUFF.TEXT
                                                  08-Mar-81 014 CODE INPUT.CODE
                                                  08-Mar-81 036 TEXT INPUT.TEXT
                                                  15-Sep-80 006 TEXT MIRRORIMAG.TEXT
                                                  15-Sep-80 006 TEXT SLOMESSAGE.TEXT
                                                  22-Sep-80 008 TEXT PALINDROME.TEXT
                                                  23-Sep-80 008 TEXT BILLBOARDS.TEXT
                                                  26-Sep-80 006 TEXT ERASERS1.TEXT
                                                  27-Mar-81 004 TEXT DRAFTSMAN.TEXT
                                                  12-Jan-81 018 TEXT DOCUMENT.TEXT
                                                  10-Jan-81 010 TEXT FORMAT.TEXT
                                                  12-Jan-81 004 TEXT MONEY.TEXT
                                                  12-Jan-81 006 TEXT UNSTRING.TEXT
                                                  26-Jan-81 014 TEXT FORMATUNIT.TEXT
                                                  12-Jul-80 004 TEXT TABDEMO.TEXT
                                                  12-Jul-80 002 CODE TABDEMO.CODE
                                                  10-Nov-80 006 TEXT LOCASE.ART.TEXT
                                                  01-Jan-81 008 TEXT FILEPATCH.TEXT
                                                  10-Jan-81 004 TEXT SPLTSCREEN.TEXT
                                                  10-Jan-81 002 CODE SPLTSCREEN.CODE
                                                  13-Mar-82 004 TEXT SMARTERM.TEXT
                                                  13-Mar-82 003 CODE SMARTERM.CODE
                                                  28-Jan-81 006 TEXT LCPAT1.1.TEXT
                                                  29-Sep-80 008 TEXT MODEDEMO.TEXT
                                                  Pascal format; 27,136 bytes free; 116,224 bytes used.

                                                  --
                                                  PGAMES1:
                                                  14-Jan-81 008 TEXT CRYPTODOC.TEXT
                                                  15-Jan-81 010 TEXT CRYPTO.TEXT
                                                  15-Sep-80 018 TEXT MASTER.TEXT
                                                  15-Sep-80 008 CODE MASTER.CODE
                                                  07-Nov-79 012 TEXT OTHELLO.TEXT
                                                  07-Nov-79 016 TEXT OTHELL1.TEXT
                                                  07-Nov-79 016 TEXT OTHELL2.TEXT
                                                  08-Nov-79 016 TEXT OTHELLINIT.TEXT
                                                  25-Jul-80 020 TEXT BLACKJACK.TEXT
                                                  24-Jan-80 038 TEXT CHECKERS.TEXT
                                                  06-Mar-81 030 TEXT CROSSWORD.TEXT
                                                  25-Jul-80 022 TEXT CHASE.TEXT
                                                  Pascal format; 30,720 bytes free; 112,640 bytes used.

                                                  --
                                                  PGRAPH1:
                                                  02-Jan-80 006 TEXT DSPCHRSET.TEXT
                                                  28-Sep-80 008 TEXT DEFCHARS.TEXT
                                                  24-Sep-80 022 TEXT CRECHARSET.TEXT
                                                  24-Sep-80 008 TEXT CRECHARDOC.TEXT
                                                  07-Jul-80 006 TEXT SERENDIP.TEXT
                                                  20-May-80 010 TEXT CUBE.TEXT
                                                  27-Mar-81 008 TEXT DOODLER.TEXT
                                                  26-Jul-79 009 CODE BLIZZARD.CODE
                                                  27-Sep-80 012 TEXT PILOT.TEXT
                                                  26-Mar-80 006 TEXT SKETCH2.TEXT
                                                  24-Sep-80 004 TEXT GRAPH1.TEXT
                                                  24-Sep-80 004 TEXT GRAPH2.TEXT
                                                  24-Sep-80 004 TEXT SQUARES.TEXT
                                                  24-Sep-80 004 TEXT HEXAGONS.TEXT
                                                  24-Sep-80 004 TEXT GRAFPROC.TEXT
                                                  24-Sep-80 004 TEXT HEXAGON2.TEXT
                                                  24-Sep-80 004 TEXT STARS.TEXT
                                                  27-Sep-80 006 TEXT DEMOPIC.TEXT
                                                  16-Mar-82 020 TEXT CHAREDIT.TEXT
                                                  16-Mar-82 007 CODE CHAREDIT.CODE
                                                  16-Mar-82 038 TEXT GRAFEDIT.TEXT
                                                  16-Mar-82 012 CODE GRAFEDIT.CODE
                                                  16-Mar-82 006 TEXT SHOWFOTO.TEXT
                                                  16-Mar-82 002 CODE SHOWFOTO.CODE
                                                  16-Mar-82 008 TEXT SNOWFLAKE.TEXT
                                                  16-Mar-82 003 CODE SNOWFLAKE.CODE
                                                  16-Mar-82 010 TEXT TURTLE.TEXT
                                                  16-Mar-82 004 CODE TURTLE.CODE
                                                  30-Sep-79 020 TEXT PLOTTER.TEXT
                                                  30-Sep-79 011 CODE PLOTTER.CODE
                                                  Pascal format; 2,048 bytes free; 141,312 bytes used.

                                                  --
                                                  PGRAPH2:
                                                  07-Mar-81 034 TEXT GENEPOOL.TEXT
                                                  26-Jul-79 006 TEXT DRAW.TEXT
                                                  08-Jul-80 006 TEXT PIECEMAKER.TEXT
                                                  09-Nov-80 006 TEXT DRAWLINE.TEXT
                                                  09-Nov-80 002 CODE DRAWLINE.CODE
                                                  29-May-80 008 TEXT FIGURE.TEXT
                                                  30-May-80 012 TEXT COLOR.BAR.TEXT
                                                  04-Jul-80 004 TEXT POLOR.EX.TEXT
                                                  25-Jul-80 006 TEXT REALSTR.PC.TEXT
                                                  25-Jul-80 012 TEXT POLORGRAPH.TEXT
                                                  26-Jul-80 012 TEXT POLORLOOP.TEXT
                                                  03-Jul-80 014 TEXT EPICYCLOID.TEXT
                                                  03-Jul-80 014 TEXT HYPO.THREE.TEXT
                                                  05-May-80 006 TEXT FLOWER.TEXT
                                                  15-Mar-81 010 TEXT KINETICART.TEXT
                                                  15-Mar-81 004 CODE KINETICART.CODE
                                                  04-Nov-80 010 TEXT TWOD.TEXT
                                                  04-Nov-80 004 CODE TWOD.CODE
                                                  13-Nov-80 010 TEXT TWOD1.TEXT
                                                  Pascal format; 48,128 bytes free; 95,232 bytes used.
                                                  | 811|805|2007-03-26 07:51:45|John B. Matthews MD|Re: Willamette Apple Connection, Inc. library of Apple Pascal PD d|
                                                  The UCSD Pascal disk image named P09.DSK <http://wac.callapple.org/
                                                  soft/pascal/P09.DSK particular, the last nine entries are inaccessible. I have restored
                                                  the affected entries and sent an image to wac@.... If
                                                  anyone needs a copy sooner, email me.

                                                  PSCAL09:
                                                  05-Jul-80 004 DATA MOUNTAIN.CLK
                                                  05-Jul-80 040 TEXT CLOCK.ALL.TEXT
                                                  05-Jul-80 010 TEXT CLOCKSTUFF.TEXT
                                                  05-May-80 018 TEXT CLOCK.TEXT
                                                  02-Nov-79 014 TEXT CLOCK.DOC.TEXT
                                                  14-Mar-80 020 TEXT ACLOCK.TEXT
                                                  16-Nov-79 004 TEXT TRAN.NOTE.TEXT
                                                  27-Nov-80 010 TEXT TRANSFER.TEXT
                                                  27-Nov-80 008 TEXT DISASM.DOC.TEXT
                                                  16-Nov-79 026 TEXT DISASM.TEXT
                                                  18-Mar-80 004 TEXT ASM.SAMPLE.TEXT
                                                  05-May-80 004 TEXT STARTUP.TEXT
                                                  13-Nov-79 004 TEXT STARTA.TEXT
                                                  05-May-80 008 TEXT LCART1.1.TEXT
                                                  06-May-80 008 TEXT BIOSPRT.TEXT
                                                  06-May-80 006 TEXT COPYONE.TEXT
                                                  26-Mar-07 004 TEXT SPIROLAT.TEXT
                                                  26-Mar-07 006 TEXT STRINGCHS.TEXT
                                                  26-Mar-07 006 TEXT STRINGS.TEXT
                                                  26-Mar-07 004 TEXT TESTPRESS.TEXT
                                                  26-Mar-07 004 TEXT PEEK.TEXT
                                                  26-Mar-07 018 TEXT PRINT.IDS.TEXT
                                                  26-Mar-07 014 TEXT MUSIC.CAI.TEXT
                                                  26-Mar-07 020 TEXT ROBOT.TEXT
                                                  26-Mar-07 010 TEXT NUMBER.TEXT
                                                  Pascal format; 0 bytes free; 143,360 bytes used.

                                                  John
                                                  --
                                                  John B. Matthews, MD
                                                  jmatthews at wright dot edu
                                                  http://www.wright.edu/~john.matthews/
                                                  | 812|805|2007-03-27 20:21:57|Willi Kusche|Re: Willamette Apple Connection, Inc. library of Apple Pascal PD d|
                                                  Hi!

                                                  --- John wrote:
                                                  <--- snip ---
                                                  I have an image of a disk that appears to be identical except that
                                                  is also has "TYPESET.CODE" and "UNIVERSAL.TEXT".

                                                  Willi
                                                  | 813|805|2007-03-28 03:46:04|John B. Matthews MD|Re: Willamette Apple Connection, Inc. library of Apple Pascal PD d|
                                                  On Mar 27, 2007, at 2:21 PM, Willi Kusche wrote:
                                                  'Lo!

                                                  Interestingly, the files you mention are deleted from the image
                                                  <http://wac.callapple.org/soft/pascal/P01.DSK Using the F(iler's M(ake command with block allocations of [5] and
                                                  [12] respectively will make the files available.

                                                  The code file is of limited value, as you must compile and install
                                                  several intrinsic units anyway. The text file outlines a proposed
                                                  standard interface for screen control primitives.

                                                  I happened to see the anomaly on P09.DSK because there was an actual
                                                  directory error, but I imagine other disk images may also contain
                                                  buried treasure:-)

                                                  John
                                                  | 814|805|2007-03-28 09:38:25|shadoooo|Re: Willamette Apple Connection, Inc. library of Apple Pascal PD d|
                                                  ___________________________________________________________
                                                  Now you can scan emails quickly with a reading pane. Get the new Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html
                                                  | 816|816|2007-03-31 19:18:29|Ben Yates|Disk Image question|
                                                  Ok, stupid question - because I haven't even tried it yet.

                                                  These disk images I've seen for the UCSD P-system - how compatible are they across
                                                  platforms?

                                                  I'm interested in the recent link of Apple stuff - and it looks very much like the format I'm
                                                  used to on the TI UCSD IV.0 P-system.

                                                  However, ISTR that the TI used the first 2 sectors of a disk for its native file system and
                                                  started the P-system on the 3rd sector.

                                                  I'm also interested in those Forth screens on the same link - up one level. I'm sure that is
                                                  even harder, considering how different platforms did screens.
                                                  | 817|816|2007-04-01 07:43:48|John B. Matthews MD|Re: Disk Image question|
                                                  On Mar 31, 2007, at 1:17 PM, Ben Yates wrote:

                                                  The code is highly portable mod system globals & intrinsics, but the
                                                  disk images may be hard to access without an Apple II or emulator. I
                                                  use Rob Greene's AppleCommander, a Java program to manipulate disk
                                                  images such as those mentioned. I've recently been patching it to
                                                  work with Apple UCSD volume images. The command line version is
                                                  completely cross-platform; the GUI is platform specific with Mac and
                                                  Windows versions available. I used the command line to generate the
                                                  listing I posted earlier:

                                                  http://www.wright.edu/~john.matthews/ac.html

                                                  I'm unable to decipher the disk format, but F1 contains code I wrote
                                                  in '84 as part of a ProDOS version of FIG Forth (sorry for the lost
                                                  formatting below):

                                                  http://www.wright.edu/~john.matthews/a2/proforth.html

                                                  F2 is a Forth tutorial written in Forth from Washington Apple Pi.

                                                  John

                                                  ---off topic snip---
                                                  ( L+/L=/L- LIST NEXT/CURRENT/PREVIOUS SCREEN 04MAR84JBM)
                                                  : L+ SCR @ 1+ LIST ;
                                                  : L= SCR @ LIST ;
                                                  : L- SCR @ 1 - LIST ;

                                                  ( .S NON-DESTRUCTIVE STACK PRINT 08MAR84JBM)
                                                  : .S SP@ LIMIT 6 + @ SWAP OVER OVER = 0= ( LIMIT 6 + --- S0 )
                                                  IF DO FORTH I @ 6 .R CR 2 +LOOP
                                                  ELSE DROP DROP ." Stack empty" CR
                                                  ENDIF ;
                                                  --
                                                  ( PR# FOR //e 04MAR84JBM)
                                                  BASE @ HEX
                                                  : PR# DUP 0= IF 91 EMIT DROP ( IF FE93 CALL DROP FOR ][+ )
                                                  ELSE 0 36 C! C0 OR 37 C! ENDIF
                                                  3EA CALL CR ;

                                                  ( PLIST - PRINT SCREENS NOS TO TOS 08OCT82WDW)
                                                  BASE @
                                                  DECIMAL
                                                  : PLIST 1+ SWAP DO I DUP 3 PR# LIST
                                                  1 PR# LIST CR CR
                                                  1+ DUP 3 = IF 12 EMIT DROP 0 ENDIF LOOP
                                                  DROP 12 EMIT 3 PR# ;
                                                  BASE ! ;S

                                                  ( SIEVE OF ERATOSTHENES BYTE JAN 1983
                                                  08MAR84JBM)
                                                  8190 CONSTANT SIZE
                                                  0 VARIABLE FLAGS SIZE ALLOT
                                                  : PRIME FLAGS SIZE 1 FILL ( INIT ARRAY )
                                                  0 ( INIT COUNT ) SIZE 0
                                                  DO FLAGS I + C@
                                                  IF I DUP + 3 + ( DUP . CR ) DUP I +
                                                  BEGIN DUP SIZE <
                                                  WHILE 0 OVER FLAGS + C! OVER + REPEAT
                                                  DROP DROP 1+
                                                  ENDIF
                                                  LOOP . ." PRIMES" ;
                                                  ;S
                                                  ---snip---
                                                  | 818|816|2007-04-01 18:49:56|Eric Engler|Re: Disk Image question|
                                                  --- In UCSDPascal@yahoogroups.com, "John B. Matthews MD"
                                                  traditionally been the best program for maniplutating Apple II images
                                                  on Windows.

                                                  http://ciderpress.sourceforge.net/index.htm

                                                  Eric
                                                  | 819|816|2007-04-01 20:31:25|John B. Matthews MD|Re: Disk Image question|
                                                  On Apr 1, 2007, at 12:49 PM, Eric Engler wrote:

                                                  For Windows, yes; I use MacOS & Linux:-)

                                                  How's support for UCSD Pascal in CiderPress?

                                                  John
                                                  | 820|816|2007-04-01 20:43:24|ti99_forever|Re: Disk Image question|
                                                  --- "John B. Matthews MD" <john.matthews@... wrote:

                                                  I hate to be an AOLer, but -
                                                  "me, too" - mostly OSX

                                                  I guess the wife might allow me some time on her Vista
                                                  laptop. Really rock solid thing that is. Change the
                                                  display orientation and BANG! Reboot.

                                                  Our old machine sits here next to my desk with Fedora
                                                  Core 5 and WinMe (ugh!). I really would like to find a
                                                  copy of XP somewhere for Boot Camp Beta! And maybe to
                                                  downgrade her laptop...





                                                  ____________________________________________________________________________________
                                                  Expecting? Get great news right away with email Auto-Check.
                                                  Try the Yahoo! Mail Beta.
                                                  http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html
                                                  | 821|821|2007-04-01 23:22:20|udo_munk|UCSD pSystem II.0 fully functional for Z80SIM under UNIX|
                                                  I've just posted the following to comp.os.cpm:


                                                  at ftp://ftp.unix4fun.org/z80pack/

                                                  Fully working UCSD pSystem II.0, the terminal/editor issues have been
                                                  fixed. You'll find the following archives:

                                                  ucsd-booter.tgz:
                                                  Customized CBIOS for the pSystem and boot code, you want this if you wish
                                                  to modify the BIOS for the UCSD system or the boot code, all sources and
                                                  build submit script included:

                                                  ucsd.tgz:
                                                  the bootable pSystem already configured, you want this if you just want to
                                                  run the system.

                                                  ucsd-II-disks.tgz:
                                                  all 8" disk images relevant to the Z80 from www.bitsavers.org.
                                                  This disk images have been used to build the system for Z80SIM. This disk
                                                  images include source disks for the pSystem II.0 for the Z80, I've left
                                                  out the disk images for the LSI-11, because those are not relevant for the
                                                  Z80 version.

                                                  This is 30 years old software, probably written before CP/M and it still
                                                  runs on 21th century UNIX systems, AMAZING!

                                                  Enjoy,
                                                  Udo Munk
                                                  | 822|822|2007-04-01 23:25:17|udo_munk|Fully functional pSystem II.0 available for Z80SIM|
                                                  I've just posted the following to comp.os.cpm:

                                                  at ftp://ftp.unix4fun.org/z80pack/

                                                  Fully working UCSD pSystem II.0, the terminal/editor issues have been
                                                  fixed. You'll find the following archives:

                                                  ucsd-booter.tgz:
                                                  Customized CBIOS for the pSystem and boot code, you want this if you wish
                                                  to modify the BIOS for the UCSD system or the boot code, all sources and
                                                  build submit script included:

                                                  ucsd.tgz:
                                                  the bootable pSystem already configured, you want this if you just want to
                                                  run the system.

                                                  ucsd-II-disks.tgz:
                                                  all 8" disk images relevant to the Z80 from www.bitsavers.org.
                                                  This disk images have been used to build the system for Z80SIM. This disk
                                                  images include source disks for the pSystem II.0 for the Z80, I've left
                                                  out the disk images for the LSI-11, because those are not relevant for the
                                                  Z80 version.

                                                  This is 30 years old software, probably written before CP/M and it still
                                                  runs on 21th century UNIX systems, AMAZING!

                                                  Enjoy,
                                                  Udo Munk
                                                  | 823|816|2007-04-02 06:39:16|John B. Matthews MD|Re: Disk Image question|
                                                  On Apr 1, 2007, at 2:42 PM, ti99_forever wrote:
                                                  [...]

                                                  I've been working on the Pascal support in AppleCommander for over a
                                                  year. At first I just wanted a command line tool for cross-platform
                                                  development; more recently, I learned how to get the Eclipse/SWT GUI
                                                  running stand-alone in MacOS. The latest release (1.3.4) was just
                                                  posted on SourceForge:

                                                  http://sourceforge.net/projects/applecommander/

                                                  If anyone is using AppleCommander on Apple UCSD Pascal disk images, I
                                                  be interested in any feedback.

                                                  Thanks,

                                                  John
                                                  --
                                                  John B. Matthews, MD
                                                  jmatthews at wright dot edu
                                                  http://www.wright.edu/~john.matthews/
                                                  | 824|816|2007-04-02 07:41:39|Eric Engler|Re: Disk Image question|
                                                  --- In UCSDPascal@yahoogroups.com, "John B. Matthews MD"

                                                  They claim good support for it. They also support Apple CP/M and
                                                  that's helpful to some Pascal people, also.

                                                  I always wanted to fire up Apple Pascal again but I never got around
                                                  to it. All this talk about source code for the various versions of
                                                  compilers is interesting.

                                                  CiderPress is written in C++, so their might be some code in there
                                                  that could help with other platforms.

                                                  Eric
                                                  | 825|816|2007-04-03 10:46:08|Peter Miller|Re: Disk Image question|
                                                  Attachments :
                                                    On Sat, 2007-03-31 at 17:17 +0000, Ben Yates wrote:
                                                    See http://ucsd-psystem-fs.sourceforge.net/ for a file system and
                                                    utilities for Linux (the tools work for any Unix, the file system work
                                                    for any system with FUSE http://fuse.sourceforge.net/ support).

                                                    I am interested in any disk images which do not work with it.


                                                    Regards
                                                    Peter Miller <millerp@canb.auug.org.au /\/\* http://miller.emu.id.au/pmiller/

                                                    PGP public key ID: 1024D/D0EDB64D
                                                    fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                                    See http://www.keyserver.net or any PGP keyserver for public key.

                                                    "Don't look at me. They're not my flying monkeys." -- Final Cut Pro
                                                    easter egg
                                                    | 826|826|2007-04-04 14:27:20|Peter Miller|ucsd-psystem-fs 1.3|
                                                    Attachments :
                                                      I have just released ucsd-psystem-fs 1.3
                                                      Minor feature enhancements, and a fix for a build problem.

                                                      http://ucsd-psystem-fs.sourceforge.net/



                                                      Regards
                                                      Peter Miller <millerp@canb.auug.org.au /\/\* http://miller.emu.id.au/pmiller/

                                                      PGP public key ID: 1024D/D0EDB64D
                                                      fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                                      See http://www.keyserver.net or any PGP keyserver for public key.

                                                      "Syntax, my lad. It has been restored to the highest place in the
                                                      republic." -- John Steinbeck
                                                      | 827|822|2007-04-25 18:40:57|rtstofer|Re: Fully functional pSystem II.0 available for Z80SIM|
                                                      Thanks for posting this! I just brought up UCSD Pascal under Z80SIM
                                                      and everything works great!

                                                      Next step: build a small PCB with a 33 MHz Z8S180, 128kB RAM, dual
                                                      RS232 ports and dual SD/MMC cards (the Z8S180 has an SPI gadget for
                                                      convenient interfacing).

                                                      I have been wanting to do this project for many years. It's up next...

                                                      The other project: build an S-100 board with an IDE interface and
                                                      connect a couple of CF drives to my Altair 8800.

                                                      Thanks again!

                                                      Richard

                                                      | 828|822|2007-05-16 17:12:08|rtstofer|Re: Fully functional pSystem II.0 available for Z80SIM|
                                                      left
                                                      I have tried to build the compiler from the disk images. I get an
                                                      invalid symbol error in BODYPART.A.TEXT

                                                      IF NOT (SY IN FSYS + SELECTSYS) THEN
                                                      BEGIN ERROR(6); SKIP(FSYS <<<<
                                                      Line 2495, error 400: continuing

                                                      Line 2495, error 59: ...

                                                      Error 400 is 'Illegal character in text' and error 59 is 'Error in
                                                      variable'.

                                                      I looked at the file (used xxd to dump and 'more' to scan) and I don't
                                                      see an error around that location. When I try to edit the file, the
                                                      editor will only present the text down to that point, as though the
                                                      file was abruptly terminated.

                                                      Has anyone else had this problem? Or have I forgotten to RTFM?

                                                      Richard
                                                      | 829|822|2007-05-17 00:50:46|Peter Miller|Re: Fully functional pSystem II.0 available for Z80SIM|
                                                      Attachments :
                                                        On Wed, 2007-05-16 at 15:11 +0000, rtstofer wrote:
                                                        There are quite a few problems in the compiler sources, which is why I
                                                        decided to write a cross compiler as the first step along the route to a
                                                        self hosting system. The II.0 compiler needs a whole lot of debugging.


                                                        It may be that the directory entry describing where the file ends is
                                                        broken, rather than the file data itself.


                                                        Regards
                                                        Peter Miller <millerp@canb.auug.org.au /\/\* http://miller.emu.id.au/pmiller/

                                                        PGP public key ID: 1024D/D0EDB64D
                                                        fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                                        See http://www.keyserver.net or any PGP keyserver for public key.

                                                        "Objects can be classified scientifically into three major categories:
                                                        those that don't work, those that break down and those that get
                                                        lost." -- Russell Baker
                                                        | 830|830|2007-05-23 15:26:22|Peter Miller|II.0 User Manual|
                                                        Attachments :
                                                          Hi Folks,

                                                          Just a quick note to say that with the generous assistance of Laurie
                                                          Boshell and Frank Schickel, the initial proof reading and HTML mark-up
                                                          of the UCSD Pascall II.0 User Manual is complete.

                                                          You can access it from here:
                                                          http://miller.emu.id.au/pmiller/ucsd-psystem-um/


                                                          The manual could still improved, however. If you have the time, it
                                                          would be a wonderful contribution if several of you could do a complete
                                                          read through of the HTML manual looking for
                                                          - OCR errors that the humans and the spell checker missed
                                                          - inconsistent mark-up (headings, italics, fixed pitch vs proportional,
                                                          etc, etc)
                                                          - missed opportunities for HTML links between sections, or misdirected
                                                          links
                                                          - anything else you thinks is wrong.



                                                          Regards
                                                          Peter Miller <millerp@canb.auug.org.au /\/\* http://miller.emu.id.au/pmiller/

                                                          PGP public key ID: 1024D/D0EDB64D
                                                          fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                                          See http://www.keyserver.net or any PGP keyserver for public key.

                                                          "Incorrect documentation is often worse than no
                                                          documentation." -- Bertrand Meyer
                                                          | 831|822|2007-05-28 17:59:22|Laurie Boshell|Re: Fully functional pSystem II.0 available for Z80SIM|
                                                          I've seen this before Richard. In my case it was always an invalid
                                                          character in the text. Sometimes this is a $00 that should have been
                                                          after the line end but is placed there by a bug in SYSTEM.EDITOR.
                                                          (UCSD pads the space after line ends until a 1024 byte page boundary.
                                                          This is done if the next line cannot be placed in the space between
                                                          the end of the line and the page boundary).

                                                          The editor does this to simplify the part of the compiler that gets
                                                          the next character. Incredibly this is lazy code left over from
                                                          version I.3 of the compiler, and never really updated. When the
                                                          compiler hits a $00 it ignores all further characters until the next
                                                          line. IIRC, it is in all versions on all platforms!!

                                                          Try removing some spaces or even adding/removing blank lines
                                                          around the offending source code. This might force the editor to
                                                          format the line correctly so that the compiler does not complain.

                                                          Hope this helps.

                                                          Laurie.
                                                          | 832|832|2007-05-31 04:35:55|al_kossow|partial softech manual sources|
                                                          I just uploaded nine imagedisk images of partial sources for
                                                          two of the softech 1983 manuals.
                                                          | 833|832|2007-05-31 08:26:25|Willi Kusche|Re: partial softech manual sources|
                                                          Hi, y'all!

                                                          | 834|832|2007-05-31 18:08:42|al_kossow|Re: partial softech manual sources|| 837|836|2007-07-21 00:00:28|Willi Kusche|Re: ETH Zurich Technical reports|
                                                          Hi, Hans!

                                                          Thanks to your recommendations, I'm in the process of adding links
                                                          to the files in the group's "Links" section.

                                                          Willi
                                                          | 838|836|2007-07-21 02:01:25|SPammer|Re: ETH Zurich Technical reports|
                                                          Re: [UCSDPascal] Re: ETH Zurich Technical reports Hi,
                                                          I was not able to get the reports. ( I tried two out of the list)
                                                          Has someone successfully downloaded them?





                                                          | 839|836|2007-07-21 02:27:34|Willi Kusche|Re: ETH Zurich Technical reports|
                                                          Hi!

                                                          | 840|836|2007-07-21 03:13:40|SPammer|Re: ETH Zurich Technical reports|
                                                          Re: [UCSDPascal] Re: ETH Zurich Technical reports The Groups link database has worked, thanks, Willi.

                                                          PS:
                                                          Nice screen name I have, do not let you fool by that.
                                                          I do not spam but from time to time I eat spam :-)






                                                          | 841|841|2007-07-26 12:40:40|Aaron Gray|Fw: ETH Zurich technical reports now online|
                                                          This may be of interest. Note the links are incorrect 6.pdf should be
                                                          006.pdf.

                                                          | 842|841|2007-07-27 00:17:55|Willi Kusche|Re: Fw: ETH Zurich technical reports now online|
                                                          Hi!

                                                          | 843|843|2007-07-27 00:26:01|Andy Armstrong|(no subject)|
                                                          Hello, I'm Andy Armstrong :)

                                                          My first programming experience - probably in 1979 or thereabouts -
                                                          was on an Apple ][ running the p-System. I spent hours poring over
                                                          the documentation (silver manuals with red type on the cover I think,
                                                          Springer-Verlag) and learnt enough about systems architecture,
                                                          compilers, assemblers from them to pique a lifelong interest.

                                                          I recall the Waterloo TLA (The Last Assembler). I think my first
                                                          introduction to recursion was the explanation of how it handled
                                                          forward branches (recursively assemble the rest of the program to
                                                          find the branch destination then patch the branch distance)

                                                          Later I briefly used the version of the p-System that was ported to
                                                          the BBC Micro + 6502 2nd processor.

                                                          Naturally I had a wry chuckle when the whole Java thing was taking
                                                          off and everyone was excited about the novelty of virtual machines.
                                                          Apart from UCSD Pascal I'd also used BCPL by then. The BCPL runtime
                                                          executed 'cintcode' on a virtual machine.

                                                          And just now I'm wondering about the feasibility of implementing a p-
                                                          Machine in C and getting the p-System running on a modern machine. I
                                                          downloaded I.5Sources and am just wondering if I can remember enough
                                                          Z80 to reverse engineer the p-Machine instruction set from the Z80
                                                          implementation.

                                                          --
                                                          Andy Armstrong, hexten.net
                                                          | 844|843|2007-07-27 01:15:42|Richard Stearn|Re: |
                                                          Andy Armstrong wrote:

                                                          Andy

                                                          This file:
                                                          ucsd_pme-0.1.0.tgz
                                                          in the group file area is I.5 to run under Linux.

                                                          http://f1.grp.yahoofs.com/v1/cCepRp5ITbGHcJbOyt9BnOuVcD5RwCTvxDd-y6yC1ggfGHZmuNHocQbudlYSxbSIazBJVflHmSYQZLlJLOIrfhhQpjSu8OXmTkZz0xA/ucsd_pme-0.1.0.tgz

                                                          --
                                                          Regards
                                                          Richard
                                                          | 845|843|2007-07-27 01:23:29|Andy Armstrong|Re: |
                                                          On 27 Jul 2007, at 00:14, Richard Stearn wrote:
                                                          Aha. That's lovely, thanks. Brings back memories. I can confirm it
                                                          builds and runs fine on an Intel Mac too.


                                                          --
                                                          Andy Armstrong, hexten.net
                                                          | 846|843|2007-07-27 15:54:04|davidbartoviasat|Re: |
                                                          --- In UCSDPascal@yahoogroups.com, Richard Stearn me-0.1.0.tgz
                                                          The link doesn't seem to be working for me.

                                                          David
                                                          | 847|843|2007-07-27 18:22:48|Richard Stearn|Re: |
                                                          davidbartoviasat did scribe:
                                                          David

                                                          Apologies, I had not realised that the link was valid only for the
                                                          session.

                                                          You will need to login to the group and the file is on the files page,
                                                          4th from the bottom.

                                                          --
                                                          Regards
                                                          Richard
                                                          | 848|848|2007-08-02 17:00:40|John B. Matthews|Re: |
                                                          On Aug 2, 2007, at 10:40 AM, John Matthews wrote:

                                                          What a delightful program! Has anyone ported it to big endian?

                                                          I just had to run CHASE from volume 1 of the usus library, but the
                                                          included pseudo-random number generator had run-time problems. I came
                                                          up with this lcg having period 29767:

                                                          var a, b, m, seed : Integer;

                                                          procedure InitRnd;
                                                          begin
                                                          a := 9973; { optimally: b relatively prime to m }
                                                          b := 13; { a-1 divisble by prime factors of m }
                                                          m := maxint; { if m mod 4 = 0 then (a-1) mod 4 = 0 }
                                                          seed := m-1; { m end;

                                                          procedure next(var seed : Integer);
                                                          begin
                                                          {$R-}seed := (a * seed + b) mod m;{$R+}
                                                          end;

                                                          function rnd(lo, hi : Integer) : Integer;
                                                          begin
                                                          next(seed);
                                                          rnd := lo + abs(seed) mod (hi - lo + 1);
                                                          end;

                                                          Enjoy,

                                                          John
                                                          | 849|849|2007-08-05 08:48:56|Willi Kusche|Apple Pascal, aka UCSD Pascal, booting off a CF card in a Mac emula|
                                                          Hi, y'all!

                                                          I've been playing with the Mac "IIe" emulator running on a 520c
                                                          laptop equipped with a PCMCIA adaptor that accepts a CompactFlash
                                                          adaptor. The Mac O/S will recognize ProDOS partitions on a CF card
                                                          but will not recognize a bootable Apple Pascal partition.

                                                          Let's see if I can describe the steps necessary to boot from a
                                                          Pascal partition. When I boot the 520c with the CF card in place it
                                                          does not recognize the Pascal partition and asks if the user wants to
                                                          format the partition. It turns out that only the first 24 blocks are
                                                          altered. I wrote two programs that save and restore the first 24
                                                          blocks of the partition. So I boot the 520c and tell the Mac O/S to
                                                          format the unrecognized partition as a ProDOS partition. This allows
                                                          the "IIe" emulator to "insert" the freshly formatted partition into an
                                                          emulated drive. Then I run the program that restores those first 24
                                                          blocks overwritten by the Mac O/S format allowing me to boot Pascal
                                                          from the CF Pascal partition.

                                                          Just before quitting the emulator, I save the first 24 blocks of
                                                          the CF Pascal partition and overwrite them with the ProDOS blocks so
                                                          that the Mac O/S will remount the partition when the "IIe" emulator
                                                          turns it loose.

                                                          Hmmm, that seems to make sense. I wonder if it will after I've
                                                          had some sleep...

                                                          Willi
                                                          | 850|850|2007-08-13 02:48:20|Willi Kusche|UCSD Pascal for TI on eBay|
                                                          Hi, y'all!

                                                          It's item number 180146471173. If anyone in this group is bidding
                                                          on it, please let me know so I don't bid against you.

                                                          Willi
                                                          | 851|851|2007-09-06 20:25:46|al_kossow|a few new floppy images|
                                                          I've put imagedisk images of what appear to be CP/M I.5 sources on
                                                          http://bitsavers.org/bits/UCSD_Pascal/cpm
                                                          These came from a recent eBay auction.
                                                          | 852|851|2007-09-07 04:27:38|Peter Miller|Re: a few new floppy images|
                                                          Attachments :
                                                            On Thu, 2007-09-06 at 18:24 +0000, al_kossow wrote:
                                                            do you have information about the file format?
                                                            These don't look like literal disk images.
                                                            The file data is definitely there uncompressed, but with weird offsets.


                                                            Regards
                                                            Peter Miller <millerp@canb.auug.org.au /\/\* http://miller.emu.id.au/pmiller/

                                                            PGP public key ID: 1024D/D0EDB64D
                                                            fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
                                                            See http://www.keyserver.net or any PGP keyserver for public key.

                                                            "A non-virtual function says, you have to do this and you must
                                                            do it this way. A virtual function says you have to do this,
                                                            but you don't have to do it this way. That's their fundamental
                                                            difference." -- Scott Meyers
                                                            | 853|851|2007-09-08 00:07:53|al_kossow|Re: a few new floppy images|
                                                            --- In UCSDPascal@yahoogroups.com, Peter Miller http://www.classiccmp.org/dunfield/img/

                                                            I've also added some Softech 4.0 images which appears to be for CP/M
                                                            under http://bitsavers.org/bits/UCSD_Pascal/softech
                                                            | 854|854|2007-09-10 03:08:20|Willi Kusche|New folder in the group's "Links" section|
                                                            Hi, y'all!

                                                            I've added a couple of links for those of you interested in running
                                                            II.0 via a PC/DOS Z80 emulator. I didn't think this was any kind of
                                                            news but I couldn't find any mention of it when I used the search
                                                            function to scan existing messages.

                                                            Willi
                                                            | 856|856|2007-09-13 01:04:42|al_kossow|Re: I.4 and II.0 documentation scans|
                                                            --- In UCSDPascal@yahoogroups.com, "al_kossow" http://bitsavers.org/pdf/univOfCalSanDiego
                                                            | 857|850|2007-09-13 06:38:02|ti99_forever|Re: UCSD Pascal for TI on eBay|
                                                            Did you win?

                                                            --- Willi Kusche <willi@...
                                                            ____________________________________________________________________________________
                                                            Pinpoint customers who are looking for what you sell.
                                                            http://searchmarketing.yahoo.com/
                                                            | 858|850|2007-09-13 15:42:32|Willi Kusche|Re: UCSD Pascal for TI on eBay|
                                                            Hi!

                                                            | 859|859|2007-09-18 00:05:48|Willi Kusche|Maslin image files uploaded|
                                                            Hi, y'all!

                                                            The URL below my sig has a huge list of disk images that were
                                                            available from Don Maslin. Don passed away a few years ago. As a
                                                            result, the images are no longer available.

                                                            However, I finally remembered that Don sent me some of the images
                                                            on his huge list. Specifically, all those listed under the "UCSD"
                                                            heading. Today, after about a half hour of searching the various
                                                            computers here I found them on the hard drive of my Amiga 3000.
                                                            Getting them uploaded into the group's "Files" section was a bit
                                                            tedious because the floppy on the laptop I use to access the I'net is
                                                            broken.

                                                            The images are all '.TDO' files and are in three '.ZIP' files that
                                                            can be found in the "Maslin images" folder in the "Files" section.

                                                            Willi

                                                            http://www.gaby.de/sysdisk.htm
                                                            | 860|860|2007-10-31 13:18:10|Laurie Boshell|I.5 interp for Delphi/Lazarus|
                                                            My latest project: I'm well into an interp for I.5 in Delphi. It boots
                                                            SYSTEM.PASCAL from a Terak floppy image that John Faust sent me. This
                                                            has taken just 3 weeks of my spare time, so I reckon that I can do it
                                                            real soon now :). Trouble is that I am having problems validating the
                                                            new interp code against the Z80 I.5 interp that it is based on.

                                                            I've previously done this under MSDOS (source code in the files area)
                                                            but I did not implement support for Segment 0, or SYSTEM.PASCAL, i.e.
                                                            the actual UCSD OS.

                                                            I need to run a Z80 emulator in parallel with the Delphi code to
                                                            compare stack states and p-machine registers.

                                                            CAN ANY ONE HELP WITH A Z80 EMULATOR in pascal??? Delphi would be even
                                                            better. I don't have the time to convert one in C to pascal.

                                                            Gee I hope someone can help!!

                                                            Laurie
                                                            | 861|860|2007-10-31 14:16:51|Ruud.Baltissen@abp.nl|Re: I.5 interp for Delphi/Lazarus|

                                                            Hallo Laurie,


                                                            ONE HELP WITH A Z80 EMULATOR in pascal???

                                                            In 1995 I have written a Micro-Professor (
                                                            http://www.heimcomputer.de/comp/microprofessor.html) emulator. Maybe that suits you? I'll send the PAS files in a PM.


                                                            --
                                                                 ___
                                                                / __|__
                                                               / /  |_/     Groetjes, Ruud
                                                               \ \__|_\
                                                                \___|       URL: Ruud.C64.org





                                                            De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij overgebrachte virussen.

                                                            Stichting Pensioenfonds ABP is gevestigd te Heerlen en ingeschreven bij de Kamer van Koophandel Zuid Limburg onder nummer: 41074000


                                                            The information contained in this e-mail is confidential and may be privileged. It may be read, copied and used only by the intended recipient. If you have received it in error, please contact the sender immediately by return e-mail; please delete in this case the e-mail and do not disclose its contents to any person. We don't accept liability for any errors, omissions, delays of receipt or viruses in the contents of this message which arise as a result of e-mail transmission.

                                                            Stichting Pensioenfonds ABP, having its registered office at Heerlen, is registered in the Traderegister of the Chamber of Commerce Zuid Limburg (Maastricht), the Netherlands, registration number: 41074000


                                                            | 862|860|2007-10-31 14:24:29|Laurie Boshell|Re: I.5 interp for Delphi/Lazarus|
                                                            --- In UCSDPascal@yahoogroups.com, That would be great. I would love to see your work, and if you agree,
                                                            re-impliment in Delphi/Lazasus/Kylix.

                                                            Laurie laurie-at-pnc-com-au
                                                            | 863|860|2007-10-31 14:33:06|Ruud.Baltissen@abp.nl|Re: I.5 interp for Delphi/Lazarus|
                                                            Hallo Laurie,


                                                            Feel free whatever you like to do with it.

                                                            I really loved this little machine but didn't have one at that time. In
                                                            1996 I built one out of a scrapped Aster, a Dutch CP/M computer. Three
                                                            years ago I bought one and a year ago was given two :) Just minutes
                                                            before receiving your message I in fact was thinking about what I could
                                                            do to turn one of them into a CP/M machine. Just for fun, I already have
                                                            a portable Bondwell (B-14 ?), a Philips 2000C and, of course, the
                                                            Commodore C128.


                                                            --
                                                            ___
                                                            / __|__
                                                            / / |_/ Groetjes, Ruud
                                                            \ \__