• Please review our updated Terms and Rules here

CPM-ish how to copy to another user area?

The assembly program you have either does not have an origin at 100 (hex), or there are more steps required to build the code. I'm not familiar with the code, so I don't know which is correct.

Having a quick look at the archive, you will find a sub file that lists the steps required to build the code. It also requires the Microsoft l80 linker, and the m80 macro assembler. Please see "focal.sub" for the details. It is also using a program "r", which I am not familiar with.

It does have a "focal.bin" file, which does appear to be the compiled program,though.
 
Last edited:
The program does contain an ORG 0100. See attached.

39 FTCPM EQU -1 ;Use CP/M for I/O

88 IF FTCPM
89 ASEG
90 ORG 0100H ;for cpm
91 STRTFO: JMP FOCAL
92 ENDIF


Somewhere I saw a site where you can get CD's. But I can't remember the site.
Any ideas where archived CP/M CD's of historic value can be ordered?

Thanks
 

Attachments

  • FOCPM.txt
    90.8 KB · Views: 2
the sub file will build the binary for you if you have the compiler and linker installed.
it would be 'SUBMIT FOCAL' and it would run the steps for you in building and linking.
 
Trying FOCPM.SUB results in:

C9>submit FOCAL.SUB


C9$R FOCAL.ASM
R?

C9$R FOCPM.ASM
R?

C9$R FOCPM.MAC
R?

ASM does its thing then:

459 Fatal error(s) <<<===

C9$REN FOCPMA.PRN=FOCPM.PRN
C9$W FOCPMA.PRN
W?

C9$ERA FOCPMA.PRN
C9$L80 FOCPM,FOCPM/N/E

Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft

Data 0100 14DF < 5087>

48475 Bytes Free
[0100 14DF 20]


RunCPM Version 6.0 (CP/M 60K)

C9$ERA FOCPM.REL
C9$M80 =FOCPM/L
?File not found
*

Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft
?FOCPM Not Found

No FOCPM.REL was created. Too many errors above from ASM?

ls shows FOCPM.ASM FOCPM.COM FOCPM.HEX

Is this a lost cause?

Thanks
 
Have you tried just renaming focal.bin to focal.com? This appears to be the compiled executable.
 
The text file you attached appears to be what you need only...

I suspect you are missing R.COM and W.COM (hence the submit errors). I am guessing that W.COM would 'write out' the listing file. No idea what R.COM would do though...

I suspect that the submit file is trying to be too clever, and you may not have all the constituent parts to run it correctly.

If the FOCAL source was designed to be 'generic' (so it could be conditionally assembled for different platforms) then the submit file may be trying to assemble and build all of the different variants - and failing dismally. Just a thought...

Dave
 
Yes, but the question is "what is it actually trying to assemble?"

You appear to have a 'mixture' of ASM and M80 for some reason - unless part of the program is written using ASM as the assembler and the other part using M80 - which ((in my opinion) would be strange.

What happens if you just assemble the source file you posted (using M80) and the Z80 macros?

EDIT: I have just had a quick look through the FOCPM.txt file you posted and it looks to be stand-alone. It purports to be named FOCAL.M80 though. I suspect, therefore, it should assemble with M80 and link with L80 (on the assumption that you have Z80.LIB available).

EDIT: I would suggest naming the file FOCAL.MAC. Ensure you have Z80.LIB in the same directory and assemble/link with the commands:

M80 =FOCAL.MAC
L80 FOCAL,FOCAL/N/E

You (hopefully) should end up with FOCAL.COM (or a load of errors)...

Dave
 
Last edited:
If I assemble it with: ASM FOCOM.CCC it returns:

C9>ASM FOCPM.CCC
CP/M ASSEMBLER - VER 2.0
L MACLIB Z80.LIB

Then listing...........

0F69
01BH USE FACTOR
END OF ASSEMBLY

C9>L80 FOCPM,FOCPM/E/N

Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft

Data 0100 117A < 4218>

49344 Bytes Free
[0100 117A 17]

C9>FOCPM
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

C9>
 
At least the assembly errors have gone!

Now we need to work out why we are getting a load of question marks outputted...

Dave
 
The "L MACLIB Z80" line tells you that ASM can't handle a very important directive in the source file. "MACLIB" is only recognized by MAC and RMAC, not ASM. You also need the file Z80.LIB, which is a set of macros to implement Z80 instructions. Without all that, you have little hope of getting a COM file that will run. Of course, it must be run on a Z80-compatible CPU.
 
I am using RunCPM on Linux. See attachments.

The 1979 CP_M OS PDF explains it and installation. The readme.txt are notes. cpm22-m.pdf is the DRI manual.

This project might be of interest to others......

I Have working applications MBASIC, Cobol-80, Fortran-80, Turbo PASCAL and lots more. All of these are available
via downloadable ZIP files from the documented site then unzip into the appropriate folder ~/cpm/RunCPM/Bin .
Then create folders Example: F then subfolders (user) 0, 1, 2, etc.

One note: CAPS on. Some apps. like only uppercase. Whereas Linux IS case sensitive.

If there is interest in Focal, manuals can be found at:

Ken
 

Attachments

  • cpm22-m.pdf
    528.1 KB · Views: 1
  • readme.txt
    21.3 KB · Views: 1
  • 1979 CP_M OS_Dmitrii Eliuseev Medium.pdf
    2.3 MB · Views: 2
That worked!! Where would I find that and other programs in 'C' or ASM or already compiled??

I also found version 1.8 and 1.9. These versions seems to be for ZCPR3
The 1.8 zip contains an ".LBR" file, which is sort of like a tar file for CP/M, and most of the files inside (mostly the source code!) were compressed with "crunch". That was quite a rabbit hole to understand the LBR format and to find something to extract the crunched files. I was able to get everything out and put them into a normal zip file. I also made a quick disassembly of 1.7 and 1.9. Version 1.9 specifically uses some Z80 instructions, but 1.7 and 1.8 apparently do not. I think the plain ppip.com doesn't need ZCPR3.
 

Attachments

  • ppip18.zip
    54 KB · Views: 3
  • ppip19.asm.zip
    5.9 KB · Views: 2
  • ppip17.asm.zip
    4.7 KB · Views: 2
Thsnks Bruce I'll check them out. So which one would you prefer for RunCPM?

Thanks. Oh nice LOGO INS8080AD...
 
Back
Top