You are not logged in.
Lost Password?


Register To Post



 Bottom   Previous Topic   Next Topic

#1
Homemade hardware and homebrews..
Posted on: 2006/6/13 23:30
Newbie
Joined 2006/4/16
Great Britain
7 Posts
Long Time User (13 Years)
Hi all,

I have recently joined the ranks of the VB collectors and am looking to begin homebrew development. I have written and published other console games and am really looking forward to getting my hands dirty with the unique system we all love so much.

Clearly the first hurdle is putting together a development system. I have recently made a FlashCart which is capable of holding the binaries of the commerical ROMs. I have tested it with Jack Bros and a few others all work fine, this however is not my goal. I want to be able to upload my own (initially) novice level homebrew "hello world" programs. Before commiting to this I have tried to load some of the exitstng homebrew ROMs.
Thus far I have tried:

Pong,
Reality Boy Demo,
EXAMPLE, (form the VB compiler)
Virtual E-cursor Demo

none of these work (varying sizes from 8K to 512K)

Not all of these work with Reality Boy either. :(
(what am I missing?)

Is there any security checksum or byte boundary I need to observe before these ROMs will work successfully on genuine VB hardware?

Any tips from those of you with working Flash Carts?
Can anyone get Pong to work and what are the steps?

(To summarise I am using a homemade flashcart (1MB) in a real VB that works fine with commerical ROMS uploaded to it, (I own the originals) but does not work with homebrew ROMS)

Cheers

P.S. I'm VERY serious about developing for this machine so anyone who is able to help will most likely be assisting me on my way to releasing a new homebew VB game in 2007.
Top

#2
Re: Homemade hardware and homebrews..
Posted on: 2006/6/14 0:10
Administrator
Joined 2000/1/8
Germany
2524 Posts
Highscore Top10Highscore Top ScoreCoder#1 PosterHOTY09 1stLong Time User (15 Years) App Coder90+ Game Ratings
you should try some other, newer homebrew stuff. virtual pong, reality boy demo and virtual-e cursor demo are all very old which is probably the reason they don't work on hardware. one that works for sure is blox (1.1). maybe try that one?
Top

#3
Re: Homemade hardware and homebrews..
Posted on: 2006/6/14 1:35
Newbie
Joined 2006/4/16
Great Britain
7 Posts
Long Time User (13 Years)
Thanks for the suggestion.
Hmm, Blox 1.1 does indeed work beautifully. (Nice work Christian!)
but what is going on with the others? I notice there are game "headers" at the end of the ROMs and I have also read that they must be in 256,512,1024K sizes..

(I even tried "embedding" one of the other shorter binaries into the 1MB JB and Blox binaries, preservng the game header info. (since much of the "middle" ROM is blank anyway) but as you would expect with such a longshot failed too. :)

I guess I will need to try to compile a hello word of my own, but if I can't get much else to work I would expect it to fail. I must be missing something..

Any more ideas, anyone?
Top

#4
Re: Homemade hardware and homebrews..
Posted on: 2006/6/14 1:42
Nintendoid!
Joined 2005/10/25
Great Britain
123 Posts
Long Time User (14 Years)
I have no idea about the technical stuff I'm afraid, but I'd like to offer my help on the musical side of things. If you need someone to make music for your game in the future, then please ask :)
It certainly is encouraging to see experienced people like yourself interested in the vb!:)
Top

#5
Re: Homemade hardware and homebrews..
Posted on: 2006/6/14 9:39
Administrator
Joined 2000/1/8
Germany
2524 Posts
Highscore Top10Highscore Top ScoreCoder#1 PosterHOTY09 1stLong Time User (15 Years) App Coder90+ Game Ratings
to get smaller games to work on your cart, you first need to pad them to 1024k, then split even and odd parts like as it seems you already did with correctly with other games. ^_^
to pad the roms you need runnerpack's padromvb.exe which can be found in the bin/ directory of the gccvb package.
Top

#6
Re: Homemade hardware and homebrews..
Posted on: 2006/6/14 16:48
Newbie
Joined 2006/6/14
Germany
2 Posts
Long Time User (13 Years)
hmm splitting up the roms into odd and even parts is not neccesarry on virtualzoas flashcart. i have the same flashcart. it comes with 16bit flash for maximum flexibility so only one adaptor is needed to program them.

padromvb.exe from the gccvb1.0 was the key. now all homebrewns seem to work (only tested the tictactoe so far which didn't work before)

i can't believe it was soo easy.

hope that is enough to motivate virtualzoa to make a game for us ;-)
Top

#7
Re: Homemade hardware and homebrews..
Posted on: 2006/6/15 0:00
Newbie
Joined 2006/4/16
Great Britain
7 Posts
Long Time User (13 Years)
Bingo!

As macallan confirmed padromvb.exe sorted it out nicely!
I can now run the Reality Boy demo on a real VB and more significantly the "example.c" also compiles successfully with gcc to give me a working VB ROM :)

Many thanks to KR155E and those of you who took the time to think about this.

