-
-
Notifications
You must be signed in to change notification settings - Fork 0
TMS9918 VDP display modes
The basic TMS9918 features 3 display modes:
- Text Mode: 240×192 pixels total, as 40×24 tiles, pulled from 1 tile set of 256 6×8 pixel characters. The entire tile set has a 2-color limitation. This mode doesn't support sprites.
- Graphic Mode 1: 256×192 pixels total, as 32×24 tiles, pulled from 1 tile set of 256 8×8 pixel characters. Each group of 8 tiles in the tile set has a 2-color limitation. For example, the tiles "0" through "7" will all have the same color attributes.
- Multicolor Mode: 256×192 pixels total, 64×48 changeable virtual pixels, as 32×24 semi-graphics characters. These semi-graphics are defined in a special character set of 256 characters defined by 2×2 "fat-pixels". There are 4×4 pixels in each fat-pixel, but the pixels within a fat-pixel cannot be individually defined, although each fat-pixel can have its own color, hence the name of this mode (Multicolor). This mode is very blocky, and rarely used.
When designing any software, consider only these modes, as they exist in all variants and successors of the Texas Instruments TMS9918 Video Display Processor. This is intended for compatibility with all TMS9918 compatible Video Display Processors.
- SDK
- Important system files
The boot.py file
The main.py file
Libraries
- MCU
What is MicroPython?
How to install MicroPython
- Video
TMS9918 compatible VDP parts
TMS9918 VDP display modes
Color palette
Video modes
Video adapters
MGB file format
- Video API
vdp_set_bdcolor
vdp_print
vdp_cls
vdp_mset
vdp_textcolor
vdp_sprite_set_position
vdp_text_wrap
set_write_address
write_byte_to_VRAM
vdp_init
- Audio
Music related troubleshooting
AY-3-8910 compatible PSG parts
How to flash LPC810 or LPC812 MCU
How to flash ATmega8, ATmega48, ATmega88, ATmega168 or ATmega328
AY-3-8910
Konami SCC
WT588D
Clock sources
SoundCortex limitations
VGM file format
WT588D's BUSY output
- Audio API
music.reset
music.load_vgm
music.tick
music.set_vol
music.play_freq
music.play_notes
voice.send_threelines
voice.send_oneline
- Input
PISO shift register compatible gamepad parts
PS2 keyboard scancodes
- Input API
- Memory
Memory related troubleshooting
Video RAM
- Memory API