Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add skeletons for Zanussi/Necta vending machines #12569

Merged
merged 7 commits into from
Aug 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
25 changes: 16 additions & 9 deletions src/mame/mame.lst
Original file line number Diff line number Diff line change
Expand Up @@ -18434,19 +18434,22 @@ mastboyoa // (c) 1987 - No Ref on the PCB
mastboyob
mastboyoc

@source:gaelco/radikaldarts.cpp
radikaldrt // (c) 2011? Gaelco Darts

@source:gaelco/rollext.cpp
rollext // (c) 1999 - Ref 991015

@source:gaelco/splash.cpp
funystrp // not a gaelco game but on similar hw to splash
funystrp // not a Gaelco game but on similar hw to splash
paintlad // (c) 1992 - ver 1.3
puckpepl // not a gaelco game but on similar hw to splash
rebus // not a gaelco game but on similar hw to splash
roldfrog // not a gaelco game but based on splash code
roldfroga // not a gaelco game but based on splash code
puckpepl // not a Gaelco game but on similar hw to splash
rebus // not a Gaelco game but on similar hw to splash
roldfrog // not a Gaelco game but based on splash code
roldfroga // not a Gaelco game but based on splash code
splash // (c) 1992 - Ref 922804
splash10 // (c) 1992 - Ref 922804
ringball // not a gaelco game but based on splash code
ringball // not a Gaelco game but based on splash code

@source:gaelco/splash_ms.cpp
splashms
Expand Down Expand Up @@ -31604,9 +31607,6 @@ quizoa // (c) 1985 Seoul Coin Corp.
quizpun // (c) 1989 Space Computer System of Korea
quizpun2 // (c) 1989 Space Computer System of Korea

@source:misc/radikaldarts.cpp
radikaldrt // (c) 2011? Gaelco Darts

@source:misc/rawthrillspc.cpp
doodlejmp // (c) 2013 ICE / Raw Thrills / Lima Sky
fnf // (c) 2004 Raw Thrills
Expand Down Expand Up @@ -42455,6 +42455,9 @@ xor100 //
@source:skeleton/zeebo_qualcomm_adreno130.cpp
zeebo

@source:skeleton/zfirenze.cpp
zfirenze // (c) 1995 Zanussi / Necta

@source:skeleton/zms8085.cpp
zephyr //

Expand All @@ -42464,6 +42467,10 @@ zorba //
@source:skeleton/zt8802.cpp
zt8802 // (c) 19?? Olympia?

@source:skeleton/zvenezia.cpp
zunknecta // (c) 1992 Zanussi / Necta
zvenezia // (c) 1995 Zanussi / Necta

@source:slicer/slicer.cpp
slicer // 1983 Slicer Computers

Expand Down
7 changes: 5 additions & 2 deletions src/mame/skeleton/design.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -354,9 +354,9 @@ ROM_START( designe )
ROM_END


// Different Azkoyen vending machines on similar hardware
// Different Azkoyen tobacco vending machines on similar hardware

/* Azkoyen models T6, T8, and T12 (Azkoyen PCB 104-4455-02-80/1). MCS-48-based. Unknown display.
/* Azkoyen models T6, T8, and T12 (Azkoyen PCB 104-4455-02-80/1). MCS-48-based.
___________________________________________________________
| __________ |
_|_ ___ | BATT | _|_
Expand All @@ -377,13 +377,16 @@ _|_ | NEC D8279C-5 | |____________| =|
|= |..| | | | | =|
| |__| |__| =|
|__________________________________________________________|

*/

// T6 uses a 4 digits 7-segments display.
ROM_START( azkoyent6 )
ROM_REGION(0x2000, "maincpu", 0)
ROM_LOAD("43504560-0_t-6.u04", 0x0000, 0x2000, CRC(a4289b26) SHA1(40587094b11c6cf9308673ffac2ed9d445d458e9))
ROM_END

