Jump to content
IGNORED

New Aquarius Bitmap Graphics Demonstration


chjmartin2

Work more on this?  

11 members have voted

  1. 1. Do you want to see more images, a converter or both?

    • More Images - NOW.
    • A Converter! I am now inspired!
      0
    • Both, please...
    • Nothing - These look like crap...
      0
    • Forget this - Bring Full Motion Video to the Aquarius
      0

  • Please sign in to vote in this poll.

Recommended Posts

I have been in the lab working hard on a new tool. I had put together what I called a 64 color demonstration tool but I didn't get a very good response, undeterred, I recommitted myself to developing even better image fidelity on the poor Aquarius. Oh, poor, poor, Aquarius, what limitations they left you with. Only 256 characters and two colors per 8x8 block. 80x72x16 in a pinch but only 2 colors per 2x3 block. The thing is, it really can display 320x192 (yes, yes, yes, 200 for you purists) pixels from a limited character set of 256, again, 2 colors per 8x8 block - I am not happy with the images I get subject to those limitations, so I wanted to try something different.

 

Here is what I did, I went ahead and took an input bitmap, dithered it down to all of the possible Mix Colors on the Aquarius. Mix colors being a combination of two available Aquarius colors - so black and red would be a darker red, or grey and white would make a lighter grey - there are 136 possible combinations of colors. It is not 16*16 because color 1 + color 2 is the same as color 2 + color 1. I used Floyd-Steinberg, because, well, it is easy and I had the code lying around. Then I go through each 8x8 block and find the best mix colors to represent the pixels in that block. There are 64 pixels in each 8x8 block which could be any one of 136 colors - but I can only use 4, AND, I can only use 4 in a limited set of combinations. I am mixing two sets of two colors, two foregrounds and two backgrounds, which gives me 4 colors per block. [(Fore1+Fore2)/2, (Fore1+Back2)/2, (Back1+Fore2)/2, (Back1+Back2)/2] I cycle through all of the possible mix palettes (16, 16, 16, 16) and find the one with the minimum color distance for that block for what could be up to 64 different colors, in practical terms, very few images have that many different colors per block, so 4 is an ok number.

 

After I was done with that, then I take each block, apply the colors I just chose and then cycle through the character set, since I have two frames, I can use two different characters. This allows me to try to better match the pixel pattern I have in my dithered (or not dithered) converted picture. Effectively, this gives me 65536 tiles. I realize the purists will tell me that character 'a' and character 'a' are the same as each other, so, yes, 65,536 - 256 = 65,280. But no, unlike color mixing, which character is in which frame is critical, 'S' in yellow/green mixed with 'E' in blue/white is very different then 'E' in yellow/green and 'S' in blue/white.

 

The program takes an awful long time to run. I even had to skip colors and characters in order to finish the code. I have a pretty good rig and it still take 20 minutes to do the conversion. I realize that a better programmer would make it faster, but I am who I am, you know?

 

To see it in action - go ahead and fire up your emulator, MAKE SURE YOU SET IT TO NTSC TIMING, and load the attached ROM, reset, and enjoy. The images I have posted are mix images and do not show the flicker that you will see in the emulator - but I like to put images in my posts to give you an idea of what I've done.

 

post-20571-1296607334_thumb.jpg

 

post-20571-129660731574_thumb.jpg

 

