6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Mon Jun 17, 2024 6:41 am

All times are UTC




Post new topic Reply to topic  [ 54 posts ]  Go to page Previous  1, 2, 3, 4
Author Message
PostPosted: Mon Dec 13, 2021 2:15 pm 
Offline

Joined: Thu Mar 12, 2020 10:04 pm
Posts: 694
Location: North Tejas
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!


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 15, 2021 4:04 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1935
Location: Sacramento, CA, USA
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. :(

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
PostPosted: Sat May 25, 2024 1:09 am 
Offline

Joined: Thu May 23, 2024 5:34 pm
Posts: 2
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


Top
 Profile  
Reply with quote  
PostPosted: Sat May 25, 2024 6:52 am 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10828
Location: England
(Welcome, Keenid!)


Top
 Profile  
Reply with quote  
PostPosted: Sun May 26, 2024 7:49 pm 
Offline

Joined: Thu Mar 12, 2020 10:04 pm
Posts: 694
Location: North Tejas
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 ***


Top
 Profile  
Reply with quote  
PostPosted: Sun May 26, 2024 8:25 pm 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10828
Location: England
(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)


Top
 Profile  
Reply with quote  
PostPosted: Sun May 26, 2024 11:25 pm 
Offline

Joined: Thu Mar 12, 2020 10:04 pm
Posts: 694
Location: North Tejas
Thanks, Ed, I should have thought of that...

Anyway, here is the listing:


Attachments:
RUN.ZIP [46.31 KiB]
Downloaded 27 times
Top
 Profile  
Reply with quote  
PostPosted: Mon May 27, 2024 10:32 am 
Offline

Joined: Thu May 23, 2024 5:34 pm
Posts: 2
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


Top
 Profile  
Reply with quote  
PostPosted: Mon May 27, 2024 4:32 pm 
Offline

Joined: Thu Mar 12, 2020 10:04 pm
Posts: 694
Location: North Tejas
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.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 54 posts ]  Go to page Previous  1, 2, 3, 4

All times are UTC


Who is online

Users browsing this forum: No registered users and 21 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: