We're using cookies to ensure you get the best experience on our website. More info
Understood
1,430 Replies made

Starting with the output of http://www.excite.co.jp/world/english/ and working on the untranslated words using http://jisho.org/ I ended up with:

We are the G force (Gundam Corps?) defense master inform sent as for new style Mobile Suit minding skill mission. The Mokutesachi colony of Ninmusaishiyo

I think the words themselves are pretty close, but I couldn’t really make a coherent sentence from them…

Also, someone familiar with the Gundam universe could probably make more sense of the proper nouns.

mednafen supports side-by-side mode (use “vb.3dmode sidebyside” in the config file).

While there have been a couple of devices made to translate the VB’s graphics signals into NTSC, PAL, and VGA, they’re not really “turn-key” solutions. However, a netbook running mednafen would get the job done easily and fairly inexpensively, though it may be a bit bulky.

morintari wrote:
Guys Thanks for all of your help. I went to the Spriters Resource and found the answers to my questions. But seeing all of the sprites ripped from other games leads me to a greater question. In the far future not now too busy with life and the game that I’m commited to now. But in the future is it possible to use those sprites and give credit(while I was there I read the terms and conditions) to create our own V.B. Zelda, CastleVania,Metroid and other games. I mean the sprites are just there for the taking and I’ve found sites that have the Music to these wonderful games. I know a little about tilesets and pixel edited graphics and I’m sure on all of PVB somebody works with music. Is it possible to remake the classics(We could write our own stories and add our own graphics and music) on Virtual Boy!

Well, the game companies (Nintendo, et al.) haven’t gone after the sprite websites, or the people who do the actual “ripping,” but I’m sure you’d get a “Cease and Desist” letter if you tried to distribute an actual game that used their copyrighted sprites, characters, music, or “game situations.” On the other hand, the Virtual Boy fan-base seems to be far enough under Nintendo’s RADAR that such a thing would probably go completely unnoticed… I guess the only way to find out is to do it 😀

A wiki is an editable set of webpages; e.g. Wikipedia. Ours is all about VB development, and it’s located here: http://www.planetvb.com/modules/dokuwiki/

However, you will not find what you seek there, since that type of graphic manipulation is far beyond the VB’s capabilities. The VB is pretty much restricted to moving groups of 4-shade (2-bit) grey-scale pixels around. The most advanced thing it can do is the affine transform, which can be used for scaling, rotating, and skewing four-sided “chunks” of bitmap.

16bitz wrote:
Ok, i think i was looking at it the wrong way. So is it pin 13 on the first eprom that connects to pin 39 on the edge connector for example?

You’re right: low bits go to low bits. But, they’re not “first” and “second” *PROMs, they’re “odd” and “even” *PROMs. One holds all the bytes at odd addresses, and the other holds the bytes at even addresses.

I (mostly) agree with colesonwilson; it’s not impossible to do what you propose, but it would be both expensive and difficult. Emulation is definitely the answer, in this situation.

Also, your glasses seem to have enough pixels (428 x 240), but they don’t seem to support VGA. The conversion to NTSC or PAL is going to hurt the picture quality a fair bit, even using SVideo (and it seems to only support composite).

VirtualChris wrote:
For a lark, I tried reversing the order of the colors, and it worked. That should be clarified in the Wiki that the order of the colors is backwards. Anyway, I noticed all the BGMaps use the same palette. I looked through the wiki and couldn’t find a way to type in code so that only certain BGMaps should use certain palettes. Is there a way to do this?

I think the wiki was perfectly clear, even giving an example of a palette in both binary and hex, but I rewrote it a bit. Does it make more sense, now?

Also, BGMaps don’t use palettes at all. Each individual cell designates the palette used to render it. If you’re using VIDE to make your maps, DanB’s map editor plugin has easy controls for changing the palette used by a given cell. It can also be done programmatically, if you understand the format of a BGMap cell (wiki) and basic bitwise manipulation in C (“google” it).

morintari wrote:
So once you assign the color pallete can you change it per sprite, or is it only for the whole image. For example can you have a sprite with 2 shades of red and black and a scrolling background with one shade of black and 3 shades of red?

Again, it’s all in the wiki, but here goes…

There are four palettes for bgmaps and four for objects (either one can be used for sprites). Any BGMap cell (consisting of one character) can use any one of the four bgmap palettes. Likewise, any Object can use one of the four object palettes.

As for the background, you can only use all three shades of red and black if it’s the furthest “layer” on the screen. This allows the background color (which can be black or any of the red shades) to show through the transparent pixels (i.e. the pixels with a value of zero). On any other layer, the transparent pixels will allow other layers to show through, obviously.

VirtualChris: you have gotten rid of the darkest red shade for every pixel on the entire screen (as well as darkening the brightest red by a bit). If you just change the palette, it will only affect chars to which that palette is assigned.

Most games use either a 4-frame or 8-frame walk cycle. If you can do CGI animation, just animate a walk cycle, then reduce the frames to either four or eight and see what it looks like. You could also take a look at sprites ripped from existing games. The Spriters Resource has a pretty huge (and constantly growing) collection to pick from.

VirtualChris wrote:
OK, so in order to make low black, I would type in:
VIP_REGS[BRTA]=00;