// T8 uses a 3 digits 7-segments display.
ROM_START( azkoyent8 )
ROM_REGION(0x2000, "maincpu", 0)
ROM_LOAD("43504570-2_t8_3.u04", 0x0000, 0x2000, CRC(76ac54bf) SHA1(da4c4a9f1c9c85d59169d62682bb7b73a9dd133b))
Expand Down
2 changes: 1 addition & 1 deletion src/mame/skeleton/pullttrigger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,4 +91,4 @@ ROM_END
} // anonymous namespace


COMP(2003, pullttrig, 0, 0, pullttrig, pullttrig, pullttrig_state, empty_init, "Digital Silkroad", "Pull The Trigger", MACHINE_IS_SKELETON )
GAME(2003, pullttrig, 0, pullttrig, pullttrig, pullttrig_state, empty_init, ROT0, "Digital Silkroad", "Pull The Trigger", MACHINE_IS_SKELETON)
2 changes: 1 addition & 1 deletion src/mame/skeleton/webtouchone.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
/*
Skeleton driver for Alcatel Web Touch One.
More information and technical manuals: https://www.minitel-alcatel.fr/gamme_webphone.html
The phone asks for an adminstrative password for performing a factory reset.
The phone asks for an administrative password for performing a factory reset.

Hardware info for model 2840:
-CPU: Motorola PowerPC 823
Expand Down
108 changes: 108 additions & 0 deletions src/mame/skeleton/zfirenze.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
// license:BSD-3-Clause
// copyright-holders:

/*
Skeleton driver for Z80-based Necta/Zanussi vending machines.

Zanussi / Necta Firenze vending machine:

MAIN PCB
__________________________________________________________________________________________
| ······ ··········· ········· ········· ······ ::::::::::::: ::::::::::::: |
| __________ ___ __________ __________ ___ ___ ___ ___ ___ ___ |
| |__DS1229_| SN76176BP |74HC374AN| |TD62083AP| |__| |__| |__| |__| |__| |__| <- 6 x TLP504A
| ___ ___ ___ ___ ___ __________ __________ ___ ·|
| SN76176BP |<- 4 x TLP504A ->| |_GET_GAL_| |ULN2062B_| TLP504A ·|
| __________ __________ __________ __________ __________ ___ |
| |CD74HCT86E |74HC374AN| |74HCT244B1 |MM74HCT138N CD74HC125E TLP504A ·|
| __________ ·|
| |MM74HC163N SPEAKER LED LED ·|
| __________ _____ __________ __________ ____ ____ ·|
| ____ |SCAN-GAL_| DIPSx4 |DS1238-10| |M74HC04B1| 93C66N 93C66N |
| MIC2940A __________ Xtal ______________ ·|
| |_________| ??? MHz |M5M5256CP-70LL |
| __________ _________ |_____________| |
| |M74HC32B1| __________ |TOSHIBA | |
| __________ __________ |_D48-GAL_| |TMPZ84C015BF-8 ·············· |
||MM74HCT8N| |_KEY-GAL_| __________ | | E1 |
| |OKI 6242B | | ·············· |
| ············· Osc |_________| |
|______________??? MHz____________________________________________________________________|

SCHEDA EXPANSIONE MEMORIA EPROM 6735-354-00 (connected to the main PCB EPROM socket E1)
_____________________________________________
| ______________ ______________ |
| | EPROM A | | EPROM C | |
| |_____________| |_____________| |
| __________ __________ |
| |M74HC02B1| |PC74HC08T| ·············· |
| __________ __________ J1 |
| |M74HC32B1| |PC74HC08T| ·············· |
|____________________________________________|

*/

#include "emu.h"
#include "cpu/z80/tmpz84c015.h"
#include "machine/msm6242.h"

namespace {

class zfirenze_state : public driver_device
{
public:
zfirenze_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }

void zfirenze(machine_config &config);

protected:
virtual void machine_start() override;
virtual void machine_reset() override;

required_device<cpu_device> m_maincpu;
};

void zfirenze_state::machine_start()
{
}

void zfirenze_state::machine_reset()
{
}

static INPUT_PORTS_START( zfirenze )
PORT_START("DSW0")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW0:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW0:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW0:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW0:4")
INPUT_PORTS_END

