About
Often known as nitro2k01
Addicted to reposting reposts of reposts on soup.
Also try my regular blog
Make soup a better place! Add a descriptive text to each image you post, or if needed repost!
Friends
-
Loading...apoc about 12 hours ago -
Loading...resocjalizator about 7 hours ago -
Loading...jeaneric 2 days ago -
Loading...tomczk 1 day ago -
Loading...iber 5 months ago -
Loading...bitelz 2 days ago -
Loading...clone991 4 days ago -
Loading...kaminari about 8 hours ago -
Loading...hds about 12 hours ago -
Loading...Marindin 2 months ago - +7
Click here to check if anything new just came in.
July 01 2010
June 02 2010
The Cutting Room Floor
Hidden stuff in gamesThe Cutting Room Floor
Hidden stuff in gamesFebruary 07 2010
LittleFM on GBC
I finally felt motivated to work a little on LittleFM, and the next feature in the pipeline was (the comparitively small) feature of “real” GBC support, ie support for double speed and colour palettes in LSDj which LittleFM has been lacking so far. (Instead it used the oldschool compatibility mode which didn’t allow LSDj to take advantage of the higher CPU speed found in the GBC)
It works great and flashing takes about half the time when done in double speed mode, however I forgot to clear the secondary GBC bakground map when going from LSDj back into LFM, using the classic sel-start-B-A combo. What this means is that the colour pattern from LSDj will not be erased but remain on the screen. This gave this nice visual bug seen below. As you can see, the pattern resembles LSDj’s screen layout.

I’m going to finish one more feature before I release LittleFM 0.4, loading and saving of individual LSDj files, so LFM can truly replace the builtin file manager that comes with LSDj. I have an almost working version of this feature, but it has wrinkles which I want to iron out before releasing it.
The last picture is shitwave which actually looks marvellous with the backgrounds residue. It gives the vibrations more life and you can see what’s actually happenening rather than just vaguely vibrating lines. It may not be apparent on the still image, but it looks nice live.

Sorry for the long wait, but have patience!
January 26 2010
New track: Nitrojazz
Time for some NES-eque and short but sweet Gameboy jazz. Listen at chipmusic.org.
http://chipmusic.org/nitro2k01/music/nitrojazz
December 06 2009
Green Gameboy backlight
(Most photos have Flickr notes. If you click on any of the pictures, you’ll go to that photo’s Flickr page where you can watch notes for the photos that have them.)
I’ve playing around a lot with DMG backlight lately. After I tried out the inversion hack on my guinea pig boy, I installed the hack on my regular one as well, but without a switch, and flipped the polarization layer of course. (The whole point of the hack is to uninvert the screen after flipping the polarization layer) This gave it more contrast, but then Bibin gave me a tip that so called “kelly green” coloured LEDs would work perfectly for a DMG backlight when using the inverse polarization layout, since the dark areas would completely block that green wavelength, whereas a large portion of white light will pass through even the dark areas. I believe that “kelly green” is the same LED type as “true green”. The LEDs in this eBay auction are suitable for the job, if you want to build your own backlight using this method.
Compare the images below:

The left picture is a Nonfinite backlight with an inverted polarizer. (And of course a 74hc04 screen inverter to uninvert the image) It has white LEDs which is atcually a bad idea for use with a monochrome LCD. Light pixels will conduct all wavelengths of light pretty evenly. Dark pixels on the other hand block green light but will still pass through a considerable amount of blue light. Add to that the white LEDs commonly used are actually blue LEDs with phosphor to produce other wavelengths. Read about it on Wikipedia. Because of this, white LEDs will have a much higher concentration of blue light compared to other wavelengths, which doesn’t exactly help getting contrast and gives the dark areas this purple colour. When using the green LED on the other hand, you only get one wavelength of light, which is almost perfectly blocked by dark pixels, giving you great contrast.
LED circuit board
For this chapter of my epic eternal backlight saga I used three LEDs from a batch I recently acquired, combined with layers from a backlight taken from a broken laptop screen. The LEDs are surface mount 45° wide angle


I needed a circuit board to keep the LEDs in place. It seemed like a waste to make a printed board a one-off piece of such a simple board, so I simply cut the needed traces and soldered components onto a copper laminate. I connected it to the screen daughterboard with a relatively thick single strand wire which also keeps the board in position.
The layers

And so a word about the layers used behind the screen… Lightboy made a thread on 8bc describing his backlight method. When seeing his desciption of the layers I was unsure what the layers were, but now that I have a complete backlight unit from a computer screen I have investigated the layers, so here’s an explanation of what the different layers are.

