SUBJECT : USING SLR'S Z80ASM AND SLRNK.COM ASSEMBLER/LINKER WITH PBBS FROM : IRV HOFF W6FFC DATE : 7 SEPT 86 Most of the PBBS modules commence with: .Z80 ASEG ORG 0100H Null out or remove all three lines. Rename the module so it has a .Z80 extent (unless your Z80ASM assembler has been installed to expect a .MAC extent.) Then assemble (when ready): B>Z80ASM PBBS/M ; <== /M for a Microsoft-type .REL file when finished assembling (under two minutes even on a modest-speed floppy system), then ready for linking. In this case: B>SLRNK /P:100,PBBS,PBBSUBS,PBBS/N/E will generate a PBBS.COM file from the PBBS.REL file you made and the PBBSUBS.REL utility section of PBBS. This will take around 22 seconds. (When using M80 it took around 6-1/2 minutes to assemble and L80 took around 1:40 to link with the same floppy system.) (The /P:100 tells it to establish a base address of 0100H when linking. You could have kept the ORG 0100H address in the original module, and then used /P:0 instead of /P:100.) Then do the other four sections: PBYE, PBBSMNT, PNOTE1 and PCHAT11 in a similar manner. You can fix the APBBS.SUB submit file in an appropriate manner if you want to automate the whole procedure. (I don't use submit files myself, the EX14 and EX15 files always bomb the system here when they are finished and are supposed to return to the operating system.) - Irv (Note: The PBBS.MAC v3.0 had one line which causes the Z80ASM assembler to barf, it looked like this: ------------------------------------------------------------------------ as originally distributed SCNASK: CALL PRINT CR,'Message number to begin scan (1-',0 | \no 'DB' here, Microsoft's M80 will accept this line ------------------------------------------------------------------------ corrected SCNASK: CALL PRINT DB CR,'Message number to begin scan (1-',0 ; <== 'DB' added | \'DB' has been added, SLR's Z80ASM is now happy (so is M80). ------------------------------------------------------------------------ Without that 'DB' ahead of the ASCII string, the SLR assembler thought you were redefining the value of 'CR' and would put out about 30-40 errors saying subsequent 'CR' values were "out of range".