Page 1 of 1

PALASM4 under Linux

Posted: 22 January 2020, 21:09 - Wed
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...

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
<Important>
---------------------------------------------------
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
---------------------------------------------------
</Important>

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 31432 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 edit
AUTOEXEC.BAT edit
2. Edit CONFIG.SYS file, change FILES and BUFFERS variable:

Code: Select all

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

Now you may run dosemu again. Then run PALASM by type 'palasm' :-)
PALASM start page
PALASM start page
palasm.png (19.19 KiB) Viewed 31431 times
PALASM menu
PALASM menu
palasm4.png (16.32 KiB) Viewed 31431 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:
PALASM compilation options
PALASM compilation options
palasmoptions.png (17.84 KiB) Viewed 31430 times
Now compilation will finish with success:
PALASM compilation result
PALASM compilation result
compile.png (19.74 KiB) Viewed 31430 times