Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch act486auto-test Excluding Merge-Ins
This is equivalent to a diff from 00f33dd80a to b83cf22970
2025-04-11
| ||
06:57 | Hard disk image for FreeDOS 1.4 Leaf check-in: cdb0568949 user: chungy tags: trunk | |
05:19 | Import a currently-abandoned test using sairuk’s act486auto plugin. Leaf check-in: b83cf22970 user: chungy tags: act486auto-test | |
2025-04-10
| ||
07:14 | Shorten README text, removing "If viewing on GitHub"... check-in: 00f33dd80a user: chungy tags: trunk | |
04:00 | Amend README with Fossil information. check-in: 38e89b5422 user: chungy tags: trunk | |
Added ext/README.md.
> | 1 | act486auto comes from <https://github.com/mameau/mame-plugins>. |
Added ext/act486auto/init.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | -- license:BSD-3-Clause -- copyright-holders:sairuk -- maybe should have used natkeyboard but i was in too deep local exports = { name = 'act486auto', version = '0.0.1', description = 'act486 auto config demo', license = 'BSD-3-Clause', author = { name = 'sairuk' } } local act486auto = exports local reset_subscription local frame_subscription local frame = 0 local lframe = 0 local fstart = 0 local fend = 0 local offset = 0 local keys = {} local lcomment = "None" local ltfield = 0 -- allowed to be overriden in software.lua hud = true local function split(s, sep) local t = {} if sep == nil then sep = "," end for str in string.gmatch(s, "([^"..sep.."]+)") do table.insert(t, str) end return t end -- https://www.reddit.com/r/MAME/comments/1aw9h7c/comment/ksow3uj/ local function press(tfield) for key, value in pairs(split(tfield)) do port = portmap[value][1] field = portmap[value][2] manager.machine.ioport.ports[port].fields[field]:set_value(1) end end local function release(tfield) for key, value in pairs(split(tfield)) do port = portmap[value][1] field = portmap[value][2] manager.machine.ioport.ports[port].fields[field]:clear_value() end end local function attach_image(tag, software) manager.machine.images[tag]:load_software(software) end local function detach_image(tag) manager.machine.images[tag]:unload() end local function nothrottle() manager.machine.video.throttled = false manager.machine.video.frameskip = 10 end local function throttle() manager.machine.video.throttled = true manager.machine.video.frameskip = 0 end local function soft_reset() manager.machine:soft_reset() end local function hard_reset() manager.machine:hard_reset() end local function pause() emu.pause() end local function unpause() emu.unpause() end local function cassette(action) m = manager.machine for i,v in pairs(m.cassettes) do d = i break end if d == nil then emu.print_error("Could not determine cassette device, manual intervention required") throttle() end t = m.cassettes[d] if action == "play" then if not t.is_playing then t:play() end end end local function exit() manager.machine:exit() end local function draw_hud() if hud then frame_str = string.format("Software: %s\nFrame: %08d\nLast:\n Passed: %08d\n Action: %s\n Comment:%s", software, frame, offset, ltfield, lcomment) -- print(frame_str) manager.machine.render.ui_container:draw_text('left', 0, frame_str, 0xffffffff, 0x00000000) end end function act486auto.startplugin() local t local rport = false reset_subscription = emu.add_machine_reset_notifier(function() if emu.romname() ~= '___empty' then if emu.softname() ~= '___empty' then t = {} -- hackeryd00 local softscript = exports.name .. '/scripts/software/' .. emu.romname() .. '/' .. emu.softname() local softfile = manager.machine.options.entries.pluginspath:value():match("([^;]+)") .. "/" .. softscript .. ".lua" -- local softtest = io.open(os.getenv("HOME") .. "/.mame/" .. softfile, "r") -- try plugin path directly, if not local softtest = io.open(softfile, "r") if not softtest then -- try to append to homepath local homepath = manager.machine.options.entries.homepath:value():match("([^;]+)") .. "/" softtest = io.open(homepath .. softfile, "r") end -- software script if softtest then io.close(softtest) require(softscript) for sk, sv in pairs(t_software) do table.insert(t, sv) end else print("failed to load " .. homepath .. softfile) exit() end -- preprocess imports for itk, itv in pairs(t) do itfield = itv[3] if string.match(itfield, "import_") then import = string.gsub(itfield, "import_(.+)", "%1") require(exports.name .. "/scripts/" .. import) table.remove(t, itk) for tdk, tdv in pairs(t_step) do idx = itk + (tdk - 1) table.insert(t, idx, tdv) end end end require(exports.name .. '/portmap/' .. keymap ) nothrottle() end end end) -- for i,v in pairs(manager.machine.images) do print(i) end frame_subscription = emu.add_machine_frame_notifier(function() if manager.machine.time.seconds > 0 then fstart = start --draw_hud(frame) for tk, tv in pairs(t) do tfield = tv[3] comment = tv[4] fstart = fstart + tv[1] fend = fstart + tv[2] if frame == fstart then -- attach images if string.match(tfield, "eject_") then softdev = string.gsub(tfield, "eject_(.+)", "%1") detach_image(tags[softdev]) elseif string.match(tfield, "attach_") then softdev = string.gsub(tfield, "attach_(.+)_(.+)", "%1") softimg = string.gsub(tfield, "attach_(.+)_(.+)", "%2") attach_image(tags[softdev], software .. ":" .. softimg) elseif string.match(tfield, "cass_") then action = string.gsub(tfield, "cass_(.+)", "%1") cassette(action) elseif string.match(tfield, "throttle") then throttle() elseif string.match(tfield, "soft_reset") then soft_reset() elseif string.match(tfield, "hard_reset") then hard_reset() elseif string.match(tfield, "pause") then pause() elseif string.match(tfield, "stop") then exit() else print(string.format("%s\t%s\t%s", frame, tfield, comment)) -- press key, multiple if required if string.match(tfield,",") then for key in string.gmatch(tfield, "([^,]+)") do table.insert(keys, key) end else table.insert(keys, tfield) end if rport == false then for i, key in pairs(keys) do press(key) end rport = true end end end -- release pressed keys if rport and frame == fend then for i, key in pairs(keys) do release(key) end keys = {} rport = false if comment == "" then lcomment = "None" else lcomment = comment end ltfield = tfield lframe = frame end end frame = frame + 1 offset = frame - lframe end end) emu.register_frame_done(draw_hud) end return exports |
Added ext/act486auto/plugin.json.
> > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 | { "plugin": { "name": "act486auto", "description": "[ac]t486 auto config demo", "version": "0.0.1", "author": "sairuk", "type": "plugin", "start": "false" } } |
Added ext/act486auto/portmap/c64kbd.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | -- for port in pairs(manager.machine.ioport.ports) -- do -- for key in pairs(manager.machine.ioport.ports[port].fields) -- do -- print('[""] = { "' .. port .. '", "' .. key ..'" },') -- end -- end portmap = { ["KEY_SHIFT_LOCK"] = { ":LOCK", "SHIFT LOCK" }, ["KEY_RESTORE"] = { ":RESTORE", "RESTORE" }, ["KEY_DOWN"] = { ":ROW0", "Crsr Down Up" }, ["KEY_ENTER"] = { ":ROW0", "Return" }, ["KEY_F3"] = { ":ROW0", "F3" }, ["KEY_F5"] = { ":ROW0", "F5" }, ["KEY_F7"] = { ":ROW0", "F7" }, ["KEY_LEFT"] = { ":ROW0", "Crsr Right Left" }, ["KEY_DEL"] = { ":ROW0", "INST DEL" }, ["KEY_F1"] = { ":ROW0", "F1" }, -- ["KEY_"] = { ":ROW0", "Keyboard" }, ["KEY_W"] = { ":ROW1", "W" }, ["KEY_Z"] = { ":ROW1", "Z" }, ["KEY_A"] = { ":ROW1", "A" }, ["KEY_4"] = { ":ROW1", "4 $" }, -- ["KEY_"] = { ":ROW1", "Keyboard" }, ["KEY_E"] = { ":ROW1", "E" }, ["KEY_LSHIFT"] = { ":ROW1", "Shift (Left)" }, ["KEY_S"] = { ":ROW1", "S" }, ["KEY_3"] = { ":ROW1", "3 #" }, ["KEY_X"] = { ":ROW2", "X" }, ["KEY_6"] = { ":ROW2", "6 &" }, ["KEY_F"] = { ":ROW2", "F" }, -- ["KEY_"] = { ":ROW2", "Keyboard" }, ["KEY_D"] = { ":ROW2", "D" }, ["KEY_5"] = { ":ROW2", "5 %" }, ["KEY_T"] = { ":ROW2", "T" }, ["KEY_C"] = { ":ROW2", "C" }, ["KEY_R"] = { ":ROW2", "R" }, ["KEY_Y"] = { ":ROW3", "Y" }, ["KEY_H"] = { ":ROW3", "H" }, ["KEY_G"] = { ":ROW3", "G" }, ["KEY_V"] = { ":ROW3", "V" }, ["KEY_7"] = { ":ROW3", "7 '" }, ["KEY_8"] = { ":ROW3", "8 (" }, ["KEY_U"] = { ":ROW3", "U" }, -- ["KEY_"] = { ":ROW3", "Keyboard" }, ["KEY_B"] = { ":ROW3", "B" }, ["KEY_I"] = { ":ROW4", "I" }, ["KEY_9"] = { ":ROW4", "9 )" }, ["KEY_M"] = { ":ROW4", "M" }, ["KEY_K"] = { ":ROW4", "K" }, ["KEY_J"] = { ":ROW4", "J" }, ["KEY_0"] = { ":ROW4", "0" }, ["KEY_O"] = { ":ROW4", "O" }, ["KEY_N"] = { ":ROW4", "N" }, -- ["KEY_"] = { ":ROW4", "Keyboard" }, ["KEY_MINUS"] = { ":ROW5", "-" }, ["KEY_L"] = { ":ROW5", "L" }, ["KEY_PLUS"] = { ":ROW5", "+" }, ["KEY_COMMA"] = { ":ROW5", ", <" }, ["KEY_FULLSTOP"] = { ":ROW5", ". >" }, ["KEY_P"] = { ":ROW5", "P" }, ["KEY_COLON"] = { ":ROW5", ": [" }, ["KEY_@"] = { ":ROW5", "@" }, -- ["KEY_"] = { ":ROW5", "Keyboard" }, ["KEY_EQUALS"] = { ":ROW6", "=" }, ["KEY_ASTERIX"] = { ":ROW6", "*" }, ["KEY_SLASH"] = { ":ROW6", "/ ?" }, -- ["KEY_"] = { ":ROW6", "Keyboard" }, ["KEY_HOME"] = { ":ROW6", "CLR HOME" }, ["KEY_POUND"] = { ":ROW6", "£" }, ["KEY_RSHIFT"] = { ":ROW6", "Shift (Right)" }, ["KEY_COLON"] = { ":ROW6", "; ]" }, ["KEY_PI"] = { ":ROW6", "↑ Pi" }, ["KEY_1"] = { ":ROW7", "1 !" }, ["KEY_Q"] = { ":ROW7", "Q" }, ["KEY_RUNSTOP"] = { ":ROW7", "RUN STOP" }, -- ["KEY_"] = { ":ROW7", "Keyboard" }, ["KEY_2"] = { ":ROW7", '2 "' }, ["KEY_CBM"] = { ":ROW7", "CBM" }, ["KEY_BACKSPACE"] = { ":ROW7", "←" }, ["KEY_SPACE"] = { ":ROW7", "Space" }, ["KEY_CTRL"] = { ":ROW7", "Ctrl" }, -- [""] = { ":iec8:c1541:ADDRESS", "Device Address" }, ["JOY1_LEFT"] = { ":joy2:joy:JOY", "P1 Left" }, ["JOY1_DOWN"] = { ":joy2:joy:JOY", "P1 Down" }, ["JOY1_BUTTON1"] = { ":joy2:joy:JOY", "P1 Button 1" }, ["JOY1_UP"] = { ":joy2:joy:JOY", "P1 Up" }, ["JOY1_RIGHT"] = { ":joy2:joy:JOY", "P1 Right" }, } |
Added ext/act486auto/portmap/ms_naturl.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | -- https://github.com/mamedev/mame/blob/master/src/devices/bus/pc_kbd/msnat.cpp -- for k, v in pairs(manager.machine.ioport.ports[":kbd:ms_naturl:P1.2"].fields) do print(k) end portmap = { -- P2.0 ["KEY_Y"] = { ":kbd:ms_naturl:P2.0", "Y" }, ["KEY_H"] = { ":kbd:ms_naturl:P2.0", "H" }, ["KEY_J"] = { ":kbd:ms_naturl:P2.0", "J" }, ["KEY_N"] = { ":kbd:ms_naturl:P2.0", "N" }, ["KEY_M"] = { ":kbd:ms_naturl:P2.0", "M" }, ["KEY_U"] = { ":kbd:ms_naturl:P2.0", "U" }, ["KEY_6"] = { ":kbd:ms_naturl:P2.0", "6" }, ["KEY_7"] = { ":kbd:ms_naturl:P2.0", "7" }, -- P2.1 ["KEY_ENTER"] = { ":kbd:ms_naturl:P2.1", "Enter" }, ["KEY_BACKSLASH"] = { ":kbd:ms_naturl:P2.1", "\\" }, ["KEY_CLOSEBRACE"] = { ":kbd:ms_naturl:P2.1", "]" }, ["KEY_LEFT"] = { ":kbd:ms_naturl:P2.1", "Cursor Left" }, ["KEY_BACKSPACE"] = { ":kbd:ms_naturl:P2.1", "Backspace" }, ["KEY_F5"] = { ":kbd:ms_naturl:P2.1", "F5" }, ["KEY_F6"] = { ":kbd:ms_naturl:P2.1", "F6" }, ["KEY_EQUALS"] = { ":kbd:ms_naturl:P2.1", "=" }, -- P2.2 ["KEY_9"] = { ":kbd:ms_naturl:P2.2", "9" }, ["KEY_O"] = { ":kbd:ms_naturl:P2.2", "O" }, ["KEY_OPENBRACE"] = { ":kbd:ms_naturl:P2.2", "[" }, ["KEY_L"] = { ":kbd:ms_naturl:P2.2", "L" }, ["KEY_STOP"] = { ":kbd:ms_naturl:P2.2", "." }, ["KEY_MINUS"] = { ":kbd:ms_naturl:P2.2", "-" }, ["KEY_F7"] = { ":kbd:ms_naturl:P2.2", "F7" }, ["KEY_F8"] = { ":kbd:ms_naturl:P2.2", "F8" }, -- P2.3 ["KEY_0"] = { ":kbd:ms_naturl:P2.3", "0" }, ["KEY_COLON"] = { ":kbd:ms_naturl:P2.3", ";" }, ["KEY_QUOTE"] = { ":kbd:ms_naturl:P2.3", "'" }, ["KEY_SLASH"] = { ":kbd:ms_naturl:P2.3", "/" }, ["KEY_DOWN"] = { ":kbd:ms_naturl:P2.3", "Cursor Down" }, ["KEY_P"] = { ":kbd:ms_naturl:P2.3", "P" }, ["KEY_F9"] = { ":kbd:ms_naturl:P2.3", "F9" }, ["KEY_F10"] = { ":kbd:ms_naturl:P2.3", "F10" }, -- P2.4 ["KEY_UP"] = { ":kbd:ms_naturl:P2.4", "Cursor Up" }, ["KEY_RWIN"] = { ":kbd:ms_naturl:P2.4", "Right Win" }, ["KEY_RIGHT"] = { ":kbd:ms_naturl:P2.4", "Cursor Right" }, ["KEY_SPACE"] = { ":kbd:ms_naturl:P2.4", "Space" }, -- P2.5 ["KEY_HOME"] = { ":kbd:ms_naturl:P2.5", "Home" }, ["KEY_8_PAD"] = { ":kbd:ms_naturl:P2.5", "Keypad 8" }, ["KEY_5_PAD"] = { ":kbd:ms_naturl:P2.5", "Keypad 5" }, ["KEY_2_PAD"] = { ":kbd:ms_naturl:P2.5", "Keypad 2" }, ["KEY_0_PAD"] = { ":kbd:ms_naturl:P2.5", "Keypad 0" }, ["KEY_END"] = { ":kbd:ms_naturl:P2.5", "End" }, ["KEY_F11"] = { ":kbd:ms_naturl:P2.5", "F11" }, ["KEY_F12"] = { ":kbd:ms_naturl:P2.5", "F12" }, -- P2.6 ["KEY_INSERT"] = { ":kbd:ms_naturl:P2.6", "Insert" }, ["KEY_DEL"] = { ":kbd:ms_naturl:P2.6", "Delete" }, ["KEY_6_PAD"] = { ":kbd:ms_naturl:P2.6", "Keypad 6" }, ["KEY_3_PAD"] = { ":kbd:ms_naturl:P2.6", "Keypad 3" }, --["??"] = { ":kbd:ms_naturl:P2.6", "Keypad ." }, ["KEY_9_PAD"] = { ":kbd:ms_naturl:P2.6", "Keypad 9" }, ["KEY_F3"] = { ":kbd:ms_naturl:P2.6", "F3" }, ["KEY_F4"] = { ":kbd:ms_naturl:P2.6", "F4" }, -- P2.7 ["KEY_SLASH"] = { ":kbd:ms_naturl:P2.7", "Keypad /" }, ["KEY_7_PAD"] = { ":kbd:ms_naturl:P2.7", "Keypad 7" }, ["KEY_4_PAD"] = { ":kbd:ms_naturl:P2.7", "Keypad 4" }, ["KEY_PLUS_PAD"] = { ":kbd:ms_naturl:P2.7", "Keypad +" }, ["KEY_1_PAD"] = { ":kbd:ms_naturl:P2.7", "Keypad 1" }, ["KEY_ASTERIX"] = { ":kbd:ms_naturl:P2.7", "Keypad *" }, ["KEY_PRTSCR"] = { ":kbd:ms_naturl:P2.7", "Print Screen" }, ["KEY_MENU"] = { ":kbd:ms_naturl:P2.7", "Menu" }, -- P1.0 ["KEY_LWIN"] = { ":kbd:ms_naturl:P1.0", "Left Win" }, ["KEY_SCRLOCK"] = { ":kbd:ms_naturl:P1.0", "Scroll Lock" }, ["KEY_ENTER_PAD"] = { ":kbd:ms_naturl:P1.0", "Keypad Enter" }, -- P1.1 ["LCONTROL"] = { ":kbd:ms_naturl:P1.1", "Left Ctrl" }, ["RCONTROL"] = { ":kbd:ms_naturl:P1.1", "Right Ctrl" }, ["CAPSLOCK"] = { ":kbd:ms_naturl:P1.1", "Caps Lock" }, -- P1.2 ["KEY_PGUP"] = { ":kbd:ms_naturl:P1.2", "Page Up" }, ["KEY_2"] = { ":kbd:ms_naturl:P1.2", "2" }, ["KEY_W"] = { ":kbd:ms_naturl:P1.2", "W" }, ["KEY_S"] = { ":kbd:ms_naturl:P1.2", "S" }, ["KEY_X"] = { ":kbd:ms_naturl:P1.2", "X" }, ["KEY_PGDOWN"] = { ":kbd:ms_naturl:P1.2", "Page Down" }, ["KEY_F1"] = { ":kbd:ms_naturl:P1.2", "F1" }, ["KEY_F2"] = { ":kbd:ms_naturl:P1.2", "F2" }, -- P1.3 ["KEY_LALT"] = { ":kbd:ms_naturl:P1.3", "Left Alt" }, ["KEY_RALT"] = { ":kbd:ms_naturl:P1.3", "Right Alt" }, ["KEY_MINUS_PAD"] = { ":kbd:ms_naturl:P1.3", "Keypad -" }, ["KEY_NUMLOCK"] = { ":kbd:ms_naturl:P1.3", "Num Lock" }, -- P1.4 ["KEY_I"] = { ":kbd:ms_naturl:P1.4", "I" }, ["KEY_K"] = { ":kbd:ms_naturl:P1.4", "K" }, ["KEY_D"] = { ":kbd:ms_naturl:P1.4", "D" }, ["KEY_C"] = { ":kbd:ms_naturl:P1.4", "C" }, ["KEY_COMMA"] = { ":kbd:ms_naturl:P1.4", "," }, ["KEY_E"] = { ":kbd:ms_naturl:P1.4", "E" }, ["KEY_3"] = { ":kbd:ms_naturl:P1.4", "3" }, ["KEY_8"] = { ":kbd:ms_naturl:P1.4", "8" }, -- P1.5 ["KEY_5"] = { ":kbd:ms_naturl:P1.5", "5" }, ["KEY_R"] = { ":kbd:ms_naturl:P1.5", "R" }, ["KEY_F"] = { ":kbd:ms_naturl:P1.5", "F" }, ["KEY_G"] = { ":kbd:ms_naturl:P1.5", "G" }, ["KEY_V"] = { ":kbd:ms_naturl:P1.5", "V" }, ["KEY_B"] = { ":kbd:ms_naturl:P1.5", "B" }, ["KEY_T"] = { ":kbd:ms_naturl:P1.5", "T" }, ["KEY_4"] = { ":kbd:ms_naturl:P1.5", "4" }, -- P1.6 ["KEY_ESC"] = { ":kbd:ms_naturl:P1.6", "Esc" }, ["KEY_1"] = { ":kbd:ms_naturl:P1.6", "1" }, ["KEY_Q"] = { ":kbd:ms_naturl:P1.6", "Q" }, ["KEY_A"] = { ":kbd:ms_naturl:P1.6", "A" }, ["KEY_Z"] = { ":kbd:ms_naturl:P1.6", "Z" }, ["KEY_TAB"] = { ":kbd:ms_naturl:P1.6", "Tab" }, ["KEY_TILDE"] = { ":kbd:ms_naturl:P1.6", "`" }, -- P1.7 ["KEY_LSHIFT"] = { ":kbd:ms_naturl:P1.7", "Left Shift" }, ["KEY_RSHIFT"] = { ":kbd:ms_naturl:P1.7", "Right Shift" }, ["KEY_CANCEL"] = { ":kbd:ms_naturl:P1.7", "Break" }, } |
Added ext/act486auto/portmap/pcipc_kbd.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | -- mame/src/devices/machine/pckeybrd.cpp portmap = { ["KEY_ESC"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "Esc" }, ["KEY_1"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "1 !" }, ["KEY_2"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "2 @" }, ["KEY_3"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "3 #" }, ["KEY_4"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "4 $" }, ["KEY_5"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "5 %" }, ["KEY_6"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "6 ^" }, ["KEY_7"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "7 &" }, ["KEY_8"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "8 *" }, ["KEY_9"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "9 (" }, ["KEY_0"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "0 )" }, ["KEY_MINUS"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "- _" }, ["KEY_EQUALS"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "= +" }, ["KEY_BACKSPACE"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "<--" }, ["KEY_TAB"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_0", "Tab" }, ["KEY_Q"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "Q" }, ["KEY_W"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "W" }, ["KEY_E"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "E" }, ["KEY_R"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "R" }, ["KEY_T"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "T" }, ["KEY_Y"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "Y" }, ["KEY_U"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "U" }, ["KEY_I"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "I" }, ["KEY_O"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "O" }, ["KEY_P"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "P" }, ["KEY_OPENBRACE"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "[ {" }, ["KEY_CLOSEBRACE"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "] }" }, ["KEY_ENTER"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "Enter" }, ["LCONTROL"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "L-Ctrl" }, ["KEY_A"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "A" }, ["KEY_S"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_1", "S" }, ["KEY_D"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "D" }, ["KEY_F"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "F" }, ["KEY_G"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "G" }, ["KEY_H"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "H" }, ["KEY_J"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "J" }, ["KEY_K"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "K" }, ["KEY_L"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "L" }, ["KEY_COLON"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "; :" }, ["KEY_QUOTE"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "' \"" }, ["KEY_TILDE"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "` ~" }, ["KEY_LSHIFT"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "L-Shift" }, ["KEY_BACKSLASH"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "\\ |" }, ["KEY_Z"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "Z" }, ["KEY_X"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "X" }, ["KEY_C"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "C" }, ["KEY_V"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_2", "V" }, ["KEY_B"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "B" }, ["KEY_N"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "N" }, ["KEY_M"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "M" }, ["KEY_COMMA"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", ", <" }, ["KEY_STOP"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", ". >" }, ["KEY_SLASH"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "/ ?" }, ["KEY_RSHIFT"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "R-Shift" }, ["KEY_ASTERISK"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "KP * (PrtScr)" }, ["KEY_LALT"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "Alt" }, ["KEY_SPACE"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "Space" }, ["KEY_CAPSLOCK"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "Caps" }, ["KEY_F1"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "F1" }, ["KEY_F2"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "F2" }, ["KEY_F3"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "F3" }, ["KEY_F4"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "F4" }, ["KEY_F5"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_3", "F5" }, ["KEY_F6"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "F6" }, ["KEY_F7"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "F7" }, ["KEY_F8"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "F8" }, ["KEY_F9"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "F9" }, ["KEY_F10"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "F10" }, ["KEY_NUMLOCK"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "NumLock" }, ["KEY_SCRLOCK"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "ScrLock" }, ["KEY_7_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "KP 7 (Home)" }, ["KEY_8_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "KP 8 (Up)" }, ["KEY_9_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "KP 9 (PgUp)" }, ["KEY_MINUS_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "KP -" }, ["KEY_4_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "KP 4 (Left)" }, ["KEY_5_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "KP 5" }, ["KEY_6_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "KP 6 (Right)" }, ["KEY_PLUS_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "KP +" }, ["KEY_1_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_4", "KP 1 (End)" }, ["KEY_2_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_5", "KP 2 (Down)" }, ["KEY_3_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_5", "KP 3 (PgDn)" }, ["KEY_0_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_5", "KP 0 (Ins)" }, ["KEY_DEL_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_5", "KP . (Del)" }, ["KEY_BACKSLASH2"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_5", "(84/102)\\" }, ["KEY_F11"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_5", "(MF2)F11" }, ["KEY_F12"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_5", "(MF2)F12" }, ["KEY_ENTER_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)KP Enter" }, ["KEY_RCONTROL"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Right Control" }, ["KEY_SLASH_PAD"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)KP /" }, ["KEY_PRTSCR"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)PRTSCR" }, ["KEY_RALT"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)ALTGR" }, ["KEY_HOME"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Home" }, ["KEY_UP"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Cursor Up" }, ["KEY_PGUP"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Page Up" }, ["KEY_LEFT"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Cursor Left" }, ["KEY_RIGHT"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Cursor Right" }, ["KEY_END"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)End" }, ["KEY_DOWN"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Cursor Down" }, ["KEY_PGDN"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Page Down" }, ["KEY_INSERT"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Insert" }, ["KEY_DEL"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Delete" }, ["KEY_PAUSE"] = { ":board4:fdc37c93x:at_keyboard:pc_keyboard_6", "(MF2)Pause" }, } |
Added ext/act486auto/readme.md.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | # act486auto offset (frame) based automation for MAME machines, it is all pretty rough and was built initially for use with at486 and ct486 machines and msdos622 as a demo, so CHS is hardcoded to a 1G size. # setup in `scripts/` * machine -> create a `machine.lua` with a `t_machine` table * software -> create a `software.lua` with a `t_software` table set any vars your machine or software needs in the respective files with desired scope the `t_` tables row format is `{ offset, delay, portmap, "comment" },` offsets are offset from 0 based on a start delay per machine, `900` for at486 it is not true frames as we only start after machine time starts ## commands * see `portmap.lua` for available key commands * `stop` and `throttle` are special keywords * `fd0_softlist_dev` will insert `flop(n)` into floppy drive 1 * `cd0_softlist_dev` will insert `cdrom` into cdrom drive 1 * `import_<file base name>` will preprocess steps from `t_step` table ## usage with a blank chd image of CHS `2048,16,63` (1G) install msdos622 `mame -w at486 -nvram_directory /dev/null msdos622 -hard1 msdos622.chd -skip_gameinfo -ramsize 64M -plugins -plugin act486auto` with cdrom device `./mame -w at486 -nvram_directory /dev/null os2warp3 -hard1 test.chd -skip_gameinfo -ramsize 64M -board3:ide:ide:1 cdrom -cdrom os2warp3 -plugins -plugin act486auto` expect output on the cli based on your machine and software configurations ``` 11627 14400 14410 Insert Floppy Disk 2 11627 14500 14510 11627 24500 24510 Insert Floppy Disk 3 11627 24600 24610 11627 33600 33610 11627 33700 33710 11627 34200 34205 Empty Floppy Disk Drive 11627 37200 37210 Throttle 11627 37210 37220 Exit ``` ``` col1 current frame col2 offset start col3 offset end (offset + delay) col4 comment ``` perhaps we should use machine time and natkeyboard, perhaps seconds is enough, perhaps more commands and devices should be supported, perhaps later we will sai |
Added ext/act486auto/scripts/at486.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | start = 900 keymap = "ms_naturl" tags = { screen1 = ":isa1:svga_et4k:screen", flop1 = ":board1:fdcsmc:fdc:0:35hd", flop2 = ":board1:fdcsmc:fdc:1:35hd", hard1 = ":board3:ide:ide:0:hdd:image", cdrom1 = ":board3:ide:ide:1:cdrom:image", } t_step = { -- offset, release delay, portmap, comment -- Enter Bios { 100, 10, "KEY_F1", "Enter Bios" }, -- Standard CMOS Setup { 100, 90, "KEY_ENTER", "Standard CMOS Setup" }, { 100, 5, "import_dev_hdd_1G", "Import HDD Type" }, -- Floppies { 10, 5, "KEY_DOWN", "Configure Floppy Drives" }, ---- Drive A { 10, 5, "import_dev_fd_144", "Import Floppy Drive" }, ---- Drive B { 10, 5, "import_dev_fd_144", "Import Floppy Drive" }, -- Exit Standard CMOS Setup { 10, 10, "KEY_ESC", "Exit Standard CMOS Setup" }, -- Advanced CMOS Setup { 10, 5, "KEY_DOWN", "" }, { 20, 10, "KEY_ENTER", "Enter Advanced CMOS Setup" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, -- Boot Order { 10, 5, "KEY_PGUP", "Set Boot Order" }, -- Exit Advanced CMOS Setup { 10, 10, "KEY_ESC", "Exit Advanced CMOS Setup" }, -- Save and Exit { 10, 5, "KEY_F10", "Save and Exit" }, { 10, 5, "KEY_Y", "" }, { 10, 10, "KEY_ENTER", "" }, } -- board3:ide:ide:0 cdrom ATAPI CD-ROM -- cf ATA CompactFlash Card -- cp2024 Conner Peripherals CP-2024 hard disk -- cr589 Matsushita CR589 CD-ROM Drive -- hdd IDE Hard Disk -- px320a PleXCombo PX-320A CD-RW/DVD-ROM Drive -- xm3301 Toshiba XM-3301 CD-ROM Drive -- zip100 Iomega Zip 100MB IDE Drive |
Added ext/act486auto/scripts/c64.lua.
> > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 | start = 100 keymap = "c64kbd" tags = { tape = "c1530", flop1 = "iec8:c1541:uc4:0:525ssqd", screen1 = ":screen" } t_step = {} |
Added ext/act486auto/scripts/ct486.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | start = 900 keymap = "ms_naturl" tags = { screen1 = ":isa1:svga_et4k:screen", flop1 = ":board1:fdcsmc:fdc:0:35hd", flop2 = ":board1:fdcsmc:fdc:1:35hd", hard1 = ":board3:ide:ide:0:hdd:image", cdrom1 = ":board3:ide:ide:1:cdrom:image", } t_step = { { 100, 10, "KEY_F1", "Enter Bios" }, { 100, 5, "KEY_ENTER", "Standard CMOS Setup" }, { 10, 5, "KEY_RIGHT", "" }, { 10, 5, "KEY_RIGHT", "" }, { 10, 5, "KEY_RIGHT", "" }, { 10, 5, "KEY_RIGHT", "" }, { 10, 5, "KEY_RIGHT", "" }, { 10, 5, "KEY_RIGHT", "" }, { 10, 5, "KEY_RIGHT", "" }, { 100, 5, "import_dev_hdd_1G", "Import HDD Type" }, { 10, 5, "KEY_RIGHT", "" }, { 10, 5, "KEY_PGUP", "Configure Floppy Drives" }, { 10, 5, "import_dev_fd_144", "Import Floppy Drive" }, { 10, 5, "KEY_PGUP", "" }, { 10, 5, "import_dev_fd_144", "Import Floppy Drive" }, { 10, 10, "KEY_ESC", "Exit Standard CMOS Setup" }, { 10, 5, "KEY_DOWN", "" }, { 20, 10, "KEY_ENTER", "Enter Advanced CMOS Setup" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_DOWN", "" }, { 10, 5, "KEY_PGUP", "Set Boot Order" }, --{ 10, 5000, "pause", "Pause Emulator"}, { 10, 10, "KEY_ESC", "Exit Advanced CMOS Setup" }, { 10, 5, "KEY_F10", "Save and Exit" }, { 10, 5, "KEY_Y", "" }, { 10, 10, "KEY_ENTER", "" }, } |
Added ext/act486auto/scripts/dev_fd_144.lua.
> > > > | 1 2 3 4 | t_step = { { 10, 5, "KEY_PGUP", "1.44M Drive" }, { 10, 5, "KEY_DOWN", "" }, } |
Added ext/act486auto/scripts/dev_hdd_100M.lua.
> > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | t_step = { { 100, 5, "KEY_PGUP", "Set HDD Type" }, ---- Cylinders { 10, 5, "KEY_2", "Cylinders" }, { 10, 5, "KEY_5", "" }, { 10, 5, "KEY_6", "" }, { 50, 5, "KEY_RIGHT" }, ---- Heads { 10, 5, "KEY_1", "Heads" }, { 10, 5, "KEY_6", "" }, { 50, 5, "KEY_RIGHT", "" }, { 50, 5, "KEY_RIGHT", "" }, { 50, 5, "KEY_RIGHT", "" }, ---- Sectors { 10, 5, "KEY_5", "Sectors" }, { 10, 5, "KEY_0", "" }, { 50, 5, "KEY_RIGHT", "" }, } |
Added ext/act486auto/scripts/dev_hdd_1G.lua.
> > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | t_step = { { 100, 5, "KEY_PGUP", "Set HDD Type" }, ---- Cylinders { 10, 5, "KEY_2", "Cylinders" }, { 10, 5, "KEY_0", "" }, { 10, 5, "KEY_4", "" }, { 10, 5, "KEY_8", "" }, { 40, 5, "KEY_RIGHT", "" }, ---- Heads { 10, 5, "KEY_1", "Heads" }, { 10, 5, "KEY_6", "" }, { 50, 5, "KEY_RIGHT", "" }, { 50, 5, "KEY_RIGHT", "" }, { 50, 5, "KEY_RIGHT", "" }, ---- Sectors { 10, 5, "KEY_6", "Sectors" }, { 10, 5, "KEY_3", "" }, { 50, 5, "KEY_RIGHT", "" }, } |
Added ext/act486auto/scripts/dev_hdd_500M.lua.
> > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | t_step = { { 100, 5, "KEY_PGUP", "Set HDD Type" }, ---- Cylinders { 10, 5, "KEY_1", "Cylinders" }, { 10, 5, "KEY_0", "" }, { 10, 5, "KEY_1", "" }, { 10, 5, "KEY_5", "" }, { 40, 5, "KEY_RIGHT" }, ---- Heads { 10, 5, "KEY_1", "Heads" }, { 10, 5, "KEY_6", "" }, { 50, 5, "KEY_RIGHT", "" }, { 50, 5, "KEY_RIGHT", "" }, { 50, 5, "KEY_RIGHT", "" }, ---- Sectors { 10, 5, "KEY_6", "Sectors" }, { 10, 5, "KEY_3", "" }, { 50, 5, "KEY_RIGHT", "" }, } |
Added ext/act486auto/scripts/pcipc.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | start = 200 keymap = "pcipc_kbd" tags = { screen1 = ":pci:4:virge:screen", flop1 = ":board4:fdc37c93x:fdc:0:35hd", flop2 = ":board4:fdc37c93x:fdc:1:35hd", hard1 = ":pci:07.1:ide1:0:hdd:image", cdrom1 = ":pci:07.1:ide2:0:cdrom:image", } -- The date is hard-coded for FreeDOS 1.4's release date. -- t_step = { -- Enter BIOS { 50, 10, "KEY_F2", "Enter BIOS" }, { 550, 1, "KEY_0", "Setting date and time" }, -- Hour { 4, 2, "KEY_6", "" }, { 4, 2, "KEY_TAB", "" }, { 4, 2, "KEY_0", "" }, -- Minute { 4, 2, "KEY_0", "" }, { 4, 2, "KEY_TAB", "" }, { 4, 2, "KEY_0", "" }, -- Second { 4, 2, "KEY_0", "" }, { 4, 2, "KEY_DOWN", "" }, { 4, 2, "KEY_0", "" }, -- Month { 4, 2, "KEY_4", "" }, { 4, 2, "KEY_TAB", "" }, { 4, 2, "KEY_0", "" }, -- Day { 4, 2, "KEY_5", "" }, { 4, 2, "KEY_TAB", "" }, { 4, 2, "KEY_2", "" }, -- Year { 4, 2, "KEY_0", "" }, { 4, 2, "KEY_2", "" }, { 4, 2, "KEY_5", "" }, { 4, 2, "KEY_DOWN", "" }, { 4, 2, "KEY_DOWN", "" }, { 4, 2, "KEY_ENTER", "Setting up second floppy" }, { 4, 2, "KEY_UP", "" }, { 4, 2, "KEY_UP", "" }, { 4, 2, "KEY_ENTER", "" }, { 4, 2, "KEY_DOWN", "" }, { 4, 2, "KEY_DOWN", "" }, { 4, 2, "KEY_DOWN", "" }, { 4, 2, "KEY_ENTER", "Setting secondary master to auto" }, { 4, 2, "KEY_MINUS", "" }, { 4, 2, "KEY_ESC", "" }, { 4, 2, "KEY_LEFT", "" }, { 4, 2, "KEY_ENTER", "Exit and save changes" }, { 4, 2, "KEY_ENTER", "" }, } |
Added ext/act486auto/scripts/software/at486/freedos13rc4_144.lua.
> > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | software = "freedos13rc4_144" chd = "import_dev_hdd_500M" -- offset, release delay, portmap, comment t_software = { -- FREEDOS RC4 { 10, 5, "import_at486", "Import machine" }, { 100, 10, "attach_flop1_flop1", "" }, { 5800, 5, "KEY_Y", "" }, { 14500, 5, "KEY_Y", "" }, { 15500, 5, "eject_flop1", "" }, { 3000, 10, "throttle", "" }, } |
Added ext/act486auto/scripts/software/at486/msdos622.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | software = "msdos622" chd = "import_dev_hdd_500M" -- offset, release delay, portmap, comment t_software = { -- MSDOS 622 { 10, 5, "import_at486", "Import machine" }, { 10, 10, "attach_flop1_flop1", "Insert Floppy Disk 1" }, { 2500, 10, "KEY_ENTER", "" }, { 100, 10, "KEY_ENTER", "" }, { 100, 10, "KEY_ENTER", "" }, { 100, 10, "KEY_ENTER", "" }, { 2800, 10, "KEY_ENTER", "" }, { 100, 10, "KEY_ENTER", "" }, { 6900, 10, "attach_flop1_flop2", "Insert Floppy Disk 2" }, { 100, 10, "KEY_ENTER", "" }, { 10000, 10, "attach_flop1_flop3", "Insert Floppy Disk 3" }, { 100, 10, "KEY_ENTER", "" }, { 9000, 10, "KEY_ENTER", "" }, { 100, 10, "KEY_ENTER", "" }, { 500, 5, "eject_flop1", "Empty Floppy Disk Drive" }, { 3000, 10, "throttle", "Throttle" }, { 10, 10, "stop", "Exit" }, } |
Added ext/act486auto/scripts/software/at486/os2warp3.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | -- this currently crashes during install, needs more work software = "os2warp3" chd = "import_dev_hdd_1G" t_software = { { 10, 5, "import_at486", "Import machine" }, { 10, 10, "attach_flop1_flop1", "Insert Installation Disk" }, { 2000, 10, "attach_cdrom1_cdrom1", "Insert CDROM ATAPI" }, { 1500, 10, "attach_flop1_flop2", "Insert Diskette 1" }, { 10, 10, "KEY_ENTER", "" }, -- { 6500, 10, "KEY_E", "Easy Installation" }, { 6500, 10, "KEY_A", "Advanced Installation" }, { 30, 10, "KEY_A", "" }, -- Enter Select Partition -- Enter Open Menu -- B Install Boot Manager -- DOWN Select Unformatted Spaces -- Enter Open Menu -- C Create Partition -- Enter Partition Size -- P Create Primary Partition -- -- { 20, 10, "KEY_A", "" }, -- { 80, 10, "KEY_F", "" }, -- { 20, 5, "KEY_ENTER", "" }, { 50, 5, "eject_flop1", "Empty Floppy Disk Drive 1" }, { 10, 5, "eject_flop2", "Empty Floppy Disk Drive 2" }, { 20, 10, "soft_reset", "" }, { 10, 10, "throttle", "Throttle" }, -- { 20, 10, "attach_flop1_flop1", "Insert Installation Disk" }, -- { 150, 10, "throttle", "Throttle" }, -- { 3500, 10, "attach_flop1_flop2", "Insert Diskette 1" }, -- { 10, 10, "KEY_ENTER", "" }, -- { 5200, 5, "eject_flop1", "Empty Floppy Disk Drive 1" }, -- { 10, 5, "eject_flop2", "Empty Floppy Disk Drive 2" }, -- { 10, 5, "eject_cdrom1", "Empty Floppy Disk Drive" }, -- { 10, 10, "KEY_ENTER", "Installer finised" }, -- { 3000, 10, "throttle", "Throttle" }, -- { 10, 10, "stop", "Exit" }, } |
Added ext/act486auto/scripts/software/c64/barbaria.lua.
> > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | software = "barbaria" -- offset, release delay, portmap, comment t_software = { { 100, 5, "import_c64", "Import machine" }, { 10, 5, "attach_flop1_flop1", "" }, { 10, 5, "KEY_L", "" }, { 10, 5, "KEY_O", "" }, { 10, 5, "KEY_A", "" }, { 10, 5, "KEY_D", "" }, { 10, 5, "KEY_LSHIFT,KEY_2", "" }, { 10, 5, "KEY_ASTERIX", "" }, { 10, 5, "KEY_LSHIFT,KEY_2", "" }, { 10, 5, "KEY_COMMA", "" }, { 10, 5, "KEY_8", "" }, { 10, 5, "KEY_COMMA", "" }, { 10, 5, "KEY_1", "" }, { 10, 5, "KEY_ENTER", "" }, { 60000, 5, "throttle", "" }, } |
Added ext/act486auto/scripts/software/c64/bldrdash.lua.
> > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | software = "bldrdash" -- hud = true -- offset, release delay, portmap, comment t_software = { { 100, 5, "import_c64", "Import machine" }, { 10, 5, "attach_flop1_flop1", "" }, { 10, 5, "KEY_L", "" }, { 10, 5, "KEY_O", "" }, { 10, 5, "KEY_A", "" }, { 10, 5, "KEY_D", "" }, { 10, 5, "KEY_LSHIFT,KEY_2", "" }, { 10, 5, "KEY_ASTERIX", "" }, { 10, 5, "KEY_LSHIFT,KEY_2", "" }, { 10, 5, "KEY_COMMA", "" }, { 10, 5, "KEY_8", "" }, { 10, 5, "KEY_COMMA", "" }, { 10, 5, "KEY_1", "" }, { 10, 5, "KEY_ENTER", "" }, { 2500, 5, "throttle", "" }, } |
Added ext/act486auto/scripts/software/c64/turrican.lua.
> > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | software = "turrican" -- offset, release delay, portmap, comment -- we dont call attach for a cassette t_software = { { 100, 5, "import_c64", "Import machine" }, { 10, 5, "KEY_L", "" }, { 10, 5, "KEY_O", "" }, { 10, 5, "KEY_A", "" }, { 10, 5, "KEY_D", "" }, { 10, 5, "KEY_LSHIFT,KEY_2", "" }, { 10, 5, "KEY_ASTERIX", "" }, { 10, 5, "KEY_LSHIFT,KEY_2", "" }, { 10, 5, "KEY_ENTER", "" }, { 10, 5, "cass_play", "" }, { 3400, 5, "KEY_R", "" }, { 10, 5, "KEY_U", "" }, { 10, 5, "KEY_N", "" }, { 10, 5, "KEY_ENTER", "" }, { 60000, 5, "throttle", "" }, } |
Added ext/act486auto/scripts/software/ct486/win2k.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | -- mame -w ct486 -nvram_directory /dev/null win2kps4 -flop1 wndws98b -hard1 /mnt/mame-media/media/hdd/test.chd -skip_gameinfo -ramsize 64M -board3:ide:ide:1 cdrom -cdrom1 win2kps4 -uimodekey INSERT -plugins -plugin act486auto software = "win2k" chd = "import_dev_hdd_1G" t_software = { { 100, 5, "import_ct486", "Import machine" }, { 100, 10, "attach_flop1_flop1", "start install" }, { 7200, 10, "attach_flop1_flop2", "" }, { 100, 5, "KEY_ENTER", "Disk2" }, { 15800, 10, "attach_flop1_flop3", "" }, { 100, 5, "KEY_ENTER", "Disk3" }, { 11800, 10, "attach_flop1_flop4", "" }, { 100, 5, "KEY_ENTER", "Disk4" }, { 13000, 10,"KEY_ENTER", "Start Install" }, { 100, 5, "KEY_F8", "Agree to terms" }, { 100, 5, "KEY_ENTER", "Format Disk" }, { 100, 5, "KEY_ENTER", "NTFS" }, { 170000, 10,"KEY_ENTER", "Start Install" }, -- { 17000, 10,"attach_flop1_flop5", "" }, -- { 100, 5, "KEY_ENTER", "Disk5" }, -- { 17000, 10, "attach_flop1_flop6", "" }, -- { 100, 5, "KEY_ENTER", "Disk6" }, -- { 17000, 10, "attach_flop1_flop7", "" }, -- { 100, 5, "KEY_ENTER", "Disk7" }, -- { 17000, 10, "attach_flop1_flop8", "" }, -- { 100, 5, "KEY_ENTER", "Disk8" }, -- { 17000, 10, "attach_flop1_flop9", "" }, -- { 100, 5, "KEY_ENTER", "Disk9" }, -- { 202000, 5, "eject_flop1", "Empty floppy drive" }, -- { 100, 5, "KEY_ENTER", "Reboot" }, -- { 10000, 5, "KEY_ENTER", "" }, -- { 100, 5, "KEY_F8", "Install" }, -- { 100, 5, "KEY_ENTER", "Select Partition" }, -- { 100, 5, "KEY_ENTER", "Leave it intact" }, -- -- gui (no mouse) -- { 300000, 5, "KEY_ENTER", "Regional" }, -- { 100, 5, "KEY_M", "UserName" }, -- { 100, 5, "KEY_A", "" }, -- { 100, 5, "KEY_M", "" }, -- { 100, 5, "KEY_E", "" }, -- { 100, 5, "KEY_TAB", "" }, -- { 100, 5, "KEY_TAB", "" }, -- { 100, 5, "KEY_TAB", "" }, -- -- product key -- { 100, 5, "KEY_ENTER", "" }, -- { 100, 5, "KEY_TAB", "" }, -- { 100, 5, "KEY_M", "Password" }, -- { 100, 5, "KEY_A", "" }, -- { 100, 5, "KEY_M", "" }, -- { 100, 5, "KEY_E", "" }, -- { 100, 5, "KEY_TAB", "" }, -- { 100, 5, "KEY_M", "" }, -- { 100, 5, "KEY_A", "" }, -- { 100, 5, "KEY_M", "" }, -- { 100, 5, "KEY_E", "" }, -- { 100, 5, "KEY_ENTER", "" }, -- { 100, 5, "KEY_ENTER", "Timezone" }, -- { 100, 5, "KEY_ENTER", "ALWAYS" }, } |
Added ext/act486auto/scripts/software/pcipc/freedos14.lua.
> > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | software = "freedos14" t_software = { { 10, 5, "import_pcipc", "Import machine" }, { 4920, 5, "KEY_ENTER", "" }, { 30, 5, "KEY_ENTER", "" }, { 100, 5, "KEY_UP", "" }, { 10, 5, "KEY_ENTER", "Partition hard drive" }, { 300, 5, "KEY_ENTER", "Reboot" }, { 5200, 5, "KEY_ENTER", "English Language" }, { 30, 5, "KEY_ENTER", "Continue with install" }, { 55, 5, "KEY_UP", "" }, { 10, 5, "KEY_ENTER", "Format C:" }, { 15, 5, "KEY_ENTER", "" }, { 120, 5, "KEY_ENTER", "US English keyboard layout" }, { 95, 5, "KEY_ENTER", "Overwrite MBR" }, { 12, 5, "KEY_ENTER", "Full install" }, { 12, 5, "KEY_UP", "" }, { 5, 5, "KEY_ENTER", "Installing FreeDOS" }, -- { 58700, 5, "eject_flop1", "Empty floppy disk drive" }, -- { 0, 5, "KEY_ENTER", "Final reboot ..." }, -- { 2550, 5, "KEY_ENTER", "" }, } |