mirror of
https://github.com/holub/mame
synced 2025-06-30 16:00:01 +03:00
tasc: umask doesn't work on ram/share (nw)
This commit is contained in:
parent
5d22854790
commit
4e9ec5a278
@ -10,13 +10,14 @@ on PC, however the prototype Gideon 2.1(internally: Rebel 2.01) is not.
|
||||
|
||||
R30 hardware notes:
|
||||
- ARM6 CPU(P60ARM/CG) @ 30MHz
|
||||
- 256KB ROM, 512KB program RAM, 128KB permanent RAM
|
||||
- 256KB system ROM (2*27C010)
|
||||
- 512KB program RAM (4*MT5C1008), 128KB permanent RAM (KM681000ALP-7L)
|
||||
- Toshiba LCD drivers (3*T7778A, T7900, T6963C), TC5565AFL-15
|
||||
- SB20 or SB30 "Smartboard" chessboard with piece recognition
|
||||
|
||||
R40 hardware notes:
|
||||
- ARM6 CPU(VY86C061PSTC) @ 40MHz
|
||||
- +512KB extra RAM
|
||||
- +512KB extra RAM piggybacked
|
||||
- rest same as R30
|
||||
|
||||
Documentation for the Toshiba chips is hard to find, but similar chips exist:
|
||||
@ -40,6 +41,7 @@ TODO:
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/arm/arm.h"
|
||||
#include "machine/bankdev.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/smartboard.h"
|
||||
#include "machine/timer.h"
|
||||
@ -87,6 +89,7 @@ private:
|
||||
output_finder<2> m_out_leds;
|
||||
|
||||
void main_map(address_map &map);
|
||||
void nvram_map(address_map &map);
|
||||
|
||||
bool m_bootrom_enabled;
|
||||
uint32_t m_mux;
|
||||
@ -170,7 +173,13 @@ void tasc_state::main_map(address_map &map)
|
||||
map(0x00000000, 0x0000000b).r(FUNC(tasc_state::bootrom_r));
|
||||
map(0x01000000, 0x01000003).rw(FUNC(tasc_state::p1000_r), FUNC(tasc_state::p1000_w));
|
||||
map(0x02000000, 0x0203ffff).rom().region("maincpu", 0);
|
||||
map(0x03000000, 0x0307ffff).ram().share("nvram").umask32(0x000000ff);
|
||||
map(0x03000000, 0x0307ffff).m("nvram_map", FUNC(address_map_bank_device::amap8)).umask32(0x000000ff);
|
||||
}
|
||||
|
||||
void tasc_state::nvram_map(address_map &map)
|
||||
{
|
||||
// nvram is 8-bit (128KB)
|
||||
map(0x00000, 0x1ffff).ram().share("nvram");
|
||||
}
|
||||
|
||||
|
||||
@ -217,7 +226,8 @@ void tasc_state::tasc(machine_config &config)
|
||||
|
||||
TIMER(config, "disable_bootrom").configure_generic(FUNC(tasc_state::disable_bootrom));
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_NONE);
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
ADDRESS_MAP_BANK(config, "nvram_map").set_map(&tasc_state::nvram_map).set_options(ENDIANNESS_LITTLE, 8, 17);
|
||||
|
||||
LM24014H(config, m_lcd, 0);
|
||||
m_lcd->set_fs(1); // font size 6x8
|
||||
|
Loading…
Reference in New Issue
Block a user