Angry_Sun wrote:
Why would you want it on the Virtual Console? Noob.
Also, someone would be able to hack the ROM image (not to mention the emulator itself) out of their Wii and (hopefully) share it.
BTW, the name-calling really makes you “1337”…
…not 😛
dasi wrote:
No bug. A trailing comma at the end of an array-initialiser list is A-Okay ANSI C.
Hmm… I’m sure I’ve gotten an error from that before… Maybe it was messed up slightly differently.
That’s kind of weird to allow that, though. Oh, well; you learn something new every day! 😉
dasi also wrote:
You should still use asm arrays though, as they don’t need to be compiled.
Good point.
dasi wrote more:
-mRa isn’t a valid tile reduction option. Typo?
Edit:
I was just browsing the source and noticed you commented out that option. I shall update the docs to reflect this.
Well, thanks for clearing that up, dasi!
-
This reply was modified 17 years, 11 months ago by
RunnerPack.
Bug?
I used this command-line:
grit.exe ground.bmp -o ground.c -fh -ftc -mRa -gu8
and both arrays had a comma after the last element. I didn’t check, but I assume the compiler would throw an error because of this. These seem to be correct options…
So, I added a conditional to line 729 of pathfun.cpp. This fixed the tile array, but the map data still has the offending comma. AFAICT, the same function is outputting both arrays, so I cannot see the problem (of course, I am quite tired… ;-)).
I could just stick to the asm output with a C header (thanks to jorge’s magic makefile ;-)) but I’d still like to find the bug…
Any thoughts?
It could also be considered a simplified version of “The 3-D Battles of World Runner” for the NES. Except without the 3-D, the battles, the world, and the runner 😉
I just had an idea:
1. Only the most basic things like vbDisplayOn, copymem, etc. could be implimented in a library for fast linking.
2. For the reasons that DogP gave–learning from the code, tweaking things, etc.–a separate .c (and .h) could hold another “layer” of utility functions on top of those, like text output, maybe some affine stuff, etc.
3. It would also be nice to have a set of built-in “warning”, “alignment”, and “Built with gccVB” logo screens–with small ROM footprints, of course.
Also, I know it matters less and less with modern auto-completion and auto-correction of syntax, but what are everyone’s thoughts on the naming convention? I think it’s a little inconsistent right now…
I think the second coolest thing about this post (after that album art) is the fact that you call Germans krauts! In this “PC” world it’s nice to see people with a sense of humor who don’t take offense at the silliest things.
Actually, I think you OR it with 1 to set the LSB (XPRST = “XP Reset”) but only when XPSTTS & 0x0C = 0 (ie when the XP is idle).
I’m not sure if that’s a glitch/bug or not, but it’s kind of hard to debug with just a screenshot (which doesn’t even show the problem) and no source. 😛
But seriously, I know I encouraged you a lot in this thread to try using OBJs, but I’m not sure why you’re using them in this instance.
What exactly is the “messy stuff” which you mentioned? Grids of Chars are exactly what BGMaps are for! It is also perfectly fine to change the Char references in BGMap cells on-the-fly. In fact, the BGMaps for both the grid and the cursor could be easily made by your program in a few for loops, without using anything like VIDE or grit (except for converting the chars themselves).
Actually, with such a small number of chars in use, you could even use a different char for each cell and change the image by editing the chars directly.
But, if you really want to use OBJs, I’ll try to help with the cursor problem (?).
virtualn00b wrote:
[snip]
I was about to try the oven method when i was thinking… “Why don’t i hear any sound coming from it?”
When the displays are broken shouldn’t mean you don’t hear any sound at all right?
Welcome, v-n00b.
For one thing, most games don’t make any sound until you get past the warning and alignment screens, and then it’s usually the beeps made by picking and/or confirming whether you want the auto-pause feature on, which only happen when you press buttons, so you may have to push “Start” or “A” quite a lot to hear sounds.
You didn’t mention which game(s) you tried. If you have more than one, be sure to try them all. You may also want to try inserting and removing each cartridge a few times to clean the connectors. It may be that the cartridge is not making good contact due to age.
Also, the obvious thing: is the volume wheel set high enough to hear? If it’s cranked all the way up, you should hear a loud popping noise when you switch the system on. That’s the effect of cost-reduction in the amplifier and/or power supply circuitry.
Be sure and report if this helps and it really is just faulty display cables and not a totally dead (except the mirrors) VB or bad cart(s).
Okay. I figured out how to use my limited access to disable public comments and deleted the (hopefully) last of the spam.
And all that with some sort of spyware slowing down my system… 😛
Now, I’m off to fix that. *sigh*
Fwirt wrote:
(does toggling the XPEN bit effectively freeze the buffer state until you’re ready for another screen redraw?)
Yes
I was thinking of trying manual buffer writes anyway, because I keep doing weird things to char memory when I try to write too much information to object memory, and end up doing it while the VB is writing to the frame buffers. 😛 Has anyone else tried manually controlling FB writes?
Well, XPSTTS bits 2 and 3 not only tell you when you shouldn’t write to VIP memory, but also tell you which framebuffer is being written to. Just check if (VIP_REGS[XPSTTS] & 0x0C) == 0 before writing. But only if the XP is turned on, obviously…
hth
-
This reply was modified 17 years, 12 months ago by
RunnerPack.
Actually, it’s not a stupid question at all. The frame-rate of a system like the VB is quite a complicated subject.
First, there’s the basic rate at which the scanner displays the contents of the frame buffers. On the VB, this is about 50Hz (give or take).
Then, there is the rate at which the VIP can fill the frame buffers with pixels based on the contents of the Worlds, et al. This, of course, depends on the complexity of the scene and how many special effects (e.g. Affine, H-Bias, etc.) are used. There’s actually a processor interrupt assigned to the situation wherein the VIP takes more than 20ms to draw a frame. I can’t provide any more detail about that, though, since I have never written an ISR in my life 😛
Then, there is the ability of the software to create and/or change the scene description itself. This will vary by the nature of the program and of the programmer, among other things.
These are each quite complicated topics to cover in a single forum post, and that’s without putting them together… Eventually, I hope the Wiki will cover them all thoroughly, though.
Wish I could help more…
Thanks for the heads-up, dasi.
I had assumed the discussion was already members-only.
Edit:
Well, I deleted the spam, but it just came back…
I have IP address(es?) of the spammers for banning, but I don’t have the authority to do so or to change the access rights of the discussion plugin -or- to disable discussion. The only thing I could do is manually disable discussion in each of the wiki pages.
Krisse will have to handle this one.
Also, I have found out that most or all of the problems in my first two posts are caused by the stylesheets used by XOOPS as a whole. I have pointed out a few to Krisse, but I can’t change those either, so…
After the compo, I’ll be all over that Wiki like stink on a monkey! 😉
-
This reply was modified 17 years, 12 months ago by
RunnerPack.
-
This reply was modified 17 years, 12 months ago by
RunnerPack.
Great job!
If it weren’t for the connection issues, that FPC stuff would sound very handy.
I’ve got some ribbon cable shielding stuff that’s basically the same thing. I don’t remember how much I got, but it’s probably wide enough for the length of the display cable, and I got a few feet of it, so I could probably make dozens of them. The only problem is that it already has plastic on both sides. It also has a stranded wire running down it under the plastic on one side, but that can be removed.
Now that I know NaOH can dissolve the plastic, I can actually use it! Hooray!
Well, I’m not glad to hear you’ll be using “.BLOAT” but it sounds pretty powerful, yet easy to maintain. I’m just glad you have the time and willingness to work on it at all.
I’m sure most of us have our own ideas about how it should work/be written/etc., but you’re the only one who’s actually doing something about it. 🙂
I’m intrigued about the emulation ideas and the debugging possibilities that functionality would bring. Just imagine editing a tile and having the changes instantly show up in the source, the ROM image, and the emulated VIP RAM, all while the game is running! And then add the functionality of DogP’s LPT link cable…
…I think my brain just imploded 😉
7. Using four or more hyphens (“—-“) does not generate a horizontal rule.
Hi, noob 😉
As stated in the news article and throughout this thread, this is a plugin which adds functionality to another program. Namely, Virtual-E’s Virtual Environment. It can be found here:
Virtual-E: the Virtual Boy Emulation Project
Also, one point of clarification:
Neither this program nor the plugin in question “make VB games” they are only a convenient way to produce artwork for said games. It can also be done manually on any operating system or converted with a program called grit. The game itself must be written and compiled and/or assembled.
BTW, questions end with a question mark. It looks like this -> ? and should be near the shift key, which is also quite useful. Statements begin with a capital letter, end with a single period, and are usually separated by a single space.
Thank you
Here’s a link to an article on installing devkitPPC (a homebrew Wii devkit) under linux. They also have a Windows installer, though. I have the GBA/DS version of devkitPro, and it works fine on Windows.
http://sieghai.wordpress.com/2008/05/05/installing-a-homebrew-wii-devkit-on-linux/
It’ll take quite a lot of work, unless those ones DogP mentioned are OSS. The original uses Allegro which, AFAIK, hasn’t been ported to Wii, yet.