We're using cookies to ensure you get the best experience on our website. More info
Understood
@dasiRegistered August 8, 2007Active 4 months, 2 weeks ago
188 Replies made

Ignore me, I hadn’t initialised the overplane char so I was getting different results in RB vs hardware.

That fixed it. I didn’t play very far, but I’ve attached a map file for Mario’s Tennis – seemed like a good place to start.

I’m running XP Pro SP3 on both machines. If I press T to dump the map file, the program crashes immediately. Turning off DEP has no effect.

The audio sounds great, nice work.

I tried reality_boy_rommap.exe on two different computers, but it crashes when I close the program. I get a data execution prevention warning, followed by a “x has encountered a problem…” error message.

Yep, that’s it. I only had a brief look at it in the shop.

Apparently the book is a collection of articles previously published in the monthly magazine.

No, but skip to 9:37 here: http://www.youtube.com/watch?v=FEBNLpbszN4

There’s a not-bad VB article in Retro Gamer magazine’s Videogame Hardware Handbook, published last December. It quotes Chris, and mentions Reality Boy, Planet Virtual Boy, and Flash Boy.

There are still copies in newsagents, and it’s also available to buy online:

http://www.imagineshop.co.uk/item_show.php?itemID=1382&action=maglist

http://www.youtube.com/watch?v=MYDSv8FL8K8

Can the method be used in a 16 shade still picture?

Not really, because there are still only three shades, and their brightness can only be changed every four vertical lines.

It works by setting the repeat values in the column table to change the brightness every four vertical lines. Normally these are set to 0 (1 repeat).

#define ct_mem_left    ((u16*)0x0003DC00)
#define ct_mem_right   ((u16*)0x0003DE00)

// repeat values. 96 entries, range 0 - 15 (1 to 16 repeats)
u16 rpts[96]=
{ . . . };

int ii, lcta, rcta;

// max brightness level = (2+4+2)*16 = 128
REG_BRTA= 2;
REG_BRTB= 4;
REG_BRTC= 2;

// get column table address
lcta= REG_CTA & 0xFF;
rcta= REG_CTA >> 8;

// set repeat values
for(ii=0; ii<96; ii++)
{
    ct_mem_left[lcta-ii] |= rpts[ii]<<8;
    ct_mem_right[rcta-ii] |= rpts[ii]<<8;
}

the left has the same plus some flickering dithered tiles...

Yeah, I need to check for changes to the CTA in case the screens haven't stabilised when start is pressed.

Congrats guys, you two got top marks from me. :thumpup:

Instructions: run on hardware, press start button.

dasi

Attachments:

:thumpup: Nice, though it looks like you’ve got your work cut out getting it working on both screens at a playable framerate.

IIRC the GBA version ran at 120×80 scaled-up to 240×160, whereas here it looks like it’s running at 320×224. Maybe you could draw each screen at 160×112 to an array of 280 characters, and display them as affine backgrounds scaled up to 320×224 ?

dasi

The guy with the guitar is Kyle Justin: http://kylejustinmusic.com/

grit will compress data with LZ77, huffman, or run-length encoding, but we’d need to write our own decompression routines for the VB.

> I used up ROM (and RAM) space up to the last KB.

Are you compressing your graphics/level data?

Nice work, Chris. :thumpup:

I’ve added the 12 bitstring instructions to the patch. Download link in OP.

Yackom wrote:
I pm’d MineStorm he hasn’t got back with me yet.

Try contacting him via his site: http://www.vectrex.biz/

  • This reply was modified 15 years ago by dasi.

Okay, sent. Thanks, Matthew.