Table of Contents
Some short notes of how I envision the audio/video of NeoCore to be.
This means that the following might, and most likely will, change at anytime.
Video
Resolution
To find an optimal base resolution is a struggle. There is alot of parameters to consider.
After some thinking I opted for the 640 x 480 in 4:3 as a reasonable compromise, and 640 x 360 in 16:9. This would be supperior for the era, but not crazy so. It is also compatible with the Commander X16 in 4:3.
Bitplanes, modes and colors
There should be a way to use either pure text, tiles, photos or bitmaps. Text in 2 colors, and tiles should have 1, 2, 4 or 8 bitplanes, for 2, 4, 16 or 256 colors. The same goes for full bitmap.
The Comodore machines redefined the normal character set for custom graphics. That is a bit to restricted. The CPU is a bit to slow to really use a full bitmaped display, so some form of tiling is needed.
One color should be reserved for transparancy. With a selectable bottom color.
There should also be a possibility to use multiple and overlaid modes with different scrolling in X and Y direction. Atleast 4 seams a good number.
All modes should have defineable start in X/Y and Width/Height. This lowers memory requirements for stationary information such as score, lives etc in games.
On top of this we also have 64-256 sprites with different Z-priority.
Tiles
They should have a standard size of 8 x 8, 16 x 16, 24 x 24 and 32 x 32.
Text
We also want to have a seperate text mode with changable fonts.
- The text should have different textcolors and background colors.
- There should be a option for reverse, underline and flashing.
- There should be support for umlauts and descenders. So a 12 x 16 cell, 8 x 12 or similair would be good.
Photos
The FPGA also renderes photos encoded in JPG. This can be for photos, background or cut-away scenes. With sub 40ms rendering also video should be doable.
Bitmap
Bitmaps is also drawn in 1, 2, 4 or 8 bitplanes.
Sprites
They should have a standard size of 8 x 8, 16 x 16, 24 x 24 and 32 x 32. Colors are 2, 16 and 256.
Palette
The Palette is 4bits per color, 12 bits, or 4096 colors. There should be alternate palettes or some form of indexing to be able to reuse tiles and sprites but with different colors.
Audio
Audio should come from 4-8 sound generators, with left, right or both outputs. Waveforms are sinus, square, sawtooth, triangle and noise or a combination. Frequency and pulse width can be set. The volume uses a standard ADSR (Attack, Decay, Sustain, and Release) mode, with an overall volume controll.
There will also be 2-4 channels of wavetable 8-bit PCM sound. Again routed to left, right or both outputs.
Options to consider is built-in general MIDI with/without a hardware sequencer.
There will be no extra on-board soundchips. Mostly due to that candidates are hard and/or expensive to source. However, all the expansion pods have Audio input.