msx-karts 1st playable demo

Pagina 4/7
1 | 2 | 3 | | 5 | 6 | 7

Van inchl

Resident (33)

afbeelding van inchl

23-09-2020, 18:22

Nice nice!
Have you considered using outd to mirror stuff in stead of using a rotated/mirrored copy?

Van Maggoo

Paragon (1205)

afbeelding van Maggoo

23-09-2020, 18:44

Amazing! These got to be your characters: https://youtu.be/Jgp-XyjvuCw

Van salutte

Expert (111)

afbeelding van salutte

23-09-2020, 21:43

You got me thinking for a while! But I think I do not get any useful mirroring options:

The original code was:

pop de
add hl, de
ld a, (hl)
out (0x98), a

but did find out that outi makes it 2 cycles faster. The increment is actually a side-effect that I need to compensate on the lockup table.

To perform some mirroring I would need to replace the add hl, de for a "sub hl, de", but this instruction does not exist :S

Van jltursan

Prophet (2360)

afbeelding van jltursan

24-09-2020, 00:37

You can always do:

and a
sbc hl,de

Smile

Van turbor

Champion (454)

afbeelding van turbor

24-09-2020, 08:15

salutte wrote:

You got me thinking for a while! But I think I do not get any useful mirroring options:

The original code was:

pop de
add hl, de
ld a, (hl)
out (0x98), a

but did find out that outi makes it 2 cycles faster. The increment is actually a side-effect that I need to compensate on the lockup table.

In the texture map routine I made for my 3D engine I did the same. However my strategy was to have DE as a fixed coordinate in the map and then do a POP HL as an offset-value. This way I had an (easier to calculate) offset table and I could move DE around as origin in the texture. Due to the fact that you could POP HL all the time you can simply ignore the side effect of the OUTI.

Van salutte

Expert (111)

afbeelding van salutte

24-09-2020, 12:07

turbor wrote:

In the texture map routine I made for my 3D engine I did the same. However my strategy was to have DE as a fixed coordinate in the map and then do a POP HL as an offset-value. This way I had an (easier to calculate) offset table and I could move DE around as origin in the texture. Due to the fact that you could POP HL all the time you can simply ignore the side effect of the OUTI.

Indeed! this is way better! And allows to pick any subset of the transformation table! I'll convert the tables and everything to this format ASAP! Thanks!

Van ARTRAG

Enlighted (6462)

afbeelding van ARTRAG

24-09-2020, 14:44

salutte would it help you an arrangement of the characters in columns, instead of rows, in order to be able to work on adjacent VRAM addresses ?

Van Uninteresting

Master (177)

afbeelding van Uninteresting

24-09-2020, 21:12

Looks amazing. I hope you'll be able to create a great game around it, too.

Van JGM

Expert (84)

afbeelding van JGM

25-09-2020, 13:04

Wow! This is very impressive! Looks amazing, a little like F-nano 2 for MSX turbo-R, but then even better.
On a msx1... I'm speechless Cool

Van salutte

Expert (111)

afbeelding van salutte

25-09-2020, 14:28

I am cleaning the code, and migrating from the old modulelinker to megalinker, so that I can have space to add more stuff. I will change the loop from pop de to pop hl. Once this is done, I don't think it makes much difference if the tiles are organized as rows or as columns (as long as the lookup table is organized in the same way, it should not add any delay).

Pagina 4/7
1 | 2 | 3 | | 5 | 6 | 7