Page 1 of 1

EMPL / an APL implementation for CPM-80

PostPosted: January 6th, 2015, 6:30 pm
by jibanes
While looking for APL implementations for the Altair, I ran into two of them: apl/z; although sadly only for z80 altairs, which the Clone doesn't have implemented and EMPL:

https://web.archive.org/web/20060719161 ... l/empl.asm

The page above includes .bin, .hex and sourcecode. And works well on the provided 8080 emulator. Although I was unsuccessful getting it to run on either the Altair or simh; and I would appreciate if someone had pointers on how to achieve this (preferably on the Clone):

----------------------------------------------------------------------------------------------------------------------

$ ./altairz80

Altair 8800 (Z80) simulator V3.9-0 build 1625 (scp created Feb 10 2013 at 09:37:41 with gcc 4.2.4)

sim> load empl.bin 0
5808 bytes [23 pages] loaded at 0.
sim> go 0

HALT instruction, PC: 03A5F (HLT)
sim>

----------------------------------------------------------------------------------------------------------------------

It works well with the provided emulator:

$ ./8080 -l empl.bin
EMPL 1.0
CLEAR WS
\5
\5
1 2 3 4 5

Re: EMPL / an APL implementation for CPM-80

PostPosted: January 6th, 2015, 10:03 pm
by AltairClone
This version of EMPL runs under CP/M at 100h and calls CP/M (BDOS) for I/O. It works for me as a CP/M application under SIMH and on the Altair Clone.

Mike

Re: EMPL / an APL implementation for CPM-80

PostPosted: January 10th, 2015, 5:08 pm
by jibanes
How did you convert the .bin to .com, I tried the following with MLOAD, but this didn't work:

B>mload empl.com=empl.bin 100
MLOAD ver. 2.5 Copyright (C) 1983, 1984, 1985
by NightOwl Software, Inc.
Load 0 bytes (0000H) to file B:EMPL.COM
Over a 5888 byte binary file
Start address: 0100H Ending address: 1900H Bias: 0100H
Saved image size: 6144 bytes (1800H, - 48 records)

Re: EMPL / an APL implementation for CPM-80

PostPosted: January 10th, 2015, 7:55 pm
by AltairClone
Use your Altair under CP/M!

1) upload EMPL.ASM to the Altair (PCGET EMPL.ASM)
2) assemble it (ASM EMPL)
3) load it to create EMPL.COM (LOAD EMPL)
4) run it (EMPL)

Mike

Re: EMPL / an APL implementation for CPM-80

PostPosted: January 10th, 2015, 9:26 pm
by jibanes
empl.asm is about 44KB, with 174KB left on A: I wasn't able to assemble it, is this normal?

Re: EMPL / an APL implementation for CPM-80

PostPosted: January 10th, 2015, 10:24 pm
by AltairClone
The listing file is killing you. Assemble with this command instead:

A>ASM EMPL.AAZ

The .AAZ is not a file extension, instead it tells ASM the source file is on drive A, the hex file should go to drive A, and the listing file (the Z) should be suppressed.

Mike

Re: EMPL / an APL implementation for CPM-80

PostPosted: January 10th, 2015, 10:37 pm
by jibanes
It worked, many thanks Mike, this is a great language and running it on the AltairClone is great.


Jerome