I actually implemented that, but it sometimes produced incorrect results. I decided to release it without this feature anyway because it’s already been more than a year since the first version.
I’m finally releasing version 1.1. This is the version RunnerPack and I used for Deathchase, and some (all?) of the graphics can’t be converted with version 1.
Changes:
– Now also supports 32-bit BMPs.
– You can convert BMPs to charsets “one to one” without generating BGMaps (useful for fonts).
– The number of new unique characters for each BGMap generated is reported, along with a total at the end of the conversion.
– If an exact color match isn’t found, the closest one is used (thanks to RunnerPack).
– The BGMap buffer is now cleared before converting each BMP (reported by thunderstruck).
– The program now checks for the 2048-character limit before adding a new character.
– Updated the LoadEfficientCharset and LoadEfficientBGMap functions in the readme with those from Deathchase.
Attachments:
This is not an anomaly. Planet Virtual Boy, being a Virtual Boy site, has finally switched to affine mode. What you all should be asking is when it is going to be stereoscopic.
Did you install it into C:\VBDE? Many paths are hardcoded to that.
I wouldn’t recommend using VIDE for graphics because it is inefficient/inflexible (characters must be in groups of 512, BGMaps must be 64×64) and awkward (can only export to header files). I suggest taking a look at my program VBIMGC:
http://www.planetvb.com/modules/tech/?sec=tools&pid=vbimgc
For an example of how to use it, you can look at the Deathchase source code.
thunderstruck wrote:
🙂 I always watch your videos. They have a good mix of humor and information and are technically very advanced.
Agreed.
I don’t think I’m going to watch this one though because I think Wario Land is hugely overrated. And I’ve played through it once and didn’t get all the treasures, so it would spoil it for me.
Now, “Let’s play Red Alarm”, that would be a different story. 🙂
First off, has anyone made a Pokemon game for the VBoy, or started one?
No.
Has anyone attempted to make a VBoy link cable?
Yes.
http://www.planetvb.com/modules/workshop/?02
http://www.planetvb.com/modules/newbb/viewtopic.php?post_id=13350#forumpost13350 (read the whole thread)
akumie wrote:
c:\Users\Alex\desktop\spel\nintendo\virtualboy
You forgot to put the CD command before that.
c:\rominjector.exe\GMEMU.vb\paperboy.gb
c:\rominjector.exe\exe.vb\paperboy.gb
That won’t work, you’re telling the computer to execute the file c:\rominjector.exe\GMEMU.vb\paperboy.gb and c:\rominjector.exe\exe.vb\paperboy.gb.
c:\rominjector.exe GMEMU.vb paperboy.gb
c:\rominjector.exe exe.vb paperboy.gb
That should work if rominjector.exe is in C:\.
I don’t want to be rude, but a thread about this very topic was literally at the top on the front page before you posted this:
http://www.planetvb.com/modules/newbb/viewtopic.php?post_id=27542#forumpost27542
Maybe this will help.
http://www.planetvb.com/modules/newbb/viewtopic.php?topic_id=5055&post_id=22905#forumpost22905
On topic:
This is a very cool demo. I just hope it won’t get abandoned like Hunter and Ballface.
Interesting. I was considering writing a Game Boy emulator too, but convinced myself it wasn’t worth it because the games wouldn’t take advantage of stereoscopy. Good thing I didn’t start then because it would have been wasted work.
VirtualChris wrote:
Since I’m using the Soviet sound engine thingy, I was just wondering if there was a way to force music to NOT use channel 0 so I can save that exclusively for speech (or will that even solve the problem of the music stopping to play the speech?)
There’s no need to reserve channel 0. You can’t play music and speech at the same time, because DogP’s wavplay function doesn’t allow it.
If you want to play speech in the background (possibly in stereo and/or in higher quality), wait until I fix my PCM player to work on hardware…
RunnerPack wrote:
Ahem…
OK, fine. My old version quits with no warning if you press F1 with vb.xscale and vb.yscale set to 1.0, but the latest doesn’t anymore, and it finally has the key combination documented in the documentation.
But I still find it absurd that there existed at least one version where such a basic feature wasn’t documented properly.
And don’t get me started on the debugger that makes no attempt to fit itself in the window. Want to debug/reverse engineer games while using crosseye mode? Have fun looking at them with vb.yscale set to 3.0 so the debugger will fit without having to use an unusably small font.
Oh, and it always writes the configuration file with LF-terminated lines. It’s not like anyone would ever try to edit it with Windows Notepad, right?
-
This reply was modified 12 years, 4 months ago by
HorvatM.
You know, that’s a good question. It took me ages too to switch from Reality Boy to Mednafen as my default emulator because of this.
But:
http://www.planetvb.com/modules/newbb/viewtopic.php?post_id=11067#forumpost11067
It’s actually Alt+Shift+1.
Now, where is that documented? I don’t know, my mednafen.html file doesn’t mention it, although my version is quite old – wow, it’s from 2011.
This is really cool. Good job.
Optimization tips:
– LD instructions are faster if you do many of them in a row. Change g3d_copyVector3d and g3d_cameraTranslate to take advantage of this. (You will need to use more registers, but hopefully they will be taken from those that the calling convention does not require to be preserved.)
– Instead of ADDI, use ADD with an immediate source where possible (ADD imm5, reg instead of ADDI imm16, reg, reg). This is 2 bytes shorter and might be faster when the cache isn’t being used.
I don’t think you should give up before even starting. The VB may have only 64K of WRAM but that didn’t stop T&E from making Red Alarm, a game with huge and detailed 3D levels, which, by the way, uses 24K of that RAM just for the replay buffer.
On PCs and disk-based consoles, you have to load data from disk to memory before you can use it. On cartridge-based consoles, the CPU can access ROM data as if it were RAM, so this means you really only need the WRAM for the game state.
And 20 MHz is probably faster than you think. It isn’t quite fast enough for texture-mapped 3D graphics but probably fast enough for pretty much anything else. So I don’t think you’ll have to throw away your scripting language, although writing the interpreter (or parts of it) in assembly is not a bad idea if you really need it to be that fast.
Maybe if you gave us some examples of games you would like to port, we would be able to suggest optimizations. You will certainly need to cut down on graphic quality etc. but I think nobody has used the VB yet to its full potential.
The V810 manual only gives best case (cache hit) instruction timings, which probably only apply very rarely in practice. The V810 used in the VB is also slightly modified and Nintendo did not document how it differs from the standard one, other than that it implements some extra instructions (whose timings are also undocumented, except for MPYHW). The VIP timings are entirely undocumented too.
The VIP is the Virtual Image Processor. Despite the VB being a “3D” system, it’s really only good for drawing 2D graphics with parallax. The closest it can do to 3D is affine mode, which is used by, for example, Bound High and Mario Kart VB. To draw actual polygons, you have to write the code yourself, which means that the CPU has to do all the work, while if you use the VIP, the CPU is free to do other things while the VIP is processing graphics.
Insmouse No Yakata uses the left D-pad to move and the right one to aim.
Advanced Pasta Cooking Simulator uses them in a similar way. 🙂
Soviet Union 2011 uses the right D-pad to switch weapons.
SirGuntz wrote:
There needs to be a first person shooter, maybe Wolfenstein 3D. The two D-Pads would work great for moving and aiming. Somebody has to make one!
You might be interested in my alternative control scheme for Faceball:
http://www.planetvb.com/modules/newbb/viewtopic.php?post_id=23552#forumpost23552
http://www.planetvb.com/modules/newbb/viewtopic.php?post_id=24187#forumpost24187
I find even hard not hard enough.
But after entering the extra difficulty code, even easy becomes impossible.
I usually play as Yoshi. He’s the fastest and it’s hard to miss the ball with him.
And I agree, the depth isn’t noticeable on this game, even though it’s obviously there if you use an emulator with anaglyph mode.