PALASM4 under Linux

Tools and hints

Moderator: bbiernat

pancio
Administrator
Posts: 41
Joined: 18 September 2013, 23:02 - Wed

PALASM4 under Linux

Postby pancio » 22 January 2020, 21:09 - Wed

As said Wikidedia:
PALASM is an early hardware description language, used to translate Boolean functions and state transition tables into a fuse map for use with Programmable Array Logic (PAL) devices introduced by Monolithic Memories, Inc. (MMI). The language was developed by John Birkner in the early 1980s. It is not case-sensitive...

INTRODUCTION
Well... many oldschool computers have on board specialised ICs like PALCE, PAL or GAL which are very good successors for standard logic ICs like 74XXX family. They're integrating many ICs in one structure which is good method to integrate whole logic into one IC.

GALs and rest Programmable Logic Array (PL/PLA or PLD) before flash should have prepared data from compiled source wrote in PALASM... but PALASM was prepared early '80 under MS DOS and now is not so easy use it with modern hardware...

This tutorial is covering:
- how to prepare environment with DOS equivalent under Linux OS,
- how to configure PALASM in order to compile any PDS (source file) and generate destination JED file.
- how to disassemble existing JED file in order to find boolean equations for future use.

This tutorial is NOT covering:
-programming in PALASM (sorry, I'm so lazy :-))

BASE ENVIRONMENT
I'm Linux user. My philosophy Is: "Everything what you may do under Windows you may do under Linux, but much better!"
My favourite distribution is Linux Mint which is my Desktop and development environment. So, with natural choice I will present "how to use PALASM" on LM.

First, install 'dosemu':

Code: Select all

apt install dosemu
dosemuinstall.png
DOSEMU install process
now you have fully working DOS envt. You may try to use it by type: 'dosemu' in terminal:
dosemu.png
DOSEMU window
dosemu.png (21.84 KiB) Viewed 152 times
Hurra! DOS emulator is working... so let's run PALASM software. Type simple 'exitemu' to quit from DOS. Next, you should download PALASM archive and place uncompressed folder it into '~/.dosemu/drive_c'. I downloaded ZIP archive from:

http://www.s100computers.com/My%20Syste ... 20GALs.htm

I attached copy of it to be sure that it will be 'save from oblivion' on the end of this tutorial :-)

Code: Select all

pancio@desktop:~$ cd  ~/.dosemu/
pancio@desktop:~/.dosemu$ 
pancio@desktop:~/.dosemu$ ls -al
total 252
drwxr-xr-x    5 pancio pancio   4096 Jan 20 19:06 .
drwx--x---+ 216 pancio pancio 212992 Jan 22 19:52 ..
-rw-r--r--    1 pancio pancio   4037 Jan 22 20:39 boot.log
-rw-r--r--    1 pancio pancio    406 Jan 20 19:06 disclaimer
drwxr-xr-x    5 pancio pancio   4096 Jan 20 21:02 drive_c
drwxr-xr-x    2 pancio pancio   4096 Jan 20 19:06 drives
drwx------    2 pancio pancio   4096 Jan 22 20:39 run
pancio@desktop:~/.dosemu$
pancio@desktop:~/.dosemu$ cd drive_c
pancio@desktop:~/.dosemu/drive_c$ ls -al
total 4944
drwxr-xr-x 5 pancio pancio    4096 Jan 20 21:02 .
drwxr-xr-x 5 pancio pancio    4096 Jan 20 19:06 ..
-rw-r--r-- 1 pancio pancio     632 Jan 20 19:16 autoexec.bat
drwxr-xr-x 2 pancio pancio    4096 Jan 20 19:08 BACKUP
-rw-r--r-- 1 pancio pancio     348 Jan 20 21:02 config.sys
drwxr-xr-x 9 pancio pancio   12288 Jan 20 19:38 PALASM
drwxr-xr-x 2 pancio pancio    4096 Jan 20 19:06 tmp
pancio@desktop:~/.dosemu/drive_c$ 
Before run PALASM you should do a few more steps:

1. Edit AUTOEXXEC.BAT file and add:

Code: Select all

path z:\bin;z:\gnu;z:\dosemu;c:\palasm;c:\palasm\exe;c:\palasm4\exe;c:\palasm\dat
SET PALASM=C:\PALASM\
autoexec.bat.png
AUTOEXEC.BAT edit
2. Edit CONFIG.SYS file, change FILES and BUFFERS variable:

Code: Select all

files=400
buffers=100
CONFIG.SYS.png
CONFIG.SYS edit
CONFIG.SYS.png (38.18 KiB) Viewed 151 times
Done!

Now you may run dosemu again. Then run PALASM by type 'palasm' :-)
palasm.png
PALASM start page
palasm.png (19.19 KiB) Viewed 151 times
palasm4.png
PALASM menu
palasm4.png (16.32 KiB) Viewed 151 times
That's all! We have working very old software but still desirable for modern projects :-) Have fun!

HINTS
During compilation some source files e.g. Hiaasoft's 512k SRAM extension for Atari XL/XE GAL source file I've got a couple of errors. The reasons was so trivial.. but little tricky: some compilation options was not optimally. Those options should be set as shown:
palasmoptions.png
PALASM compilation options
palasmoptions.png (17.84 KiB) Viewed 150 times
Now compilation will finish with success:
compile.png
PALASM compilation result
compile.png (19.74 KiB) Viewed 150 times
Attachments
design_direct_tutorial.pdf
Additional resources regarding PALASM
(1.69 MiB) Downloaded 11 times
PALASM_2_Software_Jul87.pdf
Additional resources regarding PALASM
(17.77 MiB) Downloaded 9 times
e_palasm.pdf
Additional resources regarding PALASM
(100.77 KiB) Downloaded 12 times
Programmable logic devices - v1.6.pdf
Additional resources regarding PALASM
(3.56 MiB) Downloaded 10 times
PAL_GAL_Tut.pdf
Additional resources regarding PALASM
(250.26 KiB) Downloaded 12 times
PALASM.zip
PALASM archive
(4.77 MiB) Downloaded 12 times

Who is online

Users browsing this forum: No registered users and 0 guests