tremendous progress - I'm impressed.
plasmo wrote:
I'm still confused about DIRMSK. In the original BIOS there are 32 sectors designated for directory, so that's 256 directory entries and value of DIRMSK is %10000000. I want to have 512 directory entries so that's 64 sectors for directory. What should the DIRMSK value be?
If you stick with 32 sectors per block, then DIRMSK would be %11000000, since you need 2 blocks.
plasmo wrote:
The question now is how to get CPM65 files into the CF disk. In CP/M-80 I would load the XMODEM binary in TPA, start CP/M and use CCP's 'Save' command to create XMODEM.COM and then use XMODEM to bring in rest of the files. 'Save' command is not in CPM65's CCP, but I can still load XMODEM binary in TPA, patch the CCP so when CPM65 starts up, it jumps to TPA to execute XMODEM binary. There is a 'cflag' for CPM65's CCP that may be used for this purpose?
My XMODEM.COM does the saving after the transfer. Syntax is XMODEM filename.ext. The transfer in the current version is PC --> 6502 only.
Actually saving a file is so easy, that all my programs nedding this feature have a save code built in. In the case of XMODEM that is:
Code:
JSR XMODEM
BCS STERR
.
.
JSR SETDMA
START3 LDX #WRITE
JSR BDOS
BCS STERR
JSR INCDMA
BCC START3
LDX #CLOSE
JSR BDOS
BCS STERR
LDA #SUCCESS
LDY #SUCCESS/256
JSR STR_OUT
You got me on the CFLAG. It was intended to invoke commands from a command file to automate things. In the end, I never used this and its probably not well designed. What CCP really does well, like the CP/M original, is, if you call a program with filenames as arguments, it will put the first filename in FCB1 and the second filename in FCB2 ready to use for the program.
Your screen output for D.COM looks really good. However ALLOC.ASM seems way too long.
BTW what is TIME.ASM?
Keep going - you are nearly there
Dietrich
_________________
My system: Elektor Junior Computer, GitHub
https://github.com/Dietrich-L