Oric4ever / Reversing-Turbo-Modula2

5 stars 0 forks source link

GENZ80 decompilation #1

Open AndreClot opened 3 years ago

AndreClot commented 3 years ago

Have you managed a decompilation of GENZ80.MCD? This would be a great step to understanding how to get native code for not just Z80 but for other systems too and make the uses for TurboM2 reloaded even better now that it is has been liberated from its CPM roots. I have always marvelled at TurboM2 even though Wirth apparently didn’t like it. Fantastic project (and a lot of appreciated hardwork!). Even today with ARM and Thumb etc it is difficult to beat the code density of some of the early systems. In some ways the first steps to dynamic (i.e. open arrays) and interpreted/compiled (as in BASIC and in some ways Lua) makes me think that even a simple sensible JIT solution for capable micro controllers like the Pi Pico could be built from these simple but effective roots. The pico reminds me of Steve Garcia’s SB100 board with the HD64180 chip (z80 compatible, 256Kb RAM) ... just in the 21st century, which also ran a TurboM2! Hope others are as impressed with this project as I am.

Oric4ever commented 3 years ago

Hello there, I haven't had a look at GENZ80 yet, and the decompilation of the remaining modules of the compiler (PASS1, EXPRESS, STATEMEN) is harder than GENCODE and SCANNER and COMPILER, due to several record types with variables parts (all the type information was lost during compilation)... For now, this decompilation work is still a work in progress, the compiler is working perfectly so I'm currently developing a code generator for the Oberon compiler, targeting the Turbo Modula-2 MCode... Do you have any written info on Wirth's appreciation of Turbo M2 ? I'm very interested in better tracing TM2's history...

AndreClot commented 3 years ago

Hi,

Many thanks for the update. I will see if I can find where I read about the history of TB M2. I think the idea of Oberon in mcode would be an interesting and challenging evolution.

Best wishes Andre

On Sun, 18 Jul 2021, 11:34 Oric4ever, @.***> wrote:

Hello there, I haven't had a look at GENZ80 yet, and the decompilation of the remaining modules of the compiler (PASS1, EXPRESS, STATEMEN) is harder than GENCODE and SCANNER and COMPILER, due to several record types with variables parts (all the type information was lost during compilation)... For now, this decompilation work is still a work in progress, the compiler is working perfectly so I'm currently developing a code generator for the Oberon compiler, targeting the Turbo Modula-2 MCode... Do you have any written info on Wirth's appreciation of Turbo M2 ? I'm very interested in better tracing TM2's history...

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Oric4ever/Reversing-Turbo-Modula2/issues/1#issuecomment-882035304, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATQWF3VEHRLGSW7XRG2BIP3TYKU5FANCNFSM5AK5HK5Q .

AndreClot commented 3 years ago

https://news.ycombinator.com/item?id=16704733

Hi,

This link has primarily what I have read but I am not sure if the bit about Wirth and TB M2 is in the associated links

Best wishes Andre.