Welcome, Guest. Please login or register.


Author Topic: Mapping and disassembling C64's Maniac Mansion (Read 2263 times)

Online gflorez

  • EP addict
  • *
  • Posts: 3124
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: Mapping and disassembling C64's Maniac Mansion
« Reply #15 on: 2021.February.01. 11:10:38 »
You have put red my face...

I started the task with a lot of strength... but it always happens that other things more interesting surface....

It seems that you have been more constant than me....

The problem with my approach was that I needed to learn 6502 assembler at the same time.... and I only have little Z80 knowledge.

Maybe it will be better to support your more advanced work. Thanks for sharing it.

Offline geco

  • EP addict
  • *
  • Posts: 6041
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
Re: Mapping and disassembling C64's Maniac Mansion
« Reply #16 on: 2021.February.01. 12:14:21 »
I started also, and created a z80 code from 6502, but it is full with errors :D :D I got also the data from D64 , now i see there is an extractor :D :D
as i checked the SCUMMVM , we should implement the SCRIPT V0 for MM, am i right?

Online gflorez

  • EP addict
  • *
  • Posts: 3124
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: Mapping and disassembling C64's Maniac Mansion
« Reply #17 on: 2021.February.01. 12:44:40 »
Hello Geco. How can I execute the disk image? The program has a .COM tag, but it hangs on ISDOS and can't run it
on EXDOS.

Offline geco

  • EP addict
  • *
  • Posts: 6041
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
Re: Mapping and disassembling C64's Maniac Mansion
« Reply #18 on: 2021.February.01. 12:46:23 »
Hello Geco. How can I execute the disk image? The program has a .COM tag, but it hangs on ISDOS and can't run it
on EXDOS.
It worked me without problem under EXDOS, did you try it on a stock EP128? If yes, this could be the problem, i tried it on a 640K RAM EP.

Online gflorez

  • EP addict
  • *
  • Posts: 3124
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: Mapping and disassembling C64's Maniac Mansion
« Reply #19 on: 2021.February.01. 12:53:33 »
Ah ok, yes... I was attempting it on a 128KB config...

Yes, this is the very first SCUMM game, so I think it is version 0.




EDIT: It is more like that the file doesn't load on an stock EXDOS Rom.

Wonderful work!
« Last Edit: 2021.February.01. 14:48:28 by gflorez »

Offline dp304

  • User
  • *
  • Posts: 50
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
Re: Mapping and disassembling C64's Maniac Mansion
« Reply #20 on: 2021.February.01. 14:54:17 »
Sorry Gflorez, I certainly didn't want to ruin your efforts or anything :oops:

Despite having owned (and loved!) an Enterprise, I haven't had very detailed knowledge about its internals or Z80 machine code / assembly; much less so about C64 (which I have never owned).
On the other hand, I had much better understanding of C/C++ as well as a lot of time in 2020 - so this is the result.

Geco: yes, MM uses SCUMM V0. But V1 (which is for C64 Zak McKracken) does not appear to add very many new features: these two versions are often handled together by ScummVM.
However, the new features of V1 might be a bit harder to reimplement for the Enterprise (iirc there is a "change palette" SCUMM-opcode, which is only easy as long as one of the lower 8 Enterprise colours are to be changed).

About the hanging: What are the symptoms?
My "development environment" was an ep128emu configured with 128K RAM, EXOS2.1 on segment 00h, ASMON1.5 on 04h, BASIC2.1 on 06h, EPFILEIO on 0x10 and EXDOS1.3 on 0x20
(A config similar to the final state of my real Enterprise.)
It also works for me (for now) with only 64k RAM, and/or with only EXOS2.1, BASIC2.1 and EXDOS1.0.
Did you issue the ":DEF_DEV_DISK" command before running? The problem may be that it tries to load the data files from "FILE:", and can't find them.

Online gflorez

  • EP addict
  • *
  • Posts: 3124
  • Country: es
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 84.0 Firefox 84.0
    • View Profile
Re: Mapping and disassembling C64's Maniac Mansion
« Reply #21 on: 2021.February.01. 15:17:02 »
Yes, you are right... Sometimes I seem new on Enterprise....

Offline dp304

  • User
  • *
  • Posts: 50
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 78.0 Firefox 78.0
    • View Profile
Re: Mapping and disassembling C64's Maniac Mansion
« Reply #22 on: 2021.February.03. 21:56:47 »
I've made it available on GitHub: enterscumm, everyone is free to join!
Current contents of the repo:
  • The source of the viewer, a bit messy
  • Even messier, far from complete and possibly inaccurate, but probably the most important part: my notes about the format of the data disks
  • Some BASIC programs for experimenting with palettes&biases with main focus of gray scale and skin tone
  • A Python script with functions for quick experimentation. When executed, it will extract .LFLs from the .D64 disk images.