Things to do (maybe):

 

  1. Move from Hacked Together Tool to an Actual Converter (it isn't bad, but I still have to cut and paste, remove a few bits of debris, then run two different .bat files to make it work)
  2. Search both the character and the inverse of the character. This should result in a significant improvement in image fidelity. My total blocks now are 65,280 - if I did the inverse as well, I would have 262,144-512=261,632 mix characters. It is more code, and would make the run time even longer.
  3. Create Options to limit the character set, Full, Bloxel, Graphics, and Custom like my other converter
  4. Add a flag for "flicker reduction" - Some colors just do not mix well, I'd like the option to eliminate those mixes as an option.

 

Thanks,

 

Chris

Lena.bin

Edited by chjmartin2
  • Like 2
Link to comment
Share on other sites

This is a very fascinating idea. I haven't tried any of these on the actual hardware yet, but it seems that you've found a way to "create" a larger variety of colors, which might be very useful for future projects.

 

People normally think of the unchangeable character set when they think of the Aquarius's graphical limitations, but from my own exploration of the Aquarius with the Aquaricart project, I've actually concluded that the color palette is an even bigger limitation. Granted, there are only 256 characters in the set, but the Mattel artists did a pretty good job of creating lots of general-purpose graphics within the space they had. The Aquarius is still badly in need of redefinable characters, and I still hope to add that capability with the SuperFont upgrade, but you can still do a great deal with the characters you have if you assemble them in creative ways (as evidenced by the creatures in AD&D Treasure of Tarmin). But even for a machine with a 16-color palette, the Aquarius has a number of frustrating limitations: there are lots of greens and yellows, but not enough reds and grays. "Red" and "Orange" are so close that it's difficult to distinguish them on some televisions, and it's the same with "Dark Gray" and "Black"; in fact, "Dark Gray" actually looks darker than "Black" to me on the real hardware.

 

I haven't had much free time this month, but I'll certainly give these a try at the first opportunity. I'm especially curious to see them running on a real Aquarius, and how the results compare to the emulator.

Link to comment
Share on other sites

Okay, I've given the first one a try in Virtual Aquarius. It might be a limitation of the emulator or of the computer I'm running it on, but I'm only getting a few seconds of flickering, and then a static screen:

 

screenshot_0001.png

 

Am I correct in assuming that the flickering should be continuous?

 

I'm curious to know if it's possible to achieve faster color changing by only flickering a relatively small number of characters, instead of a whole screen full (perhaps you've already done this in the other binaries you posted; I've only tried the first two so far).

Link to comment
Share on other sites

Okay, I've given the first one a try in Virtual Aquarius. It might be a limitation of the emulator or of the computer I'm running it on, but I'm only getting a few seconds of flickering, and then a static screen:

 

post-3819-129661622279_thumb.png

 

Am I correct in assuming that the flickering should be continuous?

 

I'm curious to know if you could achieve faster color changing if you only flicker a relatively small number of characters, instead of a whole screen full (perhaps you've done this in the other binaries you posted; I've only tried the first two so far).

 

It is really important to set the emulator to NTSC... The flickering is continuous, it works well on my machine - better on the real aquarius, actually, much better, and I am not sure why. What rig are you running? I am running a Dual CPU Xenon Quad Core rig... was much nicer a few years back, but she's got some cycles left. I also have a pretty good video card... The actual hardware has plenty of horsepower to flicker the two screens - Martin proved this out when he helped me with my flicker demo and his scrolling scenery demo.

 

I actually have a bug in my program that I am having a hard time figuring out. The lower half of the screen is showing some glitches - that is, it is loading seemingly random colors (maybe characters) on the bottom third of the screen. I am tired tonight, so I can't bring myself to focus on it, but it is having a problem. I have a few images I have converted that should have black backgrounds, but I am getting some random white color blocks. I missed something. This program has been more than two weeks in the making, so I am exhausted. I have figured out how to limit it to bloxel characters - that's how I discovered that I have an error.

Link to comment
Share on other sites

In that case, it seems to be an emulator issue (I tried it in Virtual Aquarius on a dual-core AMD Athlon 64 3800+). I'm assuming you're referring to the "NTSC" option under the "Configure" menu ("Configure" | "System Timing" | "CPU Timing" | "NTSC"); if so, the emulator was indeed set for NTSC. I'll try it on the real hardware, and I'm sure it will work much better there.

 

Thanks for all your hard work on this, and by all means don't burn yourself out! I had to take some time away from the Aquaricart project myself, after I'd been up to my eyeballs in it for a few months. This stuff is supposed to be fun, after all, so don't hesitate to do what you need to do to recharge your batteries.

Link to comment
Share on other sites

So here is something I just can't seem to figure out and it is making me insane. First, here is some code:

 


; File: VIEWER.ASM - Displays an Image Using 136 Flicker Colors and 65,536 Flicker Blocks
;
; Use tasm (supplied with VirtualAquarius) to compile:
; tasm -80 -b test.asm
;
.org $E010		; Start Program at Memloc $E010

main:	

delayb:	in a, (253)			; Read VSYNC Signal Flag
bit 0,a			; Test bit 1 of VSYNC signal
jr nz, delayb		; Loop and wait for the sync
call ViewFr2

delaya:	in a, (253)			; Read VSYNC Signal Flag
bit 0,a			; Test bit 1 of VSYNC signal
jr nz, delaya		; Loop and wait for the sync
call ViewFr1

jp main			; Repeat

ViewFr1:
ld de, 13352		; Set Memory Location to Color Video
ld hl, FrameOneCol		; Set HL to FrameOneCol Memory Location
ld bc, 960			; 960 Bytes of Data
ldir			; write 960 bytes from FrameOneCol to screen
ld  de, 12328		; Set Memory Location to Character Video
ld hl, FrameOneChar		; Set HL to FrameOneChar Memory Location
ld bc, 960			; 960 Bytes of Data
ldir			; write 960 bytes from FrameOneChar to screen
ret			; return to main program

ViewFr2:

ld de, 13352		; Set Memory Location to Color Video
ld hl, FrameTwoCol		; Set HL to FrameOneCol Memory Location
ld bc, 960			; 960 Bytes of Data
ldir			; write 960 bytes from FrameOneCol to screen
ld  de, 12328		; Set Memory Location to Character Video
ld hl, FrameTwoChar		; Set HL to FrameOneChar Memory Location
ld bc, 960			; 960 Bytes of Data
ldir			; write 960 bytes from FrameOneChar to screen
ret			; return to main program

FrameOneChar:

  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,184,167,160,160,235,224,160,160,184,167
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,165,224,176,168,176,161,235,224,165,224
  .db 228,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,184,175,161,160,161,160,160,160,160,162,161,160,161
  .db 170,184,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,183,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,224,165,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,171,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,169,178,228,248,176,160,240,246,160,160,176,248,176,160
  .db 240,252,161,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,169,252,176,163,175,226,162,175,167,160,176,163,175
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,162,169,252,161,163,252,252,163,162,169,252
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,175,163,163,235,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,181,175,160,239,162,243,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,160,160,160,160,160,160,235,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,178,160,160,160,160,240,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,172,236,179,171,191,171,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 176,160,160,160,160,224,172,172,176,160,160,160,160,160,160,160,183,160,160,160,160,162,190,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 170,184,176,160,182,161,160,160,170,184,176,160,160,160,160,160,161,160,240,254,160,244,181,254,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 251,160,234,184,161,231,251,253,251,160,234,160,160,160,160,160,160,160,160,160,160,160,234,167,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,229,166,180,160,160,253,235,187,160,160,181,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,166
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,169,233,160,160,162,239,252,252,245,240,240,160,160,160,160,160,160,160,160,160,160,160,160,160,184,164,160
  .db 175,175,240,175,175,175,175,175,175,175,240,175,175,175,174,175,245,160,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228

FrameOneCol:

  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,103,103,103,103,7,7,9,7,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,103,7,7,7,7,7,7,7,103
  .db 7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,103,103,103,7,103,103,7,7,103,103,103,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,103,103,7,103,103,103,7,7,103,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,7,7,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,156,156,156,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,156,193,12,193,12,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,1,1,1,1,1,12,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,193,1,12,1,1,193,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,193,193,193,156,156,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,13,13,9,9,9,9,9,9,9,9,145,1,1,1,12,193,193,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 13,9,9,9,13,13,13,13,13,9,9,9,9,9,9,9,145,1,193,193,12,193,193,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 223,13,13,9,13,223,223,223,223,13,13,9,9,9,9,9,12,12,12,12,12,12,156,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 13,13,13,13,13,13,13,13,13,13,13,9,13,9,9,9,156,193,193,12,12,193,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,13
  .db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,9,1,193,193,145,156,145,145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,13,13
  .db 220,220,13,220,220,222,220,220,220,220,13,220,220,222,12,156,193,1,158,156,156,158,156,156,156,156,158,156,156,158,156,156,156,156,158,156,156,1,220,220
  .db 14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14
  .db 14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14
  .db 14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14
  .db 14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1

FrameTwoChar:

  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,184,166,160,160,233,224,160,160,184,166
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,165,224,176,168,176,161,233,224,165,224
  .db 228,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,184,172,161,160,161,160,160,160,160,162,161,160,161
  .db 170,184,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,182,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,224,165,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,229,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,169,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,169,176,228,248,176,160,240,246,160,160,176,248,176,160
  .db 240,172,161,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,169,172,176,163,175,225,162,175,167,160,176,163,175
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,162,169,172,161,163,172,172,163,162,169,172
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,175,163,163,239,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,240,240,242,241,243,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,234,181,235,252,239,160,235,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,176,239,160,244,240,224,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,242,179,239,187,191,171,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 176,160,160,160,160,224,175,175,176,160,160,160,160,160,160,160,183,160,160,160,160,253,235,191,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 170,184,176,160,183,161,160,160,170,184,176,160,160,160,160,160,161,160,175,161,168,171,174,254,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 164,160,234,184,161,184,164,162,164,160,234,160,160,160,160,160,160,160,165,160,160,160,234,167,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,229,167,180,160,160,253,179,228,160,160,234,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,167
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,171,235,160,160,253,176,240,252,244,240,240,160,160,160,160,160,160,160,160,160,160,160,160,160,184,165,160
  .db 240,240,176,240,240,240,240,240,240,240,176,240,240,240,167,175,245,160,175,175,175,175,175,175,175,175,191,175,175,175,175,175,175,175,191,175,175,249,240,240
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239
 
FrameTwoCol:

  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,103,103,103,103,7,7,9,7,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,103,7,7,7,7,7,7,7,103
  .db 7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,103,103,103,7,103,103,7,7,103,103,103,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,103,103,7,103,103,103,7,7,103,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,7,7,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,151,151,151,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,151,23,23,23,23,151,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,193,193,193,193,193,1,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,65,193,1,193,193,65,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,23,23,23,151,145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,67,67,9,9,9,9,9,9,9,9,145,1,1,1,7,23,23,193,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 3,9,9,9,3,3,3,3,3,9,9,9,9,9,9,9,145,1,23,23,23,23,23,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 35,3,3,9,3,35,35,35,35,3,3,9,9,9,9,9,1,1,23,7,7,7,151,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 3,3,3,3,3,3,3,3,3,3,3,9,3,9,9,9,145,23,23,7,7,23,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,3
  .db 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,9,1,23,23,145,151,145,145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,67,3
  .db 131,131,3,131,131,19,131,131,131,131,3,131,131,19,8,152,129,1,145,152,152,145,152,152,152,152,145,152,152,145,152,152,152,152,145,152,152,236,131,131
  .db 1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1
  .db 1,1,8,8,8,8,1,1,1,1,8,8,8,8,1,1,1,1,8,8,8,8,1,1,1,1,8,8,8,8,1,1,1,1,8,8,8,8,1,1
  .db 1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1
  .db 1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231

.END

 

If I go ahead and compile this code, add the cartridge header and run the program on Virtual Aquarius - it shows black blocks on Mario's head. I have gone through my program line by line, in all manner of iterations, and then finally looked at my .db image maps and compared it to the screen and sure enough - nothing that I am loading into the video ram would create those black blocks. So then I decided to see if I was insane and I compiled this program:

 


; File: VIEWER.ASM - Displays an Image Using 136 Flicker Colors and 65,536 Flicker Blocks
;
; Use tasm (supplied with VirtualAquarius) to compile:
; tasm -80 -b test.asm
;
.org $E010		; Start Program at Memloc $E010

main:	



delaya:	in a, (253)			; Read VSYNC Signal Flag
bit 0,a			; Test bit 1 of VSYNC signal
jr nz, delaya		; Loop and wait for the sync
call ViewFr1

jp main			; Repeat

delayb:	in a, (253)			; Read VSYNC Signal Flag
bit 0,a			; Test bit 1 of VSYNC signal
jr nz, delayb		; Loop and wait for the sync
call ViewFr2


ViewFr1:
ld de, 13352		; Set Memory Location to Color Video
ld hl, FrameOneCol		; Set HL to FrameOneCol Memory Location
ld bc, 960			; 960 Bytes of Data
ldir			; write 960 bytes from FrameOneCol to screen
ld  de, 12328		; Set Memory Location to Character Video
ld hl, FrameOneChar		; Set HL to FrameOneChar Memory Location
ld bc, 960			; 960 Bytes of Data
ldir			; write 960 bytes from FrameOneChar to screen
ret			; return to main program

ViewFr2:

ld de, 13352		; Set Memory Location to Color Video
ld hl, FrameTwoCol		; Set HL to FrameOneCol Memory Location
ld bc, 960			; 960 Bytes of Data
ldir			; write 960 bytes from FrameOneCol to screen
ld  de, 12328		; Set Memory Location to Character Video
ld hl, FrameTwoChar		; Set HL to FrameOneChar Memory Location
ld bc, 960			; 960 Bytes of Data
ldir			; write 960 bytes from FrameOneChar to screen
ret			; return to main program

FrameOneChar:

  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,184,167,160,160,235,224,160,160,184,167
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,165,224,176,168,176,161,235,224,165,224
  .db 228,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,184,175,161,160,161,160,160,160,160,162,161,160,161
  .db 170,184,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,183,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,224,165,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,171,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,169,178,228,248,176,160,240,246,160,160,176,248,176,160
  .db 240,252,161,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,169,252,176,163,175,226,162,175,167,160,176,163,175
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,162,169,252,161,163,252,252,163,162,169,252
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,175,163,163,235,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,181,175,160,239,162,243,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,160,160,160,160,160,160,235,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,178,160,160,160,160,240,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,172,236,179,171,191,171,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 176,160,160,160,160,224,172,172,176,160,160,160,160,160,160,160,183,160,160,160,160,162,190,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 170,184,176,160,182,161,160,160,170,184,176,160,160,160,160,160,161,160,240,254,160,244,181,254,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 251,160,234,184,161,231,251,253,251,160,234,160,160,160,160,160,160,160,160,160,160,160,234,167,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,229,166,180,160,160,253,235,187,160,160,181,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,166
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,169,233,160,160,162,239,252,252,245,240,240,160,160,160,160,160,160,160,160,160,160,160,160,160,184,164,160
  .db 175,175,240,175,175,175,175,175,175,175,240,175,175,175,174,175,245,160,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228

FrameOneCol:

  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,103,103,103,103,7,7,9,7,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,103,7,7,7,7,7,7,7,103
  .db 7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,103,103,103,7,103,103,7,7,103,103,103,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,103,103,7,103,103,103,7,7,103,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,7,7,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,156,156,156,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,156,193,12,193,12,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,1,1,1,1,1,12,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,193,1,12,1,1,193,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,193,193,193,156,156,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,13,13,9,9,9,9,9,9,9,9,145,1,1,1,12,193,193,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 13,9,9,9,13,13,13,13,13,9,9,9,9,9,9,9,145,1,193,193,12,193,193,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 223,13,13,9,13,223,223,223,223,13,13,9,9,9,9,9,12,12,12,12,12,12,156,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 13,13,13,13,13,13,13,13,13,13,13,9,13,9,9,9,156,193,193,12,12,193,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,13
  .db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,9,1,193,193,145,156,145,145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,13,13
  .db 220,220,13,220,220,222,220,220,220,220,13,220,220,222,12,156,193,1,158,156,156,158,156,156,156,156,158,156,156,158,156,156,156,156,158,156,156,1,220,220
  .db 14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14
  .db 14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14
  .db 14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14
  .db 14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1

FrameTwoChar:

  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,184,166,160,160,233,224,160,160,184,166
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,165,224,176,168,176,161,233,224,165,224
  .db 228,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,184,172,161,160,161,160,160,160,160,162,161,160,161
  .db 170,184,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,182,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,224,165,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,229,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,169,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,169,176,228,248,176,160,240,246,160,160,176,248,176,160
  .db 240,172,161,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,169,172,176,163,175,225,162,175,167,160,176,163,175
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,162,169,172,161,163,172,172,163,162,169,172
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,175,163,163,239,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,240,240,242,241,243,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,234,181,235,252,239,160,235,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,176,239,160,244,240,224,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,242,179,239,187,191,171,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 176,160,160,160,160,224,175,175,176,160,160,160,160,160,160,160,183,160,160,160,160,253,235,191,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 170,184,176,160,183,161,160,160,170,184,176,160,160,160,160,160,161,160,175,161,168,171,174,254,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 164,160,234,184,161,184,164,162,164,160,234,160,160,160,160,160,160,160,165,160,160,160,234,167,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,229,167,180,160,160,253,179,228,160,160,234,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,167
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,171,235,160,160,253,176,240,252,244,240,240,160,160,160,160,160,160,160,160,160,160,160,160,160,184,165,160
  .db 240,240,176,240,240,240,240,240,240,240,176,240,240,240,167,175,245,160,175,175,175,175,175,175,175,175,191,175,175,175,175,175,175,175,191,175,175,249,240,240
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239
 
FrameTwoCol:

  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,103,103,103,103,7,7,9,7,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,103,7,7,7,7,7,7,7,103
  .db 7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,103,103,103,7,103,103,7,7,103,103,103,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,103,103,7,103,103,103,7,7,103,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,7,7,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,151,151,151,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,151,23,23,23,23,151,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,193,193,193,193,193,1,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,65,193,1,193,193,65,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,23,23,23,151,145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,67,67,9,9,9,9,9,9,9,9,145,1,1,1,7,23,23,193,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 3,9,9,9,3,3,3,3,3,9,9,9,9,9,9,9,145,1,23,23,23,23,23,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 35,3,3,9,3,35,35,35,35,3,3,9,9,9,9,9,1,1,23,7,7,7,151,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 3,3,3,3,3,3,3,3,3,3,3,9,3,9,9,9,145,23,23,7,7,23,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,3
  .db 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,9,1,23,23,145,151,145,145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,67,3
  .db 131,131,3,131,131,19,131,131,131,131,3,131,131,19,8,152,129,1,145,152,152,145,152,152,152,152,145,152,152,145,152,152,152,152,145,152,152,236,131,131
  .db 1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1
  .db 1,1,8,8,8,8,1,1,1,1,8,8,8,8,1,1,1,1,8,8,8,8,1,1,1,1,8,8,8,8,1,1,1,1,8,8,8,8,1,1
  .db 1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1
  .db 1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231

.END

 

Sure enough, there was image, perfect, exactly how it should be. So why would the emulator show artifacts when switching from one image to the other but not when rendering the single image. I am highly confident that the emulator has a bug - I know, it is like blaming the controller when you lose a game, but I can't figure out why it would be happening! On my flicker demo program, it showed some solid blocks on a few lines which did not happen when I ran it on the aquarius itself. IF I HAD A MULTICART THEN I COULD TEST IT! But you know how that goes. I'd really like to know if it is an emulator issue or my code. Somebody please tell me I am crazy!

Link to comment
Share on other sites

Hi Chris,

 

If I go ahead and compile this code, add the cartridge header and run the program on Virtual Aquarius - it shows black blocks on Mario's head.

I had some issues compiling your code, as tasm was complaining that the .db lines had too much arguments.

But after splitting the lines I saw what you mean:

post-27598-129676677343_thumb.jpg

 

I am highly confident that the emulator has a bug - I know, it is like blaming the controller when you lose a game, but I can't figure out why it would be happening!

It is definitely the VAQ emulator. You do not see the blocks when you compile the code to show only one picture.

I have also tested it on the MESS emulator, and it shows the image without any blocks.

But the file needs to be exactly 8K (8192 bytes) to load the ROM into the MESS emulator.

(You can use the tasm pseudo code .fill to create a large block of data).

 

You could also drop a message at Yahoo groups, and ask James (the creator of VAQ) about this.

 

Regs,

Martin

Edited by mvdsteenoven
Link to comment
Share on other sites

It is definitely the VAQ emulator. You do not see the blocks when you compile the code to show only one picture.

I have also tested it on the MESS emulator, and it shows the image without any blocks.

But the file needs to be exactly 8K (8192 bytes) to load the ROM into the MESS emulator.

(You can use the tasm pseudo code .fill to create a large block of data).

 

You could also drop a message at Yahoo groups, and ask James (the creator of VAQ) about this.

 

Regs,

Martin

 

Martin,

 

Thanks for checking it out. Sorry about the issue with the .db lines. I am using a different version of TASM so I can compile under Windows 7 and it didn't complain. I will send a note to the yahoo group.

Link to comment
Share on other sites

Looking at the XBox 360 logo, on VirAq and a Intel Core Duo at 2ghz it seems to be using the everything the processor has, I tried to scroll in my browser on the second monitor while it was running and it would respond ten seconds later. On the sonic demo, I noticed only a slight delay in scrolling and typing (In fact he's still running along over there to our left :-)

 

Despite the popular response or lack thereof that you are getting; I think what you are doing will pay dividends in the end. Thanks!

Link to comment
Share on other sites

Stunning. I am going to go nuts waiting to try these out.

 

I have noticed that the emulator runs differently for me under W7 than it did under XP. On W7, I have to up the emulator's priority in the processes, to make it function well, even when my machine is not being taxed by other processes.

Link to comment
Share on other sites

I am so frustrated. I just can't seem to make a ROM image that will run on Mess. I am running 0141b_686 and here are two .BINs that just won't work. They are exactly 8192 bytes! What am I doing wrong?

 

I have a PC with Mess version 0.140b, and a laptop with Mess v0.141b

The Mario ROM does work on the PC with the Mess version 0.140b, but does not work with the newer version :?

 

Regs

Martin

Link to comment
Share on other sites

I am so frustrated. I just can't seem to make a ROM image that will run on Mess. I am running 0141b_686 and here are two .BINs that just won't work. They are exactly 8192 bytes! What am I doing wrong?

 

I have a PC with Mess version 0.140b, and a laptop with Mess v0.141b

The Mario ROM does work on the PC with the Mess version 0.140b, but does not work with the newer version :?

 

Regs

Martin

 

Do we know who the Aquarius developer for Mess is, maybe we can send them to him/her.

Link to comment
Share on other sites

Guys,

 

The reason I am not releasing the converter is because I cannot give you a consistent way to look at the images on any emulator. Doesn't seem right to put out a converter that doesn't work. I did get a reply from James over at the yahoo message board, but his suggestion didn't work. I think I will try to figure out who wrote the MESS code and see if we can get some help on non-8K rom images or how to make compliant images. Stay tuned.

 

Chris

Link to comment
Share on other sites

Ok guys... James took care of my crappy programming. Attached is a fixed Mario image and below is the code:

 


; File: VIEWER.ASM - Displays an Image Using 136 Flicker Colors and 65,536 Flicker Blocks
;
; Use tasm (supplied with VirtualAquarius) to compile:
; tasm -80 -b test.asm
;



.org $E000              ; Start Program at Memloc $E010

.db $b6, $b7, $24, $2a, $8d, $9c, $42, $b0
.db $53, $6c, $90, $64, $89, $a8, $f9, $70
 

main:   

delayb: 
	ld	c,1
	call waittof
       call ViewFr1
	

delaya:
	ld	c,1
	call waittof
       call ViewFr2

       jp main                 ; Repeat


;==================
; waittof,
;	wait top of frame, c times
;	preserve registers
waittof
push	af
push	bc

ld	b,c

   ld  c,253
_lop1
   in  a,(c)
   bit 0,a
   jr  z,_invblanka
   jr  nz,_lop1
_invblanka
   in  a,(c)
   bit 0,a
   jr  z,_invblanka

dec		b
jr		nz,_lop1
pop		bc
pop		af
ret



ViewFr1:
       ld de, 13352            ; Set Memory Location to Color Video
       ld hl, FrameOneCol              ; Set HL to FrameOneCol Memory Location
       ld bc, 960                      ; 960 Bytes of Data
       ldir                    ; write 960 bytes from FrameOneCol to screen
       ld  de, 12328           ; Set Memory Location to Character Video
       ld hl, FrameOneChar             ; Set HL to FrameOneChar Memory Location
       ld bc, 960                      ; 960 Bytes of Data
       ldir                    ; write 960 bytes from FrameOneChar to screen
       ret                     ; return to main program
       
ViewFr2:

       ld de, 13352            ; Set Memory Location to Color Video
       ld hl, FrameTwoCol              ; Set HL to FrameOneCol Memory Location
       ld bc, 960                      ; 960 Bytes of Data
       ldir                    ; write 960 bytes from FrameOneCol to screen
       ld  de, 12328           ; Set Memory Location to Character Video
       ld hl, FrameTwoChar             ; Set HL to FrameOneChar Memory Location
       ld bc, 960                      ; 960 Bytes of Data
       ldir                    ; write 960 bytes from FrameOneChar to screen
       ret                     ; return to main program

FrameOneChar:

  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,
  .db 160,160,160,160,160,160,160,160,160,160,160,184,167,160,160,235,224,160,160,184,167
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,224,165,224,176,168,176,161,235,224,165,224
  .db 228,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,184,175,161,160,161,160,160,160,160,162,161,160,161
  .db 170,184,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,224,183,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,224,165,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,245,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,171,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,169,178,228,248,176,160,240,246,160,160,176,248,176,160
  .db 240,252,161,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,169,252,176,163,175,226,162,175,167,160,176,163,175
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,162,169,252,161,163,252,252,163,162,169,252
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,175
  .db 163,163,235,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,181,175
  .db 160,239,162,243,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,160,160
  .db 160,160,160,160,235,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,178,160
  .db 160,160,160,240,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,172
  .db 236,179,171,191,171,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 176,160,160,160,160,224,172,172,176,160,160,160,160,160,160,160,183,160,160
  .db 160,160,162,190,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 170,184,176,160,182,161,160,160,170,184,176,160,160,160,160,160,161,160,240
  .db 254,160,244,181,254,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 251,160,234,184,161,231,251,253,251,160,234,160,160,160,160,160,160,160,160
  .db 160,160,160,234,167,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,229,166,180,160,160,253,235,187
  .db 160,160,181,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,166
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,169,233,160,160,162,239
  .db 252,252,245,240,240,160,160,160,160,160,160,160,160,160,160,160,160,160,184,164,160
  .db 175,175,240,175,175,175,175,175,175,175,240,175,175,175,174,175,245,160,175
  .db 175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181
  .db 160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160,160,160,181
  .db 173,172,177,160,160,160,160,181,173,172,177,160,160,160,160,181,173,172,177,160,160
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181
  .db 160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228,240,190,250
  .db 160,160,183,169,228,240,190,250,160,160,183,169,228,240,190,250,160,160,183,169,228

FrameOneCol:

  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,7,103,103,103,103,7,7,9,7,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,7,7,7,103,7,7,7,7,7,7,7,103
  .db 7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,7,103,103,103,7,103,103,7,7,103,103,103,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,7,7,103,103,7,103,103,103,7,7,103,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,7,9,9,7,7,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,156,156,156
  .db 156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,156,193,12,193
  .db 12,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,1,1,1,1,1,12
  .db 156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,193,1,12,1,1
  .db 193,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,193,193,193
  .db 156,156,156,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,13,13,9,9,9,9,9,9,9,9,145,1,1,1,12,193
  .db 193,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 13,9,9,9,13,13,13,13,13,9,9,9,9,9,9,9,145,1,193,193
  .db 12,193,193,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 223,13,13,9,13,223,223,223,223,13,13,9,9,9,9,9,12
  .db 12,12,12,12,12,156,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 13,13,13,13,13,13,13,13,13,13,13,9,13,9,9,9,156,193
  .db 193,12,12,193,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,13
  .db 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,9,1,193
  .db 193,145,156,145,145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,13,13
  .db 220,220,13,220,220,222,220,220,220,220,13,220,220,222,12
  .db 156,193,1,158,156,156,158,156,156,156,156,158,156,156
  .db 158,156,156,156,156,158,156,156,1,220,220
  .db 14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12
  .db 14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14
  .db 14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14,14,14,12,12,12,12
  .db 14,14,14,14,12,12,12,12,14,14,14,14,12,12,12,12,14,14
  .db 14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12
  .db 14,14,14,14,12,14,14,12,14,14,14,14,12,14,14,12,14,14
  .db 14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1,14,12,236,14,14,12
  .db 12,1,14,12,236,14,14,12,12,1,14,12,236,14,14,12,12,1

FrameTwoChar:

  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,184,166,160,160,233,224,160,160,184,166
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,224,165,224,176,168,176,161,233,224,165,224
  .db 228,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,184,172,161,160,161,160,160,160,160,162,161,160,161
  .db 170,184,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,224,182,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,224,165,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,229,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,169,176,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,169,176,228,248,176,160,240,246,160,160,176,248,176,160
  .db 240,172,161,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,169,172,176,163,175,225,162,175,167,160,176,163,175
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,162,169,172,161,163,172,172,163,162,169,172
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 175,163,163,239,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245
  .db 240,240,242,241,243,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191,234
  .db 181,235,252,239,160,235,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,245,176
  .db 239,160,244,240,224,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,191
  .db 242,179,239,187,191,171,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 176,160,160,160,160,224,175,175,176,160,160,160,160,160,160,160,183,160
  .db 160,160,160,253,235,191,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 170,184,176,160,183,161,160,160,170,184,176,160,160,160,160,160,161,160
  .db 175,161,168,171,174,254,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 164,160,234,184,161,184,164,162,164,160,234,160,160,160,160,160,160,160
  .db 165,160,160,160,234,167,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160
  .db 160,160,160,160,160,160,160,160,160,160,160,229,167,180,160,160,253,179
  .db 228,160,160,234,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,224,167
  .db 160,160,160,160,160,160,160,160,160,160,160,160,160,171,235,160,160,253
  .db 176,240,252,244,240,240,160,160,160,160,160,160,160,160,160,160,160,160,160,184,165,160
  .db 240,240,176,240,240,240,240,240,240,240,176,240,240,240,167,175,245,160
  .db 175,175,175,175,175,175,175,175,191,175,175,175,175,175,175,175,191,175,175,249,240,240
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160
  .db 181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160,160,160
  .db 189,175,175,181,160,160,160,160,189,175,175,181,160,160,160,160,189,175,175,181,160,160
  .db 160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160
  .db 181,160,160,181,160,160,160,160,181,160,160,181,160,160,160,160,181,160,160,181,160,160
  .db 240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239,240,187
  .db 165,160,160,183,187,239,240,187,165,160,160,183,187,239,240,187,165,160,160,183,187,239
 
FrameTwoCol:

  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,7,7,7,7,9,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,7,103,103,103,103,7,7,9,7,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,7,7,7,103,7,7,7,7,7,7,7,103
  .db 7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,7,103,103,103,7,103,103,7,7,103,103,103,7
  .db 7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,7,7,103,103,7,103,103,103,7,7,103,103
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,7,9,9,7,7,9,9,9,7
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,151,151,151,145
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,151,23,23,23,23,151
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,193,193,193,193,193
  .db 1,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,65,193,1,193,193,65
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,145,23,23,23,151,145,145
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 9,9,9,9,9,9,67,67,9,9,9,9,9,9,9,9,145,1,1,1,7,23,23,193,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 3,9,9,9,3,3,3,3,3,9,9,9,9,9,9,9,145,1,23,23,23,23,23,145
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 35,3,3,9,3,35,35,35,35,3,3,9,9,9,9,9,1,1,23,7,7,7,151,145
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9
  .db 3,3,3,3,3,3,3,3,3,3,3,9,3,9,9,9,145,23,23,7,7,23,1,1,9
  .db 9,9,9,9,9,9,9,9,9,9,9,9,9,9,3
  .db 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,9,1,23,23,145,151,145,145
  .db 145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,67,3
  .db 131,131,3,131,131,19,131,131,131,131,3,131,131,19,8,152
  .db 129,1,145,152,152,145,152,152,152,152,145,152,152,145,152,152,152,152,145,152,152,236,131,131
  .db 1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1
  .db 1,8,1,1,1,1,8,1,1,8,1,1
  .db 1,1,8,8,8,8,1,1,1,1,8,8,8,8,1
  .db 1,1,1,8,8,8,8,1
  .db 1,1,1,8,8,8,8,1,1,1,1,8,8,8,8,1,1
  .db 1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8
  .db 1,1,1,1,8,1,1,8,1,1,1,1,8,1,1,8,1,1
  .db 1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231,1,8,129,1,1,8,8
  .db 231,1,8,129,1,1,8,8,231,1,8,129,1,1,8,8,231

.END


 

I haven't deciphered what he is doing yet, and the stuff going into and out of the stack is confusing to me, but it works - so I will incorporate it into my code output.

VFlicker_Mario.BIN

Link to comment
Share on other sites

Man... wow.... these are pretty good...

 

Here is the converter. You can open any 320x192 BMP file and convert it. It takes a LOOOOONG time - and I don't have a way right now to make it any faster. Boxel is faster than full character set, but, still slow. Just run the program, minimize it and play your favorite game - ha! The results are really cool - I am so happy with the converter...

 

Check it out and post your own results!

 

post-20571-129740169519_thumb.jpg

post-20571-12974016968_thumb.jpg

post-20571-129740169814_thumb.jpg

 

I'll post more BIN files as I create them... please tell me you love it?

BMPFlick.zip

lena.bin

poptitle.bin

tron.bin

  • Like 1
Link to comment
Share on other sites

I am really happy with the results I am getting from the converter. I hate that it is so slow, so what I am doing is creating multiple copies of the program in different folders and running them. Anyway, I forgot to tell you all that after you run the converter, you have to run make.bat to create the bin file AND I also posted the program with a bug that doesn't create the proper make file. So, here is the corrected converter AND a new set of carts for you to enjoy!

BMPFlick.zip

blizzard.bin

britney.bin

fred.BIN

keeley.bin

thongass.bin

voltron.bin

xbox360.bin

Link to comment
Share on other sites

I'll post more BIN files as I create them... please tell me you love it?

Wow, these look great! I've had an incredibly hectic week, but I'll burn some ROMs as soon as I get the chance so I can try these on the real hardware. I also need to finish building your SuperCart I boards so you can do the same! ;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...