PALASM4 under Linux

Tools and hints

Moderator: bbiernat

Post Reply
User avatar
Posts: 64
Joined: 18 September 2013, 23:02 - Wed
Location: SILESIA

PALASM4 under Linux

Post by pancio »

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

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

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
Since Linux Mint 21, dosemu package is not distributed anymore.
Please use PPA method:

Code: Select all

sudo add-apt-repository ppa:dosemu2/ppa

Code: Select all

sudo apt update

Code: Select all

sudo apt install dosemu2

DOSEMU install process
DOSEMU install process
now you have fully working DOS envt. You may try to use it by type: 'dosemu' in terminal:
DOSEMU window
DOSEMU window
dosemu.png (21.84 KiB) Viewed 43660 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: ... 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$ 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$ 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
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
2. Edit CONFIG.SYS file, change FILES and BUFFERS variable:

Code: Select all

CONFIG.SYS.png (38.18 KiB) Viewed 43659 times

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

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:
PALASM compilation options
PALASM compilation options
palasmoptions.png (17.84 KiB) Viewed 43658 times
Now compilation will finish with success:
PALASM compilation result
PALASM compilation result
compile.png (19.74 KiB) Viewed 43658 times
Additional resources regarding PALASM
(1.69 MiB) Downloaded 2405 times
Additional resources regarding PALASM
(17.77 MiB) Downloaded 2313 times
Additional resources regarding PALASM
(100.77 KiB) Downloaded 2483 times
Programmable logic devices - v1.6.pdf
Additional resources regarding PALASM
(3.56 MiB) Downloaded 2368 times
Additional resources regarding PALASM
(250.26 KiB) Downloaded 2401 times
PALASM archive
(4.77 MiB) Downloaded 2420 times

Post Reply