Commit Graph

781 Commits

Author SHA1 Message Date
smf-
36944269bd DAC WIP, started documenting the DACs in use. [smf]
ataxx: Fixed missing sound channel caused by one dac not being hooked up and one dac being hooked up to two addresses.
bestbest: Fixed high pitch screech caused by incorrect addressing (two dacs weren't hooked up and two were hooked up to two addresses).
cchasm: Fixed static noise generation caused by feeding the same bit to both dacs.
cheekyms: Slightly improved sound by implementing sound triggers as 8 x 1 bit dacs instead of 1 x 8 bit dac.
galeb: Fixed sound by implementing it according to http://www.deltasoft.com.hr/retro/galebemu.htm & implemented enough of LOAD/SAVE to stop it hanging.
hard drivin: (all games in driver) Improved 12 bit controls, although centre still goes out of sync.
mea8000: Converted to a sound device.
megaphx: Fixed noisy samples due to wrong format.
microvsn: Fixed sound pitch caused by incorrect usage of write_signed8().
seicross: Changed to a 4 bit dac as samples are packed nibble.
spaceg: Preliminary sound using space invaders samples.
suna8: Changed to a 4 bit dac as samples are packed nibble.
vcombat: Fixed static during machine gun fire due to incorrect dc offset removal.
vectrex: Fixed noisy samples due to wrong format.
wheelfir: Fixed sound, eeprom & analogue steering wheel and brake pedal.
2016-10-17 16:04:02 +01:00
therealmogminer@gmail.com
8682c73305 -Added: Dallas DS1386-8K and DS1386-32K timekeepers (largely untested). [Ryan Holtz] 2016-10-16 01:49:06 +02:00
R. Belmont
326e4ba64c Merge pull request #1506 from fulivi/hp9845_dev6
Hp9845: added support of I/O cards
2016-10-13 14:05:19 -04:00
fulivi
561ded4524 hp9845: handling of I/O slots added. Implemented HP98035 RTC card. 2016-10-12 16:29:02 +02:00
Miodrag Milanovic
25ce0fdf9b console in separate class (nw) 2016-10-12 14:21:17 +02:00
Miodrag Milanovic
ac6256b3e5 media_identifier in separate file (nw) 2016-10-12 13:50:30 +02:00
Brad Hughes
fd94538c21 Changing spaces to tabs for fac14f5 (nw) 2016-10-09 19:51:12 -04:00
Brad Hughes
fac14f51d8 Fix SDL build on windows: asio.hpp requires _WIN32_WINNT (nw) 2016-10-09 19:45:17 -04:00
Miodrag Milanovic
3c4c4e08ed Initial work on console interface (nw)
Use Ctrl-Z to close console on any OS. To start use -console parameter
2016-10-09 14:38:41 +02:00
Miodrag Milanovic
3628549385 Added more warning disable to support compile on various clang versions (nw) 2016-10-08 09:37:31 +02:00
Miodrag Milanovic
31c8b10479 Fix compile (nw) 2016-10-07 14:56:47 +02:00
Miodrag Milanovic
c0a5494de5 Replaced code usage of libuv with asio library (nw) 2016-10-07 14:15:01 +02:00
AJR
f1b0dfe64a Separate natural keyboard support from ioport.cpp (nw) 2016-10-02 00:07:43 -04:00
angelosa
f4749d03f7 Base WatchDog Timer device 2016-09-27 18:36:59 +02:00
angelosa
f6ad513ab0 Written stub SH7604 BUS device (not hooked up to SH2 yet). 2016-09-27 16:21:54 +02:00
Vas Crabb
33b2c73395 srcclean (nw) 2016-09-26 04:51:59 +10:00
Nigel Barnes
6a19971bbe bbc: added opus challenger (floppy and ramdisc) device on 1mhz bus 2016-09-23 11:53:24 +01:00
Nigel Barnes
b396019b8c bbc: added joyport slot device to Master Compact, defaulting to joystick 2016-09-23 10:55:28 +01:00
Michael Zapf
2bf93a51e8 Added HxC HFE disk format. 2016-09-18 12:31:13 +02:00
Vas Crabb
76a6b78008 Merge pull request #1413 from npwoods/coco_dragon_fdc
CoCo and Dragon FDC code overhaul
2016-09-17 12:32:38 +10:00
Nathan Woods
a2daca9f9d Split CoCo and Dragon FDC code, added save state support, fixed regression introduced on the Dragon FDC from 0.154 and general cleanup. 2016-09-16 21:07:32 -04:00
R. Belmont
0ecea843d0 Merge pull request #1398 from fulivi/hp9845_tools
Imgtool now supports HP9845B tape image
2016-09-16 14:05:35 -04:00
Brad Hughes
d5ab804c2b Merge pull request #1403 from bradhugh/monitor_module
Convert OSD monitor info to modules plus add DXGI implementation
2016-09-16 13:51:18 -04:00
cracyc
8ab7875e89 mcd: add incomplete Mitsumi ISA CDROM emulation [Carl] 2016-09-16 10:07:34 -05:00
Brad Hughes
bf52d11826 Convert OSD monitor info to modules plus add DXGI implementation 2016-09-14 08:32:05 -04:00
Olivier Galibert
d8aa10fbc1 pcipc: sandbox for emulating a modern-ish pc (nw) 2016-09-12 11:55:16 +02:00
fulivi
0474948833 imgtool: WIP for hp9845 tape support 2016-09-10 15:52:06 +02:00
cracyc
9d101cad6a ui: remove datfile_manager (nw) 2016-09-06 22:11:01 -05:00
Curt Coder
c4d0fbc48b pc1512: Added mouse port slot interface. [Curt Coder] 2016-09-05 22:09:58 +03:00
Nigel Barnes
7ae7811ca1 bbc: moved joystick to analogue port slot device
- added Voltmace self-centering joysticks
2016-09-05 17:38:07 +01:00
Nigel Barnes
e7250d3c92 bbcb: moved fdc to slot device to support various controller boards:
- Acorn 8271 and 1770, supporting Acorn, Amcom, Watford DFS's
- Cumana QFS (8877a)
- Opus DDOS and EDOS (1770, 2793, 2791)
- Watford DDFS (1770 and 1772)
- removed fake bbcb1770 machine
2016-09-05 17:38:07 +01:00
Miodrag Milanovic
22df94bf67 Fix benchmarks build and google test build (nw) 2016-09-03 14:54:15 +02:00
Miodrag Milanovic
9a8964d5d0 Fix build (nw) 2016-09-03 13:53:44 +02:00
Nigel Barnes
2aed582096 electron: added Acorn Plus 3 expansion as slot device (floppy support)
- reset expansion devices on BREAK
- minor progress on M2501 device
2016-09-02 21:47:02 +01:00
Vas Crabb
234e91f9fb Add Lua-cleaning ability to srcclean 2016-08-30 14:57:38 +10:00
Miodrag Milanovic
62fe8b8980 some C++14 features are not supported by VS2013. VS2015 is free for home use so no need for legacy support (nw) 2016-08-27 11:15:38 +02:00
Vas Crabb
75be4dff5f While I'm causing full recompiles all the time, reduce necessary number of instantiations of parts of string formatting engine 2016-08-27 16:45:53 +10:00
therealmogminer@gmail.com
de19eb547f Added YM2203, YM3526, AY-3-8910, NES APU, DMG APU, K053260, and MultiPCM to vgmplay, nw 2016-08-18 16:09:12 +02:00
Curt Coder
e85958b647 compis: Created a bus for the graphics card slot. [Curt Coder] 2016-08-16 11:15:29 +03:00
Olivier Galibert
82c408f54c dirom: device_rom_interface for sound chips with rom/memory map alternative [O. Galibert] 2016-08-15 22:36:39 +02:00
Giuseppe Gorgoglione
318952746f gba: make video subsystem into a device
Additional info taken from http://problemkaputt.de/gbatek.htm
by Martin Korth
2016-08-15 19:23:16 +02:00
Miodrag Milanovic
4f84793a05 made proper formats compiled only if needed (nw) 2016-08-12 18:27:54 +02:00
Miodrag Milanovic
b966180061 Compile netlist and lua only if used (nw) 2016-08-12 15:03:45 +02:00
Nathan Woods
75f5be77b0 Changed how ROM_COPY and ROM_FILL are represented in tiny_rom_entry to be more how they were in the past
Turbosub had a ROM_COPY declaration with an expression ('ROM_COPY( "main_code", 0x18000 + 0x2000,...) and this simply did not work with the new model.  This required changing ROM_* declarations to more resemble how they used to be and to perform the conversion on load.
2016-08-11 17:16:35 -04:00
Curt Coder
8bf6e9ebb5 pofo: Added skeleton for PCD3311T sound chip. (nw) 2016-08-10 13:05:14 +03:00
Curt Coder
6673af1285 pofo: Added memory card slot interface and ROM/RAM cards. [Curt Coder] 2016-08-08 14:44:20 +03:00
Miodrag Milanović
f67311c5a5 Merge pull request #1180 from npwoods/split_softlist_code_redo
Redo of split of src/emu/softlist.[cpp|h]
2016-08-08 13:43:06 +02:00
Miodrag Milanovic
3917850b61 Update BX and BGFX (nw) 2016-08-06 14:20:16 +02:00
Nathan Woods
c77310389e Removed src/lib/util/cstrpool.[cpp|h]; it is no longer used 2016-08-05 08:29:32 -04:00
James Wallace
2fb36796fb Separation of the LDP-1450 laserdisc player to its own device. 2016-08-04 20:12:01 +01:00
Nathan Woods
f9db568146 Redo of split of src/emu/softlist.[cpp|h]
This is a redo of the split first submitted in #137, with the following differences:
* The newly refactored rom_entry data structure is used
* I've kept the refactored softlist code in src/emu, in order to defer the mechanical process of moving it
* I've kept includes of softlist[_dev].h out of diimage.h, so that changes to either do not trigger an emu.h recompilation
* Obviously, this goes against the latest master
2016-08-02 17:40:49 -04:00
Nathan Woods
ee302246c9 Changes rom_entry from a struct to a class, storing its strings as std::string and separated the declaration into a new header.
This should really be followed up by further changes to eliminate the usage of the weird accessor macros in favor of conventional C++
accessors
2016-08-01 08:01:34 -04:00
Vas Crabb
5fe3b907af make buffered serial a mixin to promote reuse [Vas Crabb] 2016-07-30 20:34:16 +10:00
Dirk Best
c597f40d83 apricot: create bus interface for the keyboard interface, make hle keyboard emulation a bus device 2016-07-30 11:17:07 +02:00
Dirk Best
412ca1644c apricot: move expansion bus to its own directory 2016-07-30 11:17:03 +02:00
Vas Crabb
eac2a1fcc5 Keyboard/terminal improvements: [Vas Crabb]
* Mark lots of things constexpr in attotime and turn macros into functions
* Add base classes for HLE matrix keyboard and buffered RS232 device
* Make generic keyboard/terminal more usable
* Keyboard has configurable typematic delay/rate
* Keyboard has selectable JIS/ANSI layout
* Keyboard handles simultaneous keypresses more intuitively
* Keyboard uses meta to set high bit
* Terminal has configurable auto LF on CR, auto CR on LF and local echo
* Terminal has audible bell
* Untangle Olivetti M20 keyboard from generic_keyboard
* Add notes to Olivetti M20 keyboard emulation
* Make Olivetti M20 keyboard match physical layout
* Untangle RM Nimbus keyboard from generic_keyboard
* Fix natural keyboard mode with RM Nimbus
* Untangle x68k keyboard from generic_keyboard
* Improve x68k key names and mapping
* Improve x68k typematic behaviour
* Untangle QX-10 keyboard from generic_keyboard
* Keep NGEN keyboard barely working
2016-07-27 21:59:32 +10:00
Nathan Woods
4aa0ab1724 Moved src/emu/hash.[cpp|h] into src/lib/util, and namespaced that code (and hashing.[cpp|h]) into util:: 2016-07-23 12:49:33 -04:00
Dirk Best
6b70c2a0e8 Add a device as proof of concept which merges several input lines into a common output line, supporting both active high and active low inputs 2016-07-23 15:33:15 +02:00
Miodrag Milanovic
a9e89e4f17 Fixed separate compile of drivers using sharc/ADSP21062 cpu (nw) 2016-07-23 11:10:17 +02:00
Vas Crabb
269e3f9976 Add an emulated Sun keyboard to RS232 adaptor [Vas Crabb] 2016-07-22 17:02:22 +10:00
Vas Crabb
e2774ba254 sunkbd: split up HLE into proper type 3, type 4 and type 5, hook up sun3 family keyboard, set default keyboard appropriately for different families [Vas Crabb] 2016-07-22 15:21:40 +10:00
Vas Crabb
19ce9fd41a Make Sun keyboard port its own bus [Vas Crabb] 2016-07-21 02:25:42 +10:00
Miodrag Milanovic
58f3467d59 temp for mingw gcc 6.1 till update bgfx code (nw) 2016-07-20 17:10:06 +02:00
Nigel Barnes
91fa0d4397 bbc: added preliminary slots for expansion 2016-07-18 17:00:40 +01:00
Olivier Galibert
4992a769c6 Merge pull request #1113 from shattered/_c600e49
poisk1: unbreak after "Memory fun" + add B623 sound card (skeleton) and basic softlist
2016-07-17 21:20:42 +02:00
Sergey Svishchev
810dd0af8c poisk1: B623 sound card (skeleton) and basic softlist 2016-07-17 20:08:31 +03:00
Vas Crabb
63477dd345 HLE serial keybord compatible with Sun Type 4/5/6 connected to sun4/sun4c [Vas Crabb]
The keyboard should communicate at 1,200 Baud, but due to bugs in the SCC
it's set to 9,600 Baud.  The sun4c machines program the Baud rate
generator dividers for the serial ports with 00:0e and the dividers for
the keyboard/mouse ports with 00:7e.  Therefore the ratio of Baud rates
should be (0x7e + 2) / (0x0e + 2) = 128 / 16 = 8.  However both the RS232
ports and the keyboard/mouse ports run at 9,600 Baud, when the
keyboard/mouse ports should run at 1,200 Baud (which is 1/8 of 9,600 which
matches the ratio of the divider values).

I've artificially limited the rate the keyboard can transmit at to be no
faster than it could at 1,200 Baud using a timer.  I can remove this hack
once we get correct SCC divider behaviour.

I attempted to hook up the SCC interrupts to level 12 as specified in the
SPARCstation-1 Programmer's Model in the table on Page 19.  No interrupts
seem to be generated, so either I've screwed this up somehow, the Sun
isn't enabling interrupts, or there's another bug in the SCC emulation.
Sorry if I've screwed it up - I won't be offended if someone replaces it
wholesale.

The keyboard receives the reset commands from the Sun and sends back the
self test pass response, but the SCC seems to get a buffer overrun error.
So it appears that the received data isn't being read out.  I haven't been
able to work out why.
2016-07-18 01:13:19 +10:00
Nigel Barnes
201dcedd2d fix mistake (nw) 2016-07-16 21:54:00 +01:00
Nigel Barnes
e7b79b1b52 New NOT WORKING machine
=======================
BT Merlin M2105  [Nigel Barnes]
2016-07-16 21:49:17 +01:00
Nigel Barnes
9104c9d523 renamed bbc_dsk to acorn_dsk
- split ssd/dsd formats
- added opus ddos format
- split adfs into oldmap and newmap formats for archimedes
- logging
2016-07-16 19:48:44 +01:00
R. Belmont
13c8e76cf7 Merge pull request #1093 from stevenc99/kfreebsd
GNU/kFreeBSD support
2016-07-16 06:09:32 -04:00
R. Belmont
72b19e0c25 Merge pull request #1072 from oxc/pkg_config_from_env
Take pkg-config path from env if defined
2016-07-16 06:04:52 -04:00
Vas Crabb
231bfb6237 UI refactoring: [Vas Crabb]
* .h -> .ipp for things that aren't really headers
* make more stuff in selmenu private
* move the remembered driver/software associated with the snap to the cache object
* start cleaning up constness in datfile manager - it's still a mess of non-const statics
2016-07-15 16:05:23 +10:00
Steven Chamberlain
ad91a1391c qtdbg: compile with -fPIC on freebsd also 2016-07-13 13:31:11 +01:00
Vas Crabb
32873fc1dd balance configuration macros in genie scripts 2016-07-13 20:25:11 +10:00
Nathan Woods
649e4c797b Split "widgets" code out of ui::menu::global_state into a separate module 2016-07-10 17:22:49 -04:00
Bernhard Frauendienst
cb5495f738 Take pkg-config path from env if defined 2016-07-09 22:49:30 +02:00
Vas Crabb
1abf53ca6a UI code refactoring: [Vas Crabb]
* Split out main menu and dat box drawing from base class
* Make a bunch of class statics proper per-machine persistent objects
* Object lifecycle fixes
2016-07-10 03:01:13 +10:00
Joakim Larsson Edstrom
1459d8316c New device: FGA-002 Force Gate Array, splitted out from fccpu30 driver, mostly a skeleton but most registers can be written and read back, 8 bit timer is implemented 2016-07-06 20:45:59 +02:00
Nathan Woods
c105b9d8a9 Split UI related to file creation from filesel.[cpp|h] into filecreate.[cpp|h] 2016-07-03 13:12:52 -04:00
Brad Hughes
f37865b329 Add a couple msys2 updated mingw headers to winsdk-override to support linux cross-compile with stock mingw-w64 (nw) 2016-07-02 16:03:01 -04:00
Jeffrey Clark
245b8d4163 android strip SDL lib (nw) 2016-06-30 16:26:44 -05:00
Olivier Galibert
ff2887100f ym2413: Isolate, objectify, integrate [O. Galibert] 2016-06-29 19:26:19 +02:00
Olivier Galibert
ded91ac888 ym2151: Isolate, objectify, integrate [O. Galibert] 2016-06-29 19:26:10 +02:00
Miodrag Milanovic
b6a6a03fa5 fix for Android build (nw) 2016-06-28 11:04:56 +02:00
Nathan Woods
5009b55430 Introduced src/lib/util/timeconv.[c|h], moved code from un7z.cpp into it, and implemented win_time_point_from_filetime() in terms of it 2016-06-26 08:12:07 -04:00
Vas Crabb
5cee9e9bc4 POSIX implementation for new directory read features, cleanup of Windows implementation, return directory handle as smart pointer, fix full build [Vas Crabb] 2016-06-25 03:35:23 +10:00
etabeta78
3177a9c3ed sg1000.cpp: many improvements [Enik Land]
- Create a SG-1000 expansion slot.
  - Hook up the SG-1000 expansion slot to sg1000.cpp and sms.cpp (sg1000m3).
  - Split the sk1100 code from sg1000.cpp and attach it to the new expansion slot.
  - Create a new FM Sound Unit device and attach it to the new expansion slot.
  - For the sc3000 driver, re-add sk1100 as a fixed SG-1000 expansion device.
  - Add sg1000 software list to sg1000m3 and Japanese/Korean SMS drivers.

sms.cpp: implemented some new findings [Enik Land]
  - Remove some mirrors for ports $DC/$DD on SMSJ based on Charles' hw tests.
  - Add basic C-Sync callback to 315_5124.cpp, based on Charles' hw tests.
  - Add built-in Rapid Fire (uses C-Sync) for SMSJ and Korean SMS1 drivers.
  - Add new SMS drivers due to XTAL differences:
            sms1br - Tec Toy Master System I (Brazil)
            sms2br - Tec Toy Master System II (Brazil)
            smsbr - Tec Toy Master System III Compact (Brazil)
            sms1paln - Tec Toy Master System I (PAL-N)
            sms2paln - Tec Toy Master System II (PAL-N)
            smspaln - Tec Toy Master System III Compact (PAL-N)
    Brazil is PAL-M TV system, but I decided to call it by the
    country name, seems to be better recognizable and for
    emulation looks more like a NTSC system. PAL-N is used
    in Argentina, Paraguay and Uruguay and looks closer to
    the European PAL system when compared to PAL-M.
2016-06-24 12:07:45 +02:00
therealmogminer@gmail.com
ff04ed4cc0 Convert SPARCv8 ops to document-described functionality 2016-06-23 14:20:24 +02:00
couriersud
c6e6911aed Netlist changes
- Replaced shared_ptr by unique_ptr. 
- Better seperation of setup_t and netlist_t. 
- Fixed bugs in rdtsc code. Refactored timer code. 
- Simplify conditional activation/deactivation. 
- Introduced HINT(device, hint) to clarify that hints are inheritent 
  and not specific to devices. 
- Added improved profiling support to netlist. Statistics output now
  proposes devices for which whole device activation/deactivation be
  disabled. No significant improvement for pong, but breakout
  experiences a 10% improvement. 
- Moved options code from include to cpp file.
- Minor modifications to 7493 and 9316
- Introduced perftime_t and perfcount_t for gathering statistics. These
  templates do not create any code if statistics are not kept.
- Make help2man ./nltool produce usuable output. 
- More truthtable refactoring. Removed half-finished code for internal
  state support. As implemented, this would have had no support for
  timing delays. 
[Couriersud]
2016-06-23 02:04:51 +02:00
Vas Crabb
32a75e7ae4 VIS I (UltraSPARC) and II (UltraSPARC III) for SPARC disassembler [Vas Crabb]
* Supports %gsr, all ops with exception of SIAM, and all ASI constants
* Use -arch sparcv9vis1 or -arch sparcv9vis2 with unidasm
2016-06-23 01:13:52 +10:00
Vas Crabb
a1625d2220 improve SPARC disassembler: [Vas Crabb]
* Support SPARCv9
* Allow plug-in ASI comments
* Fix format of some opcodes
* Produce clr synthetic
* Allow running in v7, v8 and v9 modes
2016-06-22 04:39:56 +10:00
Ted Green
aae1cbb6d3 atlantis: Update address mapping and add zeus2 video device (nw)
dcs: Update 2181 SYSCONTROL bits (nw)
adsp2100: Add more info for invalid register accesses (nw)
zeus2: New video device based on midzeus2 driver (nw)
2016-06-19 08:28:18 -06:00
therealmogminer@gmail.com
b4beaa37b7 Merge remote-tracking branch 'mainline/master' 2016-06-18 17:15:17 +02:00
Miodrag Milanovic
1d0e0ac12a remove all usages of tagmap 2016-06-18 15:32:15 +02:00
therealmogminer@gmail.com
6d50e3cb36 Add majority of SPARC integer ops 2016-06-18 13:37:06 +02:00
R. Belmont
11ed715659 Merge pull request #955 from belegdol/master
Made the way jpeglib.h is included more pretty
2016-06-17 14:26:57 -04:00
therealmogminer@gmail.com
579d4873a6 Initial MB86901 diassembler 2016-06-17 15:09:39 +02:00
Miodrag Milanovic
8c87ea208c Removed not needed files from compiling (nw) 2016-06-16 13:37:24 +02:00
Julian Sikorski
6208ca7d34 Made the way jpeglib.h is included more pretty 2016-06-15 22:26:56 +02:00