WIP : @!#?@!

Talk about programming of homebrew games only.
User avatar
@username@
Posts: 335
Joined: Tue Oct 22, 2013 6:59 pm
Location: Scotland

WIP : @!#?@!

Post by @username@ » Sun Dec 07, 2014 5:30 pm

This is going to be one of those on-going things, which I will work on as time permits.

The progress and sources will be posted here, so feel free to improve where you can!

So here, we go

Session 1 - Finding the sound

To make the porting work easier, it seemed sensible to choose consoles with TMS9918 and SN76489. The game logic should be relatively easy to work out or adapt as needed.

I looked at the Sega SG1000, ColecoVision and TI99/4a versions of Q*Bert.

The SG1000 version is by far the weakest, having one row short on the pyramid, and third rate graphics and sound.

The ColecoVision and TI99/4a variants are very close to each other, although the TI99/4a version has slightly improved graphics.

The sounds / music on the ColecoVision and TI99/4a are the same! Granted, they are arranged in a different order, but each sound / music is the same. You can check this quickly by looking at the ROM on ColecoVision, which has the title tune at offset $177A, and TI99/4a has the exact match at GROM $9400.

The format of the sound, and how to decode it, is in the attached source code. There are 18 distinct sound / tunes.

The sound is stored with the lower 2 bits of the frequency divisor always 00. This does not sound "right" on the Creativision emulator, so I decided to use down-converted lookup tables.

That's it for session one. Next time I will be tracking down the graphics, and hopefully bringing Q*Bert, Coily, Ugg, Wrongway, Slick and Sam to the screen!
You do not have the required permissions to view the files attached to this post.
User avatar
Mobsie
Posts: 717
Joined: Fri Jun 13, 2008 10:38 am
Location: Weinheim, Germany

Re: WIP : @!#?@!

Post by Mobsie » Sun Dec 07, 2014 9:39 pm

Hi, thats great!
As you know i am back on CV programming after move to a new city because i setup a company in Luxembourg.
So i am with you on this great idea.
Br,
Mobsie
User avatar
MADrigal
Site Admin
Posts: 1270
Joined: Sun Sep 15, 2013 1:00 pm
Contact:

Re: WIP : @!#?@!

Post by MADrigal » Mon Dec 08, 2014 10:35 am

I would love to see Q*Bert on CreatiVision.

Feel free to grab and use the graphics I designed last year, if you want. :) Find if here:

viewtopic.php?f=19&t=92&start=20#p722
User avatar
@username@
Posts: 335
Joined: Tue Oct 22, 2013 6:59 pm
Location: Scotland

Re: WIP : @!#?@!

Post by @username@ » Mon Dec 08, 2014 10:59 pm

@Madrigal - Has the Jumping Cube project stalled completely? Maybe we can do a dual version?

Tonight I started looking at graphics. They are stored in an unusual, at least to me, form of run length encoding.

In pseudo-code, it's

Code: Select all

Read byte B from stream - Stop if equal to 255 (-1)
IF B > 0 THEN this is a count byte of literals - 1. Copy B+1 bytes as is from the stream.
IF B < 0 THEN this is a count byte of repeats - 1. Copy (B AND 127) + 1 repeats of the next byte in stream
Armed with this knowledge, I now have a dump of all characters and sprites. Sprites are 16x16, single colour.

The TI version has overlaid sprites to give Q*Bert eyes - I like it!

So, here's a quick PNG of the original Q*Bert logo from the SG-1000, running on my CSL emulator.

I intend to keep all BIOS/FW calls inline with the Creativision, which means it will run on Salora Manager and Laser 2001 too :)
You do not have the required permissions to view the files attached to this post.
User avatar
MADrigal
Site Admin
Posts: 1270
Joined: Sun Sep 15, 2013 1:00 pm
Contact:

Re: WIP : @!#?@!

Post by MADrigal » Mon Dec 08, 2014 11:03 pm

@username@ wrote:@Madrigal - Has the Jumping Cube project stalled? Maybe we can do a dual version?
As far as I remember, the Jumping Cube project has never started for real. I dont recall having tried any demo of it, or seen code excerpts from it. It should just be the graphic concepts I have designed...
User avatar
carlsson
Posts: 514
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: WIP : @!#?@!

Post by carlsson » Tue Dec 09, 2014 11:55 am

Well, in case anyone is interested, I started working on this type of game in August this year. I am in the middle of a routine to draw the pyramid, but of course it shouldn't prevent someone else to go ahead if they have the intentions.

For what it is worth, I never considered a perfect clone of Q*Bert, both due to I don't like to pay attention to details and for obvious legal reasons. Gottlieb supposedly have begun to revitalize the Q*Bert trademark in recent years, so one doesn't know how actively they seek to find unauthorized copies. As long you're only doing it as a hobby project you might be fine, but if the idea is to ever release it on cartridge, you might find yourself redoing the graphics and name.
User avatar
@username@
Posts: 335
Joined: Tue Oct 22, 2013 6:59 pm
Location: Scotland

Re: WIP : @!#?@!

Post by @username@ » Tue Dec 09, 2014 3:04 pm

carlsson wrote:Well, in case anyone is interested, I started working on this type of game in August this year. I am in the middle of a routine to draw the pyramid, but of course it shouldn't prevent someone else to go ahead if they have the intentions.
Good to know! The more the merrier in my opinion!

This evening I will attack the pyramid layout too - but mine will be very simple - hope to knock it up in an hour or so.
carlsson wrote:For what it is worth, I never considered a perfect clone of Q*Bert, both due to I don't like to pay attention to details and for obvious legal reasons. Gottlieb supposedly have begun to revitalize the Q*Bert trademark in recent years, so one doesn't know how actively they seek to find unauthorized copies. As long you're only doing it as a hobby project you might be fine, but if the idea is to ever release it on cartridge, you might find yourself redoing the graphics and name.
Personally, I am not worried about Sony Universal caring about my little project. There are thousands of others they would rather spend their time on.

My thinking behind this project was simply for me to learn about the different systems from the inside, using a game I like. Whereas others may find it tedious to single step code, Z80,6502 and TMS9900, I quite enjoy the learning curve - makes it fun!

I have no intention of putting it on a cartridge, unless (Shameless plug begins) of course it's a CSL cartridge - which means you can load anything anyways :) (Shameless plug ends)
User avatar
Mobsie
Posts: 717
Joined: Fri Jun 13, 2008 10:38 am
Location: Weinheim, Germany

Re: WIP : @!#?@!

Post by Mobsie » Tue Dec 09, 2014 3:50 pm

:D :D :D
User avatar
@username@
Posts: 335
Joined: Tue Oct 22, 2013 6:59 pm
Location: Scotland

Re: WIP : @!#?@!

Post by @username@ » Tue Dec 09, 2014 11:20 pm

OK! - we have pyramids.

The attached code is my proof of concept, that is, the idea works.

Hopefully, from it, it's very obvious that the cubes are just 3 rows of repeating column data.
You do not have the required permissions to view the files attached to this post.
User avatar
Mobsie
Posts: 717
Joined: Fri Jun 13, 2008 10:38 am
Location: Weinheim, Germany

Re: WIP : @!#?@!

Post by Mobsie » Wed Dec 10, 2014 1:09 pm

thank you very much, looks great. Will go now in the source code. I send you later my VBL based sprite routine with also the SAT rotate function to avoid 5th sprite flicker. Maybe help you.
Post Reply