srcclean (nw)

This commit is contained in:
Vas Crabb 2019-02-24 14:25:42 +11:00
parent 30ae22c2e2
commit 0ed2d2684e
81 changed files with 1723 additions and 1723 deletions

0
hash/a800.xml Executable file → Normal file
View File

0
hash/a800_flop.xml Executable file → Normal file
View File

View File

@ -721,7 +721,7 @@
</dataarea>
</part>
</software>
<software name="ec0061">
<description>J-Pop Mix Volume 27 (Japan) (EC0061-JPM)</description>
<year>2001</year>
@ -743,7 +743,7 @@
</dataarea>
</part>
</software>
<software name="ec0063">
<description>J-Pop Mix Volume 29 (Japan) (EC0063-JPM)</description>
<year>2001</year>
@ -767,7 +767,7 @@
</dataarea>
</part>
</software>
<software name="ec0066">
<description>J-Pop Mix Volume 31 (Japan) (EC0066-JPM)</description>
<year>2001</year>
@ -778,7 +778,7 @@
</dataarea>
</part>
</software>
<software name="ec0067">
<description>J-Pop Mix Volume 32 (Japan) (EC0067-JPM)</description>
<year>2001</year>
@ -811,7 +811,7 @@
</dataarea>
</part>
</software>
<software name="ec0070">
<description>J-Pop Mix Volume 34 (Japan) (EC0070-JPM)</description>
<year>2001</year>
@ -866,7 +866,7 @@
</dataarea>
</part>
</software>
<software name="ec0075">
<description>J-Pop Mix Volume 38 (Japan) (EC0075-JPM)</description>
<year>2001</year>
@ -876,7 +876,7 @@
<rom name="ec0075-jpm.u1" size="0x100000" crc="cbb8e615" sha1="5fbbfbf4278ce7e289d859e389808b155bb16e4a" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="ec0076">
<description>J-Pop Mix Volume 39 (Japan) (EC0076-JPM)</description>
@ -888,7 +888,7 @@
</dataarea>
</part>
</software>
<software name="ec0077">
<description>Artist Selection Volume 15 - unknown artist (Japan) (EC0077-ATS)</description>
<year>2001</year>
@ -898,8 +898,8 @@
<rom name="ec0077-ats.u1" size="0x100000" crc="368b0daf" sha1="8274a06ca2e3dbcd5176ac1b916be4a5a0df12ef" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="ec0078">
<description>J-Pop Mix Volume 40 (Japan) (EC0078-JPM)</description>
<year>2001</year>

View File

@ -8,7 +8,7 @@
Japanese cart listing (by A code) (A-x on cartridge)
These are for use with e-pitch / e-kara (e-pitch internal ROM is the same as e-kara Japan, just button layout is changed)
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10109392860
A-1 Pichi Pichi Pitch vol.1 / ぴちぴちピッチvol.1
@ -33,7 +33,7 @@
</dataarea>
</part>
</software>
<software name="a4" supported="no">
<description>A-4 Pichi Pichi Pitch Pure Chapter 1 (Japan)</description>
<year>2004</year>
@ -44,7 +44,7 @@
<rom name="ekaraa4.bin" size="0x200000" crc="03dcc45a" sha1="ae884128c09b4fc7521f0010bbe9624419a3d0b8" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="a5">
<description>A-5 Pichi Pichi Pitch Karaoke Party (Japan)</description>
@ -67,6 +67,6 @@
<rom name="ekaraa7.bin" size="0x200000" crc="5b59900e" sha1="fdb8148211f00d0119b9ad082bf8fd348d509800" offset="0" />
</dataarea>
</part>
</software>
</software>
</softwarelist>

View File

@ -9,7 +9,7 @@
A secondary 4-digit naming scheme BHxxxx (no extension) appears on a sticker on the cartridge PCB only
For e-kara only
These are probably all just titled 'Best Hit Collection'
BH-01 (unknown)
@ -33,7 +33,7 @@
</dataarea>
</part>
</software>
<software name="bh03">
<description>BH-03 Best Hit Collection (Japan)</description>
<year>2005</year>
@ -43,7 +43,7 @@
<rom name="bh03.bin" size="0x100000" crc="d17cafd4" sha1="b74fd0f77a726547d4001d4177a5ccd2ea35536a" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="bh05">
<description>BH-05 Best Hit Collection (Japan)</description>
@ -65,6 +65,6 @@
<rom name="bh06.bin" size="0x100000" crc="6e264ecb" sha1="6c3e4253565242c0c6dcdab7698f5b1e28544b2e" offset="0" />
</dataarea>
</part>
</software>
</software>
</softwarelist>

View File

@ -18,7 +18,7 @@
*D-1 DC0001-BHT BHT (Best Artists?) Volume 8 (most other BHT carts are in G series, or P series)
*D-2 DC0002-BAT BAT Volume 6
*D-3 DC0003-BHT BHT (Best Artists?) Volume 9
*D-3 DC0003-BHT BHT (Best Artists?) Volume 9
D-4 DC0004-TPJ TV Pop Volume 8
*D-5 DC0005-TPJ TV Pop Volume 9
D-6 DC0006-BHT BHT (Best Artists?) Volume 10

View File

@ -110,7 +110,7 @@
</dataarea>
</part>
</software>
<software name="gc0008a" cloneof="gc0008">
<description>MIN Volume 1 (Japan) (GC0008-MIN) (set 2)</description>
<year>2001</year>
@ -120,7 +120,7 @@
<rom name="gc0008-min(alt).u1" size="0x200000" crc="b34d1721" sha1="3621f02423f55c43d1b16855c01189719ddbcb6e" offset="0" />
</dataarea>
</part>
</software>
</software>
<!-- Notes from Sean
@ -133,7 +133,7 @@
e-Kara units, Popira, Taiko de Popira and DDR all of them have pin 4 of the cart connector going to VCC and pin 32 going to ground. So none of them can communicate with the SEEPROM in G10
Popira 2 however can make use of these pins -->
<software name="gc0010">
<description>BAT Volume 4 (Japan) (GC0010-BAT)</description>
<year>2002</year>
@ -183,7 +183,7 @@
</dataarea>
</part>
</software>
<software name="gc0017">
<description>TV Pop Volume 6 (Japan) (GC0017-TPJ)</description>
<year>2002</year>
@ -194,6 +194,6 @@
<rom name="gc0017-tpj.u1" size="0x100000" crc="2c7d00a2" sha1="5976b9f3a95afb3b23f1d1d996de0b7aa41ee25c" offset="0" />
</dataarea>
</part>
</software>
</software>
</softwarelist>

View File

@ -54,7 +54,7 @@
</dataarea>
</part>
</software>
<software name="mc0006">
<description>KSM Mini Volume 2 (Japan) (MC0006-KSM)</description>
<year>2003</year>
@ -64,7 +64,7 @@
<rom name="mc0006-ksm.u1" size="0x080000" crc="6d3c8c02" sha1="568a0e156a2189156149578277b6d615fe4e157f" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="mc0012">
<description>Artist Mini Volume 7 (untranslated artist) (Japan) (MC0012-ATM)</description>
@ -87,7 +87,7 @@
</dataarea>
</part>
</software>
<software name="mc0014">
<description>Artist Mini Volume 8 (BoA) (Japan) (MC0014-ATM)</description>
<year>2003</year>
@ -97,6 +97,6 @@
<rom name="mc0014-atm.u1" size="0x080000" crc="170e02af" sha1="02b38146db7d74727f7dccf6dcc3d004979210a1" offset="0" />
</dataarea>
</part>
</software>
</software>
</softwarelist>

View File

@ -50,7 +50,7 @@
</dataarea>
</part>
</software>
<software name="pc0003">
<description>ENB Volume 1 (Japan) (PC0003-ENB)</description>
<year>2001</year>

View File

@ -44,7 +44,7 @@
</dataarea>
</part>
</software>
<software name="sp03">
<description>SP-03 Super Cartridge (Japan)</description>
<year>2004</year>
@ -55,8 +55,8 @@
<rom name="sp03.u1" size="0x200000" crc="cd7dbbaf" sha1="cc62c10f8f83015e4c472bc41e9a1fd7ac497655" offset="0" />
</dataarea>
</part>
</software>
</software>
<software name="sp04">
<description>SP-04 Super Cartridge (Japan)</description>
<year>2004</year>
@ -67,6 +67,6 @@
<rom name="sp04.u1" size="0x200000" crc="77818ddb" sha1="708980b1ae30864bd3395ef663de1c57ecbc113c" offset="0" />
</dataarea>
</part>
</software>
</software>
</softwarelist>

View File

@ -27,9 +27,9 @@
</dataarea>
</part>
</software>
<!-- this one has some songs programmed into it (TODO, list them here for reference) -->
<software name="ekaraweb12a">
<description>e-kara Web cartridge 12M (used, with 7 Songs) (Japan)</description>
<year>2003</year>
@ -39,6 +39,6 @@
<rom name="ekaraweb3.bin" size="0x100000" crc="a6a095b9" sha1="709d7edb5799b97127502408bec698663b902462" offset="0" />
</dataarea>
</part>
</software>
</software>
</softwarelist>

View File

@ -546,7 +546,7 @@ C1066 - ??
</dataarea>
</part>
</software>
<software name="famous7">
<description>Famous 7</description>
<year>1993</year>

24
hash/ibm5150.xml Executable file → Normal file
View File