void zfirenze_state::zfirenze(machine_config &config)
{
TMPZ84C015(config, m_maincpu, XTAL(8'000'000)); // Toshiba TMPZ84C015BF-8, unknown clock

MSM6242(config, "rtc", XTAL(32'768'000)); // OKI M6242B, unknown clock
}

ROM_START( zfirenze )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "951200-1_firenze_c6m_a_8e00_20-01-95.u6", 0x00000, 0x10000, CRC(1ca85d3d) SHA1(4cb30a83b8c20eac7b31dd4fe5c79dfca6815dc8) )
ROM_LOAD( "951200-2_firenze_c6m_c_8e00_20-01-95.u5", 0x10000, 0x10000, CRC(0107bb35) SHA1(1317d1055b9f9d05a4103612779059e84c4ac16e) )

ROM_REGION( 0x117, "plds", 0 )
ROM_LOAD( "d48_gal_palce16v8h-25.u15", 0x000, 0x117, CRC(7467d098) SHA1(2085cccd4049ba07a1fafc1f16680e1aa8c8bb96) )
ROM_LOAD( "get_gal_palce16v8h-25.u9", 0x000, 0x117, CRC(b4d4f0e1) SHA1(6a741e08082c46759a5eda914a91f7d18ef9128f) )
ROM_LOAD( "key_gal_palce16v8h-25.u25", 0x000, 0x117, CRC(b52825d1) SHA1(b820c73929b03320378a4625ee4451bd81e9c5aa) )
ROM_LOAD( "scan_gal_palce16v8h-25.u28", 0x000, 0x117, CRC(2dbb9247) SHA1(d80085bd5e9d17231a24c83797751a15b0440462) )
ROM_END


} // anonymous namespace


// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
SYST( 1995, zfirenze, 0, 0, zfirenze, zfirenze, zfirenze_state, empty_init, "Zanussi / Necta", "Firenze (vending machine)", MACHINE_IS_SKELETON )
164 changes: 164 additions & 0 deletions src/mame/skeleton/zvenezia.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
// license:BSD-3-Clause
// copyright-holders:

/*
Skeleton driver for MCS51-based Necta/Zanussi vending machines.

Zanussi / Necta Venezia coffee vending machine (same PCB found also on other models, like Brio):

CPU PCB (6735-365-02)
_______________________________________________________________________________________________________
| ·· ··········· ·············· |
| ____ |
| T2512NH ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ |
| RLY RLY RLY RLY RLY RLY RLY RLY RLY RLY RLY RLY RLY RLY RLY RLY RLY <- 17 relays
| ___ ___ _________ _________ _________ _________ _________ ___ _________ |
| LM393N LM393N |TD62083AP |74HC273AN |74HC273AN |74HC273AN |TD62083AP ADM692AN |74HC373N| |
| ___ _________ _________ _________ _______________ |
| ___ 67WR1K |74HC244N| |GAL16V8B| |_DIPSx8_| | mS6264L-10PC | |
| LM3578AN ____ _________ _________ _________ |______________| |
| LM340T12 HEAT LED |MM74HC14N |HIN232CP| |74HC244N| _______________ |
| RUN LED _________ _________ | EPROM | |
| |MM74HC14N |P80C32EBAA |______________| |
| | | Xtal ____ |
| |________| 11.0592 MHz 93C56N |
| ... ....... .......... ....... ......... EEPROM |
|______________________________________________________________________________________________________|

KEYBOARD / DISPLAY PCB (4 digits, there are version with five)
_______________________________________
|· ___ ___ ___ ___ ____ |
|· |__| |__| |__| |__| | ||
|· |__|. |__|. |__|. |__|. | |<-Unknown MCU
| | ||
|· ____ ____ | ||
|· LED |SW6 | |SW1 | LED | ||
|· |____| |____| | ||
|· ____ ____ |____||
|· LED |SW7 | |SW2 | LED |
| |____| |____| · |
|· ____ ____ · |
| LED |SW8 | |SW3 | LED · |
| D |____| |____| |
| B ____ ____ |
| 9 LED |SW9 | |SW4 | LED ____ |
| |____| |____| |PIP | |
|·· ____ ____ |____| |
|.. LED |SW10| |SW5 | LED |
|· |____| |____| |
|______________________________________|

*/