No, the brightness registers globally control the brightness of the three red shades on the whole screen. GPLT0-GPLT3 are the palettes (which map pixel values to brightness values) assigned to bgmaps. Read the wiki article again, grasshopper (including the links therein).

VirtualChris wrote:
I don’t understand the Wiki!
So what would I type in to make this change?
I suppose

“0x0005_F824=00b”
would be too easy
???

You’re not far off. Look in your libgccvb.h for “VIP_REGS” (no quotes) and then look for “GPLT0” (again, no quotes). Not just where they’re defined, but how they’re used. Then, re-read the wiki article and see if it makes more sense.

VirtualChris wrote:
OK, the next question is: how do I set the palette?

The answer to this, and every VB programming question is…

[size=xx-large]READ THE WIKI!!!!!1111one

😛

That didn’t seem to do the trick… I had to set it manually, just now (but it “stuck” so that I didn’t have to for this post). Deleting my cookies didn’t help, either…

If you look carefully, Wario consists of only two red shades and black.

Any pixel with a value of zero is transparent, while values 1, 2, and 3 are opaque. You can use the palettes to change “colors” 1, 2, and 3 to any one of the three red shades—BRTA, BRTB or BRTC—or black. If you set the palette so that one of the non-zero pixel values is black, you can have opaque black. You could even give up some chars/bgmap space to put the third red shade back, but this is kind of wasteful…

If you want to scroll a bgmap, you can scroll the “box” that gets clipped out (the MX, MY, and MP values of the World) across a bgmap (or a row of them, using the SCX/SCY values; up to 8 bgmaps wide/tall, like I said).

Think of the MX/MY/MP values as the camera position, and the GX/GY/GP values as the position of the TV screen (i.e. usually left at the same spot, just like most TVs).

Also, make sure to synchronize your World attribute changes to the screen refresh (there are threads about that, or look in the wiki; in fact, I think you should take a break from coding and do some in-depth studying on the wiki).

If I operated an ice-cream truck, I would totally blast that over the P.A. speakers 😀 :thumpup:

In fact, here I come now!

But seriously, great job. I haven’t played “Score Attack” enough to compare it to the original, but it sounds great.

  • This reply was modified 14 years, 12 months ago by RunnerPack.

jzagal wrote:
What do you recommend for creating the bgmaps? (I had assumed that VIDE was the way to go…) Any particular recommendations or other tools to use?

thanks!

Well… a few posts up I recommended using gritVB. :rolleyes 😛

dasi wrote:
Vector Racing

Looks a bit like Zero Racers doesn’t it…

Yep, except that you’re still stuck to the track, like every other racing game. Zero Racers is like flying in a tube.

See notes within the code.

#include "include/world.h"
#include "include/mem.h"
#include "charset.h"
#include "charmap.h"
#include "include/joypad.h"
#include "hi.h"
#include "h.h"


int main()
{
    //Copy graphics to memory

    //Stick figure picture (from demo2.c)
    copymem((void*)CharSeg0, (void*)CHARSET, 19*16);
    copymem((void*)BGMap(0), (void*)CHARMAP, 1024*8);

    //Other picture
    copymem((void*)CharSeg1, (void*)HI, 51*16);
    copymem((void*)BGMap(1), (void*)H, 1024*8);

    //This shows stickfigure picture
    vbSetWorld(31, WRLD_ON, 0, 0, 0, 0, 0, 0, 32, 40);

    //How to get it to show Other picture?
    vbSetWorld(30, WRLD_ON|1, 200, 0, 120, 0, 0, 0, 40, 40);

    // Assuming you're copying your data properly above,
    // that should work.

    // The second argument to vbSetWorld is the flags OR'ed with
    // the number of the BGMap segment to use.

    // Since it's not working, you need to make sure you're
    // putting the BGMap and char data in the right spots.

    // I can't really guide you without seeing hi.h and h.h, but
    // it probably has something to do with the chars.
    // if you used VIDE to make the bgmaps, they're all
    // pointing to the beginning of char memory (Alberto took
    // the "segments" idea far too seriously).

    // You'll have to fix your bgmap data somehow, but, again,
    // I can't tell you what needs fixing without seeing it.

    // Note: set the "end" world as close to the used
    // ones as possible, to save time and prevent random
    // garbage on the screen
    vbSetWorld(29, WRLD_END, 0, 0, 0, 0, 0, 0, 0, 0);

    // N.B. vbSetWorld() is deprecated;
    // it's faster to use the WA array of structs.
    // If your header(s) don't contain it, look for
    // the newest headers.

    //Initialize registers
    vbDisplayOn();

    //Set brightness registers
    vbDisplayShow();

    //Main loop (Empty because we're done but don't want to reach the end)
    for (;;);

    // Note: reaching the end of "main" is not a good idea
    // (unless you want a soft reset)
    return 0;
}

FuriousJorge wrote:
Sooo, this project has shown me how atrocious my programming skills are 😛 Could someone give me an example of how to display two images in C? I am able to display and manipulate one loaded image, but I cannot get another one to work! Thanks!

It would be easier if we could see your code and just tell you what to add/change to get more pictures showing up.

You have no reason to be self-conscious about your code. We all have to be beginners at some point. Besides, if anyone bad-mouths your code, I’ll personally go to his/her house and rip the Internet cable out of the wall! 😉