The Turbo Modula-2 manual says that the M-Code used is a variant of the M-Code used by Lilith. If you haven't already got it, you can download ETH Report Nr 40 - The Personal Computer Lilith. Apr 1981. N. Wirth "The Yellow Report" which includes the M-Code instruction set and the source code of a sample M-Code interpreter from my site:
http://www.cfbsoftware.com/modula2
The Z80 M-Code interpreter is located at the bottom of the TPA at Address 100H and is about 4.5K bytes. You could try disassembling that and comparing the result with the source code in the report perhaps?
I assume that most of the compiler itself is running on top of the mcode virtual machine, judging from these filenames: COMPILE.MCD, GENZ80.MCD
I'll see what I can find.
On Monday, November 26, 2018 at 11:51:44 PM UTC+10:30, Josef Moellers wrote:
I assume that most of the compiler itself is running on top of the mcode
virtual machine, judging from these filenames: COMPILE.MCD, GENZ80.MCD
I'll see what I can find.
That is correct. COMPILE is the compiler and GENZ80 is the native code generator. Refer to Page 258 in the manual, 'Modules in Memory Management' for more information. If you don't already have a copy you can download it from:
www.cpcwiki.eu/imgs/6/64/Borland_Turbo_Modula_2.pdf
I'd be interested to hear about any progress that you make.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 468 |
Nodes: | 16 (2 / 14) |
Uptime: | 20:59:46 |
Calls: | 9,440 |
Calls today: | 3 |
Files: | 13,594 |
Messages: | 6,110,094 |