UNIF/UNL-DripGame

From NESdev Wiki
Revision as of 00:19, 22 September 2014 by Zzo38 (talk | contribs) (Created page with "UNL-DripGame is a ASIC (actually, FPGA) mapper invented by Quietust for a single game. The iNES number is #4098. The UNIF name is "UNL-DripGame". ==Memory map== CPU: * $480...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

UNL-DripGame is a ASIC (actually, FPGA) mapper invented by Quietust for a single game.

The iNES number is #4098. The UNIF name is "UNL-DripGame".

Memory map

CPU:

  • $4800-$5FFF = Readable registers
  • $6000-$7FFF = PRG RAM
  • $8000-$BFFF = Switchable bank
  • $C000-$FFFF = Fixed to the last bank

Readable registers

$4800-$4FFF (Status)

[DSSS SSSS]
 |||| ||||
 |+++-++++---- Ready flag; $64 if ready
 +------------ Switch

All other registers should not be touched until it is ready.

$5000-$57FF (Sound channel 0 status)

[FE.. ....]
 ||
 |+----------- Buffer is empty
 +------------ Buffer is full

$5800-$5FFF (Sound channel 1 status)

Similar to $5000 but for the second channel.

Writable registers

All of these registers are mirrored at $8000-$BFFF; the low four bits select the register number.

$8000 (Sound channel 0 silence register)

Writing anything silences channel 0 and clears the buffer.

$8001 (Sound channel 0 data)

Writing data inserts it into the buffer.

$8002 (Sound channel 0 low period)

[PPPP PPPP]

Specify low 8-bits of period of channel 0.

$8003 (Sound channel 0 high period)

[VVVV PPPP]
 |||| ||||
 |||| ++++---- High 4-bits of period
 ++++--------- Volume control

Specify high 4-bits of period of channel 0, and volume control.

$8004 (Sound channel 1 silence register)

Writing anything silences channel 1 and clears the buffer.

$8005 (Sound channel 1 data)

Writing data inserts it into the buffer.

$8006 (Sound channel 1 low period)

[PPPP PPPP]

Specify low 8-bits of period of channel 1.

$8007 (Sound channel 1 high period)

[VVVV PPPP]
 |||| ||||
 |||| ++++---- High 4-bits of period
 ++++--------- Volume control

Specify high 4-bits of period of channel 1, and volume control.

$8088 (Low IRQ register)

[XXXX XXXX]
 |||| ||||
 ++++-++++---- Low 8-bits of IRQ value

$8089 (High IRQ register)

[EXXX XXXX]
 |||| ||||
 |+++-++++---- High 7-bits of IRQ value
 +------------ Enable flag

IRQ is automatically disabled when it is overflow.

Audio