Attempting using page 1 in screen 4 for name table only - not working

Door Bengalack

Expert (118)

afbeelding van Bengalack

16-03-2020, 22:23

I'm puzzled.

I'm using the great MSX2-Technical-Handbook from Konamiman

I am using screen 4 and everything works fine using default addresses for the different areas (Pattern Table, Name Table, Color Table, etc). It's all defaulted to page 0, or 0 - 0x3FFF.

Supposedly control register 2 controls the address of the name table.

R#2  | VDP(2)  | pattern name table

I suggest these variants:

#define                     SCR4_NAME_TABLE_ADDRESS_PAGE0       0x1800
#define                     SCR4_NAME_TABLE_ADDRESS_PAGE1       0x5800

I will then set register two like this:

VDPwrite( 2, myaddress>>10 );

This works nicely with 0x1800, but not with 0x5800. This acts and looks weird. Shouldn't it be possible to have parts of the working data in page 0 and just name table in page 1? Any tips?

Aangemeld of registreer om reacties te plaatsen

Van Dolphin101546015

Master (254)

afbeelding van Dolphin101546015

16-03-2020, 22:58

May be you need this before:

myaddress=SCR4_NAME_TABLE_ADDRESS_PAGE1;

Tested in Basic, 5800h working nice, VDP(2) value then equal 22.

Van Bengalack

Expert (118)

afbeelding van Bengalack

16-03-2020, 23:04

Thanks Dolphin. Yes, it should work. It's typical, you sit for a long time, and you can't figure what the problem is. Once you post, you get find out where the problem is.

I haven't fixed by problem. But I got it to work (as you did too). I replaced my optimized assembly functions with some plain ones, and then things worked. Too optimized? Smile

I just need to go back and see why my assembler routines work on 1800h and not 5800h!