msx-karts 1st playable demo

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

By inchl

Resident (33)

inchl's picture

23-09-2020, 18:22

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

By Maggoo

Paragon (1204)

Maggoo's picture

23-09-2020, 18:44

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

By salutte

Expert (108)

salutte's picture

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

By jltursan

Prophet (2316)

jltursan's picture

24-09-2020, 00:37

You can always do:

and a
sbc hl,de

Smile

By turbor

Champion (446)

turbor's picture

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.

By salutte

Expert (108)

salutte's picture

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!

By ARTRAG

Enlighted (6443)

ARTRAG's picture

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 ?

By Uninteresting

Master (167)

Uninteresting's picture

24-09-2020, 21:12

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

By JGM

Expert (70)

JGM's picture

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

By salutte

Expert (108)

salutte's picture

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).

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