@ -3592,7 +3592,7 @@ Known PC Booter Games Not Dumped, Or Dumped and Lost when Demonlord's Site went
</dataarea>
</part>
</software>
<software name="strecalc">
<description>StretchCalc</description>
<year>1983</year>
@ -7132,7 +7132,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="brdtale">
<description>The Bard's Tale - Tales of the Unknown (5.25")</description>
<year>1987</year>
@ -7409,7 +7409,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="budokan">
<description>Budokan - The Martial Spirit</description>
<year>1989</year>
@ -7420,7 +7420,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="budokana" cloneof="budokan">
<description>Budokan - The Martial Spirit (Big Games release)</description>
<year>1989</year>
@ -8171,7 +8171,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="gunboata" cloneof="gunboat">
<description>Gunboat: River Combat Simulation (Hit Squad release)</description>
<year>1990</year>
@ -8357,7 +8357,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="shogun">
<description>James Clavell's Shogun (set 1)</description>
<year>1987</year>
@ -9271,7 +9271,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="monopoly">
<description>Monopoly v2.00 (Shareware)</description>
<year>1989</year>
@ -9298,7 +9298,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="montypyt35" cloneof="montypyt">
<description>Monty Python's Flying Circus (3.5")</description>
<year>1990</year>
@ -10279,7 +10279,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="bartvssma" cloneof="bartvssm">
<description>The Simpsons - Bart vs. the Space Mutants (Hit-Squad release)</description>
<year>1991</year>
@ -11038,7 +11038,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="xenon">
<description>Xenon (5.25")</description>
<year>1988</year>
@ -11056,7 +11056,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="xenon35" cloneof="xenon">
<description>Xenon (16 Blitz Plus release) (3.5")</description>
<year>1990</year>
@ -11123,7 +11123,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="zoola" cloneof="zool">
<description>Zool (Big Games release)</description>
<year>1993</year>

View File

@ -10747,7 +10747,7 @@
</dataarea>
</part>
</software>
<software name="micromc2">
<description>Micro Machines 2: Turbo Tournament</description>
<year>1995</year>
@ -11301,7 +11301,7 @@
</dataarea>
</part>
</software>
<software name="monkeyit" cloneof="monkeyk">
<description>The Secret of Monkey Island (Italian)</description>
<year>1991</year>

View File

@ -29,7 +29,7 @@
</dataarea>
</part>
</software>
<software name="jp02">
<description>JP-02 (Japan)</description>
<year>2004</year>
@ -41,5 +41,5 @@
</dataarea>
</part>
</software>
</softwarelist>

0
hash/msx1_cass.xml Executable file → Normal file
View File

View File

@ -3,8 +3,8 @@
<softwarelist name="sega_beena_cart" description="Sega Beena Cartridges">
<!-- you must byteswap ROMs to see text, due to endian? -->
<software name="fpc" supported="no">
<software name="fpc" supported="no">
<description>Fresh Pretty Cure</description> <!-- is this the correct title? -->
<year>2009</year>
<publisher>Sega</publisher>

0
hash/timex_dock.xml Executable file → Normal file
View File

View File

@ -227454,7 +227454,7 @@
</dataarea>
</part>
</software>
<!-- Project.org 2612 VGM Archives located at http://project2612.org/list.php
Also https://archive.org/details/Project2612CompleteArchive20180623681Sets.7z -->

View File

@ -259,17 +259,17 @@ function cheatfind.startplugin()
local devtable = {}
local devsel = 1
local devcur = 1
--local formtable = { " I1", " i1", "<I2", ">I2", "<i2", ">i2", "<I4", ">I4", "<i4", ">i4", "<I8", ">I8", "<i8", ">i8", }-- " <f", " >f", " <d", " >d" }
--local formname = { "u8", "s8", "little u16", "big u16", "little s16", "big s16",
-- "little u32", "big u32", "little s32", "big s32", "little u64", "big u64", "little s64", "big s64", }
-- -- "little float", "big float", "little double", "big double" }
-- "little u32", "big u32", "little s32", "big s32", "little u64", "big u64", "little s64", "big s64", }
-- -- "little float", "big float", "little double", "big double" }
-- Reordered into likelyhood of use order: unsigned byte by big endian unsigned by little endian unsigned then unsigned in same order
local formtable = { " I1", ">I2", ">I4", ">I8", "<I2", "<I4", "<I8", " i1", ">i2", ">i4", ">i8", "<i2", "<i4", "<i8", }-- " <f", " >f", " <d", " >d" }
local formname = { "u8", "big u16", "big u32", "big u64", "little u16", "little u32",
"little u64", "s8", "big s16", "big s32", "big s64", "little s16", "little s32", "little s64", }
local formname = { "u8", "big u16", "big u32", "big u64", "little u16", "little u32",
"little u64", "s8", "big s16", "big s32", "big s64", "little s16", "little s32", "little s64", }
local width = 1
local bcd = 0
local align = 0
@ -278,16 +278,16 @@ function cheatfind.startplugin()
local value = 0
local leftop = 1
local rightop = 1
local leftop_text = "Slot 1"
local rightop_text = "Slot 1"
local value_text = ""
local expression_text = "Slot 1 < Slot 1"
local leftop_text = "Slot 1"
local rightop_text = "Slot 1"
local value_text = ""
local expression_text = "Slot 1 < Slot 1"
local pausetable = { "Automatic", "Manual" }
local pausesel = 1
local pokevaltable = { "Slot 1 Value", "Last Slot Value", "0x00", "0x01", "0x02", "0x03", "0x04", "0x05", "0x06", "0x07", "0x08", "0x09", "0x63 (Decimal 99)", "0x99 (BCD 99)",
local pokevaltable = { "Slot 1 Value", "Last Slot Value", "0x00", "0x01", "0x02", "0x03", "0x04", "0x05", "0x06", "0x07", "0x08", "0x09", "0x63 (Decimal 99)", "0x99 (BCD 99)",
"0xFF (Decimal 255)" , "0x3E7 (Decimal 999)", "0x999 (BCD 999)", "0x270F (Decimal 9999)", "0x9999 (BCD 9999)", "0xFFFF (Decimal 65535)" }
local pokevalsel = 1
local matches = {}
local matchsel = 0
local matchpg = 0
@ -350,12 +350,12 @@ function cheatfind.startplugin()
end
emu.register_start(start)
local menu_is_showing = false
local tabbed_out = false
local tabbed_out = false
local function menu_populate()
if pausesel == 1 then
if pausesel == 1 then
emu.pause()
menu_is_showing = true
end
@ -504,24 +504,24 @@ function cheatfind.startplugin()
local m = { _("Pause Mode"), pausetable[pausesel], 0 }
menu_lim(pausesel, 1, pausetable, m)
local function f(event)
if (event == "left" or event == "right") then
if (event == "left" or event == "right") then
if pausesel == 1 then
pausesel = 2
menu_is_showing = false
manager:machine():popmessage(_("Manually pause & unpause the game when needed with the pause hotkey"))
else
else
pausesel = 1
emu.pause()
end
end
end
return true
end
return m, f
end
return m, f
end
menu[#menu + 1] = function()
local function f(event)
local ret = false
@ -542,7 +542,7 @@ function cheatfind.startplugin()
leftop_text = "Slot 1"
rightop_text = "Slot 1"
value_text = ""
expression_text = "Slot 1 < Slot 1"
expression_text = "Slot 1 < Slot 1"
matchsel = 0
return true
end
@ -550,9 +550,9 @@ function cheatfind.startplugin()
local opsel = 1
return { _("Start new search"), "", 0 }, f
end
if #menu_blocks ~= 0 then
menu[#menu + 1] = function() return { "---", "", "off" }, nil end
menu[#menu + 1] = function()
@ -562,7 +562,7 @@ function cheatfind.startplugin()
menu_blocks[num][#menu_blocks[num] + 1] = cheat.save(devtable[devcur].space, region.offset, region.size)
end
manager:machine():popmessage(string.format(_("Memory State saved to Slot %d"), #menu_blocks[1]))
if (leftop == #menu_blocks[1] - 1 and rightop == #menu_blocks[1] - 2 ) then
leftop = #menu_blocks[1]
rightop = #menu_blocks[1]-1
@ -571,7 +571,7 @@ function cheatfind.startplugin()
rightop = #menu_blocks[1]
elseif (leftop == #menu_blocks[1] - 1 ) then
leftop = #menu_blocks[1]
elseif (rightop == #menu_blocks[1] - 1) then
elseif (rightop == #menu_blocks[1] - 1) then
rightop = #menu_blocks[1]
end
leftop_text = string.format("Slot %d", leftop)
@ -618,27 +618,27 @@ function cheatfind.startplugin()
return true
end
end
if optable[opsel] == "lt" then
if (value == 0 ) then
expression_text = string.format("%s < %s", leftop_text, rightop_text)
else
expression_text = string.format("%s == %s - %d", leftop_text, rightop_text, value)
end
expression_text = string.format("%s < %s", leftop_text, rightop_text)
else
expression_text = string.format("%s == %s - %d", leftop_text, rightop_text, value)
end
elseif optable[opsel] == "gt" then
if (value == 0 ) then
expression_text = string.format("%s > %s", leftop_text, rightop_text)
else
expression_text = string.format("%s == %s + %d", leftop_text, rightop_text, value)
end
expression_text = string.format("%s > %s", leftop_text, rightop_text)
else
expression_text = string.format("%s == %s + %d", leftop_text, rightop_text, value)
end
elseif optable[opsel] == "eq" then
expression_text = string.format("%s == %s", leftop_text, rightop_text)
elseif optable[opsel] == "ne" then
if (value == 0 ) then
expression_text = string.format("%s != %s", leftop_text, rightop_text)
else
expression_text = string.format("%s == %s +/- %d", leftop_text, rightop_text, value)
end
expression_text = string.format("%s != %s", leftop_text, rightop_text)
else
expression_text = string.format("%s == %s +/- %d", leftop_text, rightop_text, value)
end
elseif optable[opsel] == "beq" then
expression_text = string.format("%s BITWISE== %s", leftop_text, rightop_text)
elseif optable[opsel] == "bne" then
@ -651,10 +651,10 @@ function cheatfind.startplugin()
expression_text = string.format("%s == %d", leftop_text, value)
elseif optable[opsel] == "nev" then
string.format("%s != %d", leftop_text, value)
end
end
return { _("Perform Compare : ") .. expression_text, "", 0 }, f
end
menu[#menu + 1] = function() return { "---", "", "off" }, nil end
menu[#menu + 1] = function() return { "---", "", "off" }, nil end
menu[#menu + 1] = function()
local m = { _(leftop), "", 0 }
menu_lim(leftop, 1, #menu_blocks[1], m)
@ -712,7 +712,7 @@ function cheatfind.startplugin()
m = { _("Value"), value, "" }
else
m = { _("Difference"), value, "" }
end
end
local max = 100 -- max value?
menu_lim(value, 0, max, m)
if value == 0 and optable[opsel]:sub(3, 3) ~= "v" then
@ -726,7 +726,7 @@ function cheatfind.startplugin()
menu_lim(width, 1, #formtable, m)
return m, function(event) local r width, r = incdec(event, width, 1, #formtable) return r end
end
menu[#menu + 1] = function()
local m = { _("Test/Write Poke Value"), pokevaltable[pokevalsel], 0 }
menu_lim(pokevalsel, 1, #pokevaltable, m)
@ -741,19 +741,19 @@ function cheatfind.startplugin()
elseif pokevalsel == 3 then
manager:machine():popmessage(_("Use this if you want to poke 0x00"))
elseif pokevalsel == 4 then
manager:machine():popmessage(_("Use this if you want to poke 0x01"))
manager:machine():popmessage(_("Use this if you want to poke 0x01"))
elseif pokevalsel == 5 then
manager:machine():popmessage(_("Use this if you want to poke 0x02"))
elseif pokevalsel == 6 then
manager:machine():popmessage(_("Use this if you want to poke 0x03"))
manager:machine():popmessage(_("Use this if you want to poke 0x03"))
elseif pokevalsel == 7 then
manager:machine():popmessage(_("Use this if you want to poke 0x04"))
elseif pokevalsel == 8 then
manager:machine():popmessage(_("Use this if you want to poke 0x05"))
manager:machine():popmessage(_("Use this if you want to poke 0x05"))
elseif pokevalsel == 9 then
manager:machine():popmessage(_("Use this if you want to poke 0x06"))
elseif pokevalsel == 10 then
manager:machine():popmessage(_("Use this if you want to poke 0x07"))
manager:machine():popmessage(_("Use this if you want to poke 0x07"))
elseif pokevalsel == 11 then
manager:machine():popmessage(_("Use this if you want to poke 0x08"))
elseif pokevalsel == 12 then
@ -763,7 +763,7 @@ function cheatfind.startplugin()
elseif pokevalsel == 14 then
manager:machine():popmessage(_("Use this if you want to poke 0x99 (BCD 99)"))
elseif pokevalsel == 15 then
manager:machine():popmessage(_("Use this if you want to poke 0xFF (Decimal 255)"))
manager:machine():popmessage(_("Use this if you want to poke 0xFF (Decimal 255)"))
elseif pokevalsel == 16 then
manager:machine():popmessage(_("Use this if you want to poke 0x3E7 (Decimal 999)"))
elseif pokevalsel == 17 then
@ -773,15 +773,15 @@ function cheatfind.startplugin()
elseif pokevalsel == 19 then
manager:machine():popmessage(_("Use this if you want to poke 0x9999 (BCD 9999)"))
elseif pokevalsel == 20 then
manager:machine():popmessage(_("Use this if you want to poke 0xFFFF (Decimal 65535)"))
manager:machine():popmessage(_("Use this if you want to poke 0xFFFF (Decimal 65535)"))
end
end
return r
end
return m, f
end
menu[#menu + 1] = function()
if optable[opsel] == "bne" or optable[opsel] == "beq" then
return nil
@ -873,12 +873,12 @@ function cheatfind.startplugin()
local function match_exec(match)
local dev = devtable[devcur]
local wid = formtable[width]:sub(3, 3)
local widchar
local pokevalue
local form
if pokevalsel == 1 then
pokevalue = match.oldval
elseif pokevalsel == 2 then
@ -914,25 +914,25 @@ function cheatfind.startplugin()
elseif pokevalsel == 17 and wid == "1" then
pokevalue = 153
elseif pokevalsel == 18 and wid == "1" then
pokevalue = 99
pokevalue = 99
elseif pokevalsel == 19 and wid == "1" then
pokevalue = 153
pokevalue = 153
elseif pokevalsel == 20 and wid == "1" then
pokevalue = 255
pokevalue = 255
elseif pokevalsel == 16 then
pokevalue = 999
pokevalue = 999
elseif pokevalsel == 17 then
pokevalue = 2457
pokevalue = 2457
elseif pokevalsel == 18 then
pokevalue = 9999
pokevalue = 9999
elseif pokevalsel == 19 then
pokevalue = 39321
pokevalue = 39321
elseif pokevalsel == 20 then
pokevalue = 65535
pokevalue = 65535
end
local cheat = { desc = string.format(_("Test Cheat %08X:%02X"), match.addr, pokevalue), script = {} }
if wid == "2" then
wid = "u16"
form = "%08x %04x"
@ -958,7 +958,7 @@ function cheatfind.startplugin()
form = "%08x %02x"
widchar = "b"
end
if getmetatable(dev.space).__name:match("device_t") then
cheat.ram = { ram = dev.tag }
cheat.script.run = "ram:write(" .. match.addr .. "," .. pokevalue .. ")"
@ -1001,7 +1001,7 @@ function cheatfind.startplugin()
cheat_save.json = json.stringify({[1] = cheat}, {indent = true})
cheat_save.xml = string.format("<mamecheat version=\"1\">\n <cheat desc=\"%%s\">\n <script state=\"run\">\n <action>%s.pp%s@%X=%X</action>\n </script>\n </cheat>\n</mamecheat>", dev.tag:sub(2), widchar, match.addr, match.newval)
cheat_save.simple = string.format("%s,%s,%X,%s,%X,%%s\n", setname, dev.tag, match.addr, widchar, pokevalue)
cheat_save.dat = string.format(":%s:40000000:%X:%08X:FFFFFFFF:%%s\n", setname, match.addr, pokevalue)
cheat_save.dat = string.format(":%s:40000000:%X:%08X:FFFFFFFF:%%s\n", setname, match.addr, pokevalue)
manager:machine():popmessage(string.format(_("Default name is %s"), cheat_save.name))
return true
else
@ -1026,7 +1026,7 @@ function cheatfind.startplugin()
match.mode = 1
end
local modes = { _("Test"), _("Write"), _("Watch") }
local m = { string.format("%08x" .. bitwidth .. bitwidth, match.addr, match.oldval,
local m = { string.format("%08x" .. bitwidth .. bitwidth, match.addr, match.oldval,
match.newval), modes[match.mode], 0 }
menu_lim(match.mode, 1, #modes, m)
local function f(event)
@ -1081,12 +1081,12 @@ function cheatfind.startplugin()
local height = mame_manager:ui():get_line_height()
for num, watch in ipairs(watches) do
screen:draw_text("left", num * height, string.format(watch.format, watch.addr, watch.func()))
end
end
if tabbed_out and manager:ui():is_menu_active() then
emu.pause()
menu_is_showing = true
tabbed_out = false
end
end
end)
emu.register_periodic(function ()
if menu_is_showing and not manager:ui():is_menu_active() then
@ -1094,7 +1094,7 @@ function cheatfind.startplugin()
menu_is_showing = false
tabbed_out = true
end
end)
end)
end
return exports

View File

@ -231,8 +231,8 @@ READ16_MEMBER( buddha_device::ide_0_interrupt_r )
data = m_ide_0_interrupt << 15;
// if (VERBOSE)
// logerror("ide_0_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
// if (VERBOSE)
// logerror("ide_0_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
return data;
}
@ -243,8 +243,8 @@ READ16_MEMBER( buddha_device::ide_1_interrupt_r )
data = m_ide_1_interrupt << 15;
// if (VERBOSE)
// logerror("ide_1_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
// if (VERBOSE)
// logerror("ide_1_interrupt_r %04x [mask = %04x]\n", data, mem_mask);
return data;
}

View File

@ -273,5 +273,5 @@ WRITE_LINE_MEMBER(ekara_cart_slot_device::write_scl)
READ_LINE_MEMBER(ekara_cart_slot_device::read_sda )
{
return m_cart->read_sda();
return m_cart->read_sda();
}

View File

@ -36,7 +36,7 @@ public:
virtual DECLARE_READ8_MEMBER(read_extra) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_extra) { }
virtual DECLARE_WRITE_LINE_MEMBER(write_sda) { }
virtual DECLARE_WRITE_LINE_MEMBER(write_sda) { }
virtual DECLARE_WRITE_LINE_MEMBER(write_scl) { }
//virtual DECLARE_WRITE_LINE_MEMBER( write_wc )
virtual DECLARE_READ_LINE_MEMBER( read_sda ) { return 0; }
@ -107,7 +107,7 @@ public:
virtual DECLARE_READ8_MEMBER(read_extra);
virtual DECLARE_WRITE8_MEMBER(write_extra);
virtual DECLARE_WRITE_LINE_MEMBER(write_sda);
virtual DECLARE_WRITE_LINE_MEMBER(write_sda);
virtual DECLARE_WRITE_LINE_MEMBER(write_scl);
//virtual DECLARE_WRITE_LINE_MEMBER( write_wc );
virtual DECLARE_READ_LINE_MEMBER( read_sda );

View File

@ -251,4 +251,4 @@ WRITE16_MEMBER(vsmile_cart_slot_device::bank3_w)
void vsmile_cart_slot_device::set_cs2(bool cs2)
{
m_cart->set_cs2(cs2);
}
}

View File

@ -280,15 +280,15 @@ uint64_t athlonxp_device::opcode_rdmsr(bool &valid_msr)
// 39-12 PhyBase27-0 - Base address for this memory range
/* Format of type field:
Bits 2-0 specify the memory type with the following encoding
0 UC Uncacheable
1 WC Write Combining
4 WT Write Through
5 WP Write Protect
6 WB Write Back
7 UC Uncacheable used only in PAT register
Bit 3 WrMem 1 write to memory 0 write to mmio, present only in fixed range MTRRs
Bit 4 RdMem 1 read from memory 0 read from mmio, present only in fixed range MTRRs
Other bits are unused
0 UC Uncacheable
1 WC Write Combining
4 WT Write Through
5 WP Write Protect
6 WB Write Back
7 UC Uncacheable used only in PAT register
Bit 3 WrMem 1 write to memory 0 write to mmio, present only in fixed range MTRRs
Bit 4 RdMem 1 read from memory 0 read from mmio, present only in fixed range MTRRs
Other bits are unused
*/
break;
case 0x201: // MTRRphysMask0-7

View File

@ -132,7 +132,7 @@ private:
dma_state m_dma[2];
intr_state m_intr;
mem_state m_mem;
bool m_last_dma;
bool m_last_dma;
static const device_timer_id TIMER_INT0 = 0;
static const device_timer_id TIMER_INT1 = 1;

View File

@ -115,7 +115,7 @@ private:
uint16_t m_mouse_y;
uint8_t m_mouse_btn;
emu_timer * m_update_timer;
emu_timer * m_update_timer;
DECLARE_WRITE_LINE_MEMBER( keyboard_w );
};

View File

@ -607,4 +607,4 @@ bool nscsi_cdrom_sgi_device::scsi_command_done(uint8_t command, uint8_t length)
default:
return nscsi_full_device::scsi_command_done(command, length);
}
}
}

View File

@ -5,9 +5,9 @@
SunPlus SPG110-series SoC peripheral emulation
0032xx looks like it could be the same as 003dxx on spg2xx
but the video seems to have differences, and data
is fetched from private buffers filled by DMA instead of
main space? tile attributes different? palette format different
but the video seems to have differences, and data
is fetched from private buffers filled by DMA instead of
main space? tile attributes different? palette format different
**********************************************************************/
@ -151,7 +151,7 @@ void spg110_device::blit_page(const rectangle &cliprect, uint32_t scanline, int
blit<FlipXOn>(cliprect, tile_scanline, xx, yy, attr, ctrl, bitmap_addr, tile);
else
blit<FlipXOff>(cliprect, tile_scanline, xx, yy, attr, ctrl, bitmap_addr, tile);
}
}
@ -214,11 +214,11 @@ GFXDECODE_END
void spg110_device::device_add_mconfig(machine_config &config)
{
// PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x100);
// PALETTE(config, m_palette).set_format(palette_device::RGB_565, 0x100);
// PALETTE(config, m_palette).set_format(palette_device::IRGB_4444, 0x100);
// PALETTE(config, m_palette).set_format(palette_device::RGBI_4444, 0x100);
// PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x100);
// PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x100);
// PALETTE(config, m_palette).set_format(palette_device::RGB_565, 0x100);
// PALETTE(config, m_palette).set_format(palette_device::IRGB_4444, 0x100);
// PALETTE(config, m_palette).set_format(palette_device::RGBI_4444, 0x100);
// PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x100);
PALETTE(config, m_palette, palette_device::BLACK, 256);
GFXDECODE(config, m_gfxdecode, m_palette, gfx);
@ -337,7 +337,7 @@ WRITE16_MEMBER(spg110_device::dma_len_trigger_w)
uint16_t val = mem.read_word(source);
this->space(0).write_word(dest * 2, val, 0xffff);
source+=m_dma_src_step;
dest+=m_dma_dst_step;
}
@ -436,14 +436,14 @@ WRITE16_MEMBER(spg110_device::tmap1_regs_w)
void spg110_device::map(address_map &map)
{
map(0x000000, 0x000fff).ram();
// vregs are at 2000?
map(0x002010, 0x002015).rw(FUNC(spg110_device::tmap0_regs_r), FUNC(spg110_device::tmap0_regs_w));
map(0x002016, 0x00201b).rw(FUNC(spg110_device::tmap1_regs_r), FUNC(spg110_device::tmap1_regs_w));
map(0x00201c, 0x00201c).w(FUNC(spg110_device::spg110_201c_w));
map(0x002020, 0x002020).w(FUNC(spg110_device::spg110_2020_w));
map(0x002028, 0x002028).rw(FUNC(spg110_device::spg110_2028_r), FUNC(spg110_device::spg110_2028_w));
@ -484,7 +484,7 @@ void spg110_device::map(address_map &map)
map(0x00205d, 0x00205d).w(FUNC(spg110_device::spg110_205d_w));
map(0x00205e, 0x00205e).w(FUNC(spg110_device::spg110_205e_w));
map(0x00205f, 0x00205f).w(FUNC(spg110_device::spg110_205f_w));
//map(0x002010, 0x00205f).ram();
// everything (dma? and interrupt flag?!)
@ -498,9 +498,9 @@ void spg110_device::map(address_map &map)
map(0x002068, 0x002068).w(FUNC(spg110_device::dma_src_step_w));
map(0x002200, 0x0022ff).ram(); // looks like per-pen brightness or similar? strange because palette isn't memory mapped here
map(0x003000, 0x00307f).ram(); // sound registers? seems to be 8 long entries, only uses up to 0x7f?
map(0x003080, 0x0030ff).ram();
map(0x003080, 0x0030ff).ram();
map(0x003100, 0x003100).w(FUNC(spg110_device::spg110_3100_w));
map(0x003101, 0x003101).w(FUNC(spg110_device::spg110_3101_w));
@ -548,7 +548,7 @@ void spg110_device::map_video(address_map &map)
map(0x04000, 0x04fff).ram(); // seems to be 3 blocks, almost certainly spritelist
// map(0x08000, 0x081ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // probably? format unknown tho
// map(0x08000, 0x081ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // probably? format unknown tho
map(0x08000, 0x081ff).ram().share("palram");
}

View File

@ -351,7 +351,7 @@ TIMER_CALLBACK_MEMBER(timekeeper_device::watchdog_callback)
m_data[m_offset_flags] |= FLAGS_WDF;
// WDS (bit 7) selects callback
if (m_data[m_offset_watchdog] & 0x80)
{
{
// Clear watchdog register
m_data[m_offset_watchdog] = 0;
m_reset_cb(ASSERT_LINE);

View File

@ -512,54 +512,54 @@ Yamaha YMZ294: limited info: 0 I/O port
OKI M5255, Winbond WF19054, JFC 95101, File KC89C72, Toshiba T7766A : differences to be listed
AY8930 Expanded mode registers :
Bank Register Bits
A 0 xxxx xxxx Channel A Tone period fine tune
A 1 xxxx xxxx Channel A Tone period coarse tune
A 2 xxxx xxxx Channel B Tone period fine tune
A 3 xxxx xxxx Channel B Tone period coarse tune
A 4 xxxx xxxx Channel C Tone period fine tune
A 5 xxxx xxxx Channel C Tone period coarse tune
A 6 xxxx xxxx Noise period
A 7 x--- ---- I/O Port B input(0) / output(1)
-x-- ---- I/O Port A input(0) / output(1)
--x- ---- Channel C Noise enable(0) / disable(1)
---x ---- Channel B Noise enable(0) / disable(1)
---- x--- Channel A Noise enable(0) / disable(1)
---- -x-- Channel C Tone enable(0) / disable(1)
---- --x- Channel B Tone enable(0) / disable(1)
---- ---x Channel A Tone enable(0) / disable(1)
A 8 --x- ---- Channel A Envelope mode
---x xxxx Channel A Tone volume
A 9 --x- ---- Channel B Envelope mode
---x xxxx Channel B Tone volume
A A --x- ---- Channel C Envelope mode
---x xxxx Channel C Tone volume
A B xxxx xxxx Channel A Envelope period fine tune
A C xxxx xxxx Channel A Envelope period coarse tune
A D 101- ---- 101 = Expanded mode enable, other AY-3-8910A Compatiblity mode
---0 ---- 0 for Register Bank A
---- xxxx Channel A Envelope Shape/Cycle
A E xxxx xxxx 8 bit Parallel I/O on Port A
A F xxxx xxxx 8 bit Parallel I/O on Port B
Bank Register Bits
A 0 xxxx xxxx Channel A Tone period fine tune
A 1 xxxx xxxx Channel A Tone period coarse tune
A 2 xxxx xxxx Channel B Tone period fine tune
A 3 xxxx xxxx Channel B Tone period coarse tune
A 4 xxxx xxxx Channel C Tone period fine tune
A 5 xxxx xxxx Channel C Tone period coarse tune
A 6 xxxx xxxx Noise period
A 7 x--- ---- I/O Port B input(0) / output(1)
-x-- ---- I/O Port A input(0) / output(1)
--x- ---- Channel C Noise enable(0) / disable(1)
---x ---- Channel B Noise enable(0) / disable(1)
---- x--- Channel A Noise enable(0) / disable(1)
---- -x-- Channel C Tone enable(0) / disable(1)
---- --x- Channel B Tone enable(0) / disable(1)
---- ---x Channel A Tone enable(0) / disable(1)
A 8 --x- ---- Channel A Envelope mode
---x xxxx Channel A Tone volume
A 9 --x- ---- Channel B Envelope mode
---x xxxx Channel B Tone volume
A A --x- ---- Channel C Envelope mode
---x xxxx Channel C Tone volume
A B xxxx xxxx Channel A Envelope period fine tune
A C xxxx xxxx Channel A Envelope period coarse tune
A D 101- ---- 101 = Expanded mode enable, other AY-3-8910A Compatiblity mode
---0 ---- 0 for Register Bank A
---- xxxx Channel A Envelope Shape/Cycle
A E xxxx xxxx 8 bit Parallel I/O on Port A
A F xxxx xxxx 8 bit Parallel I/O on Port B
B 0 xxxx xxxx Channel B Envelope period fine tune
B 1 xxxx xxxx Channel B Envelope period coarse tune
B 2 xxxx xxxx Channel C Envelope period fine tune
B 3 xxxx xxxx Channel C Envelope period coarse tune
B 4 ---- xxxx Channel B Envelope Shape/Cycle
B 5 ---- xxxx Channel C Envelope Shape/Cycle
B 6 ---- xxxx Channel A Duty Cycle
B 7 ---- xxxx Channel B Duty Cycle
B 8 ---- xxxx Channel C Duty Cycle
B 9 xxxx xxxx Noise "And" Mask
B A xxxx xxxx Noise "Or" Mask
B B Reserved (Read as 0)
B C Reserved (Read as 0)
B D 101- ---- 101 = Expanded mode enable, other AY-3-8910A Compatiblity mode
---1 ---- 1 for Register Bank B
---- xxxx Channel A Envelope Shape
B E Reserved (Read as 0)
B F Test (Function unknown)
B 0 xxxx xxxx Channel B Envelope period fine tune
B 1 xxxx xxxx Channel B Envelope period coarse tune
B 2 xxxx xxxx Channel C Envelope period fine tune
B 3 xxxx xxxx Channel C Envelope period coarse tune
B 4 ---- xxxx Channel B Envelope Shape/Cycle
B 5 ---- xxxx Channel C Envelope Shape/Cycle
B 6 ---- xxxx Channel A Duty Cycle
B 7 ---- xxxx Channel B Duty Cycle
B 8 ---- xxxx Channel C Duty Cycle
B 9 xxxx xxxx Noise "And" Mask
B A xxxx xxxx Noise "Or" Mask
B B Reserved (Read as 0)
B C Reserved (Read as 0)
B D 101- ---- 101 = Expanded mode enable, other AY-3-8910A Compatiblity mode
---1 ---- 1 for Register Bank B
---- xxxx Channel A Envelope Shape
B E Reserved (Read as 0)
B F Test (Function unknown)
Decaps:
AY-3-8914 - http://siliconpr0n.org/map/gi/ay-3-8914/mz_mit20x/

View File

@ -885,8 +885,8 @@ u16 ics2115_device::word_r(offs_t offset, u16 mem_mask)
break;
/*
case 3:
TODO : used for byte size only;
break;
TODO : used for byte size only;
break;
*/
default:
#ifdef ICS2115_DEBUG
@ -911,8 +911,8 @@ void ics2115_device::word_w(offs_t offset, u16 data, u16 mem_mask)
break;
/*
case 3:
TODO : used for byte size only;
break;
TODO : used for byte size only;
break;
*/
default:
#ifdef ICS2115_DEBUG

View File

@ -106,7 +106,7 @@ crt9028_000_device::crt9028_000_device(const machine_config &mconfig, const char
24, 10, false,
20, 4, 8,
72, 30, 10,
2, 8, 9,
2, 8, 9,
0x3c0, 0x038, 0x007, 0x0f,
0x3e0, 0x020, 0x03f, 0x020,
0x10, 0xff, 0x10, 0xff)

View File

@ -44,7 +44,7 @@ namespace netlist {
, m_OP(*this, "OP", &m_IP)
, m_ON(*this, "ON", &m_IP)
, m_IP(*this, "IP", &m_IN) // <= this should be NULL and terminal be filtered out prior to solving...
, m_IN(*this, "IN", &m_IP) // <= this should be NULL and terminal be filtered out prior to solving...
, m_IN(*this, "IN", &m_IP) // <= this should be NULL and terminal be filtered out prior to solving...
, m_OP1(*this, "_OP1", &m_IN)
, m_ON1(*this, "_ON1", &m_IN)
, m_gfac(1.0)

View File

@ -426,7 +426,7 @@ public:
}
protected:
// NETLIB_UPDATEI() { NETLIB_NAME(twoterm)::update(time); }
// NETLIB_UPDATEI() { NETLIB_NAME(twoterm)::update(time); }
NETLIB_RESETI()
{

View File

@ -97,7 +97,7 @@ namespace netlist
m_ram[i] = 0;
}
NETLIB_DEVICE_IMPL(2102A, "RAM_2102A", "+CEQ,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7,+A8,+A9,+RWQ,+DI")
NETLIB_DEVICE_IMPL(2102A, "RAM_2102A", "+CEQ,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7,+A8,+A9,+RWQ,+DI")
NETLIB_DEVICE_IMPL(2102A_dip,"RAM_2102A_DIP","")
} //namespace devices

View File

@ -134,7 +134,7 @@ namespace netlist
//m_sub.do_reset();
}
NETLIB_DEVICE_IMPL(74174, "TTL_74174", "+CLK,+D1,+D2,+D3,+D4,+D5,+D6,+CLRQ")
NETLIB_DEVICE_IMPL(74174, "TTL_74174", "+CLK,+D1,+D2,+D3,+D4,+D5,+D6,+CLRQ")
NETLIB_DEVICE_IMPL(74174_dip,"TTL_74174_DIP", "")
} //namespace devices

View File

@ -111,7 +111,7 @@ namespace netlist
m_data = 0xFF;
}
NETLIB_DEVICE_IMPL(74175, "TTL_74175", "+CLK,+D1,+D2,+D3,+D4,+CLRQ")
NETLIB_DEVICE_IMPL(74175, "TTL_74175", "+CLK,+D1,+D2,+D3,+D4,+CLRQ")
NETLIB_DEVICE_IMPL(74175_dip,"TTL_74175_DIP", "")
} //namespace devices

View File

@ -162,7 +162,7 @@ namespace netlist
m_CARRYQ.push(tCarry, NLTIME_FROM_NS(20)); //FIXME
}
NETLIB_DEVICE_IMPL(74192, "TTL_74192", "+A,+B,+C,+D,+CLEAR,+LOADQ,+CU,+CD")
NETLIB_DEVICE_IMPL(74192, "TTL_74192", "+A,+B,+C,+D,+CLEAR,+LOADQ,+CU,+CD")
NETLIB_DEVICE_IMPL(74192_dip,"TTL_74192_DIP", "")
} //namespace devices

View File

@ -139,7 +139,7 @@ namespace netlist
m_CARRYQ.push(tCarry, NLTIME_FROM_NS(20)); //FIXME timing
}
NETLIB_DEVICE_IMPL(74193, "TTL_74193", "+A,+B,+C,+D,+CLEAR,+LOADQ,+CU,+CD")
NETLIB_DEVICE_IMPL(74193, "TTL_74193", "+A,+B,+C,+D,+CLEAR,+LOADQ,+CU,+CD")
NETLIB_DEVICE_IMPL(74193_dip, "TTL_74193_DIP", "")
} //namespace devices

View File

@ -116,7 +116,7 @@ namespace netlist
m_Q[i].push((q >> i) & 1, NLTIME_FROM_NS(26)); // FIXME: Timing
}
NETLIB_DEVICE_IMPL(74194, "TTL_74194", "+CLK,+S0,+S1,+SRIN,+A,+B,+C,+D,+SLIN,+CLRQ")
NETLIB_DEVICE_IMPL(74194, "TTL_74194", "+CLK,+S0,+S1,+SRIN,+A,+B,+C,+D,+SLIN,+CLRQ")
NETLIB_DEVICE_IMPL(74194_dip, "TTL_74194_DIP", "")
} //namespace devices

View File

@ -177,7 +177,7 @@ namespace netlist
m_last_out = out;
}
NETLIB_DEVICE_IMPL(NE555, "NE555", "")
NETLIB_DEVICE_IMPL(NE555, "NE555", "")
NETLIB_DEVICE_IMPL(NE555_dip, "NE555_DIP", "")
} //namespace devices

View File

@ -97,7 +97,7 @@ namespace netlist
}
}
NETLIB_DEVICE_IMPL(TMS4800, "ROM_TMS4800", "+AR,+OE1,+OE2,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7,+A8,+A9,+A10")
NETLIB_DEVICE_IMPL(TMS4800, "ROM_TMS4800", "+AR,+OE1,+OE2,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7,+A8,+A9,+A10")
NETLIB_DEVICE_IMPL(TMS4800_dip, "ROM_TMS4800_DIP", "")
} //namespace devices

View File

@ -202,7 +202,7 @@ namespace netlist
{
}
NETLIB_UPDATEI() { }
NETLIB_UPDATEI() { }
NETLIB_RESETI() { m_Q.initial(0.0); }
NETLIB_UPDATE_PARAMI() { m_Q.push(m_IN()); }

View File

@ -30,8 +30,8 @@ namespace detail
//static plib::mempool *pool()
//{
// static plib::mempool s_pool(655360, 32);
// return &s_pool;
// static plib::mempool s_pool(655360, 32);
// return &s_pool;
//}
#if 0
@ -49,7 +49,7 @@ namespace detail
if (mem)
{
//if ((USE_MEMPOOL))
// pool()->free(mem);
// pool()->free(mem);
//else
::operator delete(mem);
}
@ -142,7 +142,7 @@ const logic_family_desc_t *family_CD4XXX()
detail::queue_t::queue_t(netlist_state_t &nl)
: timed_queue<pqentry_t<net_t *, netlist_time>, false, NL_KEEP_STATISTICS>(512)
, netlist_ref(nl)
// , plib::state_manager_t::callback_t()
// , plib::state_manager_t::callback_t()
, m_qsize(0)
, m_times(512)
, m_net_ids(512)
@ -192,7 +192,7 @@ detail::netlist_ref::netlist_ref(netlist_state_t &nl)
// ----------------------------------------------------------------------------------------
detail::object_t::object_t(const pstring &aname)
// : m_name(aname)
// : m_name(aname)
{
name_hash().insert({this, aname});
}

View File