#include "emu.h"
#include "cpu/mcs51/mcs51.h"
#include "machine/eepromser.h"

namespace {

class zvenezia_state : public driver_device
{
public:
zvenezia_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }

void zvenezia(machine_config &config);
void zunknecta(machine_config &config);

protected:
virtual void machine_start() override;
virtual void machine_reset() override;

required_device<cpu_device> m_maincpu;
};

void zvenezia_state::machine_start()
{
}

void zvenezia_state::machine_reset()
{
}

static INPUT_PORTS_START( zvenezia )
PORT_START("DSW0")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW0:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW0:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW0:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW0:4")
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW0:5")
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW0:6")
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW0:7")
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW0:8")
INPUT_PORTS_END

static INPUT_PORTS_START( zunknecta )
INPUT_PORTS_END

void zvenezia_state::zvenezia(machine_config &config)
{
I80C32(config, m_maincpu, 11.0592_MHz_XTAL); // Philips P80C32EBAA

EEPROM_93C56_8BIT(config, "eeprom");
}

void zvenezia_state::zunknecta(machine_config &config)
{
P80C552(config, m_maincpu, 12_MHz_XTAL); // Philips PCB 80C552-5 16WP
}

ROM_START( zvenezia )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "venezia_rev_1.40_ife_14-04-95.u7", 0x00000, 0x10000, CRC(e03d9bf1) SHA1(ca728d754841993c818b5505fd3de66b3b9df13b) )

ROM_REGION( 0x117, "plds", 0 )
ROM_LOAD( "gal16v8b.bin", 0x000, 0x117, NO_DUMP )
ROM_END


/* Unknown Necta / Zanussi vending machine model:

MAIN PCB (6735-360-00)
_____________________________________________________________________
| _________ _________ |
| ··· _____ .. |PCF8574P| M74HC540B1 .. |
| ··· · RELAY .. _________ _________ _________ .. |
| ··· · _____ .. |PCF8574P| |PCF8574P| |PCF8574P| .. |
| · RELAY .. _________ _________ _________ .. |
| ··· ·· ___ .. M74HC541B1 M74HC541B1 M74HC541B1 .. |
| ___ ·· M0C3020 _________ _________ :|
| M0C3020 ·· |74HC00N_| |74HC00N_| :|
| · ___ ___ ________ ________ ________ ________ :|
| · |<-RELAY | |ULN2064B |ULN2064B |ULN2064B |ULN2064B |
| · | | |<-RELAY :|
| · |__| |__| :|
| ······· ······· ······ ······ ··········· ·········· ······· :|
|____________________________________________________________________|

CPU PCB
________________________________________________
| ___________ ___________ |
| .. |M74HC541B1| |M74HC541B1| .. |
| .. ____________ _____________ .. |
| .. |Philips | | EPROM | .. |
| .. _____ |80C552-5 | |_____________| .. |
| .. Xtal | | __________ .. |
| 12 MHz |___________| |GD74HC273| |
| _________ _________ ____ ____ |
| M74HC141B1 PC74HC74P DS75176BN DS75176BN |
|_________________________________···· ·····____|

*/
ROM_START( zunknecta )
ROM_REGION( 0x8000, "maincpu", 0 )
ROM_LOAD( "prg-io_v1.1_marzo_92.u3", 0x0000, 0x8000, CRC(0a45a803) SHA1(a32f68bfc1532c6b7cc35517f408210aab962767) )
ROM_END

} // anonymous namespace


// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
SYST( 1995, zvenezia, 0, 0, zvenezia, zvenezia, zvenezia_state, empty_init, "Zanussi / Necta", "Venezia (coffee vending machine)", MACHINE_IS_SKELETON )
SYST( 1992, zunknecta, 0, 0, zunknecta, zunknecta, zvenezia_state, empty_init, "Zanussi / Necta", "unknown Zanussi / Necta vending machine", MACHINE_IS_SKELETON )
Loading