I am unable to sucessfully compile hello3.c as it has several errors
"undefined reference - OBJ_YSET" (for example)

Strangely OBJ_YSET is not defined in any of the the include headers..?
So how would I know if it is in the library?

It's late for me and I have only just stolen 15 mins to test the great tip you gave me, hopefully I will be able to solve the compiling in a day or two with a fresh brain. (Of course if anyone wants to let me know what dozy error I have made in my compiler flags etc.. to save me the time then I'm all ears..)

[Excited to be able to run example.c, but aiming much higher]

Cheers


P.S. Ta for the sound offer, it'll take me a while to be ready, but I'll know who to call. ;)
Top

#8
Re: Homemade hardware and homebrews..
Posted on: 2006/6/15 8:31
VUE(xpert)
Joined 2003/7/27
Australia
267 Posts
CoderLong Time User (15 Years) DonatorApp Coder
Welcome to the community VirtualZoa!
Things tend to be slow in the VB community, but if you have IRC you can visit the 'official' channel on EFNet #virtualboy.


OBJ_YSET used to be a function which would allow you to set the Y coordinate of an OBJ (sprite). Similarly there was an OBJ_XSET as well.

haven't looked at the new gccVB, but I'm guessing they were either renamed or replaced, possibly by OBJ_SET(x, y).


...Also, what flash cart are you using? I want to make one, but all of them seem to use 2x 8-bit chips rather than 1 16-bit one.
Top

#9
Re: Homemade hardware and homebrews..
Posted on: 2006/6/17 13:08
Newbie
Joined 2006/4/16
Great Britain
7 Posts
Long Time User (13 Years)
Update..

I managed to compile hello3.c
Its pretty hard to make sense generally of what routines come in useful when as there doesn't seem to be documentation to the gccvb libraries and routines. (Does anyone have any?)

Anyway I changed the functions (which turned out to be macros) to some that do exist, although then there were syntax failures. I was really suprised to see a while (false) loop in the macro. So I simplified them to get them to compile, but clearly I'm doing something wrong since gccvb has been around for a while so there's no way it can be as contradictary as it appears...?? Theories please!! :)

If anyone is interested here's the code I changed..


while (VIP_REGS[XPSTTS] & XPBSYR);
//OBJ_YSET(i, Circle[points[i]*2+1]); // original code
//OBJ_PSET(i, Circle[points[i]*2]); // original code


//OBJ_SET_Y(i,(Circle[points[i]*2+1]) ); // found these macros instead..
//OBJ_SET_P(i, Circle[points[i]*2]); // (but they still fail to compile)
//in object.h macros map to:
//#define OBJ_SET_X(n,x) do { OAM[ (n) << 2] = (x) } while (0)
//#define OBJ_SET_P(n,p) do { OAM[((n) << 2) + 1] = (OAM[((n) << 2) + 1] & 0xC000) | (p) } while (0)

// simplified macros do compile:
OAM[ (i) << 2] = (Circle[points[i]*2+1]);
OAM[ ((i) << 2)+2] = ((Circle[points[i]*2])*10)+100; // added Y movement since parallax is hard to notice.
OAM[((i) << 2) + 1] = (OAM[((i) << 2) + 1] & 0xC000) | (Circle[points[i]*2]);
}


Cheers Alex

P.S. Regarding the flash cart, I said "I made it" to simplify the previous post. I have a wizard friend who actually makes stuff. This was a prototype, but is currently a little awkward to use. He is working on another more convenient version. I guess the dev community (rather than collectors) is a little small at the moment, possibly as it is hard to gain VB programming context. I guess it's up to him whether he feels it is worth producing more. My opinion would be if a couple more homebrews appear (i.e. we prove VB dev is achievable for the average joe like me) then there is a better case for flashcart production, otherwise they'll just end up being used to infringe Nintendo's copyrighted games.. and I doubt any hardware supplier would want to incur the wrath of the big N!
Top

#10
Re: Homemade hardware and homebrews..
Posted on: 2006/6/18 17:31
Nintendoid!
Joined 2004/10/25
USA
100 Posts
CoderLong Time User (15 Years) App Coder
Sadly the state of hombrew development on the VB is in it's infancy. Any code older thain about 3 years is junk, ignore it! That is to say there was no consistency between the librays and compilers used, so they wont compile and probably don't make much sence.

Now that we have vbgcc and some sort of semi stable library things are better, but far from great. VBGCC is a poor implementation of C, with way to many restrictions to be practical. I have a new version of vbgcc (gccvb, all the same) on my website but you have to build it yourself and it totaly breaks (the broken) exiting librarys. So far I have not had time to come up with better librarys. Maby that is something you could work on since you are obviously no sloutch to programming.

Take a look at the very latest Affine mode demo on my page, it compiles with the new vbgcc on my website and in general should be a good example of how to code for the vb. (but a very simple example)

David

http://www.goliathindustries.com/vb/
Top

 Top   Previous Topic   Next Topic


Register To Post