@ -1164,7 +1164,7 @@ namespace netlist
virtual bool is_timestep() const { return false; }
private:
bool m_hint_deactivate;
bool m_hint_deactivate;
state_var_s32 m_active_outputs;
};
@ -1675,7 +1675,7 @@ namespace netlist
{
nl_assert(terminal_state() != STATE_INP_PASSIVE);
//if (net().Q() != m_Q)
// printf("term: %s, %d %d TS %d\n", this->name().c_str(), net().Q(), m_Q, terminal_state());
// printf("term: %s, %d %d TS %d\n", this->name().c_str(), net().Q(), m_Q, terminal_state());
#if USE_COPY_INSTEAD_OF_REFERENCE
return m_Q;
#else

View File

@ -278,9 +278,9 @@ namespace netlist
protected:
std::unordered_map<pstring, pstring> m_models;
std::stack<pstring> m_namespace_stack;
std::unordered_map<pstring, pstring> m_alias;
std::unordered_map<pstring, pstring> m_alias;
std::vector<link_t> m_links;
std::unordered_map<pstring, pstring> m_param_values;
std::unordered_map<pstring, pstring> m_param_values;
source_t::list_t m_sources;
@ -291,7 +291,7 @@ namespace netlist
private:
plib::ppreprocessor::defines_map_type m_defines;
plib::ppreprocessor::defines_map_type m_defines;
setup_t &m_setup;
log_type &m_log;
@ -384,7 +384,7 @@ namespace netlist
std::unordered_map<pstring, detail::core_terminal_t *> m_terminals;
netlist_t &m_netlist;
devices::nld_netlistparams *m_netlist_params;
devices::nld_netlistparams *m_netlist_params;
std::unordered_map<pstring, param_ref_t> m_params;
unsigned m_proxy_cnt;

View File

@ -76,12 +76,12 @@ namespace plib
}
PALIGNAS_VECTOROPT()
mat_type m_mat;
mat_type m_mat;
PALIGNAS_VECTOROPT()
mat_type m_LU;
bool m_use_iLU_preconditioning;
std::size_t m_ILU_scale;
std::size_t m_band_width;
mat_type m_LU;
bool m_use_iLU_preconditioning;
std::size_t m_ILU_scale;
std::size_t m_band_width;
};
template <typename FT, int SIZE>
@ -256,7 +256,7 @@ namespace plib
m_g[0] = rho;
//for (std::size_t i = 0; i < mr + 1; i++)
// vec_set_scalar(mr, m_ht[i], NL_FCONST(0.0));
// vec_set_scalar(mr, m_ht[i], NL_FCONST(0.0));
vec_mult_scalar(n, residual, constants<FT>::one() / rho, m_v[0]);
@ -331,11 +331,11 @@ namespace plib
plib::parray<float_type, SIZE> residual;
plib::parray<float_type, SIZE> Ax;
plib::parray<float_type, RESTART + 1> m_c; /* mr + 1 */
plib::parray<float_type, RESTART + 1> m_g; /* mr + 1 */
plib::parray<float_type, RESTART + 1> m_c; /* mr + 1 */
plib::parray<float_type, RESTART + 1> m_g; /* mr + 1 */
plib::parray<plib::parray<float_type, RESTART>, RESTART + 1> m_ht; /* (mr + 1), mr */
plib::parray<float_type, RESTART + 1> m_s; /* mr + 1 */
plib::parray<float_type, RESTART + 1> m_y; /* mr + 1 */
plib::parray<float_type, RESTART + 1> m_s; /* mr + 1 */
plib::parray<float_type, RESTART + 1> m_y; /* mr + 1 */
//plib::parray<float_type, SIZE> m_v[RESTART + 1]; /* mr + 1, n */
plib::parray<plib::parray<float_type, storage_N>, RESTART + 1> m_v; /* mr + 1, n */
@ -418,10 +418,10 @@ namespace plib
}
else
{
beta = alpha * ( c / 2.0)*( c / 2.0);
alpha = 1.0 / (d - beta);
for (std::size_t k = 0; k < size(); k++)
p[k] = residual[k] + beta * p[k];
beta = alpha * ( c / 2.0)*( c / 2.0);
alpha = 1.0 / (d - beta);
for (std::size_t k = 0; k < size(); k++)
p[k] = residual[k] + beta * p[k];
}
plib::vec_add_mult_scalar(size(), p, alpha, x);
ops.calc_rhs(Ax, x);

View File

