05-01-2023, 03:50 AM (This post was last modified: 05-01-2023, 04:07 AM by Dr.Wily.)
Hello,
I search for an information and I can't find solid answer. Like others tiles engines based consoles I wonder how many tiles the Neogeo Pocket (the B&W and "color" version) can store in his VRAM ?
For example Gameboy can handle 384 unique tiles in his VRAM, Game Gear 448... but I can't find this information for NGP (and Wonderswan).
Is someon has the answer here ?
Thanks
Tiebreaker questions :
- how many sprtie per line NGP can handle ?
- what are the usable sprite sizes ?
- what is the max sprite size (8x8 ?) ?
- how many diferent sprite size can be displayed on screen ?
05-02-2023, 01:56 PM (This post was last modified: 05-24-2023, 02:09 AM by winteriscoming.)
256 512 unique tiles in tile RAM. Scroll planes and sprites pull from these tiles.
I'm not sure if there is a limit to number of sprites per line. I've never hit it.
Sprites are all 8x8. There is hardware supported sprite chaining, where sprites can be grouped together so position can be managed as if it were one sprite.
Since they are all 8x8 sprites, that's the size you're working with. There are 64 sprites total.
05-03-2023, 01:36 AM (This post was last modified: 05-03-2023, 01:43 AM by winteriscoming.)
I tested 64 sprites on a line in the attached rom. It has 2 sets of 32 sprites, each set with its own color. In a set, they are spaced 2 pixels apart. When overlapping, one set is offset by 1 pixel to the right, such that there are 64 sprite spaced out 1 pixel each on the line. Use up/down to move one set. It appears to me, at least in an emulator, that it's handling all 64 sprites on a line just fine.
05-04-2023, 06:01 PM (This post was last modified: 05-04-2023, 06:11 PM by Dr.Wily.)
Oh ! thank for that.
NGP have (like the AES/MVS system actualy) impressive sprite spec.
In a nutshell there is 2 scrollable layer + 64 sprite at the same time on one line. Very impressive !
Plus the sound part with it's 10 voice is impressive too ! I have a question about it.
What is the maximum frequency that the 2 6 bits DAC can render ?
I'm not personally familiar with the details of the DACs, but somewhere around here is a udamc example by mic_ for playing PCM samples.
Much of the sound is driven by a unique version of the Z80 processor. That processor, as far as I know is limited to 3 square wave tone channels and one noise channel. That means 4 total simultaneous channels playing at once.
I'm not sure if your number for 10 voices is referring to the capabilities of the commercial SNK driver where it can store and use pre-defined voices/noise macros that can be used during tone/noise playback, but that's simply a feature of the driver in how it generates sound on the Z80. I have personally written a sound driver for NGPC that can play VGM files composed for SMS, and in the tracker software I can define more than 10 instruments/macros as they only impact the data that is output. In this driver, the Z80 only recieves the raw instructions for its channels and has no awareness of macros.
05-06-2023, 01:09 AM (This post was last modified: 05-06-2023, 01:14 AM by winteriscoming.)
(05-05-2023, 11:21 PM)Dr.Wily Wrote: The 10 voices or channels is, AFAIK, distributed this way :
- 2 clones of SN76489 with 4 channels each for a total of 6 square waves and 2 noises channels
- Two 6 bits DAC.
Of course, each channel of the SN76489 can play one note at time.
I think there is a common misconception that NGPC has what amounts to 2 independent SN76489 chips. This is not accurate as far as I can tell. I have worked on an audio driver for this chip and we have the ability to address volume commands to a left and right register, but I don't think it is possible to play one note on channel 1 to the left and another note simultaneously on channel 1 to the right.
Even though we have stereo, it's still just 4 channels on the Z80.
That is based on what I have seen with getting VGM files to play on the Z80. Having said that, there are no music trackers for SMS or NGPC that I'm seeing that support composing in a way that you would send a different note to left and right registers simultaneously.
Probably the best test to confirm is to write a quick driver that attempts to send a different note to left/right simultaneously on the same channel and see if it's just one note or 2 playing. I may be able to put that test together.
Quote:an enhanced SN76489 derivative. same 4 channels, but with stereo (soft panning!) and noise frequency being fully independent of channel 3's. this chip was used in Neo Geo Pocket.
I put together a VGM test where I told it to write one note to channel 1 in the left register and a different note to channel 1 in the right register in the same frame. Only tone writes to the left register have any impact. If I only write a tone to the right register and not the left, I get what I gather is the default tone. As far as I can tell, there is no way to have 8 simultaneous tones playing on this chip. It's just 4 with some stereo panning options.
Now, I tested in this the emulator named vdmgr, so it is possible they don't have the correct implementation for the chip, but vdmgr's behavior is aligning with my expectations, and it aligns with the way that Furnace is allowing for composition for NGP.
I suppose to obtain the stereo two SN76489 is needed. One for left and another for right for the same channel.
I think, channel 1 of the first SN76489 is dedicated to left channel and channel 1 of the second sn76489 is dedicated to right and so on... To play sound on left and right (center) we need to use both SN76489
On this video we clearly see 8 channels but grouped by two for stereo. It' a wierd implementation of the stereo. Using one chip per channels and wasting 4 voices.