Page 4 of 4

Re: LUCIDATA Pascal for 6502

Posted: Mon Dec 13, 2021 2:15 pm
by BillG
The weekend was spent experimenting further with version 2.2 of the compiler.

Findings:

* Much functionality had been added. Shame there is not a new manual documenting those.
* The version 2.2 run-time system cannot successfully run all version 1.2 binaries. There is no version checking, unfortunately.
* Some of the P-code instructions have small changes - a single bit here or a single bit there. Without further analysis, I cannot speculate the impact.

Summary:

* I am very glad I wrote the disassembler. A binary file comparison between a program compiled with the two versions of the compiler is unintelligible. Disassembled, the two listings can be loaded into an editor and visually compared in useful context.
* The disassembler currently does not understand the new version 2 instructions. If you are using version 2 of the compiler, you cannot run the version 1 binary from the repository; you must recompile it.
* The version 2 environment uses a bit more stack space than version 1. Attempting to compile the disassembler errors out in version 2 with an unhelpful message. By increasing the default $1000 byte stack allocation to $1800, the compile succeeds. Boo inflation!

Re: LUCIDATA Pascal for 6502

Posted: Wed Dec 15, 2021 4:04 pm
by barrym95838
BillG wrote:
Attempting to compile the disassembler errors out in version 2 with an unhelpful message. By increasing the default $1000 byte stack allocation to $1800, the compile succeeds. Boo inflation!
Yep, that's how it starts. If this wicked trend keeps going, pretty soon 64KB isn't gonna be enough for anyone. :(

Re: LUCIDATA Pascal for 6502

Posted: Sat May 25, 2024 1:09 am
by Keenid2
Bill:

I stumbled across your work when I was getting LUCIDATA PASCAL running on a FLEX emulator (SWTPCemu.exe), and I am very impressed by what you have been able to accomplish.

I am focused more on the 6800 implementation, a couple of questions:

1. What emulator did you use? Reason I ask is when I try to run the PASCAL compiler in SimH (with the --swtpc option, it can't seem to write the .SCR files. SWTPCemu.exe worked correctly.
2. Do you have a complete disassembly of the runtime system for LUCIDATA PASCAL version 1?

Regards,

Keenid

Re: LUCIDATA Pascal for 6502

Posted: Sat May 25, 2024 6:52 am
by BigEd
(Welcome, Keenid!)

Re: LUCIDATA Pascal for 6502

Posted: Sun May 26, 2024 7:49 pm
by BillG
Keenid2 wrote:
Bill:

I stumbled across your work when I was getting LUCIDATA PASCAL running on a FLEX emulator (SWTPCemu.exe), and I am very impressed by what you have been able to accomplish.
Thank you.
Keenid2 wrote:
I am focused more on the 6800 implementation, a couple of questions:

1. What emulator did you use? Reason I ask is when I try to run the PASCAL compiler in SimH (with the --swtpc option, it can't seem to write the .SCR files. SWTPCemu.exe worked correctly.
2. Do you have a complete disassembly of the runtime system for LUCIDATA PASCAL version 1?

Regards,

Keenid
1. I use my own emulator.

2. I did not disassemble the code for "paged mode" to run programs in limited memory. There are a couple of P-codes which are apparently for use by the compiler. I do not understand those yet.

I put a copy of my document for what I know so far on GitHub: https://github.com/BillGee1/P-6502

Attached is the latest listing of my disassembly. *** Well, I cannot seem to be able to attach the file ***

Re: LUCIDATA Pascal for 6502

Posted: Sun May 26, 2024 8:25 pm
by BigEd
(you can probably attach a zip of a text file, or rename the file to .zip and tell people that it's not a zip, but that's a bit of a workaround)

Re: LUCIDATA Pascal for 6502

Posted: Sun May 26, 2024 11:25 pm
by BillG
Thanks, Ed, I should have thought of that...

Anyway, here is the listing:

Re: LUCIDATA Pascal for 6502

Posted: Mon May 27, 2024 10:32 am
by Keenid2
Bill:

Well, this is going to take a while to understand, thank you for sharing your work.

I had mentioned emulators, Michael Evenson maintains the FLEX User Group WEB and FTP sites authored by Ian P. Blythe and their library holds the following versions of LUCIDATA PASCAL as part of their FLEX software library:

P-6800 PASCAL SYSTEM VERSION 1.2 RELEASED MAY 79
P-6800 PASCAL SYSTEM VERSION 2.2 RELEASED 31
P-6800 PASCAL SYSTEM VERSION 2.2 RELEASED 31 JAN 80 UPDATE 20 JUL 80 2.2:3
P-6800 RUN TIME SYSTEM COPYRIGHT C 1980 LUCIDATA UPDATED FOR 3.X:1 MAR 81

Thumbing through the disk catalogs with the tools available, it appears that Real numbers were introduced in version 2.2 and beyond.

I recall that you said the later versions of PASCAL changed the P-Codes significantly.

Thanks again for your work -

Keenid

Re: LUCIDATA Pascal for 6502

Posted: Mon May 27, 2024 4:32 pm
by BillG
I got the compilers from the FLEX User Group site and started with version 1 because there were fewer trees to analyze.

I have not looked at the newer versions much. I do know that the version 2 run-time will not successfully run binaries compiled with version 1.

There are references of versions for CP/M and Zenith/HeathKit DOS, but no binaries or manuals have surfaced so far.