Mapping Output Not Whats Expected

Ask anything your want about Megadrive/Genesis programming.

Moderator: BigEvilCorporation

Post Reply
SegaDev
Interested
Posts: 19
Joined: Sat Jul 11, 2015 4:09 am

Mapping Output Not Whats Expected

Post by SegaDev » Mon Jul 13, 2015 8:34 am

I am creating my first full screen map for a music game similar to final fantasy theatrhythm without the rpg aspect. It will be mainly ddr like and you can read more about it here. Anyways for some reason i mapped 3 rows of the same tile using the same length and for some reason only the first row is fully displayed. The second row is nonexistent and the third row is cut off. Here is a link to the source code for reference. Any assistance would be greatly appreciated.

Sincerely,

segaDev

KanedaFr
Administrateur
Posts: 1132
Joined: Tue Aug 29, 2006 10:56 am
Contact:

Post by KanedaFr » Mon Jul 13, 2015 3:47 pm

hello (and welcome here!),

If i load the rom in GensKmod then open the plane Explorer, I notice the 3 rows are there

First one is at 0, 10
Seconde one is at 40, 15
Thirs is at 56,21 (and so contine after 8 tiles to 8,22)


So, 2 possibilities :
- you create a 64x32 planes by mistake to handle 40tiles with but forgot to reset y to after reaching x=40
- your map is wrong (52x52) ?

ASM isn't my cup of tea so I really don't know if it comes from your LoadMapPlaneA func or not, sorry


good luck with your game !

If you foudn a way to sync buttons with music, I'm interested !

SegaDev
Interested
Posts: 19
Joined: Sat Jul 11, 2015 4:09 am

Post by SegaDev » Tue Jul 14, 2015 3:39 am

KanedaFr wrote:hello (and welcome here!),

If i load the rom in GensKmod then open the plane Explorer, I notice the 3 rows are there

First one is at 0, 10
Seconde one is at 40, 15
Thirs is at 56,21 (and so contine after 8 tiles to 8,22)


So, 2 possibilities :
- you create a 64x32 planes by mistake to handle 40tiles with but forgot to reset y to after reaching x=40
- your map is wrong (52x52) ?

ASM isn't my cup of tea so I really don't know if it comes from your LoadMapPlaneA func or not, sorry


good luck with your game !

If you foudn a way to sync buttons with music, I'm interested !
Thanks for the encouraging words and warm welcome. Yes i downloaded GensKMod and noticed it myself. Whats weird is after reducing the size of the map, the problem still persists. As far as my map loading code, i am actually using a framework by Big Evil Corporation so it's not my code, but it should work correctly. I am attaching a link to the latest version of my source code for reference with the fixed map size. Any assistance in this matter would be greatly appreciated.

Sincerely,

SegaDev

BigEvilCorporation
Very interested
Posts: 209
Joined: Sat Sep 08, 2012 10:41 am
Contact:

Post by BigEvilCorporation » Tue Jul 14, 2015 8:24 pm

Hello and welcome, SegaDev!

The problem seems to be a combination of my unfinished framework, some gaps in my teaching, and some confusion with the number of rows/columns in the map.

I've expanded the rows/cols to 64x32 (you had 40x30 in there), and updated to the most recent version of my framework (loads of bug fixes, working set of VDP regs, and an up-to-date LoadMapPlaneA routine which accounts for all the bits in the address instead of just 1 word's worth).

The versions of my framework out in the wild are far from finished I'm afraid, I'll provide an official release with some docs once I'm satisfied it's good enough for the general public :)

Here's the working source:
https://www.mediafire.com/?e9d93ro6kcjxvqj

Tested with Regen, and on a MegaCD devkit:

Image
A blog of my Megadrive programming adventures: http://www.bigevilcorporation.co.uk

DarkMorford
Interested
Posts: 15
Joined: Tue Mar 17, 2015 4:09 pm
Location: Redmond, WA

Post by DarkMorford » Wed Jul 15, 2015 1:38 am