@ -34,13 +34,13 @@ namespace plib {
#if defined(_WIN32) || defined(_WIN64) || defined(_MSC_VER)
return _aligned_malloc(size, alignment);
#elif defined(__APPLE__)
void* p;
if (::posix_memalign(&p, alignment, size) != 0) {
p = nullptr;
}
return p;
void* p;
if (::posix_memalign(&p, alignment, size) != 0) {
p = nullptr;
}
return p;
#else
return aligned_alloc(alignment, size);
return aligned_alloc(alignment, size);
#endif
}
@ -59,7 +59,7 @@ namespace plib {
static_assert(is_pow2(ALIGN), "Alignment must be a power of 2");
//auto t = reinterpret_cast<std::uintptr_t>(p);
//if (t & (ALIGN-1))
// printf("alignment error!");
// printf("alignment error!");
return reinterpret_cast<T *>(__builtin_assume_aligned(p, ALIGN));
}
@ -124,8 +124,8 @@ namespace plib {
constexpr pdefault_deleter() noexcept = default;
template<typename U, typename = typename
std::enable_if<std::is_convertible< U*, T*>::value>::type>
pdefault_deleter(const pdefault_deleter<U>&) noexcept { }
std::enable_if<std::is_convertible< U*, T*>::value>::type>
pdefault_deleter(const pdefault_deleter<U>&) noexcept { }
void operator()(T *p) const
{
@ -249,62 +249,62 @@ namespace plib {
class aligned_allocator
{
public:
using value_type = T;
using value_type = T;
static_assert(ALIGN >= alignof(T) && (ALIGN % alignof(T)) == 0,
"ALIGN must be greater than alignof(T) and a multiple");
static_assert(ALIGN >= alignof(T) && (ALIGN % alignof(T)) == 0,
"ALIGN must be greater than alignof(T) and a multiple");
aligned_allocator() noexcept = default;
~aligned_allocator() noexcept = default;
aligned_allocator() noexcept = default;
~aligned_allocator() noexcept = default;
aligned_allocator(const aligned_allocator&) noexcept = default;
aligned_allocator& operator=(const aligned_allocator&) noexcept = delete;
aligned_allocator(const aligned_allocator&) noexcept = default;
aligned_allocator& operator=(const aligned_allocator&) noexcept = delete;
aligned_allocator(aligned_allocator&&) noexcept = default;
aligned_allocator& operator=(aligned_allocator&&) = delete;
aligned_allocator(aligned_allocator&&) noexcept = default;
aligned_allocator& operator=(aligned_allocator&&) = delete;
template <class U>
aligned_allocator(const aligned_allocator<U, ALIGN>& rhs) noexcept
{
unused_var(rhs);
}
template <class U> struct rebind
template <class U>
aligned_allocator(const aligned_allocator<U, ALIGN>& rhs) noexcept
{
using other = aligned_allocator<U, ALIGN>;
unused_var(rhs);
}
template <class U> struct rebind
{
using other = aligned_allocator<U, ALIGN>;
};
T* allocate(std::size_t n)
{
return reinterpret_cast<T *>(paligned_alloc(ALIGN, sizeof(T) * n));
}
T* allocate(std::size_t n)
{
return reinterpret_cast<T *>(paligned_alloc(ALIGN, sizeof(T) * n));
}
void deallocate(T* p, std::size_t n) noexcept
{
unused_var(n);
pfree(p);
}
void deallocate(T* p, std::size_t n) noexcept
{
unused_var(n);
pfree(p);
}
template <class T1, std::size_t A1, class U, std::size_t A2>
friend bool operator==(const aligned_allocator<T1, A1>& lhs,
const aligned_allocator<U, A2>& rhs) noexcept;
template <class T1, std::size_t A1, class U, std::size_t A2>
friend bool operator==(const aligned_allocator<T1, A1>& lhs,
const aligned_allocator<U, A2>& rhs) noexcept;
template <class U, std::size_t A> friend class aligned_allocator;
template <class U, std::size_t A> friend class aligned_allocator;
};
template <class T1, std::size_t A1, class U, std::size_t A2>
/*friend*/ inline bool operator==(const aligned_allocator<T1, A1>& lhs,
const aligned_allocator<U, A2>& rhs) noexcept
{
unused_var(lhs, rhs);
return A1 == A2;
}
template <class T1, std::size_t A1, class U, std::size_t A2>
/*friend*/ inline bool operator!=(const aligned_allocator<T1, A1>& lhs,
const aligned_allocator<U, A2>& rhs) noexcept
{
return !(lhs == rhs);
}
template <class T1, std::size_t A1, class U, std::size_t A2>
/*friend*/ inline bool operator==(const aligned_allocator<T1, A1>& lhs,
const aligned_allocator<U, A2>& rhs) noexcept
{
unused_var(lhs, rhs);
return A1 == A2;
}
template <class T1, std::size_t A1, class U, std::size_t A2>
/*friend*/ inline bool operator!=(const aligned_allocator<T1, A1>& lhs,
const aligned_allocator<U, A2>& rhs) noexcept
{
return !(lhs == rhs);
}
// FIXME: needs to be somewhere else
#if 0

View File

@ -117,8 +117,8 @@ namespace plib {
private:
PALIGNAS_VECTOROPT()
base_type m_a;
size_type m_size;
base_type m_a;
size_type m_size;
};
} // namespace plib

View File

@ -45,11 +45,11 @@
* Standard alignment macros
*/
#define PALIGN_CACHELINE (64)
#define PALIGN_VECTOROPT (32)
#define PALIGN_CACHELINE (64)
#define PALIGN_VECTOROPT (32)
#define PALIGNAS_CACHELINE() PALIGNAS(PALIGN_CACHELINE)
#define PALIGNAS_VECTOROPT() PALIGNAS(PALIGN_VECTOROPT)
#define PALIGNAS_CACHELINE() PALIGNAS(PALIGN_CACHELINE)
#define PALIGNAS_VECTOROPT() PALIGNAS(PALIGN_VECTOROPT)
/* Breaks mame build on windows due to -Wattribute */
#if defined(_WIN32) && defined(__GNUC__)

View File

@ -29,8 +29,8 @@ namespace plib {
constexpr pool_deleter() noexcept = default;
template<typename PU, typename U, typename = typename
std::enable_if<std::is_convertible< U*, T*>::value>::type>
pool_deleter(const pool_deleter<PU, U>&) noexcept { }
std::enable_if<std::is_convertible< U*, T*>::value>::type>
pool_deleter(const pool_deleter<PU, U>&) noexcept { }
void operator()(T *p) const
{
@ -140,7 +140,7 @@ namespace plib {
auto capacity(rs);
ret = std::align(align, size, ret, capacity);
// FIXME: if (ret == nullptr)
// printf("Oh no\n");
// printf("Oh no\n");
sinfo().insert({ ret, info(b, b->m_cur)});
rs -= (capacity - size);
b->m_cur += rs;
@ -156,7 +156,7 @@ namespace plib {
auto capacity(rs);
ret = std::align(align, size, ret, capacity);
// FIXME: if (ret == nullptr)
// printf("Oh no\n");
// printf("Oh no\n");
sinfo().insert({ ret, info(b, b->m_cur)});
rs -= (capacity - size);
b->m_cur += rs;

View File

@ -17,7 +17,7 @@
#include <cstring>
#define NLTOOL_VERSION 20190202
#define NLTOOL_VERSION 20190202
class tool_app_t : public plib::app
{

View File

@ -67,7 +67,7 @@ private:
plib::parray<FT, SIZE> new_V;
std::array<plib::aligned_vector<FT *, PALIGN_VECTOROPT>, storage_N> m_term_cr;
// std::array<std::vector<FT *>, storage_N> m_term_cr;
// std::array<std::vector<FT *>, storage_N> m_term_cr;
mat_type mat;

View File

@ -3,24 +3,24 @@
/******************************************************************************
basic information
https://gbatemp.net/threads/the-c2-color-game-console-an-obscure-chinese-handheld.509320/
https://gbatemp.net/threads/the-c2-color-game-console-an-obscure-chinese-handheld.509320/
"The C2 is a glorious console with a D-Pad, Local 2.4GHz WiFi, Cartridge slot, A, B, and C buttons,
and has micro usb power! Don't be fooled though, there is no lithium battery, so you have to put in
3 AA batteries if you don't want to play with it tethered to a charger.
"The C2 is a glorious console with a D-Pad, Local 2.4GHz WiFi, Cartridge slot, A, B, and C buttons,
and has micro usb power! Don't be fooled though, there is no lithium battery, so you have to put in
3 AA batteries if you don't want to play with it tethered to a charger.
It comes with a built in game based on the roco kingdom characters.
In addition, there is a slot on the side of the console allowing cards to be swiped through. Those
cards can add characters to the game. The console scans the barcode and a new character or item appears in the game for you to use.
cards can add characters to the game. The console scans the barcode and a new character or item appears in the game for you to use.
The C2 comes with 9 holographic game cards that will melt your eyes."
also includes a link to the following video
https://www.youtube.com/watch?v=D3XO4aTZEko
also includes a link to the following video
https://www.youtube.com/watch?v=D3XO4aTZEko
TODO:
identify CPU type, and if the system ROM is needed to run carts or not
TODO:
identify CPU type, and if the system ROM is needed to run carts or not
*******************************************************************************/

View File

@ -32,9 +32,9 @@
motherboard and varying game boards. Sly Spy, Midnight Resistance and
Boulderdash use the same graphics chips but are different pcbs.
Bandit (USA) is almost certainly a field test prototype, the software runs
on a Heavy Barrel board including the original Heavy Barrel MCU (which is effectively
not used). There is also Japanese version known to run on a DE-0321-1 top board.
Bandit (USA) is almost certainly a field test prototype, the software runs
on a Heavy Barrel board including the original Heavy Barrel MCU (which is effectively
not used). There is also Japanese version known to run on a DE-0321-1 top board.
There are Secret Agent (bootleg) and Robocop (bootleg) sets to add.
@ -472,11 +472,11 @@ void dec0_state::dec0_map(address_map &map)
map(0x310000, 0x3107ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x314000, 0x3147ff).ram().w(m_palette, FUNC(palette_device::write16_ext)).share("palette_ext");
map(0x318000, 0x31bfff).ram().share("ram"); // Bandit uses 318000/31c000 which are mirrors but exact mirror patten is unclear
map(0x31c000, 0x31c7ff).ram().share("spriteram");
map(0x318000, 0x31bfff).ram().share("ram"); // Bandit uses 318000/31c000 which are mirrors but exact mirror patten is unclear
map(0x31c000, 0x31c7ff).ram().share("spriteram");
map(0xff8000, 0xffbfff).ram().share("ram"); /* Main ram */
map(0xffc000, 0xffc7ff).ram().share("spriteram");
map(0xffc000, 0xffc7ff).ram().share("spriteram");
}
void dec0_state::robocop_map(address_map &map)
@ -697,7 +697,7 @@ void dec0_state::midresb_map(address_map &map)
void dec0_state::dec0_s_map(address_map &map)
{
map(0x0000, 0x07ff).ram();
map(0x0800, 0x0801).rw("ym1", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
map(0x0800, 0x0801).rw("ym1", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
map(0x1000, 0x1001).rw("ym2", FUNC(ym3812_device::read), FUNC(ym3812_device::write));
map(0x3000, 0x3000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
map(0x3800, 0x3800).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
@ -1083,94 +1083,94 @@ static INPUT_PORTS_START( bandit )
PORT_INCLUDE( dec0 )
PORT_MODIFY("INPUTS")
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Fire")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Bomb")
PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Fire")
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Bomb")
PORT_BIT( 0xc000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Fire")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Bomb")
PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Fire")
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Bomb")
PORT_BIT( 0xc000, IP_ACTIVE_LOW, IPT_UNUSED )
#if 0
PORT_DIPNAME( 0x0001, 0x0001, "UNK_0" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPNAME( 0x0002, 0x0002, "UNK_1" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPNAME( 0x0004, 0x0004, "UNK_2" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPNAME( 0x0008, 0x0008, "UNK_3" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPNAME( 0x0010, 0x0010, "UNK_4" ) // Gun
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPNAME( 0x0020, 0x0020, "UNK_5" ) // Missile
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPNAME( 0x0040, 0x0040, "UNK_6" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPNAME( 0x0080, 0x0080, "UNK_7" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPNAME( 0x0001, 0x0001, "UNK_0" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPNAME( 0x0002, 0x0002, "UNK_1" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPNAME( 0x0004, 0x0004, "UNK_2" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPNAME( 0x0008, 0x0008, "UNK_3" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPNAME( 0x0010, 0x0010, "UNK_4" ) // Gun
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPNAME( 0x0020, 0x0020, "UNK_5" ) // Missile
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPNAME( 0x0040, 0x0040, "UNK_6" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPNAME( 0x0080, 0x0080, "UNK_7" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
#endif
PORT_MODIFY("SYSTEM")
PORT_BIT( 0x0003, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DSW")
PORT_DIPNAME( 0x0001, 0x0001, "Analog controls?" ) // ?
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPNAME( 0x0002, 0x0002, "L/R control related (keep off)" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPNAME( 0x0004, 0x0004, "DSUNK_2" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPNAME( 0x0008, 0x0000, "Road select (debug)" ) // Debug mode
PORT_DIPSETTING( 0x0008, DEF_STR( On ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPNAME( 0x0020, 0x0020, "DSUNK_5" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPNAME( 0x0040, 0x0040, "DSUNK_6" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPNAME( 0x0080, 0x0000, "Enable enemies" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPNAME( 0x0001, 0x0001, "Analog controls?" ) // ?
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPNAME( 0x0002, 0x0002, "L/R control related (keep off)" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPNAME( 0x0004, 0x0004, "DSUNK_2" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPNAME( 0x0008, 0x0000, "Road select (debug)" ) // Debug mode
PORT_DIPSETTING( 0x0008, DEF_STR( On ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPNAME( 0x0020, 0x0020, "DSUNK_5" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPNAME( 0x0040, 0x0040, "DSUNK_6" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPNAME( 0x0080, 0x0000, "Enable enemies" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPNAME( 0x0100, 0x0100, "DSUNK_8" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPNAME( 0x0200, 0x0200, "DSUNK_9" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPNAME( 0x0400, 0x0400, "DSUNK_A" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPNAME( 0x0800, 0x0800, "DSUNK_B" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPNAME( 0x1000, 0x1000, "DSUNK_C" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPNAME( 0x2000, 0x2000, "DSUNK_D" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPNAME( 0x4000, 0x4000, "DSUNK_E" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPNAME( 0x8000, 0x8000, "DSUNK_F" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPNAME( 0x0100, 0x0100, "DSUNK_8" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPNAME( 0x0200, 0x0200, "DSUNK_9" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPNAME( 0x0400, 0x0400, "DSUNK_A" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPNAME( 0x0800, 0x0800, "DSUNK_B" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPNAME( 0x1000, 0x1000, "DSUNK_C" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPNAME( 0x2000, 0x2000, "DSUNK_D" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPNAME( 0x4000, 0x4000, "DSUNK_E" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPNAME( 0x8000, 0x8000, "DSUNK_F" )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_INCLUDE( rotary_null )
PORT_INCLUDE( rotary_null )
PORT_INCLUDE( trackball_ports )
INPUT_PORTS_END

View File

@ -918,7 +918,7 @@ ROM_END
// main PCB is marked: "MC9003" and "MADE IN ITALY" on component side
// main PCB is marked: "MADE IN ITALY" on solder side
// ROMs PCB is marked: "MG25157" on component side
// ROMs PCB is marked: "MG25157" on component side
ROM_START( boggy84b2 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "boggy84-1.bin", 0x0000, 0x1000, CRC(97235e3a) SHA1(f493efd03331416a392cab7d73e39029d7e8098c) )

View File

@ -560,7 +560,7 @@ void gaelco2_state::play2000_map(address_map &map)
{
map(0x000000, 0x03ffff).rom(); /* ROM */
map(0x100000, 0x100001).portr("IN0"); /* Coins + other buttons? */
map(0x110000, 0x110001).portr("IN1");
map(0x110000, 0x110001).portr("IN1");
map(0x200000, 0x20ffff).ram().w(FUNC(gaelco2_state::gaelco2_vram_w)).share("spriteram"); /* Video RAM */
map(0x202890, 0x2028ff).rw("gaelco", FUNC(gaelco_gae1_device::gaelcosnd_r), FUNC(gaelco_gae1_device::gaelcosnd_w)); /* Sound Registers */
map(0x214000, 0x214fff).ram().w(FUNC(gaelco2_state::gaelco2_palette_w)).share("paletteram"); /* Palette */

View File

@ -2,24 +2,24 @@
// copyright-holders:David Haywood
/******************************************************************************
LEAPPAD:
Example-Video: https://www.youtube.com/watch?v=LtUhENu5TKc
The LEAPPAD is basically compareable to the SEGA PICO, but without
Screen-Output! Each "Game" consists of two parts (Book + Cartridge).
Insert the cartridge into the system and add the Book on the Top of the
"console" and you can click on each pages and hear sounds or
learning-stuff on each page...
LEAPPAD:
Example-Video: https://www.youtube.com/watch?v=LtUhENu5TKc
The LEAPPAD is basically compareable to the SEGA PICO, but without
Screen-Output! Each "Game" consists of two parts (Book + Cartridge).
Insert the cartridge into the system and add the Book on the Top of the
"console" and you can click on each pages and hear sounds or
learning-stuff on each page...
MY FIRST LEAPPAD:
Basically the same as the LEAPPAD, but for even younger kids! (Cartridge
internal PCB's are identical to LEAPPAD)
Example Video: https://www.youtube.com/watch?v=gsf8XYV1Tpg
MY FIRST LEAPPAD:
Basically the same as the LEAPPAD, but for even younger kids! (Cartridge
internal PCB's are identical to LEAPPAD)
Example Video: https://www.youtube.com/watch?v=gsf8XYV1Tpg
Don't get confused by the name "LEAPPAD", as it looks like Leapfrog
also released some kind of Tablet with this name, and they even released
a new "LEAPPAD" in around 2016:
https://www.youtube.com/watch?v=MXFSgj6xLTU , which nearly looks like the
same, but is most likely techically completely different..
Don't get confused by the name "LEAPPAD", as it looks like Leapfrog
also released some kind of Tablet with this name, and they even released
a new "LEAPPAD" in around 2016:
https://www.youtube.com/watch?v=MXFSgj6xLTU , which nearly looks like the
same, but is most likely techically completely different..
*******************************************************************************/

View File

@ -329,7 +329,7 @@ Ferrari F355 Challenge (twin/deluxe, preview) no cart 22848P* 21 (64Mb) pre
\Course Edition (twin/deluxe, prototype) no cart 23399 21 (64Mb) present 315-6206 317-0287-COM content is the same as regular 171-7919A cart
Inu No Osanpo / Dog Walking (Rev A) 840-0073C 22294A 16 (64Mb) present 315-6206 317-0316-JPN requires 837-13844 JVS IO with DIPSW 1 ON
/Mushiking The King Of Beetle
\(MUSHIUSA '04 1ST, Prototype) not present none 11*(64Mb) present 315-6206 not present * only first 7 flash roms contain game data, PCB have label 840-0150B-FLS.
\(MUSHIUSA '04 1ST, Prototype) not present none 11*(64Mb) present 315-6206 not present * only first 7 flash roms contain game data, PCB have label 840-0150B-FLS.
Samba de Amigo (prototype) no cart ** 21*(64Mb) present 315-6206 317-0270-COM * only first 14 flash roms contain game data, ** instead of EPROM have tiny PCB with 2 flashroms on it
/Shootout Pool Prize (Export) / Shootout
\Pool The Medal (Japan) Version B (prototype) 840-0136C ** 21*(64Mb) present 317-6206 not present * only first 4 flash roms contain game data, ** instead of EPROM have tiny PCB with 2 flashroms on it
@ -563,9 +563,9 @@ Marvel Vs. Capcom 2 New Age of Heroes (Korea, Rev A) 841-0007C-03 23085A 14
MushiKing The King of Beetles 2K3 2ND 840-0150C 24217 6 (64Mb) present 317-0394-COM requires 610-0669 barcode reader, 838-14245-92 "MAPLE/232C CONVERT BD" (MIE-based), 838-14243 "RFID CHIP R/W BD" and RFID chip
Quiz Ah Megamisama 840-0030C 23227 16 (64Mb) present 317-0280-JPN
Shootout Pool 840-0098C 23844 4 (64Mb) present 317-0336-COM requires regular 837-13551 and 837-13938 rotary JVS boards
/Shootout Pool Prize (Export) /
/Shootout Pool Prize (Export) /
\Shootout Pool The Medal (Japan, Rev A) 840-0128C 24065A 4 (64Mb) present 317-0367-COM requires Naomi-based hopper controller
/Shootout Pool Prize (Export) /
/Shootout Pool Prize (Export) /
\Shootout Pool The Medal (Japan) Version B 840-0136C 24148 4 (64Mb) present 317-0367-COM requires Naomi-based or 837-14438 hopper controller (selected by P1 BUTTON1 bit)
SWP Hopper Board 840-0130C 24083 20 (64Mb) present 317-0339-COM reused VF4 Evo ROM board with all maskROMs still in place; there is an additional 837-14381 IO board
Touch de Uno! 2 840-0022C 23071 6 (64Mb) present 317-0276-JPN requires 837-13844 JVS IO with DIPSW 5 On, ELO AccuTouch-compatible touch screen controller and special printer.
@ -9827,7 +9827,7 @@ ROM_START( clubk2k3 )
ROM_COPY( "rom_board", 0x1000000, 0x400000, 0xc00000 )
/* ROM_REGION(0x200, "some_eeprom", 0)
ROM_LOAD( "25lc040.ic13s", 0x000, 0x200, NO_DUMP ) */
ROM_LOAD( "25lc040.ic13s", 0x000, 0x200, NO_DUMP ) */
// 840-0139 2003 317-0382-COM Naomi 2
ROM_PARAMETER( ":rom_board:key", "d8b0fa4c" )

View File

@ -4,15 +4,15 @@
Sega Beena
non-video 'book' based learning system, like LeapPad etc.
non-video 'book' based learning system, like LeapPad etc.
unknown CPU type (inside Sega custom?)
unknown CPU type (inside Sega custom?)
cartridge ROM has 'edinburgh' in the header, maybe a system codename?
ROM is also full of OGG files containing the string 'Encoded with Speex speex-1.0.4'
as well as .mid files for music
cartridge ROM has 'edinburgh' in the header, maybe a system codename?
ROM is also full of OGG files containing the string 'Encoded with Speex speex-1.0.4'
as well as .mid files for music
TODO: component list!
TODO: component list!
*******************************************************************************/

View File

@ -628,7 +628,7 @@ ROM_START( tetgiano )
ROM_REGION( 0x08000000, "rom_board", ROMREGION_ERASEFF)
// TETRIS - DEKARIS (romaji)
// / TETRIS® - GIANT
// / TETRIS® - GIANT
// MDA-C0076
DISK_REGION( "cflash" )
DISK_IMAGE( "mda-c0076", 0, SHA1(6987c888d2a3ada2d07f6396d47fdba507ca859d) )

View File

@ -13,27 +13,27 @@
Justice League
Dora the Explorer
Mattel Classic Sports
Disney Princess (GKR)
Wheel of Fortune (GKR)
(all GameKeyReady units?)
Disney Princess (GKR)
Wheel of Fortune (GKR)
(all GameKeyReady units?)
"SunPlus QL8041C" ( known as Sunplus SPG2?? )
Clickstart ( see clickstart.cpp instead)
Wheel of Fortune 2nd Edition
Clickstart ( see clickstart.cpp instead)
Wheel of Fortune 2nd Edition
"SunPlus PA7801" ( known as Sunplus SPG110? ) see spg110.cpp instead
Classic Arcade Pinball
EA Sports (NHL95 + Madden 95)
It is unknown if the following are close to this architecture or not (no dumps yet)
Classic Arcade Pinball
EA Sports (NHL95 + Madden 95)
"SunPlus QU7073-P69A"
Mortal Kombat
It is unknown if the following are close to this architecture or not (no dumps yet)
"Sunplus QL8167"
Disney Princess (older)
Go Diego Go
"SunPlus QU7073-P69A"
Mortal Kombat
"Sunplus QL8167"
Disney Princess (older)
Go Diego Go
Disney Princess non-GKR is Sunplus QL8167.
@ -53,11 +53,11 @@ Disney Princess non-GKR is Sunplus QL8167.
walle:
Game seems unhappy with NVRAM, clears contents on each boot.
jak_pooh:
In the 'Light Tag' minigame (select the rock) you can't move left with the DRC (ok with -nodrc)
and the game usually softlocks when you find a friend (with or without DRC)
vii:
jak_pooh:
In the 'Light Tag' minigame (select the rock) you can't move left with the DRC (ok with -nodrc)
and the game usually softlocks when you find a friend (with or without DRC)
vii:
When loading a cart from file manager, sometimes MAME will crash.
The "MOTOR" option in the diagnostic menu does nothing when selected.
The "SPEECH IC" option in the diagnostic menu does nothing when selected.
@ -71,9 +71,9 @@ Disney Princess non-GKR is Sunplus QL8167.
Test Modes:
Justice League : press UP, DOWN, LEFT, BT3 on the JAKKS logo in that order, quickly, to get test menu
WWE : press UP, BT1, BT2 together during startup logos
Disney Friends, MS Pacman, WallE, Batman (and some other HotGen GameKKeys) for test mode, hold UP,
press A, press DOWN during startup
Disney Friends, MS Pacman, WallE, Batman (and some other HotGen GameKKeys) for test mode, hold UP,
press A, press DOWN during startup
TODO:
Work out how to access the hidden TEST menus for all games (most JAKKS games should have one at least)
@ -1979,7 +1979,7 @@ void spg2xx_game_state::init_crc()
logerror("Calculated Byte Sum of bytes from 0x10 to 0x%08x is %08x)\n", length - 1, checksum);
}
void spg2xx_game_state::init_zeus()
{
uint16_t *ROM = (uint16_t*)memregion("maincpu")->base();
@ -2052,11 +2052,11 @@ CONS( 2005, jak_wof, 0, 0, jakks_gkr_wf_i2c, jak_wf_i2c, jakks_gkr_state, emp
CONS( 2004, jak_spdm, 0, 0, jakks_gkr_mv_i2c, jak_gkr_i2c, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Digital Eclipse", "Spider-Man (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // MV (1 key available)
CONS( 2005, jak_pooh, 0, 0, jakks_gkr_wp, jak_pooh, jakks_gkr_state, empty_init, "JAKKS Pacific Inc / Backbone Entertainment", "Winnie the Pooh - Piglet's Special Day (JAKKS Pacific TV Game, Game-Key Ready)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // WP (no game-keys released)
// SpongeBob SquarePants: The Fry Cook Games NK (3 keys available) ^^
// SpongeBob SquarePants: The Fry Cook Games NK (3 keys available) ^^
// no keys released for the following, some were in development but cancelled
// Capcom 3-in-1 CC (no game-keys released)
// Care Bears CB (no game-keys released)
// Care Bears CB (no game-keys released)
// Radica TV games
CONS( 2006, rad_skat, 0, 0, rad_skat, rad_skat, spg2xx_game_state, init_crc, "Radica", "Play TV Skateboarder (NTSC)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS )

View File

@ -2,74 +2,74 @@
// copyright-holders:Ryan Holtz
/******************************************************************************
Wireless Hunting Video Game System skeleton driver
Wireless Hunting Video Game System skeleton driver
System: Wireless Hunting Video Game System
Publisher: Hamy / Kids Station Toys Inc
Year: 2011
ROM: FDI MSP55LV100G
RAM: Micron Technology 48LC8M16A2
System: Wireless Hunting Video Game System
Publisher: Hamy / Kids Station Toys Inc
Year: 2011
ROM: FDI MSP55LV100G
RAM: Micron Technology 48LC8M16A2
Games:
Secret Mission
Predator
Delta Force
Toy Land
Dream Forest
Trophy Season
Freedom Force
Be Careful
Net Power
Open Training
Super Archer
Ultimate Frisbee
UFO Shooting
Happy Darts
Balloon Shoot
Avatair
Angry Pirate
Penguin War
Ghost Shooter
Duck Hunt
Games:
Secret Mission
Predator
Delta Force
Toy Land
Dream Forest
Trophy Season
Freedom Force
Be Careful
Net Power
Open Training
Super Archer
Ultimate Frisbee
UFO Shooting
Happy Darts
Balloon Shoot
Avatair
Angry Pirate
Penguin War
Ghost Shooter
Duck Hunt
ROM Board:
Package: SO44
Spacing: 1.27 mm
Width: 16.14 mm
Length: 27.78 mm
Voltage: 3V
Pinout:
ROM Board:
Package: SO44
Spacing: 1.27 mm
Width: 16.14 mm
Length: 27.78 mm
Voltage: 3V
Pinout:
A25 A24
| |
+--------------------------+
A21 --|== # # `.__.' ==|-- A20
A18 --|== ==|-- A19
A17 --|== ==|-- A8
A7 --|== ==|-- A9
A6 --|== o ==|-- A10
A5 --|== +----------------+ ==|-- A11
A4 --|== | | ==|-- A12
A3 --|== | MSP55LV100G | ==|-- A13
A2 --|== | 0834 M02H | ==|-- A14
A1 --|== | JAPAN | ==|-- A15
A0 --|== | | ==|-- A16
#CE --|== | | ==|-- A23
GND --|== | | ==|-- A22
#OE --|== | | ==|-- Q15
Q0 --|== | | ==|-- Q7
Q8 --|== | | ==|-- Q14
Q1 --|== +----------------+ ==|-- Q6
Q9 --|== ==|-- Q13
Q2 --|== M55L100G ==|-- Q5
Q10 --|== ==|-- Q12
Q3 --|== ==|-- Q4
Q11 --|== ==|-- VCC
+--------------------------+
A25 A24
| |
+--------------------------+
A21 --|== # # `.__.' ==|-- A20
A18 --|== ==|-- A19
A17 --|== ==|-- A8
A7 --|== ==|-- A9
A6 --|== o ==|-- A10
A5 --|== +----------------+ ==|-- A11
A4 --|== | | ==|-- A12
A3 --|== | MSP55LV100G | ==|-- A13
A2 --|== | 0834 M02H | ==|-- A14
A1 --|== | JAPAN | ==|-- A15
A0 --|== | | ==|-- A16
#CE --|== | | ==|-- A23
GND --|== | | ==|-- A22
#OE --|== | | ==|-- Q15
Q0 --|== | | ==|-- Q7
Q8 --|== | | ==|-- Q14
Q1 --|== +----------------+ ==|-- Q6
Q9 --|== ==|-- Q13
Q2 --|== M55L100G ==|-- Q5
Q10 --|== ==|-- Q12
Q3 --|== ==|-- Q4
Q11 --|== ==|-- VCC
+--------------------------+
The only interesting string in this ROM is SPF2ALP,
which is also found in the Wireless Air 60 ROM.
The only interesting string in this ROM is SPF2ALP,
which is also found in the Wireless Air 60 ROM.
*******************************************************************************/

View File

@ -186,7 +186,7 @@
7 PLAY TV OPUS /RADICA/USA,EU - - - - - - dumped (US version, PAL version appears to use different ROM)
8 PLAY TV Baseball 2 /EPOCH/Japan, HK - - - - - - -
9 Let's hit a homerun! Exciting baseball /EPOCH/Japan - - - - - -
Play TV Baseball /RADICA/USA,EU 8017 x8 none none SSD 98 PA7351-107 dumped
Play TV Baseball /RADICA/USA,EU 8017 x8 none none SSD 98 PA7351-107 dumped
1999 1 ABC Jungle Fun Hippo /Vteck/HK, USA, France - - - - - - -
Unknown 1 PLAY TV Football /RADICA/USA 74021 x8 48 4M none SSD 98 PL7351-181 dumped
XaviXTennis SGM6446 x16 48 8M 24C08 SSD 2002 NEC 85054-611 dumped
@ -891,7 +891,7 @@ static INPUT_PORTS_START( popira2 ) // player 2 buttons have heavy latency, prob
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P2 Pad 1") PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P2 Pad 2") PORT_PLAYER(2)
PORT_MODIFY("AN1") // 01
PORT_DIPNAME( 0x0001, 0x0001, "AN1" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
@ -2073,7 +2073,7 @@ ROM_END
// [:] (possible DMA op SRC 00ebe2d3 DST 358a LEN 0398)
// needs to come from 006be2d3 (so still from lower 8MB, not upper 8MB)
ROM_START( xavmusic )
ROM_START( xavmusic )
ROM_REGION( 0x1000000, "bios", ROMREGION_ERASE00 )
ROM_LOAD( "xpmusicandcircuit.bin", 0x000000, 0x1000000, CRC(e06129d2) SHA1(d074d0dd85ce870f435da3c066a7f52b50999665) )
ROM_END

View File

@ -2,11 +2,11 @@
// copyright-holders:David Haywood
/******************************************************************************
XaviX 2
XaviX 2
unknown architecture, does not appear to be 6502 derived like XaviX / SuperXaviX
unknown architecture, does not appear to be 6502 derived like XaviX / SuperXaviX
die is marked "SSD 2002-2004 NEC 800208-51"
die is marked "SSD 2002-2004 NEC 800208-51"
*******************************************************************************/

View File

@ -106,10 +106,10 @@ public:
void xavix(machine_config &config);
void xavix_nv(machine_config &config);
void xavixp(machine_config &config);
void xavixp_nv(machine_config &config);
void xavix2000(machine_config &config);
void xavix2000_nv(machine_config &config);
@ -796,7 +796,7 @@ protected:
m_cartslot->write_bus_control(space,offset,data,mem_mask);
}
};
virtual uint8_t extbus_r(offs_t offset) override
{
if (m_cartslot->has_cart() && m_cartslot->is_read_access_not_rom())

View File

@ -145,4 +145,4 @@
<bezel element="text_b32"><bounds x="46" y="33.45" width="8" height="1.4" /></bezel>
</view>
</mamelayout>
</mamelayout>

View File

@ -179,4 +179,4 @@
<bezel element="text_b32"><bounds x="46" y="33.45" width="8" height="1.4" /></bezel>
</view>
</mamelayout>
</mamelayout>

526
src/mame/layout/md6802.lay Executable file → Normal file
View File

@ -5,16 +5,16 @@ copyright-holders:Joakim Larsson Edstrom
Didact MD6802 layout
-->
<mamelayout version="2">
<element name="redled" defstate="0">
<disk state="0"><color red="0.2" green="0.0" blue="0.0" /></disk>
<disk state="1"><color red="1.0" green="0.0" blue="0.0" /></disk>
<element name="redled" defstate="0">
<disk state="0"><color red="0.2" green="0.0" blue="0.0" /></disk>
<disk state="1"><color red="1.0" green="0.0" blue="0.0" /></disk>
</element>
<element name="button" defstate="1">
<disk state="0"><color red="1.0" green="1.0" blue="1.0" /></disk>
<disk state="1"><color red="0.75" green="0.75" blue="0.75" /></disk>
<disk state="0"><color red="1.0" green="1.0" blue="1.0" /></disk>
<disk state="1"><color red="0.75" green="0.75" blue="0.75" /></disk>
</element>
<element name="digit" defstate="1">
<led7seg><color red="0.75" green="0.0" blue="0.0" /></led7seg>
<led7seg><color red="0.75" green="0.0" blue="0.0" /></led7seg>
</element>
<element name="text_shift"><text string="SHIFT" align="1"><color red="0.7" green="0.7" blue="0.7" /></text></element>
<element name="text_reset"><text string="RESET" align="1"><color red="0.7" green="0.7" blue="0.7" /></text></element>
@ -53,328 +53,328 @@ Didact MD6802 layout
<element name="silver"> <rect><color red="0.75" green="0.75" blue="0.75" /></rect></element>
<element name="brown"> <rect><color red="0.18" green="0.08" blue="0.03" /></rect></element>
<element name="text_terminal"><text string="Terminal"><color red="0.7" green="0.7" blue="0.7" /></text></element>
<element name="mount">
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0.0" green="0.0" blue="0.0" /></disk>
<disk><bounds x="22" y="22" width="56" height="56" /><color red="0.43" green="0.47" blue="0.45" /></disk>
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0.0" green="0.0" blue="0.0" /></disk>
<disk><bounds x="22" y="22" width="56" height="56" /><color red="0.43" green="0.47" blue="0.45" /></disk>
</element>
<element name="screwhead">
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0" green="0" blue="0" /></disk>
<disk><bounds x="2" y="2" width="96" height="96" /> <color red="0.1" green="0.1" blue="0.1" /></disk>
<disk><bounds x="5" y="5" width="90" height="90" /> <color red="0.2" green="0.2" blue="0.2" /></disk>
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0" green="0" blue="0" /></disk>
<disk><bounds x="2" y="2" width="96" height="96" /> <color red="0.1" green="0.1" blue="0.1" /></disk>
<disk><bounds x="5" y="5" width="90" height="90" /> <color red="0.2" green="0.2" blue="0.2" /></disk>
</element>
<element name="hole">
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0" green="0" blue="0" /></disk>
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0" green="0" blue="0" /></disk>
</element>
<group name="screw">
<bezel element="screwhead"><bounds x="0" y="0" width="100" height="100" /></bezel>
<repeat count="~c~">
<param name="xl" start="~x~" increment="~xi~" />
<param name="yl" start="~y~" increment="~yi~" />
<bezel element="hole"><bounds x="~xl~" y="~yl~" width="8" height="8" /></bezel>
</repeat>
<bezel element="screwhead"><bounds x="0" y="0" width="100" height="100" /></bezel>
<repeat count="~c~">
<param name="xl" start="~x~" increment="~xi~" />
<param name="yl" start="~y~" increment="~yi~" />
<bezel element="hole"><bounds x="~xl~" y="~yl~" width="8" height="8" /></bezel>
</repeat>
</group>
<group name="pinpair">
<bezel element="silver"><bounds x="29" y="0" width="50" height="100" /></bezel>
<bezel element="black"> <bounds x="0" y="10" width="108" height="80" /></bezel>
<bezel element="silver"><bounds x="29" y="0" width="50" height="100" /></bezel>
<bezel element="black"> <bounds x="0" y="10" width="108" height="80" /></bezel>
</group>
<group name="dip7">
<repeat count="7">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
<repeat count="7">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
</group>
<group name="dip8">
<repeat count="8">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
<repeat count="8">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
</group>
<group name="dip10">
<repeat count="10">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
<repeat count="10">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
</group>
<group name="dip12">
<repeat count="12">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
<repeat count="12">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
</group>
<group name="dip20">
<repeat count="20">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
<repeat count="20">
<param name="x" start="0" increment="100" />
<group ref="pinpair"><bounds x="~x~" y="0" width="108" height="100" /></group>
</repeat>
</group>
<group name="dip">
<repeat count="~pp~">
<param name="x" start="0" increment="100" />
<param name="xp" start="28" increment="100" />
<bezel element="silver"><bounds x="~xp~" y="0" width="50" height="100" /></bezel>
<bezel element="black"> <bounds x="~x~" y="10" width="106" height="80" /></bezel>
</repeat>
<repeat count="~pp~">
<param name="x" start="0" increment="100" />
<param name="xp" start="28" increment="100" />
<bezel element="silver"><bounds x="~xp~" y="0" width="50" height="100" /></bezel>
<bezel element="black"> <bounds x="~x~" y="10" width="106" height="80" /></bezel>
</repeat>
</group>
<group name="vdip">
<group ref="dip"><orientation rotate="90" /></group>
<group ref="dip"><orientation rotate="90" /></group>
</group>
<group name="hdip">
<group ref="dip" />
<group ref="dip" />
</group>
<group name="digit">
<bezel name="digit~dno~" element="digit">
<bounds x="~x~" y="~y~" width="188" height="276" />
</bezel>
<bezel name="digit~dno~" element="digit">
<bounds x="~x~" y="~y~" width="188" height="276" />
</bezel>
</group>
<element name="keycap">
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0.0" green="0.0" blue="0.0" /></disk>
<disk><bounds x="3" y="3" width="94" height="94" /><color red="0.2" green="0.2" blue="0.2" /></disk>
<disk state="0"><bounds x="10" y="10" width="80" height="80" /><color red="0.1" green="0.1" blue="0.1" /></disk>
<disk state="1"><bounds x="10" y="10" width="80" height="80" /><color red="0.2" green="0.2" blue="0.2" /></disk>
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0.0" green="0.0" blue="0.0" /></disk>
<disk><bounds x="3" y="3" width="94" height="94" /><color red="0.2" green="0.2" blue="0.2" /></disk>
<disk state="0"><bounds x="10" y="10" width="80" height="80" /><color red="0.1" green="0.1" blue="0.1" /></disk>
<disk state="1"><bounds x="10" y="10" width="80" height="80" /><color red="0.2" green="0.2" blue="0.2" /></disk>
</element>
<group name="key">
<bezel element="keycap" inputtag="LINE~line~" inputmask="~mask~">
<bounds x="~x~" y="~y~" width="22" height="22" />
</bezel>
<bezel element="text_~bname~">
<bounds x="~xt~" y="~yt~" width="28" height="7" />
</bezel>
<bezel element="keycap" inputtag="LINE~line~" inputmask="~mask~">
<bounds x="~x~" y="~y~" width="22" height="22" />
</bezel>
<bezel element="text_~bname~">
<bounds x="~xt~" y="~yt~" width="28" height="7" />
</bezel>
</group>
<group name="eurofem">
<bezel element="white"><bounds x="0" y="0" width="9400" height="1060" /></bezel>
<bezel element="black"><bounds x="420" y="60" width="8560" height="660" /></bezel>
<bezel element="black"><bounds x="520" y="720" width="8360" height="240" /></bezel>
<bezel element="white"><bounds x="440" y="80" width="8520" height="620" /></bezel>
<bezel element="white"><bounds x="540" y="700" width="8320" height="240" /></bezel>
<repeat count="3">
<param name="y" start="220" increment="254" />
<param name="yh" start="200" increment="254" />
<repeat count="32">
<param name="x" start="740" increment="254" />
<param name="xh" start="702" increment="254" />
<bezel element="gray"><bounds x="~xh~" y="~yh~" width="125" height="90" /></bezel>
<bezel element="black"><bounds x="~x~" y="~y~" width="60" height="50" /></bezel>
</repeat>
</repeat>
<bezel element="mount"><bounds x="60" y="380" width="300" height="300" /></bezel>
<bezel element="mount"><bounds x="9040" y="380" width="300" height="300" /></bezel>
<bezel element="white"><bounds x="0" y="0" width="9400" height="1060" /></bezel>
<bezel element="black"><bounds x="420" y="60" width="8560" height="660" /></bezel>
<bezel element="black"><bounds x="520" y="720" width="8360" height="240" /></bezel>
<bezel element="white"><bounds x="440" y="80" width="8520" height="620" /></bezel>
<bezel element="white"><bounds x="540" y="700" width="8320" height="240" /></bezel>
<repeat count="3">
<param name="y" start="220" increment="254" />
<param name="yh" start="200" increment="254" />
<repeat count="32">
<param name="x" start="740" increment="254" />
<param name="xh" start="702" increment="254" />
<bezel element="gray"><bounds x="~xh~" y="~yh~" width="125" height="90" /></bezel>
<bezel element="black"><bounds x="~x~" y="~y~" width="60" height="50" /></bezel>
</repeat>
</repeat>
<bezel element="mount"><bounds x="60" y="380" width="300" height="300" /></bezel>
<bezel element="mount"><bounds x="9040" y="380" width="300" height="300" /></bezel>
</group>
<group name="keyboard">
<backdrop element="pcb_color"><bounds left="0" top="0" right="289" bottom="327"/></backdrop>
<bezel element="text_md6802_kb"><bounds x="20" y="10" width="112" height="8" /></bezel>
<bezel element="text_terminal"><bounds x="10" y="208" width="26" height="6" /></bezel>
<backdrop element="pcb_color"><bounds left="0" top="0" right="289" bottom="327"/></backdrop>
<bezel element="text_md6802_kb"><bounds x="20" y="10" width="112" height="8" /></bezel>
<bezel element="text_terminal"><bounds x="10" y="208" width="26" height="6" /></bezel>
<group ref="eurofem"><bounds x="23" y="32" width="228" height="24"/></group>
<group ref="eurofem"><bounds x="23" y="32" width="228" height="24"/></group>
<!-- BCD 7seg display -->
<!-- AAAADD -->
<repeat count="6">
<param name="dno" start="0" increment="1" />
<param name="x" start="30" increment="38" />
<param name="xi" start="32" increment="38" />
<param name="xd" start="33" increment="38" />
<bezel element="white"><bounds x="~x~" y="112" width="39" height="44" /></bezel>
<bezel element="pcb_color"><bounds x="~xi~" y="114" width="36" height="40" /></bezel>
<bezel element="black"><bounds x="~xd~" y="116" width="34" height="38" /></bezel>
<bezel name="digit~dno~" element="digit"><bounds x="~xd~" y="117" width="31" height="36" /></bezel>
</repeat>
<!-- Key pad -->
<repeat count="4">
<param name="bname" start="0" increment="4" />
<param name="line" start="0" increment="1" />
<param name="y" start="295" increment="-30" />
<param name="yt" start="287" increment="-30" />
<repeat count="4">
<param name="bname" start="~bname~" increment="1" />
<param name="mask" start="1" lshift="1" />
<param name="x" start="115" increment="30" />
<param name="xt" start="120" increment="30" />
<group ref="key"/>
</repeat>
</repeat>
<!-- BCD 7seg display -->
<!-- AAAADD -->
<repeat count="6">
<param name="dno" start="0" increment="1" />
<param name="x" start="30" increment="38" />
<param name="xi" start="32" increment="38" />
<param name="xd" start="33" increment="38" />
<bezel element="white"><bounds x="~x~" y="112" width="39" height="44" /></bezel>
<bezel element="pcb_color"><bounds x="~xi~" y="114" width="36" height="40" /></bezel>
<bezel element="black"><bounds x="~xd~" y="116" width="34" height="38" /></bezel>
<bezel name="digit~dno~" element="digit"><bounds x="~xd~" y="117" width="31" height="36" /></bezel>
</repeat>
<!-- RESET button -->
<param name="line" value="4" />
<param name="mask" value="0x04" />
<param name="y" value="295" />
<param name="yt" value="287" />
<param name="x" value="85" />
<param name="xt" value="90" />
<param name="line" value="4" />
<param name="bname" value="reset" />
<group ref="key" />
<!-- Key pad -->
<repeat count="4">
<param name="bname" start="0" increment="4" />
<param name="line" start="0" increment="1" />
<param name="y" start="295" increment="-30" />
<param name="yt" start="287" increment="-30" />
<repeat count="4">
<param name="bname" start="~bname~" increment="1" />
<param name="mask" start="1" lshift="1" />
<param name="x" start="115" increment="30" />
<param name="xt" start="120" increment="30" />
<group ref="key"/>
</repeat>
</repeat>
<!-- SHIFT key led -->
<bezel name="led1" element="redled"><bounds x="92" y="245" width="10" height="10"/></bezel>
<!-- SHIFT button -->
<param name="mask" value="0x08" />
<param name="y" value="265" />
<param name="yt" value="257" />
<param name="x" value="85" />
<param name="xt" value="90" />
<param name="line" value="4" />
<param name="bname" value="shift" />
<group ref="key" />
<!-- RESET button -->
<param name="line" value="4" />
<param name="mask" value="0x04" />
<param name="y" value="295" />
<param name="yt" value="287" />
<param name="x" value="85" />
<param name="xt" value="90" />
<param name="line" value="4" />
<param name="bname" value="reset" />
<group ref="key" />
<!-- screws -->
<param name="x" value="15" />
<param name="xi" value="1" />
<param name="y" value="15" />
<param name="yi" value="1" />
<param name="c" value="60" />
<group ref="screw"><bounds x="4" y="4" width="16" height="16" /></group>
<param name="x" value="75" />
<param name="xi" value="-1" />
<group ref="screw"><bounds x="270" y="4" width="16" height="16" /></group>
<param name="c" value="90" />
<param name="y" value="2" />
<param name="x" value="45" />
<param name="xi" value="0" />
<group ref="screw"><bounds x="270" y="290" width="16" height="16" /></group>
<param name="y" value="45" />
<param name="x" value="2" />
<param name="xi" value="1" />
<param name="yi" value="0" />
<group ref="screw"><bounds x="4" y="290" width="16" height="16" /></group>
<!-- SHIFT key led -->
<bezel name="led1" element="redled"><bounds x="92" y="245" width="10" height="10"/></bezel>
<!-- scattered ICs -->
<group ref="dip7"> <bounds x="45" y="70" width="44" height="20" /></group>
<bezel element="text_122"> <bounds x="51" y="74" width="25" height="7" /></bezel>
<!-- SHIFT button -->
<param name="mask" value="0x08" />
<param name="y" value="265" />
<param name="yt" value="257" />
<param name="x" value="85" />
<param name="xt" value="90" />
<param name="line" value="4" />
<param name="bname" value="shift" />
<group ref="key" />
<group ref="dip8"> <bounds x="44" y="176" width="20" height="50" /><orientation rotate="90" /></group>
<bezel element="text_145"> <bounds x="50" y="180" width="7" height="25" /><orientation rotate="90" /></bezel>
<!-- screws -->
<param name="x" value="15" />
<param name="xi" value="1" />
<param name="y" value="15" />
<param name="yi" value="1" />
<param name="c" value="60" />
<group ref="screw"><bounds x="4" y="4" width="16" height="16" /></group>
<param name="x" value="75" />
<param name="xi" value="-1" />
<group ref="screw"><bounds x="270" y="4" width="16" height="16" /></group>
<param name="c" value="90" />
<param name="y" value="2" />
<param name="x" value="45" />
<param name="xi" value="0" />
<group ref="screw"><bounds x="270" y="290" width="16" height="16" /></group>
<param name="y" value="45" />
<param name="x" value="2" />
<param name="xi" value="1" />
<param name="yi" value="0" />
<group ref="screw"><bounds x="4" y="290" width="16" height="16" /></group>
<group ref="dip10"> <bounds x="97" y="59" width="65" height="20" /></group>
<bezel element="text_145"> <bounds x="103" y="63" width="25" height="7" /></bezel>
<!-- scattered ICs -->
<group ref="dip7"> <bounds x="45" y="70" width="44" height="20" /></group>
<bezel element="text_122"> <bounds x="51" y="74" width="25" height="7" /></bezel>
<group ref="dip8"> <bounds x="44" y="176" width="20" height="50" /><orientation rotate="90" /></group>
<bezel element="text_145"> <bounds x="50" y="180" width="7" height="25" /><orientation rotate="90" /></bezel>
<group ref="dip10"> <bounds x="97" y="59" width="65" height="20" /></group>
<bezel element="text_145"> <bounds x="103" y="63" width="25" height="7" /></bezel>
</group>
<group name="cpuboard">
<backdrop element="pcb_color"><bounds left="0" top="0" right="390" bottom="242"/></backdrop>
<bezel element="text_md6802_cpu"><bounds x="25" y="22" width="8" height="75" /><orientation rotate="90" /></bezel>
<group ref="eurofem"><bounds x="267" y="12" height="228" width="24" /><orientation rotate="90" /></group>
<backdrop element="pcb_color"><bounds left="0" top="0" right="390" bottom="242"/></backdrop>
<bezel element="text_md6802_cpu"><bounds x="25" y="22" width="8" height="75" /><orientation rotate="90" /></bezel>
<!-- screws -->
<param name="x" value="15" />
<param name="xi" value="1" />
<param name="y" value="15" />
<param name="yi" value="1" />
<param name="c" value="60" />
<group ref="screw"><bounds x="4" y="4" width="16" height="16" /></group>
<param name="x" value="75" />
<param name="xi" value="-1" />
<group ref="screw"><bounds x="369" y="4" width="16" height="16" /></group>
<param name="c" value="90" />
<param name="y" value="2" />
<param name="x" value="45" />
<param name="xi" value="0" />
<group ref="screw"><bounds x="369" y="222" width="16" height="16" /></group>
<param name="y" value="45" />
<param name="x" value="2" />
<param name="xi" value="1" />
<param name="yi" value="0" />
<group ref="screw"><bounds x="4" y="222" width="16" height="16" /></group>
<group ref="eurofem"><bounds x="267" y="12" height="228" width="24" /><orientation rotate="90" /></group>
<!-- scattered ICs -->
<group ref="dip7"> <bounds x="37" y="193" width="44" height="20" /></group>
<bezel element="text_132"> <bounds x="43" y="197" width="25" height="7" /></bezel>
<!-- screws -->
<param name="x" value="15" />
<param name="xi" value="1" />
<param name="y" value="15" />
<param name="yi" value="1" />
<param name="c" value="60" />
<group ref="screw"><bounds x="4" y="4" width="16" height="16" /></group>
<param name="x" value="75" />
<param name="xi" value="-1" />
<group ref="screw"><bounds x="369" y="4" width="16" height="16" /></group>
<param name="c" value="90" />
<param name="y" value="2" />
<param name="x" value="45" />
<param name="xi" value="0" />
<group ref="screw"><bounds x="369" y="222" width="16" height="16" /></group>
<param name="y" value="45" />
<param name="x" value="2" />
<param name="xi" value="1" />
<param name="yi" value="0" />
<group ref="screw"><bounds x="4" y="222" width="16" height="16" /></group>
<group ref="dip8"> <bounds x="167" y="20" width="50" height="20" /></group>
<bezel element="text_138"> <bounds x="173" y="24" width="25" height="7" /></bezel>
<!-- CPU -->
<group ref="dip20"> <bounds x="39" y="47" width="40" height="125" /><orientation rotate="90" /></group>
<bezel element="text_6802"><bounds x="50" y="53" width="15" height="52" /><orientation rotate="90" /></bezel>
<!-- PIAs -->
<group ref="dip20"> <bounds x="218" y="84" width="40" height="125" /><orientation rotate="90" /></group>
<bezel element="text_6821"><bounds x="229" y="90" width="15" height="48" /><orientation rotate="90" /></bezel>
<group ref="dip20"> <bounds x="312" y="84" width="40" height="125" /><orientation rotate="90" /></group>
<bezel element="text_6821"><bounds x="323" y="90" width="15" height="48" /><orientation rotate="90" /></bezel>
<!-- ROM -->
<group ref="dip12"><bounds x="104" y="69" width="40" height="77" /><orientation rotate="90" /></group>
<bezel element="text_2716"><bounds x="115" y="75" width="17" height="35" /><orientation rotate="90" /></bezel>
<!-- RAM -->
<group ref="dip12"><bounds x="158" y="69" width="40" height="77" /><orientation rotate="90" /></group>
<bezel element="text_6116"><bounds x="169" y="75" width="17" height="35" /><orientation rotate="90" /></bezel>
<!-- scattered ICs -->
<group ref="dip7"> <bounds x="37" y="193" width="44" height="20" /></group>
<bezel element="text_132"> <bounds x="43" y="197" width="25" height="7" /></bezel>
<group ref="dip8"> <bounds x="167" y="20" width="50" height="20" /></group>
<bezel element="text_138"> <bounds x="173" y="24" width="25" height="7" /></bezel>
<!-- CPU -->
<group ref="dip20"> <bounds x="39" y="47" width="40" height="125" /><orientation rotate="90" /></group>
<bezel element="text_6802"><bounds x="50" y="53" width="15" height="52" /><orientation rotate="90" /></bezel>
<!-- PIAs -->
<group ref="dip20"> <bounds x="218" y="84" width="40" height="125" /><orientation rotate="90" /></group>
<bezel element="text_6821"><bounds x="229" y="90" width="15" height="48" /><orientation rotate="90" /></bezel>
<group ref="dip20"> <bounds x="312" y="84" width="40" height="125" /><orientation rotate="90" /></group>
<bezel element="text_6821"><bounds x="323" y="90" width="15" height="48" /><orientation rotate="90" /></bezel>
<!-- ROM -->
<group ref="dip12"><bounds x="104" y="69" width="40" height="77" /><orientation rotate="90" /></group>
<bezel element="text_2716"><bounds x="115" y="75" width="17" height="35" /><orientation rotate="90" /></bezel>
<!-- RAM -->
<group ref="dip12"><bounds x="158" y="69" width="40" height="77" /><orientation rotate="90" /></group>
<bezel element="text_6116"><bounds x="169" y="75" width="17" height="35" /><orientation rotate="90" /></bezel>
</group>
<group name="breadboard">
<backdrop element="bb_color"><bounds left="0" top="0" right="1300" bottom="3720"/></backdrop>
<repeat count="47">
<param name="y" start="400" increment="62" />
<param name="yh" start="405" increment="62" />
<repeat count="5">
<param name="x" start="330" increment="62" />
<param name="xh" start="335" increment="62" />
<bezel element="gray"><bounds x="~x~" y="~y~" width="40" height="40" /></bezel>
<bezel element="black"><bounds x="~xh~" y="~yh~" width="30" height="30" /></bezel>
</repeat>
<repeat count="5">
<param name="x" start="740" increment="62" />
<param name="xh" start="745" increment="62" />
<bezel element="gray"><bounds x="~x~" y="~y~" width="40" height="40" /></bezel>
<bezel element="black"><bounds x="~xh~" y="~yh~" width="30" height="30" /></bezel>
</repeat>
</repeat>
<repeat count="8">
<param name="y" start="400" increment="372" />
<param name="yh" start="405" increment="372" />
<repeat count="5">
<param name="y" start="~y~" increment="62" />
<param name="yh" start="~yh~" increment="62" />
<bezel element="gray"><bounds x="180" y="~y~" width="40" height="40" /></bezel>
<bezel element="black"><bounds x="185" y="~yh~" width="30" height="30" /></bezel>
<bezel element="gray"><bounds x="1100" y="~y~" width="40" height="40" /></bezel>
<bezel element="black"><bounds x="1105" y="~yh~" width="30" height="30" /></bezel>
</repeat>
</repeat>
<!-- screws -->
<param name="x" value="15" />
<param name="xi" value="1" />
<param name="y" value="15" />
<param name="yi" value="1" />
<param name="c" value="60" />
<group ref="screw"><bounds x="180" y="130" width="160" height="160" /></group>
<param name="x" value="75" />
<param name="xi" value="-1" />
<group ref="screw"><bounds x="990" y="130" width="160" height="160" /></group>
<param name="c" value="90" />
<param name="y" value="2" />
<param name="x" value="45" />
<param name="xi" value="0" />
<group ref="screw"><bounds x="990" y="3420" width="160" height="160" /></group>
<param name="y" value="45" />
<param name="x" value="2" />
<param name="xi" value="1" />
<param name="yi" value="0" />
<group ref="screw"><bounds x="180" y="3420" width="160" height="160" /></group>
<backdrop element="bb_color"><bounds left="0" top="0" right="1300" bottom="3720"/></backdrop>
<repeat count="47">
<param name="y" start="400" increment="62" />
<param name="yh" start="405" increment="62" />
<repeat count="5">
<param name="x" start="330" increment="62" />
<param name="xh" start="335" increment="62" />
<bezel element="gray"><bounds x="~x~" y="~y~" width="40" height="40" /></bezel>
<bezel element="black"><bounds x="~xh~" y="~yh~" width="30" height="30" /></bezel>
</repeat>
<repeat count="5">
<param name="x" start="740" increment="62" />
<param name="xh" start="745" increment="62" />
<bezel element="gray"><bounds x="~x~" y="~y~" width="40" height="40" /></bezel>
<bezel element="black"><bounds x="~xh~" y="~yh~" width="30" height="30" /></bezel>
</repeat>
</repeat>
<repeat count="8">
<param name="y" start="400" increment="372" />
<param name="yh" start="405" increment="372" />
<repeat count="5">
<param name="y" start="~y~" increment="62" />
<param name="yh" start="~yh~" increment="62" />
<bezel element="gray"><bounds x="180" y="~y~" width="40" height="40" /></bezel>
<bezel element="black"><bounds x="185" y="~yh~" width="30" height="30" /></bezel>
<bezel element="gray"><bounds x="1100" y="~y~" width="40" height="40" /></bezel>
<bezel element="black"><bounds x="1105" y="~yh~" width="30" height="30" /></bezel>
</repeat>
</repeat>
<!-- screws -->
<param name="x" value="15" />
<param name="xi" value="1" />
<param name="y" value="15" />
<param name="yi" value="1" />
<param name="c" value="60" />
<group ref="screw"><bounds x="180" y="130" width="160" height="160" /></group>
<param name="x" value="75" />
<param name="xi" value="-1" />
<group ref="screw"><bounds x="990" y="130" width="160" height="160" /></group>
<param name="c" value="90" />
<param name="y" value="2" />
<param name="x" value="45" />
<param name="xi" value="0" />
<group ref="screw"><bounds x="990" y="3420" width="160" height="160" /></group>
<param name="y" value="45" />
<param name="x" value="2" />
<param name="xi" value="1" />
<param name="yi" value="0" />
<group ref="screw"><bounds x="180" y="3420" width="160" height="160" /></group>
</group>
<view name="Base Artwork">
<backdrop element="black"><bounds left="0" top="0" right="1211" bottom="551"/></backdrop>
<group ref="keyboard"><bounds x="0" y="31" width="400" height="450" /></group>
<group ref="cpuboard"><bounds x="405" y="92" width="540" height="338" /></group>
<group ref="breadboard"><bounds x="951" y="0" width="191" height="551" /></group>
</view>
<view name="Base Artwork">
<backdrop element="black"><bounds left="0" top="0" right="1211" bottom="551"/></backdrop>
<group ref="keyboard"><bounds x="0" y="31" width="400" height="450" /></group>
<group ref="cpuboard"><bounds x="405" y="92" width="540" height="338" /></group>
<group ref="breadboard"><bounds x="951" y="0" width="191" height="551" /></group>
</view>
</mamelayout>

View File

@ -52,378 +52,378 @@ Esselte Studium Modulab layout
<element name="text_vcc"><text string="VCC"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="text_gnd"><text string="GND"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="text_r"><text string="R"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="brownkey">
<rect><bounds x="0" y="0" width="10" height="10" /> <color red="0.43" green="0.33" blue="0.23" /></rect>
<disk><bounds x="0.5" y="0.5" width="9" height="9" /><color red="0.23" green="0.13" blue="0.03" /></disk>
<disk><bounds x="1" y="1" width="8" height="8" /> <color red="0.33" green="0.23" blue="0.13" /></disk>
<rect><bounds x="2" y="0.5" width="6" height="1.5" /><color red="0.23" green="0.13" blue="0.03" /></rect>
<rect><bounds x="1" y="0.5" width="8" height="1.0" /><color red="0.43" green="0.33" blue="0.23" /></rect>
<!-- Rounded corners -->
<rect><bounds x="0" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="0" width="2" height="2" /><color red="0.43" green="0.33" blue="0.23" /></disk>
<rect><bounds x="9" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="0" width="2" height="2" /><color red="0.43" green="0.33" blue="0.23" /></disk>
<rect><bounds x="9" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="8" width="2" height="2" /><color red="0.43" green="0.33" blue="0.23" /></disk>
<rect><bounds x="0" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="8" width="2" height="2" /><color red="0.43" green="0.33" blue="0.23" /></disk>
<rect><bounds x="0" y="0" width="10" height="10" /> <color red="0.43" green="0.33" blue="0.23" /></rect>
<disk><bounds x="0.5" y="0.5" width="9" height="9" /><color red="0.23" green="0.13" blue="0.03" /></disk>
<disk><bounds x="1" y="1" width="8" height="8" /> <color red="0.33" green="0.23" blue="0.13" /></disk>
<rect><bounds x="2" y="0.5" width="6" height="1.5" /><color red="0.23" green="0.13" blue="0.03" /></rect>
<rect><bounds x="1" y="0.5" width="8" height="1.0" /><color red="0.43" green="0.33" blue="0.23" /></rect>
<!-- Rounded corners -->
<rect><bounds x="0" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="0" width="2" height="2" /><color red="0.43" green="0.33" blue="0.23" /></disk>
<rect><bounds x="9" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="0" width="2" height="2" /><color red="0.43" green="0.33" blue="0.23" /></disk>
<rect><bounds x="9" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="8" width="2" height="2" /><color red="0.43" green="0.33" blue="0.23" /></disk>
<rect><bounds x="0" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="8" width="2" height="2" /><color red="0.43" green="0.33" blue="0.23" /></disk>
</element>
<element name="redkey">
<rect><bounds x="0" y="0" width="10" height="10" /> <color red="0.85" green="0.18" blue="0.16" /></rect>
<disk><bounds x="0.5" y="0.5" width="9" height="9" /><color red="0.65" green="0.00" blue="0.00" /></disk>
<disk><bounds x="1" y="1" width="8" height="8" /> <color red="0.75" green="0.08" blue="0.06" /></disk>
<rect><bounds x="2" y="0.5" width="6" height="1.5" /><color red="0.65" green="0.00" blue="0.00" /></rect>
<rect><bounds x="1" y="0.5" width="8" height="1.0" /><color red="0.85" green="0.18" blue="0.16" /></rect>
<!-- Rounded corners -->
<rect><bounds x="0" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="0" width="2" height="2" /><color red="0.85" green="0.18" blue="0.16" /></disk>
<rect><bounds x="9" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="0" width="2" height="2" /><color red="0.85" green="0.18" blue="0.16" /></disk>
<rect><bounds x="9" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="8" width="2" height="2" /><color red="0.85" green="0.18" blue="0.16" /></disk>
<rect><bounds x="0" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="8" width="2" height="2" /><color red="0.85" green="0.18" blue="0.16" /></disk>
<rect><bounds x="0" y="0" width="10" height="10" /> <color red="0.85" green="0.18" blue="0.16" /></rect>
<disk><bounds x="0.5" y="0.5" width="9" height="9" /><color red="0.65" green="0.00" blue="0.00" /></disk>
<disk><bounds x="1" y="1" width="8" height="8" /> <color red="0.75" green="0.08" blue="0.06" /></disk>
<rect><bounds x="2" y="0.5" width="6" height="1.5" /><color red="0.65" green="0.00" blue="0.00" /></rect>
<rect><bounds x="1" y="0.5" width="8" height="1.0" /><color red="0.85" green="0.18" blue="0.16" /></rect>
<!-- Rounded corners -->
<rect><bounds x="0" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="0" width="2" height="2" /><color red="0.85" green="0.18" blue="0.16" /></disk>
<rect><bounds x="9" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="0" width="2" height="2" /><color red="0.85" green="0.18" blue="0.16" /></disk>
<rect><bounds x="9" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="8" width="2" height="2" /><color red="0.85" green="0.18" blue="0.16" /></disk>
<rect><bounds x="0" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="8" width="2" height="2" /><color red="0.85" green="0.18" blue="0.16" /></disk>
</element>
<element name="greenkey">
<rect><bounds x="0" y="0" width="10" height="10" /> <color red="0.24" green="0.64" blue="0.28" /></rect>
<disk><bounds x="0.5" y="0.5" width="9" height="9" /><color red="0.04" green="0.44" blue="0.08" /></disk>
<disk><bounds x="1" y="1" width="8" height="8" /> <color red="0.14" green="0.54" blue="0.18" /></disk>
<rect><bounds x="2" y="0.5" width="6" height="1.5" /><color red="0.04" green="0.44" blue="0.08" /></rect>
<rect><bounds x="1" y="0.5" width="8" height="1.0" /><color red="0.24" green="0.64" blue="0.28" /></rect>
<!-- Rounded corners -->
<rect><bounds x="0" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="0" width="2" height="2" /><color red="0.24" green="0.64" blue="0.28" /></disk>
<rect><bounds x="9" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="0" width="2" height="2" /><color red="0.24" green="0.64" blue="0.28" /></disk>
<rect><bounds x="9" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="8" width="2" height="2" /><color red="0.24" green="0.64" blue="0.28" /></disk>
<rect><bounds x="0" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="8" width="2" height="2" /><color red="0.24" green="0.64" blue="0.28" /></disk>
<rect><bounds x="0" y="0" width="10" height="10" /> <color red="0.24" green="0.64" blue="0.28" /></rect>
<disk><bounds x="0.5" y="0.5" width="9" height="9" /><color red="0.04" green="0.44" blue="0.08" /></disk>
<disk><bounds x="1" y="1" width="8" height="8" /> <color red="0.14" green="0.54" blue="0.18" /></disk>
<rect><bounds x="2" y="0.5" width="6" height="1.5" /><color red="0.04" green="0.44" blue="0.08" /></rect>
<rect><bounds x="1" y="0.5" width="8" height="1.0" /><color red="0.24" green="0.64" blue="0.28" /></rect>
<!-- Rounded corners -->
<rect><bounds x="0" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="0" width="2" height="2" /><color red="0.24" green="0.64" blue="0.28" /></disk>
<rect><bounds x="9" y="0" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="0" width="2" height="2" /><color red="0.24" green="0.64" blue="0.28" /></disk>
<rect><bounds x="9" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="8" y="8" width="2" height="2" /><color red="0.24" green="0.64" blue="0.28" /></disk>
<rect><bounds x="0" y="9" width="1" height="1" /><color red="0" green="0" blue="0" /></rect>
<disk><bounds x="0" y="8" width="2" height="2" /><color red="0.24" green="0.64" blue="0.28" /></disk>
</element>
<element name="mount">
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0.64" green="0.64" blue="0.64" /></disk>
<disk><bounds x="22" y="22" width="56" height="56" /><color red="0.54" green="0.54" blue="0.54" /></disk>
<disk><bounds x="30" y="30" width="40" height="40" /><color red="0.0" green="0.0" blue="0.0" /></disk>
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0.64" green="0.64" blue="0.64" /></disk>
<disk><bounds x="22" y="22" width="56" height="56" /><color red="0.54" green="0.54" blue="0.54" /></disk>
<disk><bounds x="30" y="30" width="40" height="40" /><color red="0.0" green="0.0" blue="0.0" /></disk>
</element>
<element name="screwhead">
<disk><bounds x="0" y="0" width="100" height="100" /><color red="1" green="1" blue="1" /></disk>
<disk><bounds x="2" y="2" width="96" height="96" /> <color red="0" green="0" blue="0" /></disk>
<disk><bounds x="5" y="5" width="90" height="90" /> <color red="0.8" green="0.8" blue="0.8" /></disk>
<disk><bounds x="0" y="0" width="100" height="100" /><color red="1" green="1" blue="1" /></disk>
<disk><bounds x="2" y="2" width="96" height="96" /> <color red="0" green="0" blue="0" /></disk>
<disk><bounds x="5" y="5" width="90" height="90" /> <color red="0.8" green="0.8" blue="0.8" /></disk>
</element>
<element name="hole">
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0" green="0" blue="0" /></disk>
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0" green="0" blue="0" /></disk>
</element>
<group name="screw">
<bezel element="screwhead"><bounds x="0" y="0" width="100" height="100" /></bezel>
<repeat count="50">
<param name="x1" start="25" increment="1" />
<param name="x2" start="75" increment="-1" />
<param name="y" start="25" increment="1" />
<bezel element="hole"><bounds x="~x1~" y="~y~" width="8" height="8" /></bezel>
<bezel element="hole"><bounds x="~x2~" y="~y~" width="8" height="8" /></bezel>
</repeat>
<bezel element="screwhead"><bounds x="0" y="0" width="100" height="100" /></bezel>
<repeat count="50">
<param name="x1" start="25" increment="1" />
<param name="x2" start="75" increment="-1" />
<param name="y" start="25" increment="1" />
<bezel element="hole"><bounds x="~x1~" y="~y~" width="8" height="8" /></bezel>
<bezel element="hole"><bounds x="~x2~" y="~y~" width="8" height="8" /></bezel>
</repeat>
</group>
<element name="pin">
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0.64" green="0.64" blue="0.64" /></disk>
<disk><bounds x="23" y="23" width="54" height="54" /><color red="0.0" green="0.0" blue="0.0" /></disk>
<disk><bounds x="30" y="30" width="38" height="38" /><color red="0.84" green="0.84" blue="0.84" /></disk>
<disk><bounds x="0" y="0" width="100" height="100" /><color red="0.64" green="0.64" blue="0.64" /></disk>
<disk><bounds x="23" y="23" width="54" height="54" /><color red="0.0" green="0.0" blue="0.0" /></disk>
<disk><bounds x="30" y="30" width="38" height="38" /><color red="0.84" green="0.84" blue="0.84" /></disk>
</element>
<element name="trim">
<rect><bounds x="0" y="0" width="100" height="100" /><color red="0.0" green="0.0" blue="0.0" /></rect>
<disk><bounds x="30" y="30" width="40" height="40" /><color red="0.9" green="0.9" blue="0.9" /></disk>
<rect><bounds x="47" y="0" width="6" height="100" /><color red="0.0" green="0.0" blue="0.0" /></rect>
<rect><bounds x="0" y="0" width="100" height="100" /><color red="0.0" green="0.0" blue="0.0" /></rect>
<disk><bounds x="30" y="30" width="40" height="40" /><color red="0.9" green="0.9" blue="0.9" /></disk>
<rect><bounds x="47" y="0" width="6" height="100" /><color red="0.0" green="0.0" blue="0.0" /></rect>
</element>
<element name="amp">
<rect><bounds x="115" y="0" width="175" height="905" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- body -->
<rect><bounds x="0" y="0" width="125" height="50" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- upper jaw -->
<rect><bounds x="90" y="0" width="25" height="155" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- upper parts -->
<rect><bounds x="90" y="200" width="25" height="230" /><color red="0.1" green="0.1" blue="0.1" /></rect>
<rect><bounds x="115" y="430" width="100" height="55" /><color red="0.3" green="0.3" blue="0.3" /></rect><!-- mid gap -->
<rect><bounds x="100" y="453" width="115" height="7" /><color red="0.9" green="0.9" blue="0.9" /></rect> <!-- pin -->
<rect><bounds x="115" y="0" width="175" height="905" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- body -->
<rect><bounds x="90" y="485" width="25" height="230" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- lower parts -->
<rect><bounds x="90" y="750" width="25" height="155" /><color red="0.1" green="0.1" blue="0.1" /></rect>
<rect><bounds x="0" y="855" width="125" height="50" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- lower jaw -->
<rect><bounds x="0" y="0" width="125" height="50" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- upper jaw -->
<rect><bounds x="90" y="0" width="25" height="155" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- upper parts -->
<rect><bounds x="90" y="200" width="25" height="230" /><color red="0.1" green="0.1" blue="0.1" /></rect>
<rect><bounds x="115" y="430" width="100" height="55" /><color red="0.3" green="0.3" blue="0.3" /></rect><!-- mid gap -->
<rect><bounds x="100" y="453" width="115" height="7" /><color red="0.9" green="0.9" blue="0.9" /></rect> <!-- pin -->
<rect><bounds x="90" y="485" width="25" height="230" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- lower parts -->
<rect><bounds x="90" y="750" width="25" height="155" /><color red="0.1" green="0.1" blue="0.1" /></rect>
<rect><bounds x="0" y="855" width="125" height="50" /><color red="0.1" green="0.1" blue="0.1" /></rect> <!-- lower jaw -->
</element>
<element name="xtal">
<rect><bounds x="4" y="0" width="143" height="185" /><color red="0.8" green="0.78" blue="0.63" /></rect>
<rect><bounds x="0" y="185" width="151" height="4" /><color red="0.6" green="0.58" blue="0.43" /></rect>
<rect><bounds x="45" y="189" width="3" height="45" /><color red="0.6" green="0.58" blue="0.43" /></rect>
<rect><bounds x="106" y="189" width="3" height="45" /><color red="0.6" green="0.58" blue="0.43" /></rect>
<rect><bounds x="4" y="0" width="143" height="185" /><color red="0.8" green="0.78" blue="0.63" /></rect>
<rect><bounds x="0" y="185" width="151" height="4" /><color red="0.6" green="0.58" blue="0.43" /></rect>
<rect><bounds x="45" y="189" width="3" height="45" /><color red="0.6" green="0.58" blue="0.43" /></rect>
<rect><bounds x="106" y="189" width="3" height="45" /><color red="0.6" green="0.58" blue="0.43" /></rect>
</element>
<group name="hdip">
<bezel element="~col~"><bounds x="10" y="20" width="~w~" height="~h~" /></bezel>
<bezel element="~t~"><bounds x="30" y="30" width="~tw~" height="~th~" /></bezel>
<repeat count="~c~">
<param name="x" start="15" increment="35" />
<bezel element="silver"><bounds y="10" x="~x~" width="25" height="10" /></bezel>
<bezel element="silver"><bounds y="~b~" x="~x~" width="25" height="10" /></bezel>
</repeat>
<bezel element="~col~"><bounds x="10" y="20" width="~w~" height="~h~" /></bezel>
<bezel element="~t~"><bounds x="30" y="30" width="~tw~" height="~th~" /></bezel>
<repeat count="~c~">
<param name="x" start="15" increment="35" />
<bezel element="silver"><bounds y="10" x="~x~" width="25" height="10" /></bezel>
<bezel element="silver"><bounds y="~b~" x="~x~" width="25" height="10" /></bezel>
</repeat>
</group>
<group name="vdip">
<bezel element="~col~"><bounds x="20" y="10" width="80" height="~h~" /></bezel>
<bezel element="~t~"><bounds x="30" y="30" width="60" height="30" /></bezel>
<repeat count="~c~">
<param name="y" start="15" increment="35" />
<bezel element="silver"><bounds x="10" y="~y~" width="10" height="25" /></bezel>
<bezel element="silver"><bounds x="100" y="~y~" width="10" height="25" /></bezel>
</repeat>
<bezel element="~col~"><bounds x="20" y="10" width="80" height="~h~" /></bezel>
<bezel element="~t~"><bounds x="30" y="30" width="60" height="30" /></bezel>
<repeat count="~c~">
<param name="y" start="15" increment="35" />
<bezel element="silver"><bounds x="10" y="~y~" width="10" height="25" /></bezel>
<bezel element="silver"><bounds x="100" y="~y~" width="10" height="25" /></bezel>
</repeat>
</group>
<group name="key">
<bezel element="~keycol~" inputtag="LINE~line~" inputmask="~mask~">
<bounds x="~x~" y="~y~" width="262" height="262" />
</bezel>
<bezel element="text_~bname~">
<bounds x="~xt~" y="~yt~" width="150" height="150" />
</bezel>
<bezel element="~keycol~" inputtag="LINE~line~" inputmask="~mask~">
<bounds x="~x~" y="~y~" width="262" height="262" />
</bezel>
<bezel element="text_~bname~">
<bounds x="~xt~" y="~yt~" width="150" height="150" />
</bezel>
</group>
<element name="digit" defstate="1">
<led7seg>
<color red="0.75" green="0.0" blue="0.0" />
</led7seg>
<led7seg>
<color red="0.75" green="0.0" blue="0.0" />
</led7seg>
</element>
<group name="digit">
<bezel name="digit~dno~" element="digit">
<bounds x="~x~" y="~y~" width="188" height="276" />
</bezel>
<bezel name="digit~dno~" element="digit">
<bounds x="~x~" y="~y~" width="188" height="276" />
</bezel>
</group>
<element name="plexi">
<rect><bounds x="0" y="1784" width="300" height="596" /></rect> <!-- below side connector -->
<rect><bounds x="300" y="500" width="1040" height="1880" /></rect> <!-- below port pins -->
<rect><bounds x="1340" y="0" width="388" height="2380" /></rect> <!-- between CPU and keyboard -->
<rect><bounds x="1728" y="0" width="1402" height="810" /></rect> <!-- Above keyboard -->
<rect><bounds x="1728" y="2200" width="1402" height="180" /></rect> <!-- Below keyboard -->
<rect><bounds x="2830" y="1096" width="300" height="1280" /></rect> <!-- Right of keyboard -->
<rect><bounds x="3100" y="810" width="30" height="286" /></rect> <!-- Right of RST key -->
<rect><bounds x="0" y="1784" width="300" height="596" /></rect> <!-- below side connector -->
<rect><bounds x="300" y="500" width="1040" height="1880" /></rect> <!-- below port pins -->
<rect><bounds x="1340" y="0" width="388" height="2380" /></rect> <!-- between CPU and keyboard -->
<rect><bounds x="1728" y="0" width="1402" height="810" /></rect> <!-- Above keyboard -->
<rect><bounds x="1728" y="2200" width="1402" height="180" /></rect> <!-- Below keyboard -->
<rect><bounds x="2830" y="1096" width="300" height="1280" /></rect> <!-- Right of keyboard -->
<rect><bounds x="3100" y="810" width="30" height="286" /></rect> <!-- Right of RST key -->
</element>
<group name="hood">
<bezel element="plexi" />
<bezel element="plexi" />
</group>
<group name="pcb">
<backdrop element="pcb_blue"><bounds left="0" top="0" right="3200" bottom="2400"/></backdrop>
<bezel element="text_esselte"><bounds x="164" y="2044" width="264" height="52" /></bezel>
<bezel element="text_studium"><bounds x="164" y="2110" width="264" height="52" /></bezel>
<!-- Key pad -->
<bezel element="black"><bounds x="1780" y="818" width="1110" height="1395" /></bezel>
<bezel element="black"><bounds x="1780" y="818" width="1390" height="280" /></bezel>
<param name="keycol" value="brownkey" />
<repeat count="4">
<param name="bname" start="0" increment="1" />
<param name="line" start="0" increment="1" />
<param name="x" start="1780" increment="280" />
<param name="xt" start="1835" increment="280" />
<repeat count="4">
<param name="bname" start="~bname~" increment="4" />
<param name="mask" start="1" lshift="1" />
<param name="y" start="1950" increment="-280" />
<param name="yt" start="2020" increment="-280" />
<group ref="key"/>
</repeat>
</repeat>
<!-- Special Keys -->
<!-- RUN key -->
<param name="keycol" value="greenkey" />
<param name="bname" value="run" />
<param name="line" value="0" />
<param name="x" value="1780" />
<param name="xt" value="1835" />
<param name="mask" value="0x10" />
<param name="y" value="824" />
<param name="yt" value="888" />
<group ref="key"/>
<!-- ADS key -->
<param name="keycol" value="brownkey" />
<param name="bname" value="ads" />
<param name="line" value="1" />
<param name="x" value="2060" />
<param name="xt" value="2115" />
<group ref="key"/>
<!-- FWD key -->
<param name="bname" value="fwd" />
<param name="line" value="2" />
<param name="x" value="2340" />
<param name="xt" value="2395" />
<group ref="key"/>
<!-- C/B key -->
<param name="bname" value="cb" />
<param name="line" value="3" />
<param name="x" value="2620" />
<param name="xt" value="2675" />
<group ref="key"/>
<!-- RESET key -->
<param name="keycol" value="redkey" />
<param name="bname" value="rst" />
<param name="line" value="4" />
<param name="x" value="2900" />
<param name="xt" value="2955" />
<param name="mask" value="0x04" />
<group ref="key"/>
<backdrop element="pcb_blue"><bounds left="0" top="0" right="3200" bottom="2400"/></backdrop>
<bezel element="text_esselte"><bounds x="164" y="2044" width="264" height="52" /></bezel>
<bezel element="text_studium"><bounds x="164" y="2110" width="264" height="52" /></bezel>
<!-- BCD 7seg display -->
<!--Adress-->
<bezel element="text_adress"><bounds x="1820" y="44" width="228" height="52" /></bezel>
<param name="y" value="222" />
<param name="h" value="240" />
<param name="c" value="7" />
<param name="col" value="brown"/>
<param name="t" value="text_164"/>
<repeat count="4">
<param name="dno" start="5" increment="-1" />
<param name="x" start="1472" increment="224" />
<group ref="digit" />
<param name="xdip" start="1512" increment="224" />
<group ref="vdip"><bounds x="~xdip~" y="528" width="100" height="270" /></group>
</repeat>
<!--Data-->
<bezel element="text_data"><bounds x="2532" y="44" width="156" height="52" /></bezel>
<repeat count="2">
<param name="dno" start="1" increment="-1" />
<param name="x" start="2428" increment="224" />
<param name="xdip" start="2468" increment="224" />
<param name="xdipt" start="2489" increment="224" />
<group ref="digit" />
<group ref="vdip"><bounds x="~xdip~" y="528" width="100" height="270" /></group>
</repeat>
<!-- Key pad -->
<bezel element="black"><bounds x="1780" y="818" width="1110" height="1395" /></bezel>
<bezel element="black"><bounds x="1780" y="818" width="1390" height="280" /></bezel>
<param name="keycol" value="brownkey" />
<repeat count="4">
<param name="bname" start="0" increment="1" />
<param name="line" start="0" increment="1" />
<param name="x" start="1780" increment="280" />
<param name="xt" start="1835" increment="280" />
<repeat count="4">
<param name="bname" start="~bname~" increment="4" />
<param name="mask" start="1" lshift="1" />
<param name="y" start="1950" increment="-280" />
<param name="yt" start="2020" increment="-280" />
<group ref="key"/>
</repeat>
</repeat>
<!-- Special Keys -->
<!-- RUN key -->
<param name="keycol" value="greenkey" />
<param name="bname" value="run" />
<param name="line" value="0" />
<param name="x" value="1780" />
<param name="xt" value="1835" />
<param name="mask" value="0x10" />
<param name="y" value="824" />
<param name="yt" value="888" />
<group ref="key"/>
<!-- ADS key -->
<param name="keycol" value="brownkey" />
<param name="bname" value="ads" />
<param name="line" value="1" />
<param name="x" value="2060" />
<param name="xt" value="2115" />
<group ref="key"/>
<!-- FWD key -->
<param name="bname" value="fwd" />
<param name="line" value="2" />
<param name="x" value="2340" />
<param name="xt" value="2395" />
<group ref="key"/>
<!-- C/B key -->
<param name="bname" value="cb" />
<param name="line" value="3" />
<param name="x" value="2620" />
<param name="xt" value="2675" />
<group ref="key"/>
<!-- RESET key -->
<param name="keycol" value="redkey" />
<param name="bname" value="rst" />
<param name="line" value="4" />
<param name="x" value="2900" />
<param name="xt" value="2955" />
<param name="mask" value="0x04" />
<group ref="key"/>
<!--scattered IC:s -->
<param name="t" value="text_ls14"/>
<group ref="vdip"><bounds x="1512" y="890" width="100" height="270" /></group>
<param name="c" value="8"/>
<param name="h" value="280"/>
<param name="t" value="text_138"/>
<group ref="vdip"><bounds x="1512" y="1236" width="100" height="320" /></group>
<group ref="vdip"><bounds x="1512" y="2040" width="100" height="320" /></group>
<param name="w" value="280"/>
<param name="h" value="80"/>
<param name="b" value="100"/>
<param name="t" value="text_367"/>
<param name="th" value="30"/>
<param name="tw" value="60"/>
<group ref="hdip"><bounds x="1110" y="2160" width="320" height="100" /></group>
<param name="t" value="text_123"/>
<group ref="hdip"><bounds x="600" y="2160" width="320" height="100" /></group>
<param name="c" value="10" />
<param name="h" value="350" />
<param name="t" value="text_923"/>
<group ref="vdip"><bounds x="1512" y="1590" width="100" height="400" /></group>
<!-- BCD 7seg display -->
<!--Adress-->
<bezel element="text_adress"><bounds x="1820" y="44" width="228" height="52" /></bezel>
<param name="y" value="222" />
<param name="h" value="240" />
<param name="c" value="7" />
<param name="col" value="brown"/>
<param name="t" value="text_164"/>
<repeat count="4">
<param name="dno" start="5" increment="-1" />
<param name="x" start="1472" increment="224" />
<group ref="digit" />
<param name="xdip" start="1512" increment="224" />
<group ref="vdip"><bounds x="~xdip~" y="528" width="100" height="270" /></group>
</repeat>
<!--Data-->
<bezel element="text_data"><bounds x="2532" y="44" width="156" height="52" /></bezel>
<repeat count="2">
<param name="dno" start="1" increment="-1" />
<param name="x" start="2428" increment="224" />
<param name="xdip" start="2468" increment="224" />
<param name="xdipt" start="2489" increment="224" />
<group ref="digit" />
<group ref="vdip"><bounds x="~xdip~" y="528" width="100" height="270" /></group>
</repeat>
<!-- larger IC:s -->
<param name="h" value="260"/>
<param name="b" value="280"/>
<param name="col" value="black"/>
<param name="c" value="12"/>
<param name="w" value="420"/>
<param name="t" value="text_6116"/>
<param name="th" value="40"/>
<param name="tw" value="240"/>
<group ref="hdip"><bounds x="725" y="1875" width="~w~" height="~h~" /></group> <!-- RAM -->
<param name="col" value="brown"/>
<param name="c" value="14"/>
<param name="w" value="490"/>
<param name="t" value="text_2764"/>
<group ref="hdip"><bounds x="655" y="1600" width="~w~" height="~h~" /></group> <!-- ROM -->
<param name="c" value="20"/>
<param name="w" value="700"/>
<param name="t" value="text_6802"/>
<group ref="hdip"><bounds x="655" y="1240" width="~w~" height="~h~" /></group> <!-- CPU -->
<param name="t" value="text_8154"/>
<group ref="hdip"><bounds x="655" y="900" width="~w~" height="~h~" /></group> <!-- INS8154 -->
<!--scattered IC:s -->
<param name="t" value="text_ls14"/>
<group ref="vdip"><bounds x="1512" y="890" width="100" height="270" /></group>
<param name="c" value="8"/>
<param name="h" value="280"/>
<param name="t" value="text_138"/>
<group ref="vdip"><bounds x="1512" y="1236" width="100" height="320" /></group>
<group ref="vdip"><bounds x="1512" y="2040" width="100" height="320" /></group>
<param name="w" value="280"/>
<param name="h" value="80"/>
<param name="b" value="100"/>
<param name="t" value="text_367"/>
<param name="th" value="30"/>
<param name="tw" value="60"/>
<group ref="hdip"><bounds x="1110" y="2160" width="320" height="100" /></group>
<param name="t" value="text_123"/>
<group ref="hdip"><bounds x="600" y="2160" width="320" height="100" /></group>
<param name="c" value="10" />
<param name="h" value="350" />
<param name="t" value="text_923"/>
<group ref="vdip"><bounds x="1512" y="1590" width="100" height="400" /></group>
<!-- larger IC:s -->
<param name="h" value="260"/>
<param name="b" value="280"/>
<param name="col" value="black"/>
<param name="c" value="12"/>
<param name="w" value="420"/>
<param name="t" value="text_6116"/>
<param name="th" value="40"/>
<param name="tw" value="240"/>
<group ref="hdip"><bounds x="725" y="1875" width="~w~" height="~h~" /></group> <!-- RAM -->
<param name="col" value="brown"/>
<param name="c" value="14"/>
<param name="w" value="490"/>
<param name="t" value="text_2764"/>
<group ref="hdip"><bounds x="655" y="1600" width="~w~" height="~h~" /></group> <!-- ROM -->
<param name="c" value="20"/>
<param name="w" value="700"/>
<param name="t" value="text_6802"/>
<group ref="hdip"><bounds x="655" y="1240" width="~w~" height="~h~" /></group> <!-- CPU -->
<param name="t" value="text_8154"/>
<group ref="hdip"><bounds x="655" y="900" width="~w~" height="~h~" /></group> <!-- INS8154 -->
<!-- descrete components -->
<bezel element="xtal"><bounds x="410" y="995" width="160" height="240" /></bezel>
<bezel element="text_4mhz"><bounds x="420" y="1025" width="140" height="40" /></bezel>
<bezel element="text_sunny"><bounds x="420" y="1075" width="140" height="40" /></bezel>
<!-- descrete components -->
<bezel element="xtal"><bounds x="410" y="995" width="160" height="240" /></bezel>
<bezel element="text_4mhz"><bounds x="420" y="1025" width="140" height="40" /></bezel>
<bezel element="text_sunny"><bounds x="420" y="1075" width="140" height="40" /></bezel>
<!-- mount holes -->
<bezel element="mount"><bounds x="250" y="2300" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="1700" y="2300" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="2860" y="2300" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="250" y="30" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="1700" y="30" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="2860" y="30" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="1170" y="630" width="75" height="75" /></bezel>
<!-- mount holes -->
<bezel element="mount"><bounds x="250" y="2300" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="1700" y="2300" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="2860" y="2300" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="250" y="30" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="1700" y="30" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="2860" y="30" width="75" height="75" /></bezel>
<bezel element="mount"><bounds x="1170" y="630" width="75" height="75" /></bezel>
<!-- pins -->
<!-- IRQ -->
<bezel element="pin"><bounds x="440" y="1450" width="30" height="30" /></bezel>
<bezel element="text_irq"><bounds x="400" y="1395" width="120" height="50" /></bezel>
<!-- Ports -->
<repeat count="8">
<param name="tid" start="7" increment="-1" />
<param name="xp" start="180" increment="150" />
<param name="txp" start="100" increment="150" />
<repeat count="2">
<param name="yp" start="280" increment="140" />
<param name="typ" start="275" increment="140" />
<bezel element="pin"><bounds x="~xp~" y="~yp~" width="30" height="30" /></bezel>
<bezel element="text_~tid~"><bounds x="~txp~" y="~typ~" width="120" height="50" /></bezel>
</repeat>
</repeat>
<bezel element="text_porta"><bounds x="350" y="200" width="500" height="75" /></bezel>
<bezel element="text_portb"><bounds x="350" y="340" width="500" height="75" /></bezel>
<!-- power feed -->
<bezel element="pin"><bounds x="150" y="575" width="30" height="30" /></bezel>
<bezel element="text_vcc"><bounds x="150" y="615" width="100" height="50" /></bezel>
<bezel element="pin"><bounds x="150" y="710" width="30" height="30" /></bezel>
<bezel element="text_gnd"><bounds x="150" y="660" width="100" height="50" /></bezel>
<!-- R pins -->
<bezel element="pin"><bounds x="3050" y="1740" width="30" height="30" /></bezel>
<bezel element="text_r"><bounds x="2950" y="1735" width="100" height="50" /></bezel>
<bezel element="pin"><bounds x="3050" y="1890" width="30" height="30" /></bezel>
<bezel element="text_r"><bounds x="2950" y="1885" width="100" height="50" /></bezel>
<!-- trim pot -->
<bezel element="trim"><bounds x="950" y="2160" width="120" height="120" /></bezel>
<!-- side connector -->
<bezel element="amp"><bounds x="0" y="850" width="250" height="925" /></bezel>
</group>
<group name="screws">
<!-- max size -->
<bezel element="pcb_blue"><bounds x="0" y="0" width="1" height="1" /></bezel>
<bezel element="pcb_blue"><bounds x="3200" y="2400" width="1" height="1" /></bezel>
<!-- screws -->
<group ref="screw"><bounds x="250" y="2300" width="75" height="75" /></group>
<group ref="screw"><bounds x="1700" y="2300" width="75" height="75" /></group>
<group ref="screw"><bounds x="2860" y="2300" width="75" height="75" /></group>
<group ref="screw"><bounds x="1700" y="30" width="75" height="75" /></group>
<group ref="screw"><bounds x="2860" y="30" width="75" height="75" /></group>
<group ref="screw"><bounds x="1170" y="630" width="75" height="75" /></group>
</group>
<!-- pins -->
<!-- IRQ -->
<bezel element="pin"><bounds x="440" y="1450" width="30" height="30" /></bezel>
<bezel element="text_irq"><bounds x="400" y="1395" width="120" height="50" /></bezel>
<!-- Ports -->
<repeat count="8">
<param name="tid" start="7" increment="-1" />
<param name="xp" start="180" increment="150" />
<param name="txp" start="100" increment="150" />
<repeat count="2">
<param name="yp" start="280" increment="140" />
<param name="typ" start="275" increment="140" />
<bezel element="pin"><bounds x="~xp~" y="~yp~" width="30" height="30" /></bezel>
<bezel element="text_~tid~"><bounds x="~txp~" y="~typ~" width="120" height="50" /></bezel>
</repeat>
</repeat>
<bezel element="text_porta"><bounds x="350" y="200" width="500" height="75" /></bezel>
<bezel element="text_portb"><bounds x="350" y="340" width="500" height="75" /></bezel>
<!-- power feed -->
<bezel element="pin"><bounds x="150" y="575" width="30" height="30" /></bezel>
<bezel element="text_vcc"><bounds x="150" y="615" width="100" height="50" /></bezel>
<bezel element="pin"><bounds x="150" y="710" width="30" height="30" /></bezel>
<bezel element="text_gnd"><bounds x="150" y="660" width="100" height="50" /></bezel>
<!-- R pins -->
<bezel element="pin"><bounds x="3050" y="1740" width="30" height="30" /></bezel>
<bezel element="text_r"><bounds x="2950" y="1735" width="100" height="50" /></bezel>
<bezel element="pin"><bounds x="3050" y="1890" width="30" height="30" /></bezel>
<bezel element="text_r"><bounds x="2950" y="1885" width="100" height="50" /></bezel>
<!-- trim pot -->
<bezel element="trim"><bounds x="950" y="2160" width="120" height="120" /></bezel>
<!-- side connector -->
<bezel element="amp"><bounds x="0" y="850" width="250" height="925" /></bezel>
</group>
<view name="Base Artwork">
<group ref="pcb"><bounds x="0" y="0" width="800" height="600" /></group>
<group ref="hood"><bounds x="0" y="0" width="800" height="600"/> <color alpha="0.2" /></group>
<group ref="screws"><bounds x="0" y="0" width="800" height="600"/></group>
</view>
<view name="Leds and Buttons Artwork">
<group ref="pcb"><bounds x="0" y="0" width="800" height="600" /></group>
<!-- group ref="hood"><bounds x="0" y="0" width="800" height="600"/> <color alpha="0.2" /></group>
<group ref="screws"><bounds x="0" y="0" width="800" height="600"/></group -->
</view>
<group name="screws">
<!-- max size -->
<bezel element="pcb_blue"><bounds x="0" y="0" width="1" height="1" /></bezel>
<bezel element="pcb_blue"><bounds x="3200" y="2400" width="1" height="1" /></bezel>
<!-- screws -->
<group ref="screw"><bounds x="250" y="2300" width="75" height="75" /></group>
<group ref="screw"><bounds x="1700" y="2300" width="75" height="75" /></group>
<group ref="screw"><bounds x="2860" y="2300" width="75" height="75" /></group>
<group ref="screw"><bounds x="1700" y="30" width="75" height="75" /></group>
<group ref="screw"><bounds x="2860" y="30" width="75" height="75" /></group>
<group ref="screw"><bounds x="1170" y="630" width="75" height="75" /></group>
</group>
<view name="Base Artwork">
<group ref="pcb"><bounds x="0" y="0" width="800" height="600" /></group>
<group ref="hood"><bounds x="0" y="0" width="800" height="600"/> <color alpha="0.2" /></group>
<group ref="screws"><bounds x="0" y="0" width="800" height="600"/></group>
</view>
<view name="Leds and Buttons Artwork">
<group ref="pcb"><bounds x="0" y="0" width="800" height="600" /></group>
<!-- group ref="hood"><bounds x="0" y="0" width="800" height="600"/> <color alpha="0.2" /></group>
<group ref="screws"><bounds x="0" y="0" width="800" height="600"/></group -->
</view>
</mamelayout>

View File

@ -210,14 +210,14 @@ void sgi_mc_device::dma_tick()
{
uint32_t addr = m_dma_mem_addr;
if (m_dma_control & (1 << 8))
{ // Enable virtual address translation
{ // Enable virtual address translation
addr = dma_translate(addr);
}
if (m_dma_mode & (1 << 1))
{ // Graphics to host
{ // Graphics to host
if (m_dma_mode & (1 << 3))
{ // Fill mode
{ // Fill mode
m_space->write_dword(addr, m_dma_gio64_addr);
m_dma_count -= 4;
}
@ -242,7 +242,7 @@ void sgi_mc_device::dma_tick()
}
}
else
{ // Host to graphics
{ // Host to graphics
const uint32_t remaining = m_dma_count & 0x0000ffff;
uint32_t length = 8;
uint64_t shift = 56;
@ -263,14 +263,14 @@ void sgi_mc_device::dma_tick()
}
if ((m_dma_count & 0x0000ffff) == 0)
{ // If remaining byte count is 0, deduct zoom count
{ // If remaining byte count is 0, deduct zoom count
m_dma_count -= 0x00010000;
if (m_dma_count == 0)
{ // If remaining zoom count is also 0, move to next line
{ // If remaining zoom count is also 0, move to next line
m_dma_mem_addr += m_dma_stride & 0x0000ffff;
m_dma_size -= 0x00010000;
if ((m_dma_size & 0xffff0000) == 0)
{ // If no remaining lines, DMA is done.
{ // If no remaining lines, DMA is done.
m_dma_timer->adjust(attotime::never);
m_dma_run |= (1 << 3);
m_dma_run &= ~(1 << 6);
@ -285,7 +285,7 @@ void sgi_mc_device::dma_tick()
}
}
else
{ // If remaining zoom count is non-zero, reload byte count and return source address to the beginning of the line.
{ // If remaining zoom count is non-zero, reload byte count and return source address to the beginning of the line.
m_dma_count |= m_dma_size & 0x0000ffff;
m_dma_mem_addr -= m_dma_size & 0x0000ffff;
}

View File

@ -669,7 +669,7 @@ CUSTOM_INPUT_MEMBER(xavix_popira2_cart_state::i2c_r)
{
if (m_cartslot->has_cart())
return m_cartslot->read_sda();
else
else
return 0x0;
}

View File

@ -46,17 +46,17 @@ uint32_t dec0_state::screen_update_bandit(screen_device &screen, bitmap_ind16 &b
if (m_pri==0)
{
m_tilegen[2]->deco_bac06_pf_draw(bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0x00, 0x00, 0x00, 0x00);
m_tilegen[1]->deco_bac06_pf_draw(bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
m_spritegen->draw_sprites(bitmap, cliprect, m_buffered_spriteram, 0x00, 0x00, 0x0f);
m_tilegen[0]->deco_bac06_pf_draw(bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
m_tilegen[2]->deco_bac06_pf_draw(bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0x00, 0x00, 0x00, 0x00);
m_tilegen[1]->deco_bac06_pf_draw(bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
m_spritegen->draw_sprites(bitmap, cliprect, m_buffered_spriteram, 0x00, 0x00, 0x0f);
m_tilegen[0]->deco_bac06_pf_draw(bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
}
else
{
m_tilegen[2]->deco_bac06_pf_draw(bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0x00, 0x00, 0x00, 0x00);
m_tilegen[1]->deco_bac06_pf_draw(bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
m_tilegen[0]->deco_bac06_pf_draw(bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
m_spritegen->draw_sprites(bitmap, cliprect, m_buffered_spriteram, 0x00, 0x00, 0x0f);
m_tilegen[2]->deco_bac06_pf_draw(bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0x00, 0x00, 0x00, 0x00);
m_tilegen[1]->deco_bac06_pf_draw(bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
m_tilegen[0]->deco_bac06_pf_draw(bitmap,cliprect,0, 0x00, 0x00, 0x00, 0x00);
m_spritegen->draw_sprites(bitmap, cliprect, m_buffered_spriteram, 0x00, 0x00, 0x0f);
}
return 0;
}

View File

@ -1,16 +1,16 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz, Tyson Smith
/*
Silicon Graphics LG1 "Light" graphics board used as
entry level graphics in the Indigo and IRIS Crimson.
Silicon Graphics LG1 "Light" graphics board used as
entry level graphics in the Indigo and IRIS Crimson.
*/
#include "emu.h"
#include "video/light.h"
#include "screen.h"
#define LOG_REX (1 << 0)
#define LOG_ALL (LOG_REX)
#define LOG_REX (1 << 0)
#define LOG_ALL (LOG_REX)
#define VERBOSE (0)
#include "logmacro.h"

View File

@ -1,8 +1,8 @@
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz, Tyson Smith
/*
Silicon Graphics LG1 "Light" graphics board used as
entry level graphics in the Indigo and IRIS Crimson.
Silicon Graphics LG1 "Light" graphics board used as
entry level graphics in the Indigo and IRIS Crimson.
*/
#ifndef MAME_VIDEO_LIGHT_H

View File

@ -37,7 +37,7 @@
#define LOG_XMAP1 (1 << 5)
#define LOG_REX3 (1 << 6)
#define LOG_COMMANDS (1 << 7)
#define LOG_REJECTS (1 << 8)
#define LOG_REJECTS (1 << 8)
#define LOG_ALL (LOG_UNKNOWN | LOG_VC2 | LOG_CMAP0 | LOG_CMAP1 | LOG_XMAP0 | LOG_XMAP1 | LOG_REX3)
#define VERBOSE (0)//(LOG_UNKNOWN | LOG_VC2 | LOG_XMAP0 | LOG_CMAP0 | LOG_REX3 | LOG_COMMANDS | LOG_REJECTS)
@ -360,9 +360,9 @@ uint32_t newport_video_device::screen_update(screen_device &device, bitmap_rgb32
case 3:
{
const uint8_t pix_in = *src_ci;
const uint8_t r = (0x92 * BIT(pix_in, 2)) | (0x49 * BIT(pix_in, 1)) | (0x24 * BIT(pix_in, 0));
const uint8_t g = (0x92 * BIT(pix_in, 5)) | (0x49 * BIT(pix_in, 4)) | (0x24 * BIT(pix_in, 3));
const uint8_t b = (0xaa * BIT(pix_in, 7)) | (0x55 * BIT(pix_in, 6));
const uint8_t r = (0x92 * BIT(pix_in, 2)) | (0x49 * BIT(pix_in, 1)) | (0x24 * BIT(pix_in, 0));
const uint8_t g = (0x92 * BIT(pix_in, 5)) | (0x49 * BIT(pix_in, 4)) | (0x24 * BIT(pix_in, 3));
const uint8_t b = (0xaa * BIT(pix_in, 7)) | (0x55 * BIT(pix_in, 6));
*dest++ = (r << 16) | (g << 8) | b;
break;
}
@ -1392,22 +1392,22 @@ void newport_video_device::store_pixel(uint8_t *dest_buf, uint8_t src)
switch ((m_rex3.m_draw_mode1 >> 28) & 15)
{
case 0: break;
case 1: *dest_buf |= (src & dst) & m_rex3.m_write_mask; break;
case 2: *dest_buf |= (src & ~dst) & m_rex3.m_write_mask; break;
case 3: *dest_buf |= (src) & m_rex3.m_write_mask; break;
case 4: *dest_buf |= (~src & dst) & m_rex3.m_write_mask; break;
case 5: *dest_buf |= (dst) & m_rex3.m_write_mask; break;
case 6: *dest_buf |= (src ^ dst) & m_rex3.m_write_mask; break;
case 7: *dest_buf |= (src | dst) & m_rex3.m_write_mask; break;
case 8: *dest_buf |= ~(src | dst) & m_rex3.m_write_mask; break;
case 9: *dest_buf |= ~(src ^ dst) & m_rex3.m_write_mask; break;
case 10: *dest_buf |= ~(dst) & m_rex3.m_write_mask; break;
case 11: *dest_buf |= (src | ~dst) & m_rex3.m_write_mask; break;
case 12: *dest_buf |= ~(src) & m_rex3.m_write_mask; break;
case 13: *dest_buf |= (~src | dst) & m_rex3.m_write_mask; break;
case 14: *dest_buf |= ~(src & dst) & m_rex3.m_write_mask; break;
case 15: *dest_buf |= 0xff & m_rex3.m_write_mask; break;
case 0: break;
case 1: *dest_buf |= (src & dst) & m_rex3.m_write_mask; break;
case 2: *dest_buf |= (src & ~dst) & m_rex3.m_write_mask; break;
case 3: *dest_buf |= (src) & m_rex3.m_write_mask; break;
case 4: *dest_buf |= (~src & dst) & m_rex3.m_write_mask; break;
case 5: *dest_buf |= (dst) & m_rex3.m_write_mask; break;
case 6: *dest_buf |= (src ^ dst) & m_rex3.m_write_mask; break;
case 7: *dest_buf |= (src | dst) & m_rex3.m_write_mask; break;
case 8: *dest_buf |= ~(src | dst) & m_rex3.m_write_mask; break;
case 9: *dest_buf |= ~(src ^ dst) & m_rex3.m_write_mask; break;
case 10: *dest_buf |= ~(dst) & m_rex3.m_write_mask; break;
case 11: *dest_buf |= (src | ~dst) & m_rex3.m_write_mask; break;
case 12: *dest_buf |= ~(src) & m_rex3.m_write_mask; break;
case 13: *dest_buf |= (~src | dst) & m_rex3.m_write_mask; break;
case 14: *dest_buf |= ~(src & dst) & m_rex3.m_write_mask; break;
case 15: *dest_buf |= 0xff & m_rex3.m_write_mask; break;
}
}
@ -1452,26 +1452,26 @@ void newport_video_device::do_v_iline(uint8_t color, bool skip_last, bool shade)
do
{
if (shade)
write_pixel(x1, y1, (uint8_t)(m_rex3.m_color_red >> 11));
else
write_pixel(x1, y1, color);
write_pixel(x1, y1, (uint8_t)(m_rex3.m_color_red >> 11));
else
write_pixel(x1, y1, color);
y1 += incy;
y1 += incy;
if (shade)
m_rex3.m_color_red += m_rex3.m_slope_red;
} while (y1 != y2);
if (!skip_last)
{
if (!skip_last)
{
if (shade)
write_pixel(x1, y1, (uint8_t)(m_rex3.m_color_red >> 11));
else
write_pixel(x1, y1, color);
}
write_pixel(x1, y1, (uint8_t)(m_rex3.m_color_red >> 11));
else
write_pixel(x1, y1, color);
}
write_x_start(x1 << 11);
write_y_start(y1 << 11);
write_x_start(x1 << 11);
write_y_start(y1 << 11);
}
void newport_video_device::do_h_iline(uint8_t color, bool skip_last, bool shade)
@ -1495,15 +1495,15 @@ void newport_video_device::do_h_iline(uint8_t color, bool skip_last, bool shade)
m_rex3.m_color_red += m_rex3.m_slope_red;
} while (x1 != x2);
if (!skip_last) {
if (!skip_last) {
if (shade)
write_pixel(x1, y1, (uint8_t)(m_rex3.m_color_red >> 11));
else
write_pixel(x1, y1, color);
}
write_pixel(x1, y1, (uint8_t)(m_rex3.m_color_red >> 11));
else
write_pixel(x1, y1, color);
}
write_x_start(x1 << 11);
write_y_start(y1 << 11);
write_x_start(x1 << 11);
write_y_start(y1 << 11);
}
void newport_video_device::do_iline(uint8_t color, bool skip_last, bool shade)
@ -1621,8 +1621,8 @@ void newport_video_device::do_iline(uint8_t color, bool skip_last, bool shade)
}
}
write_x_start(x1 << 11);
write_y_start(y1 << 11);
write_x_start(x1 << 11);
write_y_start(y1 << 11);
}
uint8_t newport_video_device::do_pixel_read()
@ -1763,8 +1763,8 @@ void newport_video_device::do_rex3_command()
{
//if (shade)
//{
// write_pixel(start_x, start_y, (uint8_t)(m_rex3.m_color_red >> 11));
// m_rex3.m_color_red += m_rex3.m_slope_red;
// write_pixel(start_x, start_y, (uint8_t)(m_rex3.m_color_red >> 11));
// m_rex3.m_color_red += m_rex3.m_slope_red;
//}
//else
//{

View File

@ -11,7 +11,7 @@
#include "machine/hpc3.h"
#define ENABLE_NEWVIEW_LOG (0)
#define ENABLE_NEWVIEW_LOG (0)
class newport_video_device : public device_t
{

View File

@ -63,263 +63,263 @@ struct key_lookup_table
static key_lookup_table sdl_lookup_table[] =
{
KE(UNKNOWN)
KE(UNKNOWN)
KE(A)
KE(B)
KE(C)
KE(D)
KE(E)
KE(F)
KE(G)
KE(H)
KE(I)
KE(J)
KE(K)
KE(L)
KE(M)
KE(N)
KE(O)
KE(P)
KE(Q)
KE(R)
KE(S)
KE(T)
KE(U)
KE(V)
KE(W)
KE(X)
KE(Y)
KE(Z)
KE(A)
KE(B)
KE(C)
KE(D)
KE(E)
KE(F)
KE(G)
KE(H)
KE(I)
KE(J)
KE(K)
KE(L)
KE(M)
KE(N)
KE(O)
KE(P)
KE(Q)
KE(R)
KE(S)
KE(T)
KE(U)
KE(V)
KE(W)
KE(X)
KE(Y)
KE(Z)
KE(1)
KE(2)
KE(3)
KE(4)
KE(5)
KE(6)
KE(7)
KE(8)
KE(9)
KE(0)
KE(1)
KE(2)
KE(3)
KE(4)
KE(5)
KE(6)
KE(7)
KE(8)
KE(9)
KE(0)
KE(RETURN)
KE(ESCAPE)
KE(BACKSPACE)
KE(TAB)
KE(SPACE)
KE(RETURN)
KE(ESCAPE)
KE(BACKSPACE)
KE(TAB)
KE(SPACE)
KE(MINUS)
KE(EQUALS)
KE(LEFTBRACKET)
KE(RIGHTBRACKET)
KE(BACKSLASH)
KE(NONUSHASH)
KE(SEMICOLON)
KE(APOSTROPHE)
KE(GRAVE)
KE(COMMA)
KE(PERIOD)
KE(SLASH)
KE(MINUS)
KE(EQUALS)
KE(LEFTBRACKET)
KE(RIGHTBRACKET)
KE(BACKSLASH)
KE(NONUSHASH)
KE(SEMICOLON)
KE(APOSTROPHE)
KE(GRAVE)
KE(COMMA)
KE(PERIOD)
KE(SLASH)
KE(CAPSLOCK)
KE(CAPSLOCK)
KE(F1)
KE(F2)
KE(F3)
KE(F4)
KE(F5)
KE(F6)
KE(F7)
KE(F8)
KE(F9)
KE(F10)
KE(F11)
KE(F12)
KE(F1)
KE(F2)
KE(F3)
KE(F4)
KE(F5)
KE(F6)
KE(F7)
KE(F8)
KE(F9)
KE(F10)
KE(F11)
KE(F12)
KE(PRINTSCREEN)
KE(SCROLLLOCK)
KE(PAUSE)
KE(INSERT)
KE(HOME)
KE(PAGEUP)
KE(DELETE)
KE(END)
KE(PAGEDOWN)
KE(RIGHT)
KE(LEFT)
KE(DOWN)
KE(UP)
KE(PRINTSCREEN)
KE(SCROLLLOCK)
KE(PAUSE)
KE(INSERT)
KE(HOME)
KE(PAGEUP)
KE(DELETE)
KE(END)
KE(PAGEDOWN)
KE(RIGHT)
KE(LEFT)
KE(DOWN)
KE(UP)
KE(NUMLOCKCLEAR)
KE(KP_DIVIDE)
KE(KP_MULTIPLY)
KE(KP_MINUS)
KE(KP_PLUS)
KE(KP_ENTER)
KE(KP_1)
KE(KP_2)
KE(KP_3)
KE(KP_4)
KE(KP_5)
KE(KP_6)
KE(KP_7)
KE(KP_8)
KE(KP_9)
KE(KP_0)
KE(KP_PERIOD)
KE(NUMLOCKCLEAR)
KE(KP_DIVIDE)
KE(KP_MULTIPLY)
KE(KP_MINUS)
KE(KP_PLUS)
KE(KP_ENTER)
KE(KP_1)
KE(KP_2)
KE(KP_3)
KE(KP_4)
KE(KP_5)
KE(KP_6)
KE(KP_7)
KE(KP_8)
KE(KP_9)
KE(KP_0)
KE(KP_PERIOD)
KE(NONUSBACKSLASH)
KE(APPLICATION)
KE(POWER)
KE(KP_EQUALS)
KE(F13)
KE(F14)
KE(F15)
KE(F16)
KE(F17)
KE(F18)
KE(F19)
KE(F20)
KE(F21)
KE(F22)
KE(F23)
KE(F24)
KE(EXECUTE)
KE(HELP)
KE(MENU)
KE(SELECT)
KE(STOP)
KE(AGAIN)
KE(UNDO)
KE(CUT)
KE(COPY)
KE(PASTE)
KE(FIND)
KE(MUTE)
KE(VOLUMEUP)
KE(VOLUMEDOWN)
KE(KP_COMMA)
KE(KP_EQUALSAS400)
KE(NONUSBACKSLASH)
KE(APPLICATION)
KE(POWER)
KE(KP_EQUALS)
KE(F13)
KE(F14)
KE(F15)
KE(F16)
KE(F17)
KE(F18)
KE(F19)
KE(F20)
KE(F21)
KE(F22)
KE(F23)
KE(F24)
KE(EXECUTE)
KE(HELP)
KE(MENU)
KE(SELECT)
KE(STOP)
KE(AGAIN)
KE(UNDO)
KE(CUT)
KE(COPY)
KE(PASTE)
KE(FIND)
KE(MUTE)
KE(VOLUMEUP)
KE(VOLUMEDOWN)
KE(KP_COMMA)
KE(KP_EQUALSAS400)
KE(INTERNATIONAL1)
KE(INTERNATIONAL2)
KE(INTERNATIONAL3)
KE(INTERNATIONAL4)
KE(INTERNATIONAL5)
KE(INTERNATIONAL6)
KE(INTERNATIONAL7)
KE(INTERNATIONAL8)
KE(INTERNATIONAL9)
KE(LANG1)
KE(LANG2)
KE(LANG3)
KE(LANG4)
KE(LANG5)
KE(LANG6)
KE(LANG7)
KE(LANG8)
KE(LANG9)
KE(INTERNATIONAL1)
KE(INTERNATIONAL2)
KE(INTERNATIONAL3)
KE(INTERNATIONAL4)
KE(INTERNATIONAL5)
KE(INTERNATIONAL6)
KE(INTERNATIONAL7)
KE(INTERNATIONAL8)
KE(INTERNATIONAL9)
KE(LANG1)
KE(LANG2)
KE(LANG3)
KE(LANG4)
KE(LANG5)
KE(LANG6)
KE(LANG7)
KE(LANG8)
KE(LANG9)
KE(ALTERASE)
KE(SYSREQ)
KE(CANCEL)
KE(CLEAR)
KE(PRIOR)
KE(RETURN2)
KE(SEPARATOR)
KE(OUT)
KE(OPER)
KE(CLEARAGAIN)
KE(CRSEL)
KE(EXSEL)
KE(ALTERASE)
KE(SYSREQ)
KE(CANCEL)
KE(CLEAR)
KE(PRIOR)
KE(RETURN2)
KE(SEPARATOR)
KE(OUT)
KE(OPER)
KE(CLEARAGAIN)
KE(CRSEL)
KE(EXSEL)
KE(KP_00)
KE(KP_000)
KE(THOUSANDSSEPARATOR)
KE(DECIMALSEPARATOR)
KE(CURRENCYUNIT)
KE(CURRENCYSUBUNIT)
KE(KP_LEFTPAREN)
KE(KP_RIGHTPAREN)
KE(KP_LEFTBRACE)
KE(KP_RIGHTBRACE)
KE(KP_TAB)
KE(KP_BACKSPACE)
KE(KP_A)
KE(KP_B)
KE(KP_C)
KE(KP_D)
KE(KP_E)
KE(KP_F)
KE(KP_XOR)
KE(KP_POWER)
KE(KP_PERCENT)
KE(KP_LESS)
KE(KP_GREATER)
KE(KP_AMPERSAND)
KE(KP_DBLAMPERSAND)
KE(KP_VERTICALBAR)
KE(KP_DBLVERTICALBAR)
KE(KP_COLON)
KE(KP_HASH)
KE(KP_SPACE)
KE(KP_AT)
KE(KP_EXCLAM)
KE(KP_MEMSTORE)
KE(KP_MEMRECALL)
KE(KP_MEMCLEAR)
KE(KP_MEMADD)
KE(KP_MEMSUBTRACT)
KE(KP_MEMMULTIPLY)
KE(KP_MEMDIVIDE)
KE(KP_PLUSMINUS)
KE(KP_CLEAR)
KE(KP_CLEARENTRY)
KE(KP_BINARY)
KE(KP_OCTAL)
KE(KP_DECIMAL)
KE(KP_HEXADECIMAL)
KE(KP_00)
KE(KP_000)
KE(THOUSANDSSEPARATOR)
KE(DECIMALSEPARATOR)
KE(CURRENCYUNIT)
KE(CURRENCYSUBUNIT)
KE(KP_LEFTPAREN)
KE(KP_RIGHTPAREN)
KE(KP_LEFTBRACE)
KE(KP_RIGHTBRACE)
KE(KP_TAB)
KE(KP_BACKSPACE)
KE(KP_A)
KE(KP_B)
KE(KP_C)
KE(KP_D)
KE(KP_E)
KE(KP_F)
KE(KP_XOR)
KE(KP_POWER)
KE(KP_PERCENT)
KE(KP_LESS)
KE(KP_GREATER)
KE(KP_AMPERSAND)
KE(KP_DBLAMPERSAND)
KE(KP_VERTICALBAR)
KE(KP_DBLVERTICALBAR)
KE(KP_COLON)
KE(KP_HASH)
KE(KP_SPACE)
KE(KP_AT)
KE(KP_EXCLAM)
KE(KP_MEMSTORE)
KE(KP_MEMRECALL)
KE(KP_MEMCLEAR)
KE(KP_MEMADD)
KE(KP_MEMSUBTRACT)
KE(KP_MEMMULTIPLY)
KE(KP_MEMDIVIDE)
KE(KP_PLUSMINUS)
KE(KP_CLEAR)
KE(KP_CLEARENTRY)
KE(KP_BINARY)
KE(KP_OCTAL)
KE(KP_DECIMAL)
KE(KP_HEXADECIMAL)
KE(LCTRL)
KE(LSHIFT)
KE(LALT)
KE(LGUI)
KE(RCTRL)
KE(RSHIFT)
KE(RALT)
KE(RGUI)
KE(LCTRL)
KE(LSHIFT)
KE(LALT)
KE(LGUI)
KE(RCTRL)
KE(RSHIFT)
KE(RALT)
KE(RGUI)
KE(MODE)
KE(AUDIONEXT)
KE(AUDIOPREV)
KE(AUDIOSTOP)
KE(AUDIOPLAY)
KE(AUDIOMUTE)
KE(MEDIASELECT)
KE(WWW)
KE(MAIL)
KE(CALCULATOR)
KE(COMPUTER)
KE(AC_SEARCH)
KE(AC_HOME)
KE(AC_BACK)
KE(AC_FORWARD)
KE(AC_STOP)
KE(AC_REFRESH)
KE(AC_BOOKMARKS)
KE(MODE)
KE(AUDIONEXT)
KE(AUDIOPREV)
KE(AUDIOSTOP)
KE(AUDIOPLAY)
KE(AUDIOMUTE)
KE(MEDIASELECT)
KE(WWW)
KE(MAIL)
KE(CALCULATOR)
KE(COMPUTER)
KE(AC_SEARCH)
KE(AC_HOME)
KE(AC_BACK)
KE(AC_FORWARD)
KE(AC_STOP)
KE(AC_REFRESH)
KE(AC_BOOKMARKS)
KE(BRIGHTNESSDOWN)
KE(BRIGHTNESSUP)
KE(DISPLAYSWITCH)
KE(KBDILLUMTOGGLE)
KE(KBDILLUMDOWN)
KE(KBDILLUMUP)
KE(EJECT)
KE(SLEEP)
KE(BRIGHTNESSDOWN)
KE(BRIGHTNESSUP)
KE(DISPLAYSWITCH)
KE(KBDILLUMTOGGLE)
KE(KBDILLUMDOWN)
KE(KBDILLUMUP)
KE(EJECT)
KE(SLEEP)
KE(APP1)
KE(APP2)
KE(APP1)
KE(APP2)
{

View File

@ -6,68 +6,68 @@
DEC RT-11 disk images
References:
References:
VaFFM -- bitsavers://pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf
DHM -- bitsavers://pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PE7VA-TC_RT-11_Device_Handlers_Manual_Aug91.pdf
SSM -- bitsavers://pdf/dec/pdp11/rt11/v5.0_Mar83/AA-H379B-TC_5.0_SWsuppMar83.pdf
TSX+ -- bitsavers://pdf/dec/pdp11/tsxPlus/manuals_6.31/TSX-Plus_UsersRef_Jan88.pdf
PUTR -- http://www.dbit.com/pub/putr/putr.asm
VaFFM -- bitsavers://pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf
DHM -- bitsavers://pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PE7VA-TC_RT-11_Device_Handlers_Manual_Aug91.pdf
SSM -- bitsavers://pdf/dec/pdp11/rt11/v5.0_Mar83/AA-H379B-TC_5.0_SWsuppMar83.pdf
TSX+ -- bitsavers://pdf/dec/pdp11/tsxPlus/manuals_6.31/TSX-Plus_UsersRef_Jan88.pdf
PUTR -- http://www.dbit.com/pub/putr/putr.asm
To do:
- filter for text files
- read-write support
- report empty 'last modified' time if date field is all zeros
- report free space
- arbitrary sized images
- don't crash when strings in home block have non-ascii chars (charconverter does not apply)
- do something about bootblock bug in imgtool (commit aca90520)
To do:
- filter for text files
- read-write support
- report empty 'last modified' time if date field is all zeros
- report free space
- arbitrary sized images
- don't crash when strings in home block have non-ascii chars (charconverter does not apply)
- do something about bootblock bug in imgtool (commit aca90520)
LBN Contents
--- --------
0 Reserved (primary bootstrap)
1 Reserved (home block)
2-5 Reserved (secondary bootstrap)
6-7 Directory segment 1
... Directory segment 2-n
... Data
LBN Contents
--- --------
0 Reserved (primary bootstrap)
1 Reserved (home block)
2-5 Reserved (secondary bootstrap)
6-7 Directory segment 1
... Directory segment 2-n
... Data
Home block
----------
000-201 Bad block replacement table
202-203 ?
204-251 INITIALIZE/RESTORE data area
252-273 BUP information area
274-677 ?
700-701 (Reserved for Digital, must be zero)
702-703 (Reserved for Digital, must be zero)
704-721 ?
722-723 Pack cluster size (= 1)
724-725 Block number of first directory segment
726-727 System version (RAD50)
730-742 Volume Identification
744-757 Owner name
760-773 System Identification
776-777 Checksum
Home block
----------
000-201 Bad block replacement table
202-203 ?
204-251 INITIALIZE/RESTORE data area
252-273 BUP information area
274-677 ?
700-701 (Reserved for Digital, must be zero)
702-703 (Reserved for Digital, must be zero)
704-721 ?
722-723 Pack cluster size (= 1)
724-725 Block number of first directory segment
726-727 System version (RAD50)
730-742 Volume Identification
744-757 Owner name
760-773 System Identification
776-777 Checksum
Directory segment header
------------------------
0 The total number of segments in this directory.
1 The segment number of the next logical directory segment. If this word is 0, there are no more segments in the list.
2 The number of the highest segment currently in use. Valid only in the first directory segment.
3 The number of extra bytes per directory entry, always an unsigned, even octal number.
4 The block number on the volume where the actual stored data identified by this segment begins.
Directory segment header
------------------------
0 The total number of segments in this directory.
1 The segment number of the next logical directory segment. If this word is 0, there are no more segments in the list.
2 The number of the highest segment currently in use. Valid only in the first directory segment.
3 The number of extra bytes per directory entry, always an unsigned, even octal number.
4 The block number on the volume where the actual stored data identified by this segment begins.
Directory entry
---------------
0 Status word
1 File name 1-3 (RAD50)
2 File name 4-6 (RAD50)
3 File type 1-3 (RAD50)
4 Total file length (blocks)
5 Job#, Channel# (RT-11 uses this information only for tentative files)
6 Creation date
7- Optional extra words
Directory entry
---------------
0 Status word
1 File name 1-3 (RAD50)
2 File name 4-6 (RAD50)
3 File type 1-3 (RAD50)
4 Total file length (blocks)
5 Job#, Channel# (RT-11 uses this information only for tentative files)
6 Creation date
7- Optional extra words
****************************************************************************/

View File

@ -26,263 +26,263 @@ struct key_lookup_table { int code; const char *name; };
static constexpr key_lookup_table sdl_lookup[] =
{
KE(UNKNOWN)
KE(UNKNOWN)
KE(A)
KE(B)
KE(C)
KE(D)
KE(E)
KE(F)
KE(G)
KE(H)
KE(I)
KE(J)
KE(K)
KE(L)
KE(M)
KE(N)
KE(O)
KE(P)
KE(Q)
KE(R)
KE(S)
KE(T)
KE(U)
KE(V)
KE(W)
KE(X)
KE(Y)
KE(Z)
KE(A)
KE(B)
KE(C)
KE(D)
KE(E)
KE(F)
KE(G)
KE(H)
KE(I)
KE(J)
KE(K)
KE(L)
KE(M)
KE(N)
KE(O)
KE(P)
KE(Q)
KE(R)
KE(S)
KE(T)
KE(U)
KE(V)
KE(W)
KE(X)
KE(Y)
KE(Z)
KE(1)
KE(2)
KE(3)
KE(4)
KE(5)
KE(6)
KE(7)
KE(8)
KE(9)
KE(0)
KE(1)
KE(2)
KE(3)
KE(4)
KE(5)
KE(6)
KE(7)
KE(8)
KE(9)
KE(0)
KE(RETURN)
KE(ESCAPE)
KE(BACKSPACE)
KE(TAB)
KE(SPACE)
KE(RETURN)
KE(ESCAPE)
KE(BACKSPACE)
KE(TAB)
KE(SPACE)
KE(MINUS)
KE(EQUALS)
KE(LEFTBRACKET)
KE(RIGHTBRACKET)
KE(BACKSLASH)
KE(NONUSHASH)
KE(SEMICOLON)
KE(APOSTROPHE)
KE(GRAVE)
KE(COMMA)
KE(PERIOD)
KE(SLASH)
KE(MINUS)
KE(EQUALS)
KE(LEFTBRACKET)
KE(RIGHTBRACKET)
KE(BACKSLASH)
KE(NONUSHASH)
KE(SEMICOLON)
KE(APOSTROPHE)
KE(GRAVE)
KE(COMMA)
KE(PERIOD)
KE(SLASH)
KE(CAPSLOCK)
KE(CAPSLOCK)
KE(F1)
KE(F2)
KE(F3)
KE(F4)
KE(F5)
KE(F6)
KE(F7)
KE(F8)
KE(F9)
KE(F10)
KE(F11)
KE(F12)
KE(F1)
KE(F2)
KE(F3)
KE(F4)
KE(F5)
KE(F6)
KE(F7)
KE(F8)
KE(F9)
KE(F10)
KE(F11)
KE(F12)
KE(PRINTSCREEN)
KE(SCROLLLOCK)
KE(PAUSE)
KE(INSERT)
KE(HOME)
KE(PAGEUP)
KE(DELETE)
KE(END)
KE(PAGEDOWN)
KE(RIGHT)
KE(LEFT)
KE(DOWN)
KE(UP)
KE(PRINTSCREEN)
KE(SCROLLLOCK)
KE(PAUSE)
KE(INSERT)
KE(HOME)
KE(PAGEUP)
KE(DELETE)
KE(END)
KE(PAGEDOWN)
KE(RIGHT)
KE(LEFT)
KE(DOWN)
KE(UP)
KE(NUMLOCKCLEAR)
KE(KP_DIVIDE)
KE(KP_MULTIPLY)
KE(KP_MINUS)
KE(KP_PLUS)
KE(KP_ENTER)
KE(KP_1)
KE(KP_2)
KE(KP_3)
KE(KP_4)
KE(KP_5)
KE(KP_6)
KE(KP_7)
KE(KP_8)
KE(KP_9)
KE(KP_0)
KE(KP_PERIOD)
KE(NUMLOCKCLEAR)
KE(KP_DIVIDE)
KE(KP_MULTIPLY)
KE(KP_MINUS)
KE(KP_PLUS)
KE(KP_ENTER)
KE(KP_1)
KE(KP_2)
KE(KP_3)
KE(KP_4)
KE(KP_5)
KE(KP_6)
KE(KP_7)
KE(KP_8)
KE(KP_9)
KE(KP_0)
KE(KP_PERIOD)
KE(NONUSBACKSLASH)
KE(APPLICATION)
KE(POWER)
KE(KP_EQUALS)
KE(F13)
KE(F14)
KE(F15)
KE(F16)
KE(F17)
KE(F18)
KE(F19)
KE(F20)
KE(F21)
KE(F22)
KE(F23)
KE(F24)
KE(EXECUTE)
KE(HELP)
KE(MENU)
KE(SELECT)
KE(STOP)
KE(AGAIN)
KE(UNDO)
KE(CUT)
KE(COPY)
KE(PASTE)
KE(FIND)
KE(MUTE)
KE(VOLUMEUP)
KE(VOLUMEDOWN)
KE(KP_COMMA)
KE(KP_EQUALSAS400)
KE(NONUSBACKSLASH)
KE(APPLICATION)
KE(POWER)
KE(KP_EQUALS)
KE(F13)
KE(F14)
KE(F15)
KE(F16)
KE(F17)
KE(F18)
KE(F19)
KE(F20)
KE(F21)
KE(F22)
KE(F23)
KE(F24)
KE(EXECUTE)
KE(HELP)
KE(MENU)
KE(SELECT)
KE(STOP)
KE(AGAIN)
KE(UNDO)
KE(CUT)
KE(COPY)
KE(PASTE)
KE(FIND)
KE(MUTE)
KE(VOLUMEUP)
KE(VOLUMEDOWN)
KE(KP_COMMA)
KE(KP_EQUALSAS400)
KE(INTERNATIONAL1)
KE(INTERNATIONAL2)
KE(INTERNATIONAL3)
KE(INTERNATIONAL4)
KE(INTERNATIONAL5)
KE(INTERNATIONAL6)
KE(INTERNATIONAL7)
KE(INTERNATIONAL8)
KE(INTERNATIONAL9)
KE(LANG1)
KE(LANG2)
KE(LANG3)
KE(LANG4)
KE(LANG5)
KE(LANG6)
KE(LANG7)
KE(LANG8)
KE(LANG9)
KE(INTERNATIONAL1)
KE(INTERNATIONAL2)
KE(INTERNATIONAL3)
KE(INTERNATIONAL4)
KE(INTERNATIONAL5)
KE(INTERNATIONAL6)
KE(INTERNATIONAL7)
KE(INTERNATIONAL8)
KE(INTERNATIONAL9)
KE(LANG1)
KE(LANG2)
KE(LANG3)
KE(LANG4)
KE(LANG5)
KE(LANG6)
KE(LANG7)
KE(LANG8)
KE(LANG9)
KE(ALTERASE)
KE(SYSREQ)
KE(CANCEL)
KE(CLEAR)
KE(PRIOR)
KE(RETURN2)
KE(SEPARATOR)
KE(OUT)
KE(OPER)
KE(CLEARAGAIN)
KE(CRSEL)
KE(EXSEL)
KE(ALTERASE)
KE(SYSREQ)
KE(CANCEL)
KE(CLEAR)
KE(PRIOR)
KE(RETURN2)
KE(SEPARATOR)
KE(OUT)
KE(OPER)
KE(CLEARAGAIN)
KE(CRSEL)
KE(EXSEL)
KE(KP_00)
KE(KP_000)
KE(THOUSANDSSEPARATOR)
KE(DECIMALSEPARATOR)
KE(CURRENCYUNIT)
KE(CURRENCYSUBUNIT)
KE(KP_LEFTPAREN)
KE(KP_RIGHTPAREN)
KE(KP_LEFTBRACE)
KE(KP_RIGHTBRACE)
KE(KP_TAB)
KE(KP_BACKSPACE)
KE(KP_A)
KE(KP_B)
KE(KP_C)
KE(KP_D)
KE(KP_E)
KE(KP_F)
KE(KP_XOR)
KE(KP_POWER)
KE(KP_PERCENT)
KE(KP_LESS)
KE(KP_GREATER)
KE(KP_AMPERSAND)
KE(KP_DBLAMPERSAND)
KE(KP_VERTICALBAR)
KE(KP_DBLVERTICALBAR)
KE(KP_COLON)
KE(KP_HASH)
KE(KP_SPACE)
KE(KP_AT)
KE(KP_EXCLAM)
KE(KP_MEMSTORE)
KE(KP_MEMRECALL)
KE(KP_MEMCLEAR)
KE(KP_MEMADD)
KE(KP_MEMSUBTRACT)
KE(KP_MEMMULTIPLY)
KE(KP_MEMDIVIDE)
KE(KP_PLUSMINUS)
KE(KP_CLEAR)
KE(KP_CLEARENTRY)
KE(KP_BINARY)
KE(KP_OCTAL)
KE(KP_DECIMAL)
KE(KP_HEXADECIMAL)
KE(KP_00)
KE(KP_000)
KE(THOUSANDSSEPARATOR)
KE(DECIMALSEPARATOR)
KE(CURRENCYUNIT)
KE(CURRENCYSUBUNIT)
KE(KP_LEFTPAREN)
KE(KP_RIGHTPAREN)
KE(KP_LEFTBRACE)
KE(KP_RIGHTBRACE)
KE(KP_TAB)
KE(KP_BACKSPACE)
KE(KP_A)
KE(KP_B)
KE(KP_C)
KE(KP_D)
KE(KP_E)
KE(KP_F)
KE(KP_XOR)
KE(KP_POWER)
KE(KP_PERCENT)
KE(KP_LESS)
KE(KP_GREATER)
KE(KP_AMPERSAND)
KE(KP_DBLAMPERSAND)
KE(KP_VERTICALBAR)
KE(KP_DBLVERTICALBAR)
KE(KP_COLON)
KE(KP_HASH)
KE(KP_SPACE)
KE(KP_AT)
KE(KP_EXCLAM)
KE(KP_MEMSTORE)
KE(KP_MEMRECALL)
KE(KP_MEMCLEAR)
KE(KP_MEMADD)
KE(KP_MEMSUBTRACT)
KE(KP_MEMMULTIPLY)
KE(KP_MEMDIVIDE)
KE(KP_PLUSMINUS)
KE(KP_CLEAR)
KE(KP_CLEARENTRY)
KE(KP_BINARY)
KE(KP_OCTAL)
KE(KP_DECIMAL)
KE(KP_HEXADECIMAL)
KE(LCTRL)
KE(LSHIFT)
KE(LALT)
KE(LGUI)
KE(RCTRL)
KE(RSHIFT)
KE(RALT)
KE(RGUI)
KE(LCTRL)
KE(LSHIFT)
KE(LALT)
KE(LGUI)
KE(RCTRL)
KE(RSHIFT)
KE(RALT)
KE(RGUI)
KE(MODE)
KE(AUDIONEXT)
KE(AUDIOPREV)
KE(AUDIOSTOP)
KE(AUDIOPLAY)
KE(AUDIOMUTE)
KE(MEDIASELECT)
KE(WWW)
KE(MAIL)
KE(CALCULATOR)
KE(COMPUTER)
KE(AC_SEARCH)
KE(AC_HOME)
KE(AC_BACK)
KE(AC_FORWARD)
KE(AC_STOP)
KE(AC_REFRESH)
KE(AC_BOOKMARKS)
KE(MODE)
KE(AUDIONEXT)
KE(AUDIOPREV)
KE(AUDIOSTOP)
KE(AUDIOPLAY)
KE(AUDIOMUTE)
KE(MEDIASELECT)
KE(WWW)
KE(MAIL)
KE(CALCULATOR)
KE(COMPUTER)
KE(AC_SEARCH)
KE(AC_HOME)
KE(AC_BACK)
KE(AC_FORWARD)
KE(AC_STOP)
KE(AC_REFRESH)
KE(AC_BOOKMARKS)
KE(BRIGHTNESSDOWN)
KE(BRIGHTNESSUP)
KE(DISPLAYSWITCH)
KE(KBDILLUMTOGGLE)
KE(KBDILLUMDOWN)
KE(KBDILLUMUP)
KE(EJECT)
KE(SLEEP)
KE(BRIGHTNESSDOWN)
KE(BRIGHTNESSUP)
KE(DISPLAYSWITCH)
KE(KBDILLUMTOGGLE)
KE(KBDILLUMDOWN)
KE(KBDILLUMUP)
KE(EJECT)
KE(SLEEP)
KE(APP1)
KE(APP2)
KE(APP1)
KE(APP2)
};
static char const *lookup_key_name(int kc)