PALASM4 under Linux

Tools and hints

Moderator: bbiernat

Post Reply
User avatar
Posts: 43
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
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 3145 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 3144 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 3144 times
palasm4.png (16.32 KiB) Viewed 3144 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 3143 times
Now compilation will finish with success:
PALASM compilation result
PALASM compilation result
compile.png (19.74 KiB) Viewed 3143 times
Additional resources regarding PALASM
(1.69 MiB) Downloaded 90 times
Additional resources regarding PALASM
(17.77 MiB) Downloaded 83 times
Additional resources regarding PALASM
(100.77 KiB) Downloaded 101 times
Programmable logic devices - v1.6.pdf
Additional resources regarding PALASM
(3.56 MiB) Downloaded 96 times
Additional resources regarding PALASM
(250.26 KiB) Downloaded 90 times
PALASM archive
(4.77 MiB) Downloaded 91 times

Post Reply