The bottom layer, not pictured, is the reflection layer. In this screen it was blank white plastic, as opposed to a silver colored mirror. The next layer, as pictured above, is the diffusion layer. Its job is to lead the light from the light source at the side and distribute it evenly upwards. It does so by small bumps in the bottom of the layer. The world has seen better Dremel jobs, but I suppose it works. This layer is also a couple millimeters thick, which created problems, see the bottom of the post.

The top picture may look like something straight out of The Twilight Zone, but it’s in fact my favorite layer of the five, the growth foil. What it does, as far as I can tell, is to collect light from two directions and send it up. There are two versions of this layer stacked, one that collects light vertically and one thta collects light horizontally. The top picture is me holding one hand in front of a lamp, which the layer duplicates because it collects light from two directions. I ought to cut of pieces of those layers and make trippy sunglasses out of them.

The blur foil is simply a foil of “brushed” plastic to even out the light distribution.

The topmost layer is the polarizing layer. To understand what this layer does you need to understand what polarization is and how it works. Read about it on nobelprize.org.
The final result

I’m not really satisfied with the outcome. This backlight has a flaw… The diffusion layer is too thick, which creates pressure on the LCD and creates differences in contrast in the areas that are under stress. And the layers are unaligned, creating a dark gap in the top of the screen. I can fix all those things however, and when that’s done I think this is the backlight design I’ll finally stick with.
I will also try to see if I can replace the white LEDs in my Nonfinite backlight panel, to use the green ones I have now.
December 05 2009
3) Cutting the rest of the circuit board design and putting the first LED in place
November 23 2009
How to patch your DMG to use an inverted palette
(Please excuse the shabby look, but that is my guinea pig Gameboy that I use for experimentation.)
I’ve already explained how you can invert the monochrome palette in LSDj which is useful if you have a DMG backlight with an inverted polarizer film on your DMG. But what if you want to use a normal palette for other software or games?
Modding the ROM of the game or program you want to invert the palette for is an option, but it may not be practical. Fear not however, the protocol that the DMG is using to transfer data from its all-in-one chip to the LCD is strikingly simple, and can easily be inverted with a 74hc logic circuit of your choice.
First let’s have a look at how the protocol works.

For the sake of this tutorial there are three important pins to keep track of. Data bit 0, data bit 1 and clock. At every rising edge clock edge (when the clock line changes from 0V to +5V) the current state of the data lines is recorded, and the corresponding pixel value is drawn to the currently active pixel on the LCD. This keeps goes until the whole screen is filled with an image. And then again and again. (Ok, there are more aspects to it, like so called “blanking” but that’s not relevant for this discussion)
So what you need to do is change the values of the data lines in such a way that black becomes white, light gray becomes dark gray and so on. The way to do this is by simply inverting the two data bits. There are (at least) two possible ways to do this.

One way is to use a simple inverter like 74hc04, where you connect the data bits to the appropriate input and outputs. Also note two things abut the schematic:
1) I have connected all unused input to ground. (Unused outputs should remain unconnected)
2) I’ve added a bypass capacitor between Gnd and +5V
Neither one of these things are strictly necessary but they are good practice, and may help reduce interference to the signal if that would be a problem.
And obviously you can use any pair of inputs and outputs on the chip.

The other way of doing it, which is what I did for my prototype, is to use xor gates. (74hc86) The advantage of that method is that you can switch between the modes easily with a switch. If you xor a bit value with 0, you get back the same bit value. If you instead xor the bit value with 1, you get back the inverted value. So in this configuration, I’ve connected a weak pullup resistor, which sets one of the inputs to 1 by default, meaning the image is inverted by default. However, if those inputs are shorted to ground, the xor operation returns the original data and the picture is again unaffected.

So, how does one actually connect the inverter? You need to cut the copper trace where the data and solder the input and outputs on each side of the cut.
This is what my prototype circuit looks like. I’ve connected the inputs of the inverter to the appropriate holes that are already available in the motherboard, but filled with solder.
A sidenote on these holes: They were most probably placed there to enable connection to the WideBoy unit, which was an official Nintendo development kit that allowed the screen image of a Gameboy to be displayed on a TV with the help of a NES.

At any rate they come in handy now. The above diagram show you where to tap the input signals, where to cut the traces, and where to solder the output wires. When cutting the traces make sure you cut them properly, or you’ll have a conflict. Do not cut the Clk trace.
All three holes shown to the right in the diagram are connected to Gnd.
Last but not least, a video of the thing in action:
So… Tell me what you think. Is this information useful? Anything unclear? Is my English to quirky and corny? Anyone nterested in buying kits for this thing?
September 08 2009
Power converter daughter board, front (Facing the same direction as the motherboard front side)
August 08 2009
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...








