I figured out a bunch of stuff:
1. ZBG "works" and I was able to get the sample checkerboard app to run.
I ran into memory issues, though. For example, when I edited the source
and saved it out of TEXT. All was well with the world, but when I tried
'ASM SAMPLE.DO SAMPLE /WE' from within ZBG.CO from MENU, it didn't work.
However, the same command worked fine when I "RUN ZBG.BA" from BASIC.
Weird, I figure it's my lack of understanding of how memory and files
work on the M100.
2. CP/M works from RexCPM, which is great, cuz CP/M recognizes more memory:
64K CP/M 2.2 M100 CP/M + REXCPM 2MB 1.0
3. I worked out (through much pain and suffering) how to create my
SAMPLE.ASM file using ED and compiled it successfully using 'ASM SAMPLE'
4. I ran it using 'LOAD SAMPLE' then 'SAMPLE'
Of course, it cratered - hung there and wouldn't respond.
I figure, I will work through it eventually, but I have questions. But,
before that, here's the sample code, in case it's obvious where I went
wrong (it's using ROM functions, are those available from CP/M?):
ORG 0CC00H
HOME: CALL 422DH
SCREEN: MVI A,0FFH
CALL 4B44H
ROW: LDA 0F639H
CPI 8H
JNZ SCREEN
COL: LDA 0F63AH
CPI 28H
JNZ SCREEN
WAIT: CALL 12CBH
EXIT: CALL 5797H
END HOME
I also tried it with ORG 100H (like Sgt. Schultz, I know nothing...
about CP/M's memory model).
My questions are as follows:
Bare M100:
1. After copying ZBG.CO and ZBG.BA over and creating my SAMPLE.DO file
(the only other file on the machine is TEENY.CO), I have 768 bytes left
(it's a 32K RAM M100). Does that sound right or am I supposed to delete
the CO files after they're loaded or run some funky clear command, or what?
2. ZBG is expecting to be loaded from cassette with CLOAD, is there a
fake-the-cassette command that will use DataLink or something?
With REXCPM:
3. In CP/M, how to I transfer files to / from my host system (is there a
TEENY for CP/M)?
4. In CP/M, how do I get back to MENU?
5. When I start CP/M, is it just running CP/M against the M100's memory
or am I in some special whizbang virtual environment where I have
additional disks available somehow?
Wow! So many questions, so little time :).
Thanks,
Will