Looking for complete reference to SCUMM instruction set

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
kaveirious
Got a warning
Posts: 27
Joined: Fri Jul 27, 2007 12:49 am

Looking for complete reference to SCUMM instruction set

Post by kaveirious »

Hi SCUMMers 8)

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.
User avatar
PsYcO
Got 2 warnings
Posts: 511
Joined: Sun Dec 24, 2006 9:27 pm
Location: UK, Enfield
Contact:

Post by PsYcO »

as far as i know there isn't a complete set...

if all you plan to do is translate into java, that is perfectly fine

though many have tried and failed iirc
kaveirious
Got a warning
Posts: 27
Joined: Fri Jul 27, 2007 12:49 am

Post by kaveirious »

well ...

what i was thinking is having a "SCUMM processor" with the proper microarchitecture... Or at least a SCUMM-subset processor.

Do you mean that translation of scummvm sources to Java is OK (of course:) but legality of the SCUMM processor is questionable?
User avatar
PsYcO
Got 2 warnings
Posts: 511
Joined: Sun Dec 24, 2006 9:27 pm
Location: UK, Enfield
Contact:

Post by PsYcO »

like to buy? this is a open source project, so i guess not... but im not sure
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

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.
kaveirious
Got a warning
Posts: 27
Joined: Fri Jul 27, 2007 12:49 am

Post by kaveirious »

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
User avatar
PsYcO
Got 2 warnings
Posts: 511
Joined: Sun Dec 24, 2006 9:27 pm
Location: UK, Enfield
Contact:

Post by PsYcO »

a dedicated OS for scummvm?

i cant see that appealing to the masses
clem
Posts: 2159
Joined: Mon Oct 31, 2005 11:14 am

Post by clem »

PsYcO wrote:a dedicated OS for scummvm?

i cant see that appealing to the masses
since when is that an issue for open source programmers? :)
kaveirious
Got a warning
Posts: 27
Joined: Fri Jul 27, 2007 12:49 am

Post by kaveirious »

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
User avatar
PsYcO
Got 2 warnings
Posts: 511
Joined: Sun Dec 24, 2006 9:27 pm
Location: UK, Enfield
Contact:

Post by PsYcO »

i still dont get it, like a phisical object? like a motherboard or graphics card?
kaveirious
Got a warning
Posts: 27
Joined: Fri Jul 27, 2007 12:49 am

Post by kaveirious »

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).
User avatar
PsYcO
Got 2 warnings
Posts: 511
Joined: Sun Dec 24, 2006 9:27 pm
Location: UK, Enfield
Contact:

Post by PsYcO »

kaveirious 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).
you didn't have to mention that, it went way over my head

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:)
User avatar
sev
ScummVM Lead
Posts: 2308
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Re: Looking for complete reference to SCUMM instruction set

Post by sev »

kaveirious 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.
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 :)

Besides, why SCUMM? ScummVM has a dozen of different engines now, with completely different architectures. You may decide to evaluate first.


Eugene
kaveirious
Got a warning
Posts: 27
Joined: Fri Jul 27, 2007 12:49 am

Post by kaveirious »

PsYcO wrote: unless i suppose if you wanted to make an actuall scummvm console, that would be cool:)
This is what i really have in mind. A homebrew FPGA-board-based console (interfaced externally by standard PS/2 keyboard) :)
kaveirious
Got a warning
Posts: 27
Joined: Fri Jul 27, 2007 12:49 am

Re: Looking for complete reference to SCUMM instruction set

Post by kaveirious »

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 :)
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:Besides, why SCUMM? ScummVM has a dozen of different engines now, with completely different architectures. You may decide to evaluate first.
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.



Eugene[/quote]
Post Reply