Looking for complete reference to SCUMM instruction set
Moderator: ScummVM Team
-
- Got a warning
- Posts: 27
- Joined: Fri Jul 27, 2007 12:49 am
Looking for complete reference to SCUMM instruction set
Hi SCUMMers
i would like to get the complete specs of the SCUMM "instruction set". Does anybody have them (e.g. from rev. engineering).
I'm aware of a partial reference (somewhere in the old SCUMMvm materials) but i'm looking for the complete thing (with opcodes, explanations and so forth).
Not to say that: i'm giving serious thoughts of implementing a SCUMMvm engine in hardware (for start it could be minimal for start, no sound etc)! Since that many system/processor ports are out there, the hardware-based interpreter is a natural afterthought.
The same thing gains acceptance for other interpreted architectures as well. See for example http://www.jopdesign.com for a JVM in hardware.
waiting for your thoughts
PS: Also, want to know about the legalese. I would only attempt this if it is legal.
i would like to get the complete specs of the SCUMM "instruction set". Does anybody have them (e.g. from rev. engineering).
I'm aware of a partial reference (somewhere in the old SCUMMvm materials) but i'm looking for the complete thing (with opcodes, explanations and so forth).
Not to say that: i'm giving serious thoughts of implementing a SCUMMvm engine in hardware (for start it could be minimal for start, no sound etc)! Since that many system/processor ports are out there, the hardware-based interpreter is a natural afterthought.
The same thing gains acceptance for other interpreted architectures as well. See for example http://www.jopdesign.com for a JVM in hardware.
waiting for your thoughts
PS: Also, want to know about the legalese. I would only attempt this if it is legal.
-
- Got a warning
- Posts: 27
- Joined: Fri Jul 27, 2007 12:49 am
kaveirious: for technical reference on the SCUMM engine, you might want to have a look at the relevant page in the wiki:
http://wiki.scummvm.org/index.php/SCUMM ... _Reference
I'm not sure about the legality. Normally, there is no issue when GPLed code is used in other GPLed projects, but this case is quite different. The whole concept sounds interesting, but I fail to understand its usefulness. Note that I don't say I don't like or support your idea, it's just that I don't understand the benefits from such a hardware implementation.
http://wiki.scummvm.org/index.php/SCUMM ... _Reference
I'm not sure about the legality. Normally, there is no issue when GPLed code is used in other GPLed projects, but this case is quite different. The whole concept sounds interesting, but I fail to understand its usefulness. Note that I don't say I don't like or support your idea, it's just that I don't understand the benefits from such a hardware implementation.
-
- Got a warning
- Posts: 27
- Joined: Fri Jul 27, 2007 12:49 am
Thank you for the SCUMM reference!
The main usage of a SCUMM hardware implementation would be in context of embedded (probably with portability requirements) devices. The SCUMM "bytecode" of a given program would be available e.g. in flash, and there would be basic bootloader (or complete OS as well) facilities for setting up and initiating the hardware interpreter for the SCUMM game.
Overall, it would allow running the SCUMMvm on resource-constrained embedded systems (what i have in mind is a n FPGA-based implementation, on a development board).
kind regards
kaveirious
The main usage of a SCUMM hardware implementation would be in context of embedded (probably with portability requirements) devices. The SCUMM "bytecode" of a given program would be available e.g. in flash, and there would be basic bootloader (or complete OS as well) facilities for setting up and initiating the hardware interpreter for the SCUMM game.
Overall, it would allow running the SCUMMvm on resource-constrained embedded systems (what i have in mind is a n FPGA-based implementation, on a development board).
kind regards
kaveirious
-
- Got a warning
- Posts: 27
- Joined: Fri Jul 27, 2007 12:49 am
I feel i was a little misunderstood.
my intention is to explore the possibility of designing a virtual machine in hardware for the SCUMM. Then opcodes would be meaningful like JOP's JVM hardware opcodes. I would use dedicated storage (in block RAM form of FPGAs) for sprites, costumes, maps, etc.
That is SCUMMvm-in-hardware.
This would not require an OS; only a bootloader would be required as for any typical embedded system.
Kind regards
kaveirious
my intention is to explore the possibility of designing a virtual machine in hardware for the SCUMM. Then opcodes would be meaningful like JOP's JVM hardware opcodes. I would use dedicated storage (in block RAM form of FPGAs) for sprites, costumes, maps, etc.
That is SCUMMvm-in-hardware.
This would not require an OS; only a bootloader would be required as for any typical embedded system.
Kind regards
kaveirious
-
- Got a warning
- Posts: 27
- Joined: Fri Jul 27, 2007 12:49 am
Like a processor with a customized/specialized instruction set.
The closest think that i can think of is the hardware JVM named JOP (http://www.jopdesign.com). It "sees" JVM bytecodes like object code (.text section, .data section .bss etc).
The closest think that i can think of is the hardware JVM named JOP (http://www.jopdesign.com). It "sees" JVM bytecodes like object code (.text section, .data section .bss etc).
you didn't have to mention that, it went way over my headkaveirious wrote:The closest think that i can think of is the hardware JVM named JOP (http://www.jopdesign.com). It "sees" JVM bytecodes like object code (.text section, .data section .bss etc).
but i cant see a large market for scummvm processors, seems a little expensive to me... when you can play it fine on most medium
unless i suppose if you wanted to make an actuall scummvm console, that would be cool:)
Re: Looking for complete reference to SCUMM instruction set
The main problem is that we do not have SCUMM (Script Creation Utility for Maniac Mansion), but SPUTM (SCUMM Presentation Utility [TM]). In other words, there are no means to create any SCUMM scripts in ScummVM. I suppose you will have difficulties with debugging thenkaveirious wrote:Not to say that: i'm giving serious thoughts of implementing a SCUMMvm engine in hardware (for start it could be minimal for start, no sound etc)! Since that many system/processor ports are out there, the hardware-based interpreter is a natural afterthought.
Besides, why SCUMM? ScummVM has a dozen of different engines now, with completely different architectures. You may decide to evaluate first.
Eugene
-
- Got a warning
- Posts: 27
- Joined: Fri Jul 27, 2007 12:49 am
-
- Got a warning
- Posts: 27
- Joined: Fri Jul 27, 2007 12:49 am
Re: Looking for complete reference to SCUMM instruction set
Ooops. So there is no SCUMM-dev package or anything like that. Still i believe that for any given virtual machine, there could be a proper (even low-level) software development toolchain (compiler-to-bytecode, interpretation and debugging tools).sev wrote:The main problem is that we do not have SCUMM (Script Creation Utility for Maniac Mansion), but SPUTM (SCUMM Presentation Utility [TM]). In other words, there are no means to create any SCUMM scripts in ScummVM. I suppose you will have difficulties with debugging then
I think you are right. Maybe it could be easier to target one of the other SCUMMvm architectures (in case it is simpler and/or better documented). I'll give it some thought.sev wrote:Besides, why SCUMM? ScummVM has a dozen of different engines now, with completely different architectures. You may decide to evaluate first.
Eugene[/quote]