> > The part that has me stumped is a submit file to create the cpm3 serializer utility: ser30gen.sub (listed below)
>
> > pli rootcopy
> > pli seri-dum
> > pli seri-002
> > link ser30=rootcopy,plibios3,plidio[a](seri-dum[L57C0])
> > link rootcopy[a,$$oz],plibios3,plidio(seri-002[$$oa,l57c0])
>
> > It assembles until the last line then errors on the $$ expression.
> > Does anyone know what the $$oz or $$oa represent?
>
> > Larry
>
> Hello Larry,
>
> According to the CP/M 2.2 manual in the file cpm22-m.pdf, on page 1-39
> it is the following:
> To introduce dollar signs into a SUBMIT file, you can type
> a $$ which reduces to a single $ within the command file.
> An up arrow, ^|, precedes an alphabetic character s, which
> produces a single CTRL-X character within the file.
> Thus the line
> link rootcopy[a,$$oz],plibios3,plidio(seri-002[$$oa,l57c0])
> should be passed to the linker as
> link rootcopy[a,$oz],plibios3,plidio(seri-002[$oa,l57c0])
> to set the linker options which start with a $ character.
> Jeffrey W. Shook
Thanks - changing $$ to $ now gives me this output:
C:\makecpm3>cpm pli rootcopy
PL/I-80 V1.3 COMPILATION OF: ROOTCOPY
NO ERROR(S) IN PASS 1
NO ERROR(S) IN PASS 2
CODE SIZE = 1335
DATA AREA = 0740
FREE SYMS = 32C7
END COMPILATION
C:\makecpm3>cpm pli seri-dum
PL/I-80 V1.3 COMPILATION OF: SERI-DUM
NO ERROR(S) IN PASS 1
NO ERROR(S) IN PASS 2
CODE SIZE = 0001
DATA AREA = 2800
FREE SYMS = 563C
END COMPILATION
C:\makecpm3>cpm pli seri-002
PL/I-80 V1.3 COMPILATION OF: SERI-002
NO ERROR(S) IN PASS 1
NO ERROR(S) IN PASS 2
CODE SIZE = 0680
DATA AREA = 043E
FREE SYMS = 4C5F
END COMPILATION
C:\makecpm3>cpm
link.com ser30=rootcopy,plibios3,plidio[a](seri-dum[L57C0])
LINK 1.31
PLILIB RQST PROD_R 0100 /SRCE_D/ 43EB /DEST_D/ 43EC
/DEBUG_/ 43ED /SEC_PE/ 43EE /COPY_I/ 43F0 /SERI_I/ 43F1
/ORG_NU/ 43F2 /SER_NU/ 43F4 /PRODUC/ 43F6 /SECTOR/ 441D
CURDSK 15F7 RESET 15A0 SELECT 15A5 DBUFF 1521
SELDSK 1469 SECTRN 1475 GETDPB 1624 ALLVEC 1604
ALLWDS 16DA SETTRK 1440 BSTDMA 1489 SETSEC 144C
RDSEC 1458 WRSEC 145D MAXWDS 1690 MEMPTR 14FC
MEMSIZ 1500 MEMWDS 150E DFCB0 1519 DFCB1 151D
REBOOT 1525 RDCON 1528 WRCON 152D RDRDR 1532
WRPUN 153D WRLST 1542 CONINP 154A CONOUT 155C
RDSTAT 1568 GETIO 1574 SETIO 1579 WRSTR 1581
RDBUF 1589 BREAK 1591 VERS 159B OPEN 15AD
CLOSE 15B5 SEAR 15BD SEARN 15C5 DELETE 15CA
RDSEQ 15D2 WRSEQ 15DA MAKE 15E2 RENAME 15EA
LOGVEC 15F2 SETDMA 15FC WPDISK 1609 ROVEC 1611
FILATT 1619 GETUSR 162C SETUSR 1636 RDRAN 1641
WRRAN 164C FILSIZ 1657 SETREC 1662 RESDRV 166D
WRRANZ 1678 SGSCB 1683 TOTWDS 168B STKSIZ 16E6
/SYSIN/ 448C /SYSPRI/ 44B1
UNDEFINED SYMBOLS:
DUMMY BFLUSH
ABSOLUTE 0000
CODE SIZE 42DC (0100-43DB)
DATA SIZE 0ACA (44FF-4FC8)
COMMON SIZE 0123 (43DC-44FE)
USE FACTOR 46
LINKING SERI-DUM.OVL
PLILIB RQST SERIAL 57C0
ABSOLUTE 0000
CODE SIZE 0001 (57C0-57C0)
DATA SIZE 2800 (57C1-7FC0)
COMMON SIZE 0000
USE FACTOR 10
MODULE TOP 8000
C:\makecpm3>cpm
link.com rootcopy[a,$oz],plibios3,plidio(seri-002[$oa,l57c0])
LINK 1.31
PLILIB RQST PROD_R 0100 /SRCE_D/ 43EB /DEST_D/ 43EC
/DEBUG_/ 43ED /SEC_PE/ 43EE /COPY_I/ 43F0 /SERI_I/ 43F1
/ORG_NU/ 43F2 /SER_NU/ 43F4 /PRODUC/ 43F6 /SECTOR/ 441D
CURDSK 15F7 RESET 15A0 SELECT 15A5 DBUFF 1521
SELDSK 1469 SECTRN 1475 GETDPB 1624 ALLVEC 1604
ALLWDS 16DA SETTRK 1440 BSTDMA 1489 SETSEC 144C
RDSEC 1458 WRSEC 145D MAXWDS 1690 MEMPTR 14FC
MEMSIZ 1500 MEMWDS 150E DFCB0 1519 DFCB1 151D
REBOOT 1525 RDCON 1528 WRCON 152D RDRDR 1532
WRPUN 153D WRLST 1542 CONINP 154A CONOUT 155C
RDSTAT 1568 GETIO 1574 SETIO 1579 WRSTR 1581
RDBUF 1589 BREAK 1591 VERS 159B OPEN 15AD
CLOSE 15B5 SEAR 15BD SEARN 15C5 DELETE 15CA
RDSEQ 15D2 WRSEQ 15DA MAKE 15E2 RENAME 15EA
LOGVEC 15F2 SETDMA 15FC WPDISK 1609 ROVEC 1611
FILATT 1619 GETUSR 162C SETUSR 1636 RDRAN 1641
WRRAN 164C FILSIZ 1657 SETREC 1662 RESDRV 166D
WRRANZ 1678 SGSCB 1683 TOTWDS 168B STKSIZ 16E6
/SYSIN/ 448C /SYSPRI/ 44B1
UNDEFINED SYMBOLS:
DUMMY BFLUSH
ABSOLUTE 0000
CODE SIZE 42DC (0100-43DB)
DATA SIZE 0ACA (44FF-4FC8)
COMMON SIZE 0123 (43DC-44FE)
USE FACTOR 46
LINKING SERI-002.OVL
COMMON ERROR
** end of listing **
(I'm running this as a DOS batch with cpm or zxcc at beginning of each line.)
using Mr. Takeda's cpm player gives me the 'COMMON ERROR' message.
using the zxcc emulator gives me 'NO SPACE'.
I think I'm dealing with an out of memory condition?
What is the COMMON memory allocation?
Any thoughts?
Larry