Abbaye des Morts MSX

Página 1/3
| 2 | 3

Por geijoenr

Champion (391)

Imagen del geijoenr

26-02-2018, 20:36

I have been working for some time (an rather slowly) in a game engine for MSX1, in order to test it I am making a port of Abbaye des Morts.

the source is in github and open for pull requests.


Login sesión o register para postear comentarios


Enlighted (6976)

Imagen del ARTRAG

26-02-2018, 21:57

For music you can try to adapt this player

Por geijoenr

Champion (391)

Imagen del geijoenr

26-02-2018, 23:06


Por jltursan

Prophet (2619)

Imagen del jltursan

27-02-2018, 19:42

Cool project!!

In your "vdp_fastcopy_nametable" function you're sending data to VDP too fast (that's why it only works in MSX2). You need to add a "NOP" after every OUTI and prolly it would work in MSX1 (you're under the minimum t-states to wait tho, YMMV). You can also wait until vblank but seems a bad solution except if you plan to build a VDP engine with an execution queue ready to work only when vblank arrives, maybe too complex for a initial release of your library Smile

Check this interesting thread:

Por Grauw

Ascended (10820)

Imagen del Grauw

27-02-2018, 20:42

Looks like fun!

Don’t miss the nice code snippet from the first post of that thread jltursan linked: loop: outi / jp nz,loop takes exactly 29 cycles. So this exactly matches the maximum transfer speed on screen 2. Handy!

Additionally, considering this loop:

        dec de
        ld a,d
        or e
        jr nz,vdp__copy_to_vram_loop

Rather than this 16-bit counter, by using two nested 8-bit loops and a tiny bit of math, using b and another register for the outer loop, you can get a faster loop, as described here. Like so:

    ld b,e          ; 16-bit counter (de) to two 8-bit counters (d, b)
    dec de
    inc d
    jp nz,vdp__copy_to_vram_loop
    dec d
    jr nz,vdp__copy_to_vram_loop

Given screen 2’s maximum transfer speed during active display, the extra speed of an unrolled loop is only useful if you plan to time your VRAM I/O in the VBLANK period, disable sprites, or code for V9938.

Finally, although it is fun to talk about, and good to know about these techniques, try not to get too absorbed by performance optimisation in places where it doesn’t really matter. Since as much as it is fun, it is also a huge time sink :). For me this is always a pitfall I try hard to avoid (and often fail), while I think in the end a finished product is what is most important.

Por FiXato

Scribe (1743)

Imagen del FiXato

27-02-2018, 20:58

First make it work, then make it better. Wink

Por alexito

Paladin (761)

Imagen del alexito

28-02-2018, 04:48

Excellent Game and excellent review:

Por geijoenr

Champion (391)

Imagen del geijoenr

18-05-2020, 17:38

I have made a bit of progress lately on the port:

I think pretty soon is going to be fully playable.

Por sfranck72

Resident (42)

Imagen del sfranck72

19-05-2020, 10:41

Good, eager to see more.
That would be a good game for MSX, I'm suprise there was no conversion before.

Por tfh

Prophet (3425)

Imagen del tfh

19-05-2020, 10:57

Love the graphic style Smile Looking forward to see more of it Smile

Por geijoenr

Champion (391)

Imagen del geijoenr

14-06-2020, 21:56

And another update:

the port is almost done. There are around one hundred small things to fix and some optimizations to do, but it may be ready for the msxdev deadline.

Página 1/3
| 2 | 3