gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

OffTopic > XY-MINI Specification Draft - needs comments of it, please!

#153111 - zzo38computer - Tue Mar 25, 2008 3:23 am

I wrote this specification and I need comments on it please! Also a question if you have one.

Microsoft Word format (probably can be opened in OpenOffice as well, but I haven't tested it): http://zzo38computer.cjb.net/xym/XY_Mini_Spec.doc

HTML format: http://zzo38computer.cjb.net/xym/XY_Mini_Spec.html
_________________
Important: Please send messages about FWNITRO to the public forum, not privately to me.

#153114 - tepples - Tue Mar 25, 2008 4:02 am

Point of scope: Do you plan on implementing this in an FPGA of some sort? If not, what's the purpose of defining a platform that will only run in emulation? Do you intend this as an exercise for yourself, or will you try to get it widely used as a development target the way Java and .NET are?

For "command set", couldn't you just use, say, 65C802 bytecode? That way you won't need to write a new assembler; you can just use ca65 like the people at nesdev.com do.

Quote:
Lis opus corrum the latium is whatum we usually putum in thisum placeum.

You could just use the real thing by Cicero ;-)
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#153117 - Dwedit - Tue Mar 25, 2008 4:55 am

"Fake Pushes" and "Fake Pops" would be disastrous if there were interrupts.
But I don't see any interrupts or ways to do time delays in there.
There's tilemaps, but no scrolling.

I can't think of any practical use for this virtual machine. Might as well write games for an actual existing console, then use an emulator for that console.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#153156 - zzo38computer - Tue Mar 25, 2008 8:13 pm

tepples wrote:
Point of scope: Do you plan on implementing this in an FPGA of some sort? If not, what's the purpose of defining a platform that will only run in emulation? Do you intend this as an exercise for yourself, or will you try to get it widely used as a development target the way Java and .NET are?

No, it is not designed to be implemented in hardware, but if someone wants to, you can do that (but please wait for the final specification). It is something like the way Java and .NET are used, but is much simpler than Java and .NET. Not all of the specifications has to be implemented either, some parts are optional. It can work on Nintendo DS, GBA, computer, other system, and maybe even on a DVD player if the manufacturer includes that feature (even though it isn't that likely).

In addition to that, this is also a part of a larger project, a comercial (but still free/open-source) project, this is one of the three ways planned to run programs on that system (the other 2 are as a Linux executable file, and as a program written in BASIC and interpreted).

tepples wrote:
For "command set", couldn't you just use, say, 65C802 bytecode? That way you won't need to write a new assembler; you can just use ca65 like the people at nesdev.com do.

I have a generalized assembler that can easily be programmed to work with this system. This isn't designed to be implemented in real hardware, so it includes some commands that would work good for a virtual machine but not very good with real hardware.

tepples wrote:
Quote:
Lis opus corrum the latium is whatum we usually putum in thisum placeum.

You could just use the real thing by Cicero ;-)

I know that, but I didn't type the specification, I just invented it, told him about how it worked so he could type it, I got his suggestions on the virtual machine as well (so it is slightly modified from the original idea), and look to see if it was correct. I don't know how to type a specification very well.

Dwedit wrote:
"Fake Pushes" and "Fake Pops" would be disastrous if there were interrupts.
But I don't see any interrupts or ways to do time delays in there.
There's tilemaps, but no scrolling.

Register FFF0-FFF1 is a timing register, you can also use the FRAME command to do time delay. I was going to originally have interrupts, but he said it doesn't need interrupts because it is a virtual machine. If you think scrolling is needed, you tell me suggestion how should I add scroll register and stuff like that?

Dwedit wrote:
I can't think of any practical use for this virtual machine. Might as well write games for an actual existing console, then use an emulator for that console.

This is much simpler than real game systems. If this is used it would be emulated more accurately than existing console emulators. The other this is, this one is designed to work with any display size and hardware capability.


In addition to these things, I also need help with licensing, as well as comments on nearly every other part, in case something is unclear and you don't understand, or if there are typing mistakes, etc.
_________________
Important: Please send messages about FWNITRO to the public forum, not privately to me.

#153174 - tepples - Wed Mar 26, 2008 12:15 am

It sort of reminds me of CHIP-8. But my point was that unless you can get some major-label content in this format, DVD players and the like will just continue to include subpar NES emulators.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.