Writing / Reading VRAM - noob questions

Страница 6/9
1 | 2 | 3 | 4 | 5 | | 7 | 8 | 9

By thegeps

Paragon (1062)

Аватар пользователя thegeps

16-12-2021, 21:39

Wow, cool!
So I suppose that you already code in some other hardware. You know how to implement game mechanics. So when you will improve your z80 coding (and msx hardware) you'll do great games. Keep it up!

By siudym

Resident (39)

Аватар пользователя siudym

17-12-2021, 09:42

I checked Meisei - an interesting emulator, it has a Pattern Table and Sprites preview which is very helpful. There is also a WRAM preview somewhere? Because I can't see it.

By aoineko

Hero (521)

Аватар пользователя aoineko

17-12-2021, 09:51

You can also check Emulicious.
Its visual debugger is very handy.

By Grauw

Ascended (10618)

Аватар пользователя Grauw

17-12-2021, 11:22

jltursan wrote:

OpenMSX has no MSX1 VRAM viewers, only MSX2 bitmapped modes can be inspected...

That used to be the case, but now there is a tile mode viewer:


And all memory can always be inspected via View / Add Debuggable Viewer even when there is no dedicated UI view for it with special visualisation.

By siudym

Resident (39)

Аватар пользователя siudym

18-12-2021, 14:06

I've been using Emulicious for a long time to emulate GameBoy and Master System ... I didn't notice that it emulates MSX too ... Evil

I have rewritten the MSX code on the Sega SG-1000 - because it is a very similar system, it only has 1KB WRAM:


By thegeps

Paragon (1062)

Аватар пользователя thegeps

18-12-2021, 19:32

I've converted one of my projects to SG-1000 too (except sounds, due to different psg)


There is the download link (from File-Hunter) in the comments

By siudym

Resident (39)

Аватар пользователя siudym

24-12-2021, 09:08

Another demo. Written today in my free Christmas time.
There are a lot of bugs because it's written quickly - I'll have to analyze / optimize the code next time.


Two questions:

1. Is there any library/engine for Music/SFX on MSX? (something similar to PSGLib on Sega or FamiTone on NES / Famicom).
2. When building a 48KB ROM in MSX, the only limitation will be the lack of MSX BIOS CALL'S or something more?

By gdx

Enlighted (5690)

Аватар пользователя gdx

24-12-2021, 09:25

2. The handling of the slots and interrupts must be well mastered.


Enlighted (6862)

Аватар пользователя ARTRAG

24-12-2021, 10:00

1. The best tool for sfx is this

The ASM player is included with the editor (and with tons of examples)

Be aware that IIRC the player expects to be interleaved with the music, thus it will not mute the channel after the sfx ends
You have to take care of this by yourself

By santiontanon

Paragon (1653)

Аватар пользователя santiontanon

24-12-2021, 17:32

Very nice second demo!! I like that the character knows to align itself if it's only a few pixels off, when you try to go down a path Smile

As for the questions:
1) For music/SFX you have two options: custom code (it's not that hard), or existing players. For SFX players, the one that ARTRAG recommended is very popular, so I think it's the best start! For Music, there's many options. For example, WYZPlayer, ArkosTracker, TriloTracker, etc. that have players. I usually use custom code, so, not sure which is best, but I played once with WYZPlayer and it's very easy to use: https://github.com/AugustoRuiz/WYZTracker

2) It depends on how do you set it up. There are two typical ways to set up 48KB ROMs: option 1: you kick the BIOS out altogether, and then you don't have access to BIOS functionality (if you are doing everything yourself, this might be ok, although maintaining 100% compatibility with the MSX standard could be tricky if that's something you want to aim for). Option 2: set the ROM as 32KB, and use the BIOS functionalities to access to the data in the first 16KB (e.g., "CALSLT"). This is what I usually do. I have a routine in the first 16KB that copies/decompresses whatever data I want from that page to RAM, and I call it using CALSLT. Then you don't need to worry about switching pages/slots, etc.

Страница 6/9
1 | 2 | 3 | 4 | 5 | | 7 | 8 | 9