************************************************************ * * * APalasm24 * * by * * Bob Metzler * * * ************************************************************ This entry, for The famous Fish disk archive (Thanks Fred),is a program that I have not seen supported on the Amiga. The ability to generate PAL files usable on a PAL programmer or just to learn about PALs in general. What is a PAL? A Programmable Array Logic device used to replace circuitry on a board, perform logic equations in which multiple standard devices (ie 7400 series) would be used. I have worked on this program for a LONG time since the source didn't even work at all. The code had errors in it and produced incorrect results. Also, I removed the IMPLICIT statements since they produced erratic results and somtimes crash the Ami. I then decided after I found some actual BLOCK DATA TABLE errors to check as many devices as I could from Two MMI PAL Handbooks the third and fifth editions. The third edition has the flow chart for both the main code and the simulation code and I used those to further check out the Program by using example PAL files that have fuse maps shown. All The examples included cover all the part types this program will read in. Palasm24 will do only the following 14 PAL devices. 12L10, 14L8, 16L6, 18L4, 20C1, 20L10, 20X10, 20X8, 20X4, 20L8, 20R8, 20R4 The version of this code is 1.00 as I feel its usable for producing .jed files and the other files. The following list of files are included in this release and I hope to release the palasm20 version when I'm done debugging it. Any requests or bugs found I would like to know about it. It's all I ask, I'm trying to maintain this code so if you want to modify it do so and sent me the bug/fix you proposed so that others will benefit. My address is below: Bob Metzler 13515 N.E. 70th St. Redmond, Wa. 98052 Home phone (206)885-9314 These files are included in this release: apalasm24 - executable for those who don't have AC/FORTRAN palasm24.for - the source code for the program readme - this file you are reading now 4mux.pal - 16L6 example PAL 6bitrshift.pal- 20L8 example PAL 9bitreg.pal - 20X10 example PAL adc.pal - 20X4 example PAL barrelroll.pal- 20R8 example PAL d4to1mux.pal - 14L8 example PAL doctmux.pal - 20L2 example PAL encoder.pal - 20R4 example PAL mod_encode.pal- 20R6 example PAL muloctreg.pal - 20X8 example PAL quadmux.pal - 18L4 example PAL sixnand.pal - 12L10 example PAL sixtmux.pal - 20C1 example PAL vidlog.pal - 20L10 example PAL template.pal - a template for use in correct syntax for writing your own .PAL file USAGE: **************************************************************** * SET THE STACK FOR 50000 PRIOR TO RUNNING ! * CODE WILL EXECUTE FASTER OUT OF RAM DISK ! **************************************************************** Execute the following: apalasm24 filename One last thing, I would like to thank Absoft personally for producing a solid product such as AC/Fortran. I own an Amiga 1000 with LUCAS/ FRANCES 4MB combo running at 20MHZ an am able to operate both the compiler and debugger with no problems. For those of you who don't own AC/Fortran its very compatible with 68020/68881 and very fast. Check out these speeds in my system using the 68020/68881: Using 'f77 palasm.for' the following is output: Absoft FORTRAN 77 Compiler Version 2.3 1: Symbol table complete Memory usage: Labels 600 bytes Symbols 4080 bytes Total 52310 bytes Excess 52766 bytes Source 1506 lines 2: Object file complete 3: Program file complete: 34032 bytes Elapsed time: 0:21 = 4302 lines/minute Using 'f77 -deksu palasm.for' the following is output: Absoft FORTRAN 77 Compiler Version 2.3 Symbol table complete Memory usage: Labels 600 bytes Symbols 4080 bytes Total 52310 bytes Excess 52766 bytes Source 1506 lines 2: Object file complete 3: DEBUG symbol file complete 4: Program file complete: 34164 bytes Elapsed time: 0:53 = 1704 lines/minute The only complaint is that the 68020 compiler is not an option switch unless you purchase the 020 package from Absoft. The program is executable however doesn't produce 68020/68881 code.