Original Post

Im supprised that there is no Virtual Boy port of “touhou music video – Bad apple”.

Its famous and absolutely fantastic looking piece of art that has been ported over 30? devices including atari 2600 and other low end devices : O !
so virtual boy could definedly run it!

here is list for reference.

15 Replies

Cool it definately should be on the VB! I wonder how compression of the video works though? Maybe some of these bad-apple demos are open-source?

The Mega Drive Unleashed – Bad Apple


This article says that they were able to compress it down to 3.5 Megabytes for the Sega Genesis. So if similar compression tools were used, it would fit on a cartridge.

yea the genesis port is just magic , 120mb video compressed to 4 mb

but i think lower end ports like atari 2600 and game boy is just raw code rather than video.

Even Vectrex has own port so virtual boy cant be worse than that 😀

It’s Easy just shout here when i dont know nothing about coding. :S….

Wow, you don’t know how happy I am to now know about Bad Apple. I haven’t seen this before, really impressive to see it run on the Gameboy and NES.. it even looked pretty good on the Vectrex. You are right, this now needs to happen on our beloved VB! Thanks for the share.

A way this could be done that is not memory intensive is to only update the CHARS that need updating. Many of the areas of the screen in bad apple are all black or all white, so they will not need to be changed on a per-frame basis. So we need to write a code-generating script that takes in a video, converts the frame to virtual boy’s 384×224 2bit format, checks each 8×8 segment to see if it is different from the previous, and if it is different, generate a line of code that writes that char to the world.

Oh man, never knew about this. This is totally going on the everdrives.

virtualnoob wrote:
Im supprised that there is no Virtual Boy port of “touhou music video – Bad apple”.

Homebrew on Virtual Boy is harder to find than WMDs in Iraq. It should come as no surprise whatsoever. (-:

syncophono wrote:
A way this could be done that is not memory intensive is to only update the CHARS that need updating. Many of the areas of the screen in bad apple are all black or all white, so they will not need to be changed on a per-frame basis.

This is a fundamental technique for video compression, and is often coupled with motion compensation to further reduce the number of changes between frames. Compression in its simplest form is elimination of redundancy, so if the result of a part of one frame is the same as the result of the previous frame, that part can simply be skipped over.

In practice, since source frames are rarely identical even in part, a “lossy” form of compression is used that generalizes whether a difference between two frames is “close enough” to skip over. Consecutive frames are typically rebuilt starting with a keyframe, which is a regular image, followed by some number of frames that only describe changes to the frame that can before it. Eventually, another keyframe will be needed to give the process a good foothold again.

syncophono wrote:
So we need to write a code-generating script that takes in a video, converts the frame to virtual boy’s 384×224 2bit format, checks each 8×8 segment to see if it is different from the previous, and if it is different, generate a line of code that writes that char to the world.

And this describes both sides of the task of implementing of a video codec. Are you sure you don’t work in the data compression industry? (-:

I did a some research and OpenCV had a lot of documentation for video editing. So I wrote a test program that does many of the things needed for this compression:
-View the video frame by frame
-Resize the image
-Convert to grayscale
-Take out crop sections of the image(for comparison)

To convert the pixel to 2 bit,
Take the 1 byte grayscale value:
10111011
and shift it right by 6
00000010
Result: 10 (2)

I have included the source code.

wow, found out recently how big the pokemon mini console homebrew scene is, and even it has port of bad apple : O

this project died?
an mr anon never released his work 🙁
how sad

I don’t know if you saw this already, but the closest we got was this:

Why wasn’t M.K. active here for several months now? His projects are all die-hard-waited stuff, including his music tracker and Bomberman clone for the VB.

Although the VUEngine project had recently got a music/sound update, M.K.’s tracker will be more powerful, I think.

We all have lives, I get sometimes it’s hard to get our projects done. I suspect he’s just busy, like a lot of us. Patience, we will get them.

that is what i meant.

Remembered the name wrong.

I just bought GBA flash cart and played gGBA version of bad apple and remembered this project still on hold 🙁

That’s obviously fake.
1. The audio is obviously not played by the PM’s speaker.
2. The resolution looks too high to come from the PM.
3. There is no boot screen when the PM is booted.

PM = Pokemon Mini

 

Write a reply

You must be logged in to reply to this topic.