BigEvilCorporation wrote:Hello and welcome, SegaDev!

The problem seems to be a combination of my unfinished framework, some gaps in my teaching, and some confusion with the number of rows/columns in the map.

I've expanded the rows/cols to 64x32 (you had 40x30 in there), and updated to the most recent version of my framework (loads of bug fixes, working set of VDP regs, and an up-to-date LoadMapPlaneA routine which accounts for all the bits in the address instead of just 1 word's worth).

The versions of my framework out in the wild are far from finished I'm afraid, I'll provide an official release with some docs once I'm satisfied it's good enough for the general public :)

Here's the working source:
https://www.mediafire.com/?e9d93ro6kcjxvqj

Tested with Regen, and on a MegaCD devkit:

<snip>
I am so freaking jealous that you have one of those! Any chance you could upload the docs/tools for it? I bet there's some stuff in there that'll help with my BIOS disassembly. >_>

(Also, where did you get it, and how much did it set you back? Kinda want to look into getting one myself...)

BigEvilCorporation
Very interested
Posts: 209
Joined: Sat Sep 08, 2012 10:41 am
Contact:

Post by BigEvilCorporation » Wed Jul 15, 2015 9:00 am

DarkMorford wrote:
I am so freaking jealous that you have one of those! Any chance you could upload the docs/tools for it? I bet there's some stuff in there that'll help with my BIOS disassembly. >_>

(Also, where did you get it, and how much did it set you back? Kinda want to look into getting one myself...)
AssemblerGames.com is your friend for the hardware side - all of the docs and manuals are there somewhere, plus a marketplace subforum where you occasionally find these kinds of things if you're lucky. It might be worth messaging some of the prolific sellers on there to see if they can source one out, it's no easy task but they're more experienced than I at hunting these things down.

Most of the docs are specific to the SNASM2 interface card and software, unfortunately there's not a lot about the Cross Products MegaCD itself.

It's taken me around 4 years to find all the pieces of this, and figure out how to use it. Complete working units are so, so rare :(
A blog of my Megadrive programming adventures: http://www.bigevilcorporation.co.uk

SegaDev
Interested
Posts: 19
Joined: Sat Jul 11, 2015 4:09 am

Post by SegaDev » Fri Jul 17, 2015 6:31 pm

BigEvilCorporation wrote:Hello and welcome, SegaDev!

The problem seems to be a combination of my unfinished framework, some gaps in my teaching, and some confusion with the number of rows/columns in the map.

I've expanded the rows/cols to 64x32 (you had 40x30 in there), and updated to the most recent version of my framework (loads of bug fixes, working set of VDP regs, and an up-to-date LoadMapPlaneA routine which accounts for all the bits in the address instead of just 1 word's worth).

The versions of my framework out in the wild are far from finished I'm afraid, I'll provide an official release with some docs once I'm satisfied it's good enough for the general public :)

Here's the working source:
https://www.mediafire.com/?e9d93ro6kcjxvqj

Tested with Regen, and on a MegaCD devkit:

Image
Thanks for the updated library and fixing the code. I am jealous too that you have such an awesome piece of dev kit there. I was wondering if it was ok to upload my source code to bitbucket so others can learn from it. Of course that means i would have to include the library i am using, and since you said you didn't want to release it publicly in was wondering if i could at least post it with a note along the links that it's not complete yada yada yada, updates can be found at bigevilcorporation.co.uk? Any assistance in this matter would be greatly appreciated.

Sincerely,

SegaDev

BigEvilCorporation
Very interested
Posts: 209
Joined: Sat Sep 08, 2012 10:41 am
Contact:

Post by BigEvilCorporation » Mon Jul 20, 2015 4:34 pm

SegaDev wrote:I was wondering if it was ok to upload my source code to bitbucket so others can learn from it. Of course that means i would have to include the library i am using
That's fine, it's there for sharing! That version you have now is okay, not perfect but okay. I'll provide updates some time in the future.
A blog of my Megadrive programming adventures: http://www.bigevilcorporation.co.uk

Post Reply