mirror of
https://github.com/holub/mame
synced 2025-10-05 00:38:58 +03:00
Merge branch 'master' of https://github.com/mamedev/mame
This commit is contained in:
commit
ab9c8c2678
@ -41,7 +41,6 @@ Performance options
|
||||
when this is set to OFF, assuming -numprocessors allows it.
|
||||
The default is OFF (-nomultithreading).
|
||||
|
||||
|
||||
-numprocessors <auto|value> / -np <auto|value>
|
||||
|
||||
Specify the number of processors to use for work queues. Specifying
|
||||
|
@ -83,11 +83,11 @@ is usually behind the term "density".
|
||||
A sensor detects when the head is on track 0 and the controller is not
|
||||
supposed to try to go past it. In addition physical blocks prevent
|
||||
the head from going out of the correct track range. Some systems
|
||||
(apple 2, some c64) do not take the track 0 sensor into account and
|
||||
(Apple II, some C64) do not take the track 0 sensor into account and
|
||||
just wham the head against the track 0 physical block, giving a
|
||||
well-known crash noise and eventually damaging the head alignment.
|
||||
|
||||
Also, some systems (apple 2 and c64 again) have direct access to the
|
||||
Also, some systems (Apple II and C64 again) have direct access to the
|
||||
phases of the head positioning motor, allowing to trick the head into
|
||||
going between tracks, in middle or even quarter positions. That was
|
||||
not usable to write more tracks, since the head width did not change,
|
||||
@ -95,15 +95,15 @@ but since reliable reading was only possible with the correct position
|
||||
it was used for some copy protection systems.
|
||||
|
||||
The disk rotates at a fixed speed for a given track. The most usual
|
||||
speed is 300rpm for every track, with 360rpm found for HD 5.25"
|
||||
floppies and most 8" ones, and a number of different values like 90rpm
|
||||
for the earlier floppies or 150rpm for an HD floppy in an amiga.
|
||||
speed is 300 rpm for every track, with 360 rpm found for HD 5.25"
|
||||
floppies and most 8" ones, and a number of different values like 90 rpm
|
||||
for the earlier floppies or 150 rpm for an HD floppy in an Amiga.
|
||||
Having a fixed rotational speed for the whole disk is called Constant
|
||||
Angular Velocity (CAV, almost everybody) or Zoned Constant Angular
|
||||
Velocity (ZCAV, C64) depending on whether the read/write bitrate is
|
||||
constant or track-dependant. Some systems (apple 2, mac) varies the
|
||||
rotational speed depending on the track (something like 394rpm up to
|
||||
590rpm) to end up with a Constant Linear Velocity (CLV). The idea
|
||||
constant or track-dependant. Some systems (Apple II, Mac) vary the
|
||||
rotational speed depending on the track (something like 394 rpm up to
|
||||
590 rpm) to end up with a Constant Linear Velocity (CLV). The idea
|
||||
behind ZCAV/CLV is to get more bits out of the media by keeping the
|
||||
minimal spacing between magnetic orientation transitions close to the
|
||||
best the support can do. It seems that the complexity was not deemed
|
||||
@ -158,10 +158,10 @@ is never known.
|
||||
2.3 Floppy controller
|
||||
|
||||
The task of the floppy controller is to turn the signals to/from the
|
||||
floppy drive into something the main cpu can digest. The level of
|
||||
floppy drive into something the main CPU can digest. The level of
|
||||
support actually done by the controller is extremely variable from one
|
||||
device to the other, from pretty much nothing (apple2, c64) through
|
||||
minimal (amiga) to complete (western digital chips, upd765 family).
|
||||
device to the other, from pretty much nothing (Apple II, C64) through
|
||||
minimal (Amiga) to complete (Western Digital chips, uPD765 family).
|
||||
Usual functions include drive selection, motor control, track seeking
|
||||
and of course reading and writing data. Of these only the last two
|
||||
need to be described, the rest is obvious.
|
||||
@ -170,21 +170,21 @@ The data is structured at two levels: how individual bits (or nibbles,
|
||||
or bytes) are encoded on the surface, and how these are grouped in
|
||||
individually-addressable sectors. Two standards exist for these,
|
||||
called FM and MFM, and in addition a number of systems use their
|
||||
home-grown variants. Moreover, some systems such as the amiga use a
|
||||
standard bit-level encoding (MFM) but an homegrown sector-level
|
||||
home-grown variants. Moreover, some systems such as the Amiga use a
|
||||
standard bit-level encoding (MFM) but a homegrown sector-level
|
||||
organisation.
|
||||
|
||||
|
||||
2.3.1 Bit-level encodings
|
||||
2.3.1.1 Cell organization
|
||||
|
||||
All floppy controllers, even the wonkiest like the apple 2 one, start
|
||||
All floppy controllers, even the wonkiest like the Apple II one, start
|
||||
by dividing the track in equally-sized cells. They're angular
|
||||
sections in the middle of which a magnetic orientation inversion may
|
||||
be present. From an hardware point of view the cells are seen as
|
||||
be present. From a hardware point of view the cells are seen as
|
||||
durations, which combined with the floppy rotation give the section.
|
||||
For instance the standard MFM cell size for a 3" double-density floppy
|
||||
is 2us, which combined with the also standard 300rpm rotational speed
|
||||
is 2us, which combined with the also standard 300 rpm rotational speed
|
||||
gives an angular size of 1/100000th of a turn. Another way of saying
|
||||
it is that there are 100K cells in a 3" DD track.
|
||||
|
||||
@ -234,7 +234,7 @@ Modulation encoding, which can cram exactly twice as much data on the
|
||||
same surface, hence its other name of "double density". The cell size
|
||||
is set at slightly over half the physical limit, e.g. 2us usually.
|
||||
The constraint means that two '1' cells must be separated by at least
|
||||
one '0' cell. Each bit is once again encoded on two cells:
|
||||
one '0' cell. Each bit is once again encoded on two cells:
|
||||
|
||||
- the first cell, called the clock bit, is '1' if both the previous
|
||||
and current data bits are 0, '0' otherwise
|
||||
@ -252,7 +252,7 @@ maximum of three zeroes.
|
||||
Group Coded Recording, or GCR, encodings are a class of encodings
|
||||
where strings of bits at least nibble-size are encoded into a given
|
||||
cell stream given by a table. It has been used in particular by the
|
||||
apple 2, the mac and the c64, and each system has its own table, or
|
||||
Apple II, the Mac and the C64, and each system has its own table, or
|
||||
tables.
|
||||
|
||||
2.3.1.5 Other encodings
|
||||
@ -342,7 +342,7 @@ usually start at 1 and size code is 0 for 128 bytes, 1 for 256, 2 for
|
||||
The crc is a cyclic redundancy check of the data bits starting with
|
||||
the mark just after the pulse train using polynom 0x11021.
|
||||
|
||||
The western digital-based controllers usually get rid of everything
|
||||
The Western Digital-based controllers usually get rid of everything
|
||||
but some 0xff before the first sector and allow a better use of space
|
||||
as a result.
|
||||
|
||||
@ -365,19 +365,19 @@ Then for each sector:
|
||||
- MFM-encoded 0xfb, sector data followed by two bytes of crc
|
||||
- A number of MFM-encoded 0x4e (usually 84, very variable)
|
||||
|
||||
The the track is finished with a stream of MFM-encoded 0x4e.
|
||||
The track is finished with a stream of MFM-encoded 0x4e.
|
||||
|
||||
The 250KHz pulse trains are used to lock the PLL to the signal
|
||||
correctly. The cell pattern 4489 does not appear in normal
|
||||
MFM-encoded data and is used for clock/data separation.
|
||||
|
||||
As for FM, the western digital-based controllers usually get rid of
|
||||
As for FM, the Western Digital-based controllers usually get rid of
|
||||
everything but some 0x4e before the first sector and allow a better
|
||||
use of space as a result.
|
||||
|
||||
2.3.2.3 Formatting and write splices
|
||||
|
||||
To be usable a floppy must have the sector headers and default sector
|
||||
To be usable, a floppy must have the sector headers and default sector
|
||||
data written on every track before using it. The controller starts
|
||||
writing at a given place, often the index pulse but on some systems
|
||||
whenever the command is sent, and writes until a complete turn is
|
||||
@ -417,7 +417,7 @@ position of the start of the cell (not the size), and bits
|
||||
- 3, MG_D -> Damaged zone, reads as neutral but cannot be changed by writing
|
||||
|
||||
The position is in angular units of 1/200,000,000th of a turn. It
|
||||
corresponds to one nanosecond when the drive rotates at 300rpm.
|
||||
corresponds to one nanosecond when the drive rotates at 300 rpm.
|
||||
|
||||
The last cell implicit end position is of course 200,000,000.
|
||||
|
||||
@ -523,7 +523,7 @@ extract_sectors_from_bitstream_fm_pc(const UINT8 *cell stream,
|
||||
int sectdata_size)
|
||||
|
||||
Extract standard mfm or fm sectors from a regenerated
|
||||
cell stream. Sectors must point to an array of 256 desc_xs.
|
||||
cell stream. Sectors must point to an array of 256 desc_xs.
|
||||
|
||||
An existing sector is recognizable by having ->data non-null.
|
||||
Sector data is written in sectdata up to sectdata_size bytes.
|
||||
@ -563,8 +563,8 @@ the current time is the same for all devices.
|
||||
|
||||
3.3.1 Control signals
|
||||
|
||||
Due to the way they're usually connected to cpus (e.g. directly on an
|
||||
i/o port) the controls signals work with physical instead of logical
|
||||
Due to the way they're usually connected to CPUs (e.g. directly on an
|
||||
I/O port), the control signals work with physical instead of logical
|
||||
values. Which means than in general 0 means active, 1 means inactive.
|
||||
Some signals also have a callback associated called when they change.
|
||||
|
||||
|
@ -155,21 +155,21 @@ ROM_START( dmac_hdc )
|
||||
ROMX_LOAD("390721-01.u13", 0x4000, 0x2000, CRC(00dbf615) SHA1(503940d04fb3b49eaa61100fd3a487018b35e25a), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD("390722-01.u12", 0x4001, 0x2000, CRC(c460cfdb) SHA1(0de457daec3b84f75e8fb344defe24ce56cda3e0), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
|
||||
// changelog v6.6: fixes dual scsi problems with the wd33c93a controller
|
||||
// changelog v6.6: fixes dual SCSI problems with the wd33c93a controller
|
||||
ROM_SYSTEM_BIOS(2, "v66", "Version 6.6")
|
||||
ROMX_LOAD("390721-02.u13", 0x0000, 0x2000, CRC(c0871d25) SHA1(e155f18abb90cf820589c15e70559d3b6b391af8), ROM_SKIP(1) | ROM_BIOS(3))
|
||||
ROMX_LOAD("390722-02.u12", 0x0001, 0x2000, CRC(e536bbb2) SHA1(fd7f8a6da18c1b02d07eb990c2467a24183ede12), ROM_SKIP(1) | ROM_BIOS(3))
|
||||
ROMX_LOAD("390721-02.u13", 0x4000, 0x2000, CRC(c0871d25) SHA1(e155f18abb90cf820589c15e70559d3b6b391af8), ROM_SKIP(1) | ROM_BIOS(3))
|
||||
ROMX_LOAD("390722-02.u12", 0x4001, 0x2000, CRC(e536bbb2) SHA1(fd7f8a6da18c1b02d07eb990c2467a24183ede12), ROM_SKIP(1) | ROM_BIOS(3))
|
||||
|
||||
// final commodore released version
|
||||
// final Commodore released version
|
||||
ROM_SYSTEM_BIOS(3, "v70", "Version 7.0")
|
||||
ROMX_LOAD("390721-03.u13", 0x0000, 0x2000, CRC(2942747a) SHA1(dbd7648e79c753337ff3e4f491de224bf05e6bb6), ROM_SKIP(1) | ROM_BIOS(4))
|
||||
ROMX_LOAD("390722-03.u12", 0x0001, 0x2000, CRC(a9ccffed) SHA1(149f5bd52e2d29904e3de483b9ad772448e9278e), ROM_SKIP(1) | ROM_BIOS(4))
|
||||
ROMX_LOAD("390721-03.u13", 0x4000, 0x2000, CRC(2942747a) SHA1(dbd7648e79c753337ff3e4f491de224bf05e6bb6), ROM_SKIP(1) | ROM_BIOS(4))
|
||||
ROMX_LOAD("390722-03.u12", 0x4001, 0x2000, CRC(a9ccffed) SHA1(149f5bd52e2d29904e3de483b9ad772448e9278e), ROM_SKIP(1) | ROM_BIOS(4))
|
||||
|
||||
// third-party upgrade rom, requires a small rom adapter pcb
|
||||
// third-party upgrade ROM, requires a small ROM adapter pcb
|
||||
ROM_SYSTEM_BIOS(4, "g614", "Guru-ROM 6.14")
|
||||
ROMX_LOAD("gururom_v614.bin", 0x0000, 0x8000, CRC(04e52f93) SHA1(6da21b6f5e8f8837d64507cd8a4d5cdcac4f426b), ROM_GROUPWORD | ROM_BIOS(5))
|
||||
|
||||
@ -234,7 +234,7 @@ void a590_device::device_start()
|
||||
{
|
||||
set_zorro_device();
|
||||
|
||||
// setup dmac
|
||||
// setup DMAC
|
||||
m_dmac->set_address_space(m_slot->m_space);
|
||||
m_dmac->set_rom(memregion("bootrom")->base());
|
||||
}
|
||||
@ -243,7 +243,7 @@ void a2091_device::device_start()
|
||||
{
|
||||
set_zorro_device();
|
||||
|
||||
// setup dmac
|
||||
// setup DMAC
|
||||
m_dmac->set_address_space(m_slot->m_space);
|
||||
m_dmac->set_rom(memregion("bootrom")->base());
|
||||
}
|
||||
@ -258,7 +258,7 @@ void dmac_hdc_device::device_reset()
|
||||
|
||||
void dmac_hdc_device::resize_ram(int config)
|
||||
{
|
||||
// allocate space for ram
|
||||
// allocate space for RAM
|
||||
switch (config & 0x0f)
|
||||
{
|
||||
case 0x01:
|
||||
@ -301,7 +301,7 @@ WRITE_LINE_MEMBER( a590_device::cfgin_w )
|
||||
m_int6 = m_jp4->read() & 0x01;
|
||||
resize_ram(m_dips->read() & 0x0f);
|
||||
|
||||
// then tell the dmac to start configuring
|
||||
// then tell the DMAC to start configuring
|
||||
m_dmac->configin_w(state);
|
||||
}
|
||||
|
||||
@ -311,7 +311,7 @@ WRITE_LINE_MEMBER( a2091_device::cfgin_w )
|
||||
m_int6 = m_jp3->read() & 0x01;
|
||||
resize_ram(m_jp1->read() & 0x0f);
|
||||
|
||||
// then tell the dmac to start configuring
|
||||
// then tell the DMAC to start configuring
|
||||
m_dmac->configin_w(state);
|
||||
}
|
||||
|
||||
@ -345,6 +345,6 @@ WRITE_LINE_MEMBER( dmac_hdc_device::dmac_int_w )
|
||||
|
||||
WRITE_LINE_MEMBER( dmac_hdc_device::scsi_irq_w )
|
||||
{
|
||||
// should be or'ed with xt-ide irq
|
||||
// should be or'ed with xt-ide IRQ
|
||||
m_dmac->intx_w(state);
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ const device_type FLOPPY_8_DSSD = &device_creator<floppy_8_dssd>;
|
||||
const device_type FLOPPY_8_SSDD = &device_creator<floppy_8_ssdd>;
|
||||
const device_type FLOPPY_8_DSDD = &device_creator<floppy_8_dsdd>;
|
||||
|
||||
// epson 3.5" drives
|
||||
// Epson 3.5" drives
|
||||
#if 0
|
||||
const device_type EPSON_SMD_110 = &device_creator<epson_smd_110>;
|
||||
const device_type EPSON_SMD_120 = &device_creator<epson_smd_120>;
|
||||
@ -70,7 +70,7 @@ const device_type EPSON_SMD_480LM = &device_creator<epson_smd_480lm>;
|
||||
const device_type EPSON_SMD_489M = &device_creator<epson_smd_489m>;
|
||||
#endif
|
||||
|
||||
// epson 5.25" drives
|
||||
// Epson 5.25" drives
|
||||
#if 0
|
||||
const device_type EPSON_SD_311 = &device_creator<epson_sd_311>;
|
||||
#endif
|
||||
@ -88,12 +88,12 @@ const device_type EPSON_SD_621L = &device_creator<epson_sd_621l>;
|
||||
const device_type EPSON_SD_680L = &device_creator<epson_sd_680l>;
|
||||
#endif
|
||||
|
||||
// sony 3.5" drives
|
||||
// Sony 3.5" drives
|
||||
const device_type SONY_OA_D31V = &device_creator<sony_oa_d31v>;
|
||||
const device_type SONY_OA_D32W = &device_creator<sony_oa_d32w>;
|
||||
const device_type SONY_OA_D32V = &device_creator<sony_oa_d32v>;
|
||||
|
||||
// teac 5.25" drives
|
||||
// TEAC 5.25" drives
|
||||
#if 0
|
||||
const device_type TEAC_FD_55A = &device_creator<teac_fd_55a>;
|
||||
const device_type TEAC_FD_55B = &device_creator<teac_fd_55b>;
|
||||
@ -1672,7 +1672,7 @@ void epson_sd_321::handled_variants(UINT32 *variants, int &var_count) const
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// sony oa-d31v
|
||||
// Sony OA-D31V
|
||||
//
|
||||
// track to track: 15 ms
|
||||
// average: 365 ms
|
||||
@ -1706,7 +1706,7 @@ void sony_oa_d31v::handled_variants(UINT32 *variants, int &var_count) const
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// sony oa-d32w
|
||||
// Sony OA-D32W
|
||||
//
|
||||
// track to track: 12 ms
|
||||
// average: 350 ms
|
||||
@ -1742,7 +1742,7 @@ void sony_oa_d32w::handled_variants(UINT32 *variants, int &var_count) const
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// sony oa-d32v
|
||||
// Sony OA-D32V
|
||||
//
|
||||
// track to track: 12 ms
|
||||
// average: 350 ms
|
||||
@ -1777,7 +1777,7 @@ void sony_oa_d32v::handled_variants(UINT32 *variants, int &var_count) const
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// teac fd-55f
|
||||
// TEAC FD-55F
|
||||
//
|
||||
// track to track: 3 ms
|
||||
// average: 94 ms
|
||||
@ -1815,7 +1815,7 @@ void teac_fd_55f::handled_variants(UINT32 *variants, int &var_count) const
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// teac fd-55g
|
||||
// TEAC FD-55G
|
||||
//
|
||||
// track to track: 3 ms
|
||||
// average: 91 ms
|
||||
|
@ -120,7 +120,6 @@ private:
|
||||
|
||||
UINT32 m_pci1_laddr, m_pci2_laddr, m_pci_io_laddr;
|
||||
UINT32 m_target1_laddr, m_target2_laddr;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -114,7 +114,6 @@ private:
|
||||
chan_info m_dac2;
|
||||
chan_info m_adc;
|
||||
void transfer_pci_audio(chan_info& chan, int type);
|
||||
|
||||
};
|
||||
|
||||
extern const device_type ES1373;
|
||||
|
@ -123,10 +123,10 @@ static const int tune2[96*6] = {
|
||||
/*
|
||||
* The theme from Phoenix, a sad little tune.
|
||||
* Gerald Coy:
|
||||
* The starting song from Phoenix is coming from a old french movie and
|
||||
* The starting song from Phoenix comes from an old French movie and
|
||||
* it's called : "Jeux interdits" which means "unallowed games" ;-)
|
||||
* Mirko Buffoni:
|
||||
* It's called "Sogni proibiti" in italian, by Anonymous.
|
||||
* It's called "Sogni proibiti" in Italian, by Anonymous.
|
||||
* Magic*:
|
||||
* This song is a classical piece called "ESTUDIO" from M.A.Robira.
|
||||
*/
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Jack Potten's Poker (set 6), 198?, Bootleg.
|
||||
* Jack Potten's Poker (set 7, Royale GFX), 198?, Bootleg.
|
||||
* Good Luck, 198?, Unknown.
|
||||
* Super Double (french), 198?, Karateco.
|
||||
* Super Double (French), 198?, Karateco.
|
||||
* Jack Potten's Poker (NGold, set 1), 198?, Unknown.
|
||||
* Jack Potten's Poker (NGold, set 2), 198?, Unknown.
|
||||
* Jack Potten's Poker (NGold, set 3), 198?, Unknown.
|
||||
@ -104,7 +104,7 @@
|
||||
* Falcons Wild - World Wide Poker (VK set 1), 1990, Video Klein.
|
||||
* Falcons Wild - World Wide Poker (VK set 2), 1990, Video Klein.
|
||||
* Falcons Wild - Wild Card 1991, 1991, TVG.
|
||||
* PlayMan Poker (german), 1981, PM / Beck Elektronik.
|
||||
* PlayMan Poker (German), 1981, PM / Beck Elektronik.
|
||||
* Super Loco 93 (Spanish, set 1), 1993, Unknown.
|
||||
* Super Loco 93 (Spanish, set 2), 1993, Unknown.
|
||||
* Royale (set 1), 198?, Unknown.
|
||||
@ -119,7 +119,7 @@
|
||||
* Genie, 198?, Video Fun Games Ltd.
|
||||
* Silver Game, 1983, Unknown.
|
||||
* Casino Poker (Ver PM86LO-35-5, German), 1987, PM / Beck Elektronik.
|
||||
* "Unknown french poker game", 198?, Unknown.
|
||||
* "Unknown French poker game", 198?, Unknown.
|
||||
* "Unknown encrypted poker game", 198?, Unknown.
|
||||
* Bonne Chance! (Golden Poker prequel hardware), 198?, Unknown.
|
||||
* Mundial/Mondial (Italian/French), 1987, Unknown.
|
||||
@ -215,7 +215,7 @@
|
||||
Maybe some settings can enable the use of them...
|
||||
|
||||
|
||||
* Witch Card (spanish sets)
|
||||
* Witch Card (Spanish sets)
|
||||
|
||||
This game is derivated from Golden Poker.
|
||||
|
||||
@ -336,7 +336,7 @@
|
||||
The game has 2 service switches/buttons:
|
||||
One for settings, and other just for bookkeeping.
|
||||
|
||||
Here the original Service Card (in german), and the english translation:
|
||||
Here the original Service Card (in German), and the English translation:
|
||||
_____________________________________ _____________________________________
|
||||
| | | |
|
||||
| SERVICE ANLEITUNG | | SERVICE MANUAL |
|
||||
@ -772,10 +772,10 @@
|
||||
- Fixed the visible area based on M6845 registers.
|
||||
- Improved the lamps layouts to be more realistic.
|
||||
- Added Good Luck (potten's poker hybrid running in goldnpkr hardware).
|
||||
- Added Buena Suerte (spanish) x 2 sets.
|
||||
- Added Buena Suerte (Spanish) x 2 sets.
|
||||
- Added set Royale.
|
||||
- Added Witch Card and spanish variants.
|
||||
- Added Super Loco 93 (spanish) x 2 sets.
|
||||
- Added Witch Card and Spanish variants.
|
||||
- Added Super Loco 93 (Spanish) x 2 sets.
|
||||
- Renamed set goldnpkc to pottnpkr (parent Jack Potten's Poker set).
|
||||
- Renamed set jokerpkr to potnpkra, since is another Jack Potten's Poker set.
|
||||
- Added other 2 clones of Jack Potten's Poker.
|
||||
@ -817,11 +817,11 @@
|
||||
[2009-09-05]
|
||||
|
||||
- Added 2 new Witch Card sets.
|
||||
- Reworked inputs for Witch Card (german set 1).
|
||||
- Created new inputs for Witch Card (english, witch game, lamps).
|
||||
- Reworked inputs for Witch Card (German set 1).
|
||||
- Created new inputs for Witch Card (English, witch game, lamps).
|
||||
- Added and connected lamps for both sets.
|
||||
- Added minimal bet and 50/60 Hz. switches to both sets.
|
||||
- Added DIP switches info for Witch Card (german, set 2).
|
||||
- Added DIP switches info for Witch Card (German, set 2).
|
||||
|
||||
- Added Genius, running in a modified Golden Poker board.
|
||||
|
||||
@ -844,7 +844,7 @@
|
||||
|
||||
[2010-11-18]
|
||||
|
||||
- Added Karateco Super Double (french)
|
||||
- Added Karateco Super Double (French)
|
||||
- Extended ROM space for goldnpkr game to include the 0x2000..0x3fff range
|
||||
|
||||
|
||||
@ -4362,7 +4362,7 @@ ROM_END
|
||||
ROM_LOAD( "epoxy_82s129.bin", 0x0100, 0x0100, CRC(f0c012b1) SHA1(5502977404172e8c5b9fbf305581a406668ad1d9) ) /* original epoxy block PROM */
|
||||
ROM_END
|
||||
|
||||
/* Witch Card (spanish, set 1)
|
||||
/* Witch Card (Spanish, set 1)
|
||||
Unknown argentine manufacturer.
|
||||
*/
|
||||
ROM_START( witchcda )
|
||||
@ -4382,7 +4382,7 @@ ROM_START( witchcda )
|
||||
ROM_LOAD( "82s129.9c", 0x0000, 0x0100, CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) /* PROM dump needed */
|
||||
ROM_END
|
||||
|
||||
/* Witch Card (spanish, set 2)
|
||||
/* Witch Card (Spanish, set 2)
|
||||
Unknown argentine manufacturer.
|
||||
*/
|
||||
ROM_START( witchcdb )
|
||||
@ -4402,7 +4402,7 @@ ROM_START( witchcdb )
|
||||
ROM_LOAD( "82s129.9c", 0x0000, 0x0100, CRC(7f31066b) SHA1(15420780ec6b2870fc4539ec3afe4f0c58eedf12) ) /* PROM dump needed */
|
||||
ROM_END
|
||||
|
||||
/* Witch Card (english, no witch game)
|
||||
/* Witch Card (English, no witch game)
|
||||
Hack?
|
||||
*/
|
||||
ROM_START( witchcdc )
|
||||
@ -4424,7 +4424,7 @@ ROM_END
|
||||
|
||||
/***************************************
|
||||
|
||||
Witch Card (german, WC3050, set 1 )
|
||||
Witch Card (German, WC3050, set 1 )
|
||||
|
||||
TV GAME ELEKTRONIK 1994
|
||||
PROMA
|
||||
@ -4477,7 +4477,7 @@ ROM_END
|
||||
ROM_LOAD( "24s10_epoxy.bin", 0x0100, 0x0100, CRC(ddfd7034) SHA1(78dee69ab4ba759485ee7f00446c2d86f08cc50f) ) /* original epoxy block PROM */
|
||||
ROM_END
|
||||
|
||||
/* Witch Card (english, witch game, lights)
|
||||
/* Witch Card (English, witch game, lights)
|
||||
PCB by PM. Hybrid hardware.
|
||||
|
||||
Copyright 1983/84/85
|
||||
@ -4539,7 +4539,7 @@ ROM_END
|
||||
|
||||
/***************************************
|
||||
|
||||
Witch Card (german, WC3050, set 2 )
|
||||
Witch Card (German, WC3050, set 2 )
|
||||
|
||||
TV GAME ELEKTRONIK 1994
|
||||
PROMA
|
||||
@ -4882,7 +4882,7 @@ ROM_START( bsuertek )
|
||||
ROM_END
|
||||
|
||||
ROM_START( bsuertel )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) /* bslacer128: Buena Suerte! (portugues), english settings */
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) /* bslacer128: Buena Suerte! (portugues), English settings */
|
||||
ROM_LOAD( "bslacer.128", 0x4000, 0x4000, CRC(edc254f4) SHA1(20e5543e59bfd67a0afec7cbeeb7000f6bba6c69) )
|
||||
|
||||
ROM_REGION( 0x3000, "gfx1", 0 )
|
||||
@ -4899,7 +4899,7 @@ ROM_START( bsuertel )
|
||||
ROM_END
|
||||
|
||||
ROM_START( bsuertem )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) /* bslacer128: Buena Suerte! (portugues), english settings, set 2*/
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) /* bslacer128: Buena Suerte! (portugues), English settings, set 2*/
|
||||
ROM_LOAD( "bslacer.256", 0x0000, 0x8000, CRC(9f8a899a) SHA1(a1f3d0635b309d4734289b7ff48eceda69dfd3d0) )
|
||||
|
||||
ROM_REGION( 0x3000, "gfx1", 0 )
|
||||
@ -5464,7 +5464,7 @@ ROM_END
|
||||
mc6845 video chip
|
||||
10mhz (?) xtal
|
||||
|
||||
There are french strings related to the game, so maybe is
|
||||
There are French strings related to the game, so maybe is
|
||||
a leftover, or maybe there is a unknown way to switch the
|
||||
language.
|
||||
|
||||
@ -5544,7 +5544,7 @@ ROM_END
|
||||
Unknown poker game, set 1.
|
||||
198?.
|
||||
|
||||
There are french strings related to the game into
|
||||
There are French strings related to the game into
|
||||
the program ROM.
|
||||
|
||||
The dump lacks of 1 program ROM located at 17a.
|
||||
@ -5606,7 +5606,7 @@ ROM_END
|
||||
|
||||
/************************************
|
||||
|
||||
Jolli Witch (german)
|
||||
Jolli Witch (German)
|
||||
Epoxy CPU box.
|
||||
|
||||
Using the whole addressing
|
||||
|
@ -40,7 +40,7 @@
|
||||
Minimal Winner Hand (Jacks or Better, Two Pair).
|
||||
Deal Speed (Slow, Fast).
|
||||
Aces Type (Normal Aces, Number 1).
|
||||
Cards Deck Type (english cards, french cards).
|
||||
Cards Deck Type (English cards, French cards).
|
||||
Max Bet (5, 10, 15, 20).
|
||||
- Added NVRAM support.
|
||||
- Reorganized and cleaned-up the driver.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/***************************************************************************
|
||||
|
||||
commodore c65 home computer
|
||||
Commodore C65 home computer
|
||||
PeT mess@utanet.at
|
||||
|
||||
documention
|
||||
@ -256,7 +256,7 @@ static INPUT_PORTS_START( c65 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("Mouse 1350 Button 2") PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x03)
|
||||
PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
/* Still to verify how many mices you were able to plug into a c64 */
|
||||
/* Still to verify how many mice you were able to plug into a C64 */
|
||||
/* Only one, for now */
|
||||
PORT_START("JOY2_2B")
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
@ -74,9 +74,9 @@ PB.6 - enable language switches (W, see below)
|
||||
PB.7 - TSI DONE line (R)
|
||||
|
||||
(button rows pulled up to 5V through 2.2K resistors)
|
||||
PC.0 - button row 0, german language jumper (R)
|
||||
PC.1 - button row 1, french language jumper (R)
|
||||
PC.2 - button row 2, spanish language jumper (R)
|
||||
PC.0 - button row 0, German language jumper (R)
|
||||
PC.1 - button row 1, French language jumper (R)
|
||||
PC.2 - button row 2, Spanish language jumper (R)
|
||||
PC.3 - button row 3, special language jumper (R)
|
||||
PC.4 - button column A (W)
|
||||
PC.5 - button column B (W)
|
||||
@ -90,20 +90,20 @@ language switches:
|
||||
When PB.6 is pulled low, the language switches can be read. There are four.
|
||||
They connect to the button rows. When enabled, the row(s) will read low if
|
||||
the jumper is present. English only VCC's do not have the 367 or any pads stuffed.
|
||||
The jumpers are labelled: french, german, spanish, and special.
|
||||
The jumpers are labelled: French, German, Spanish, and special.
|
||||
|
||||
|
||||
language latch:
|
||||
---------------
|
||||
|
||||
There's an unstuffed 7474 on the board that connects to PA.6 and PA.7. It allows
|
||||
one to latch the state of A12 to the speech ROM. The english version has the chip
|
||||
one to latch the state of A12 to the speech ROM. The English version has the chip
|
||||
missing, and a jumper pulling "A12" to ground. This line is really a negative
|
||||
enable.
|
||||
|
||||
To make the VCC multi-language, one would install the 74367 (note: it must be a 74367
|
||||
or possibly a 74LS367. A 74HC367 would not work since they rely on the input current
|
||||
to keep the inputs pulled up), solder a piggybacked ROM to the existing english
|
||||
to keep the inputs pulled up), solder a piggybacked ROM to the existing English
|
||||
speech ROM, and finally install a 7474 dual flipflop.
|
||||
|
||||
This way, the game can then detect which secondary language is present, and then it can
|
||||
@ -569,7 +569,7 @@ selection jumpers:
|
||||
|
||||
These act like another row of buttons. It is composed of two diode locations,
|
||||
so there's up to 4 possible configurations. My board does not have either diode
|
||||
stuffed, so this most likely is "english". I suspect it selects which language to use
|
||||
stuffed, so this most likely is "English". I suspect it selects which language to use
|
||||
for the speech synth. Of course you need the other speech ROMs for this to function
|
||||
properly.
|
||||
|
||||
|
@ -8148,10 +8148,10 @@ COMP(1986, ax170, 0, 0, ax170, msx, driver_device, 0, "Al
|
||||
COMP(1983, canonv8, 0, 0, canonv8, msx, driver_device, 0, "Canon", "V-8 (MSX1)", 0)
|
||||
COMP(1983, canonv10, canonv20, 0, canonv10, msx, driver_device, 0, "Canon", "V-10 (MSX1)", 0)
|
||||
COMP(1983, canonv20, 0, 0, canonv20, msx, driver_device, 0, "Canon", "V-20 (MSX1)", 0)
|
||||
COMP(1983, canonv20e, canonv20, 0, canonv20, msx, driver_device, 0, "Canon", "V-20E (MSX1)", 0) // Different euro keyboard layout?
|
||||
COMP(1983, canonv20f, canonv20, 0, canonv20, msx, driver_device, 0, "Canon", "V-20F (MSX1)", 0) // Different french keyboard layout?
|
||||
COMP(1983, canonv20g, canonv20, 0, canonv20, msx, driver_device, 0, "Canon", "V-20G (MSX1)", 0) // Different german keyboard layout?
|
||||
COMP(1983, canonv20s, canonv20, 0, canonv20, msx, driver_device, 0, "Canon", "V-20S (MSX1)", 0) // Different spanish keyboard layout?
|
||||
COMP(1983, canonv20e, canonv20, 0, canonv20, msx, driver_device, 0, "Canon", "V-20E (MSX1)", 0) // Different Euro keyboard layout?
|
||||
COMP(1983, canonv20f, canonv20, 0, canonv20, msx, driver_device, 0, "Canon", "V-20F (MSX1)", 0) // Different French keyboard layout?
|
||||
COMP(1983, canonv20g, canonv20, 0, canonv20, msx, driver_device, 0, "Canon", "V-20G (MSX1)", 0) // Different German keyboard layout?
|
||||
COMP(1983, canonv20s, canonv20, 0, canonv20, msx, driver_device, 0, "Canon", "V-20S (MSX1)", 0) // Different Spanish keyboard layout?
|
||||
COMP(1984, mx10, 0, 0, mx10, msx, driver_device, 0, "Casio", "MX-10 (MSX1)", 0)
|
||||
COMP(1984, mx101, mx10, 0, mx101, msx, driver_device, 0, "Casio", "MX-101 (MSX1)", 0)
|
||||
COMP(1984, mx15, mx10, 0, mx15, msx, driver_device, 0, "Casio", "MX-15 (MSX1)", 0)
|
||||
|
@ -1833,7 +1833,6 @@ static MACHINE_CONFIG_START( pc88va, pc88va_state )
|
||||
MCFG_AM9517A_IN_MEMR_CB(READ8(pc88va_state, dma_memr_cb))
|
||||
MCFG_AM9517A_OUT_MEMW_CB(WRITE8(pc88va_state, dma_memw_cb))
|
||||
|
||||
|
||||
MCFG_UPD765A_ADD("upd765", false, true)
|
||||
MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(pc88va_state, fdc_irq))
|
||||
MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(pc88va_state, fdc_drq))
|
||||
|
0
src/mess/drivers/ti85.c
Executable file → Normal file
0
src/mess/drivers/ti85.c
Executable file → Normal file
@ -482,8 +482,8 @@ MACHINE_CONFIG_END
|
||||
WP keyboard, has 23-094E2 alt charset rom, 23-093E2 AVO rom.
|
||||
* VT100-WY/WZ - has AVO board preinstalled, WP romset?, English
|
||||
WP keyboard, has 23-094E2 alt charset rom, 23-093E2 AVO rom.
|
||||
The WP romset supports english, french, dutch and german languages but
|
||||
will only display text properly in the non-english languages if the
|
||||
The WP romset supports English, French, Dutch and German languages but
|
||||
will only display text properly in the non-English languages if the
|
||||
23-094E2 alt charset rom AND the foreign language 23-093E2
|
||||
AVO rom are populated.
|
||||
* VT100-NA/NB - ? romset with DECFORM keycaps
|
||||
@ -557,7 +557,7 @@ MACHINE_CONFIG_END
|
||||
23-095e2,096e2,139e2,140e2 set and probably others as well)
|
||||
* The vt100/101/102/103/etc 23-018e2-00 character set rom at location e4 is a 24 pin 2316 mask rom with enables as such: pin 18: CS2; pin 20: /CS1; pin 21: /CS3
|
||||
* The optional 23-094e2-00 alternate character set rom at location e9 is a 24 pin 2316 mask rom with enables as such: pin 18: /CS2; pin 20: /CS1; pin 21: /CS3
|
||||
Supposedly the 23-094e2 rom is meant for vt100-WC or -WF systems, (which are french canadian and french respectively), implying that it has european language specific accented characters on it. It is probably used in all the -W* systems.
|
||||
Supposedly the 23-094e2 rom is meant for vt100-WC or -WF systems, (which are French Canadian and French respectively), implying that it has European language specific accented characters on it. It is probably used in all the -W* systems.
|
||||
Pin 21 can be jumpered to +5v for this socket at location e9 by removing jumper w4 and inserting jumper w5, allowing a normal 2716 eprom to be used.
|
||||
* The optional AVO character set roms (see below) have: pin 18: /CS2*; pin 20: /CS1; pin 21: CS3 hence they match a normal 2716
|
||||
*(this is marked on the image as if it was CS2 but the input is tied to gnd meaning it must be /CS2)
|
||||
|
0
src/mess/includes/ti85.h
Executable file → Normal file
0
src/mess/includes/ti85.h
Executable file → Normal file
@ -1,4 +1,4 @@
|
||||
/* CD controller code from megacd.c, used by Sega Cd / Mega CD */
|
||||
/* CD controller code from megacd.c, used by Sega CD / Mega CD */
|
||||
|
||||
/* todo: cleanup(!!), make more generic, unifiy implementation with NeoCD, turn into a device and move to the proper lc89510.c file
|
||||
currently this is a bit of a mix of system specific bits, incomplete implementations etc. as well as a rather kludgy combination
|
||||
@ -217,7 +217,7 @@ void lc89510_temp_device::CDD_GetPos(void)
|
||||
CLEAR_CDD_RESULT
|
||||
UINT32 msf;
|
||||
CDD_STATUS &= 0xFF;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
CDD_STATUS |= SCD_STATUS;
|
||||
msf = lba_to_msf_alt(SCD_CURLBA+150);
|
||||
@ -233,7 +233,7 @@ void lc89510_temp_device::CDD_GetTrackPos(void)
|
||||
UINT32 msf;
|
||||
CDD_STATUS &= 0xFF;
|
||||
// UINT32 end_msf = ;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
CDD_STATUS |= SCD_STATUS;
|
||||
elapsedlba = SCD_CURLBA - segacd.toc->tracks[ cdrom_get_track(segacd.cd, SCD_CURLBA) ].logframeofs;
|
||||
@ -248,7 +248,7 @@ void lc89510_temp_device::CDD_GetTrack(void)
|
||||
{
|
||||
CLEAR_CDD_RESULT
|
||||
CDD_STATUS &= 0xFF;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
CDD_STATUS |= SCD_STATUS;
|
||||
SCD_CURTRK = cdrom_get_track(segacd.cd, SCD_CURLBA)+1;
|
||||
@ -259,7 +259,7 @@ void lc89510_temp_device::CDD_Length(void)
|
||||
{
|
||||
CLEAR_CDD_RESULT
|
||||
CDD_STATUS &= 0xFF;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
CDD_STATUS |= SCD_STATUS;
|
||||
|
||||
@ -276,7 +276,7 @@ void lc89510_temp_device::CDD_FirstLast(void)
|
||||
{
|
||||
CLEAR_CDD_RESULT
|
||||
CDD_STATUS &= 0xFF;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
CDD_STATUS |= SCD_STATUS;
|
||||
CDD_MIN = 1; // first
|
||||
@ -291,7 +291,7 @@ void lc89510_temp_device::CDD_GetTrackAdr(void)
|
||||
int last_track = cdrom_get_last_track(segacd.cd);
|
||||
|
||||
CDD_STATUS &= 0xFF;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
CDD_STATUS |= SCD_STATUS;
|
||||
|
||||
@ -323,7 +323,7 @@ void lc89510_temp_device::CDD_GetTrackType(void)
|
||||
int last_track = cdrom_get_last_track(segacd.cd);
|
||||
|
||||
CDD_STATUS &= 0xFF;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
CDD_STATUS |= SCD_STATUS;
|
||||
|
||||
@ -359,7 +359,7 @@ void lc89510_temp_device::CDD_Play(running_machine &machine)
|
||||
CLEAR_CDD_RESULT
|
||||
UINT32 msf = getmsf_from_regs();
|
||||
SCD_CURLBA = msf_to_lba(msf)-150;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
UINT32 end_msf = segacd.toc->tracks[ cdrom_get_track(segacd.cd, SCD_CURLBA) + 1 ].logframeofs;
|
||||
SCD_CURTRK = cdrom_get_track(segacd.cd, SCD_CURLBA)+1;
|
||||
@ -384,7 +384,7 @@ void lc89510_temp_device::CDD_Seek(void)
|
||||
CLEAR_CDD_RESULT
|
||||
UINT32 msf = getmsf_from_regs();
|
||||
SCD_CURLBA = msf_to_lba(msf)-150;
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
SCD_CURTRK = cdrom_get_track(segacd.cd, SCD_CURLBA)+1;
|
||||
LC8951UpdateHeader();
|
||||
@ -417,7 +417,7 @@ void lc89510_temp_device::CDD_Resume(running_machine &machine)
|
||||
{
|
||||
CLEAR_CDD_RESULT
|
||||
STOP_CDC_READ
|
||||
if(segacd.cd == NULL) // no cd is there, bail out
|
||||
if(segacd.cd == NULL) // no CD is there, bail out
|
||||
return;
|
||||
SCD_CURTRK = cdrom_get_track(segacd.cd, SCD_CURLBA)+1;
|
||||
SCD_STATUS = CDD_PLAYINGCDDA;
|
||||
|
0
src/mess/machine/ti85.c
Executable file → Normal file
0
src/mess/machine/ti85.c
Executable file → Normal file
@ -12,24 +12,24 @@
|
||||
I don't know how close to this standard the character sets used by the
|
||||
911 VDT are.
|
||||
|
||||
The japanese terminal uses 8-bit character codes. The 128 first characters
|
||||
The Japanese terminal uses 8-bit character codes. The 128 first characters
|
||||
are identical to the US character set (except that '\' is replaced by the
|
||||
Yen symbol), and the next 128 characters include the katakana syllabus.
|
||||
Kanji ideograms are not supported in this scheme.
|
||||
|
||||
The arabic terminal uses 8-bit character codes, too. It requires
|
||||
The Arabic terminal uses 8-bit character codes, too. It requires
|
||||
additional code in the TI990 OS for correct operation, as the keyboard
|
||||
returns codes for isolated characters (i.e. without ligatures), which need
|
||||
to be substituted with codes with correct context-dependent ligatures.
|
||||
And both OS and application programs need to support the fact that the
|
||||
writing direction can be either right-to-left or left-to-right, according
|
||||
to whether the characters are latin or arabic.
|
||||
to whether the characters are Latin or Arabic.
|
||||
|
||||
As the original ROMs have not been dumped yet, I recreated the matrices
|
||||
from various matrix printouts in TI documentation.
|
||||
*/
|
||||
/*
|
||||
The arabic character set is not implemented, because documentation is ambiguous
|
||||
The Arabic character set is not implemented, because documentation is ambiguous
|
||||
(it says there are 115 characters, but I can hardly see 80 characters in the
|
||||
attached table), and the character matrices are not documented.
|
||||
*/
|
||||
@ -47,26 +47,26 @@ enum
|
||||
/* extra symbols for national character sets */
|
||||
char_defs_pound = char_defs_katakana_base+128, /* pound sign (UK 0x23, French WP 0x23) */
|
||||
char_defs_yen, /* yen sign (Japan 0x5C) */
|
||||
char_defs_auml, /* latin small letter a with diaeresis (Swedish/Finish 0x7B, German 0x7B) */
|
||||
char_defs_Auml, /* latin capital letter A with diaeresis (Swedish/Finish 0x5B, German 0x5B) */
|
||||
char_defs_Aring, /* latin capital letter A with ring above (Swedish/Finish 0x5D, Norwegian/Danish 0x5D) */
|
||||
char_defs_uuml, /* latin small letter u with diaeresis (Swedish/Finish 0x7E, German 0x7D) */
|
||||
char_defs_aring, /* latin small letter a with ring above (Swedish/Finish 0x7D, Norwegian/Danish 0x7D) */
|
||||
char_defs_Uuml, /* latin capital letter U with diaeresis (German 0x5D) */
|
||||
char_defs_ouml, /* latin small letter o with diaeresis (German 0x7C) */
|
||||
char_defs_Ouml, /* latin capital letter O with diaeresis (German 0x5C) */
|
||||
char_defs_szlig, /* latin small letter sharp s (German 0x7E) */
|
||||
char_defs_aelig, /* latin small letter ae (Norwegian/Danish 0x7B) */
|
||||
char_defs_AElig, /* latin capital letter AE (Norwegian/Danish 0x5B) */
|
||||
char_defs_oslash, /* latin small letter o with stroke (Norwegian/Danish 0x7C) */
|
||||
char_defs_Oslash, /* latin capital letter O with stroke (Norwegian/Danish 0x5C) */
|
||||
char_defs_agrave, /* latin small letter a with grave (French WP 0x40) */
|
||||
char_defs_auml, /* Latin small letter a with diaeresis (Swedish/Finish 0x7B, German 0x7B) */
|
||||
char_defs_Auml, /* Latin capital letter A with diaeresis (Swedish/Finish 0x5B, German 0x5B) */
|
||||
char_defs_Aring, /* Latin capital letter A with ring above (Swedish/Finish 0x5D, Norwegian/Danish 0x5D) */
|
||||
char_defs_uuml, /* Latin small letter u with diaeresis (Swedish/Finish 0x7E, German 0x7D) */
|
||||
char_defs_aring, /* Latin small letter a with ring above (Swedish/Finish 0x7D, Norwegian/Danish 0x7D) */
|
||||
char_defs_Uuml, /* Latin capital letter U with diaeresis (German 0x5D) */
|
||||
char_defs_ouml, /* Latin small letter o with diaeresis (German 0x7C) */
|
||||
char_defs_Ouml, /* Latin capital letter O with diaeresis (German 0x5C) */
|
||||
char_defs_szlig, /* Latin small letter sharp s (German 0x7E) */
|
||||
char_defs_aelig, /* Latin small letter ae (Norwegian/Danish 0x7B) */
|
||||
char_defs_AElig, /* Latin capital letter AE (Norwegian/Danish 0x5B) */
|
||||
char_defs_oslash, /* Latin small letter o with stroke (Norwegian/Danish 0x7C) */
|
||||
char_defs_Oslash, /* Latin capital letter O with stroke (Norwegian/Danish 0x5C) */
|
||||
char_defs_agrave, /* Latin small letter a with grave (French WP 0x40) */
|
||||
char_defs_deg, /* degree sign (French WP 0x5B) */
|
||||
char_defs_ccedil, /* latin small letter c with cedilla (French WP 0x5C) */
|
||||
char_defs_ccedil, /* Latin small letter c with cedilla (French WP 0x5C) */
|
||||
char_defs_sect, /* section sign (French WP 0x5D) */
|
||||
char_defs_egrave, /* latin small letter e with grave (French WP 0x7B) */
|
||||
char_defs_ugrave, /* latin small letter u with grave (French WP 0x7C) */
|
||||
char_defs_eacute, /* latin small letter e with acute (French WP 0x7D) */
|
||||
char_defs_egrave, /* Latin small letter e with grave (French WP 0x7B) */
|
||||
char_defs_ugrave, /* Latin small letter u with grave (French WP 0x7C) */
|
||||
char_defs_eacute, /* Latin small letter e with acute (French WP 0x7D) */
|
||||
char_defs_uml, /* diaeresis (French WP 0x7E) */
|
||||
|
||||
char_defs_count /* total character count */
|
||||
@ -87,13 +87,13 @@ static const char_override_t UK_overrides[1] =
|
||||
{ 0x23, char_defs_pound }
|
||||
};
|
||||
|
||||
/* One japan-specific character (see below for the 128 additionnal characters) */
|
||||
/* One Japan-specific character (see below for the 128 additionnal characters) */
|
||||
static const char_override_t japanese_overrides[1] =
|
||||
{
|
||||
{ 0x5C, char_defs_yen }
|
||||
};
|
||||
|
||||
/* 5 sweden/finland-specific characters */
|
||||
/* 5 Sweden/Finland-specific characters */
|
||||
static const char_override_t swedish_overrides[/*5*/7] =
|
||||
{
|
||||
{ 0x7B, char_defs_auml },
|
||||
@ -106,7 +106,7 @@ static const char_override_t swedish_overrides[/*5*/7] =
|
||||
{ 0x7C, char_defs_ouml }
|
||||
};
|
||||
|
||||
/* 7 german-specific characters */
|
||||
/* 7 German-specific characters */
|
||||
static const char_override_t german_overrides[7] =
|
||||
{
|
||||
{ 0x5D, char_defs_Uuml },
|
||||
@ -118,7 +118,7 @@ static const char_override_t german_overrides[7] =
|
||||
{ 0x5B, char_defs_Auml } /* 945423-9701 rev. B p. 1-10 says 0x5D, but it must be a mistake */
|
||||
};
|
||||
|
||||
/* 6 norway/denmark-specific characters */
|
||||
/* 6 Norway/Denmark-specific characters */
|
||||
static const char_override_t norwegian_overrides[6] =
|
||||
{
|
||||
{ 0x5D, char_defs_Aring },
|
||||
@ -129,7 +129,7 @@ static const char_override_t norwegian_overrides[6] =
|
||||
{ 0x5C, char_defs_Oslash}
|
||||
};
|
||||
|
||||
/* 9 french-specific characters (word-processing model only: the data-processing model uses
|
||||
/* 9 French-specific characters (word-processing model only: the data-processing model uses
|
||||
the US character set, although the keyboard mapping is different from the US model) */
|
||||
/* WARNING: I have created the character matrices from scratch, as I have no printout of
|
||||
the original matrices. */
|
||||
@ -1690,7 +1690,7 @@ static const UINT8 char_defs[char_defs_count][10] =
|
||||
},
|
||||
|
||||
|
||||
/* 128 additional characters for japanese terminals */
|
||||
/* 128 additional characters for Japanese terminals */
|
||||
{ /* 0x80 */
|
||||
0x00,
|
||||
0x00,
|
||||
|
@ -87,7 +87,7 @@ static const unsigned short vdt911_palette[] =
|
||||
/*
|
||||
Macros for model features
|
||||
*/
|
||||
/* TRUE for japanese and arabic terminals, which use 8-bit charcodes and keyboard shift modes */
|
||||
/* TRUE for Japanese and Arabic terminals, which use 8-bit charcodes and keyboard shift modes */
|
||||
#define USES_8BIT_CHARCODES() ((m_model == vdt911_model_Japanese) /*|| (m_model == vdt911_model_Arabic)*/)
|
||||
/* TRUE for keyboards which have this extra key (on the left of TAB/SKIP)
|
||||
(Most localized keyboards have it) */
|
||||
@ -541,9 +541,9 @@ void vdt911_device::check_keyboard()
|
||||
{
|
||||
enum modifier_state_t
|
||||
{
|
||||
/* states for western keyboards and katakana/arabic keyboards in romaji/latin mode */
|
||||
/* states for Western keyboards and katakana/Arabic keyboards in romaji/Latin mode */
|
||||
lower_case = 0, upper_case, shift, control,
|
||||
/* states for katakana/arabic keyboards in katakana/arabic mode */
|
||||
/* states for katakana/Arabic keyboards in katakana/Arabic mode */
|
||||
foreign, foreign_shift,
|
||||
/* special value to stop repeat if the modifier state changes */
|
||||
special_debounce = -1
|
||||
@ -568,7 +568,7 @@ void vdt911_device::check_keyboard()
|
||||
/* parse modifier keys */
|
||||
if ((USES_8BIT_CHARCODES())
|
||||
&& ((key_buf[5] & 0x0400) || ((!(key_buf[5] & 0x0100)) && m_foreign_mode)))
|
||||
{ /* we are in katakana/arabic mode */
|
||||
{ /* we are in katakana/Arabic mode */
|
||||
m_foreign_mode = true;
|
||||
|
||||
if ((key_buf[4] & 0x0400) || (key_buf[5] & 0x0020))
|
||||
@ -577,8 +577,8 @@ void vdt911_device::check_keyboard()
|
||||
modifier_state = foreign;
|
||||
}
|
||||
else
|
||||
{ /* we are using a western keyboard, or a katakana/arabic keyboard in
|
||||
romaji/latin mode */
|
||||
{ /* we are using a Western keyboard, or a katakana/Arabic keyboard in
|
||||
romaji/Latin mode */
|
||||
m_foreign_mode = false;
|
||||
|
||||
if (key_buf[3] & 0x0040)
|
||||
|
@ -21,7 +21,7 @@ Known bugs:
|
||||
Build SDL 2.0 from HG
|
||||
======================
|
||||
|
||||
Pull 2.0 from hg. Than
|
||||
Pull 2.0 from hg. Then
|
||||
|
||||
sh autogen.sh
|
||||
./configure --prefix=/usr/local/sdl13/ --disable-video-svga --enable-video-directfb --enable-fusionsound
|
||||
@ -66,7 +66,7 @@ The following modes are working:
|
||||
SDL13
|
||||
=====
|
||||
|
||||
This is driver using SDL texture and line drawing support. It supports
|
||||
This is driver using SDL texture and line drawing support. It supports
|
||||
-prescale, -filter and -waitvsync. The driver determines which pixel
|
||||
formats perform best and converts textures to these pixel formats and at
|
||||
the same time performs any necessary rotation.
|
||||
@ -93,7 +93,7 @@ Soft:
|
||||
OpenGL:
|
||||
=======
|
||||
|
||||
Plain opengl does work. Anything more advanced like pbo, fbo or glsl will
|
||||
Plain opengl does work. Anything more advanced like pbo, fbo or glsl will
|
||||
most probably not work with more than one screen.
|
||||
|
||||
./mamed -mt -video opengl mario -nogl_pbo -nogl_vbo -nogl_glsl -numscreens 2
|
||||
@ -125,8 +125,6 @@ yv12, yv12x2, yuy2, yuy2x2:
|
||||
Rendering in software / scaling with hardware (if supported)
|
||||
|
||||
Whether these are actually hardware accelerated depends on the SDL driver
|
||||
and the hardware. The SDL directfb driver supports all above if the hardware
|
||||
supports it. However, only one YUV-texture per display is supported.
|
||||
and the hardware. The SDL directfb driver supports all above if the hardware
|
||||
supports it. However, only one YUV-texture per display is supported.
|
||||
The second window consequently will get "software" YUV blitting.
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user