New NOT WORKING machine

=======================
Microbee Premium Plus [Robbbert]
This commit is contained in:
Robbbert 2016-04-29 16:27:23 +10:00
parent 247a1bca50
commit f953d298a3
3 changed files with 33 additions and 2 deletions

View File

@ -20,6 +20,13 @@ from Brett Selwood and Andrew Davies.
The unemulated Matilda is a IBM XT clone fitted with a NEC V40, and has the
ability to emulate the 256TC as mentioned above.
The Premium Plus was a limited-edition kit from Microbee Systems, but we don't
have any technical info or schematic as yet. It starts up, keyboard works, disks
work much the same as a 128k or 256tc. It has 1024k of RAM but we do not know how
the extra RAM is selected. At this time it has 256k allocated and it seems happy enough.
The kit itself has an extra custom FPGA CPU board with memory-card slot, but there's
no info on it yet. We just emulate the Z80 portion.
Floppy formats:
- All disks are the standard CPCEMU 'dsk' format.
- Types are 9/13cm 40/80 track (single or double sided)
@ -1143,6 +1150,26 @@ ROM_START( mbee256 ) // 256tc
ROM_REGION( 0x0800, "attrib", ROMREGION_ERASE00 )
ROM_END
// Note: The bios rom is the only one confirmed to be in the machine. IC position numbers are unknown.
ROM_START( mbeepp ) // Premium Plus
ROM_REGION(0x40000, "rams", ROMREGION_ERASEFF)
ROM_REGION(0x5000, "roms", 0) // rom plus dummy area
ROM_LOAD( "pp.bin", 0x0000, 0x4000, CRC(33292300) SHA1(8ba32123ef1b3beffa797855a1de0ea2078d652a) ) // ver 1.0
ROM_REGION(0x4000, "pals", 0)
ROM_LOAD( "silver.u39", 0x0000, 0x4000, CRC(c34aab64) SHA1(781fe648488dec90185760f8e081e488b73b68bf) )
ROM_REGION(0x9800, "gfx", 0)
ROM_LOAD("char256.u53", 0x1000, 0x1000, CRC(9372af3c) SHA1(a63591822c0504de2fed52e88d64e1dbd6124b74) )
ROM_IGNORE( 0x1000 ) // throw away swedish characters for now
ROM_COPY( "gfx", 0x1000, 0x0000, 0x1000 )
ROM_REGION( 0x0800, "videoram", ROMREGION_ERASE00 )
ROM_REGION( 0x0800, "colorram", ROMREGION_ERASEVAL(2))
ROM_REGION( 0x0800, "attrib", ROMREGION_ERASE00 )
ROM_END
/***************************************************************************
Game driver(s)
@ -1162,3 +1189,4 @@ COMP( 1986, mbee56, mbee, 0, mbee56, mbee, mbee_state, mbee56,
COMP( 1986, mbee128, mbee, 0, mbee128, mbee128, mbee_state, mbee128, "Applied Technology", "Microbee 128k Standard" , MACHINE_NOT_WORKING )
COMP( 1986, mbee128p, mbee, 0, mbee128p, mbee128, mbee_state, mbee128, "Applied Technology", "Microbee 128k Premium" , MACHINE_NOT_WORKING )
COMP( 1987, mbee256, mbee, 0, mbee256, mbee256, mbee_state, mbee256, "Applied Technology", "Microbee 256TC" , MACHINE_NOT_WORKING )
COMP( 2012, mbeepp, mbee, 0, mbee256, mbee128, mbee_state, mbee128, "Microbee Systems", "Microbee Premium Plus" , MACHINE_NOT_WORKING )

View File

@ -550,6 +550,8 @@ DRIVER_INIT_MEMBER( mbee_state, mbee56 )
m_has_oldkb = 1;
}
// 128k uses 32 RAM banks.
// PP has 1024k which is 256 banks, but having 64 banks stops it crashing during the self-test. Need a schematic before we can fix it.
DRIVER_INIT_MEMBER( mbee_state, mbee128 )
{
UINT8 *RAM = memregion("rams")->base();
@ -559,11 +561,11 @@ DRIVER_INIT_MEMBER( mbee_state, mbee128 )
for (UINT8 b_bank = 0; b_bank < 16; b_bank++)
{
sprintf(banktag, "bankr%d", b_bank);
membank(banktag)->configure_entries(0, 32, &RAM[0x0000], 0x1000); // RAM banks
membank(banktag)->configure_entries(0, 64, &RAM[0x0000], 0x1000); // RAM banks
membank(banktag)->configure_entries(64, 4, &ROM[0x0000], 0x1000); // rom
sprintf(banktag, "bankw%d", b_bank);
membank(banktag)->configure_entries(0, 32, &RAM[0x0000], 0x1000); // RAM banks
membank(banktag)->configure_entries(0, 64, &RAM[0x0000], 0x1000); // RAM banks
membank(banktag)->configure_entries(64, 1, &ROM[0x4000], 0x1000); // dummy rom
}

View File

@ -19337,6 +19337,7 @@ mbeepc // Microbee 32 PC
mbeepc85 // Microbee 32 PC85
mbeepc85b // Microbee 32 PC85 (Business version)
mbeepc85s // Microbee 32 PC85 (Swedish)
mbeepp // Microbee Premium Plus
mbeeppc // Microbee 32 PPC85
mbeett // Microbee Teleterm