Commit Graph

1439 Commits

Author SHA1 Message Date
Vas Crabb
6f4c1f6e5b Spring cleaning:
* Changed emu_fatalerror to use util::string_format semantics
* Fixed some incorrectly marked up stuff in build scripts
* Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now)
* Fixed memory leaks in Xbox USB
* There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it
* Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave)
* Got rid of device_slot_card_interface as it wasn't providing value
* Added a helper template to reduce certain kinds of boilerplate in slots/buses
* Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic
2019-11-01 00:47:41 +11:00
68bit
7aa1490a7e swtpc8212: get it running, and on the rs232 bus (#5729)
This patch gets it running, and splits it into two front ends, one
being a rs232 bus slot so that is can be used as a terminal option. It
adds the MCM66750 character generator, and implements the MC6845 row
update function. Most of the I/O has been worked out with help from
the CT-82 user manual. The various screen formats and the graphics
modes appear to be working and plausible. Printer support has been
added, and a beeper.
2019-10-30 13:02:31 +11:00
couriersud
cac86fb1b4 netlist: code maintenance. (nw)
- Removed code no longer used
- Add noexcept where appropriate
- split pparser.[c|h] into ppreprocessor and ptokenizer
- smaller optimizations, e.g. use of std::size_t
- fix lint warnings
2019-10-29 19:55:53 +01:00
Joakim Larsson Edström
530101b53f
Merge pull request #5794 from JoakimLarsson/epc_4
WIP: TWIB board - EPC terminal adapter for IBM mainframe and Alfaskop system
2019-10-28 19:44:06 +01:00
Vas Crabb
d80e7f95eb cpu/saturn: clean up a little (nw) 2019-10-27 02:16:50 +11:00
Vas Crabb
32868b8e2a srcclean (nw) 2019-10-26 10:40:50 +11:00
AJR
d4eb7c7d2c aha1542a, aha1542b: Split out AIC-580 emulation to new device (nw) 2019-10-25 16:51:03 -04:00
Sandro Ronco
5d5e0345e0 dmv: added HD interface. [Sandro Ronco] 2019-10-24 20:13:30 +02:00
68bit
99e048d599 IDE devices are now on bus/ata, build fix. 2019-10-24 22:00:08 +11:00
Joakim Larsson Edstrom
ddcd5eb92a eis_twib: WIP ISA8 card, an IBM terminal emulator board for the Ericsson PC 2019-10-24 11:33:30 +02:00
AJR
da07c8901b New skeleton device: PleXCombo PX-320A DVD/CD-RW Drive [Firmware HQ] 2019-10-23 21:54:26 -04:00
AJR
41a333e791 Add Fujitsu FR disassembler and skeleton CPU device 2019-10-23 21:54:26 -04:00
fulivi
430bd2d508 Hp9825: support for external ROM cartridges added (#5761)
* hp9825: optional ROM cartridges added (9825b only, ATM)

* hp9825: optional ROMs added to 9825t, added support for banked ROMs
@5c00, separated RAM & ROM spaces in 9825t

* hp9885: added missing post-amble when writing sectors on disk

* hp9825: added acknowledgments to comments (nw)

* hp9825: changes requested by V.Crabb (nw)
2019-10-23 10:23:12 -04:00
ajrhacker
23a05f7e85 Move IDE devices into bus/ata (nw) (#5756) 2019-10-23 10:22:17 -04:00
algestam
d4c94b861b Add bgfx file for asmjs build (nw) 2019-10-21 18:01:36 +00:00
algestam
4d3a474283 Fix bimg build for asmjs (nw) 2019-10-21 18:01:36 +00:00
AJR
31be3bc264 isa: Add Music Quest PC MIDI Card [AJR, VOGONS Vintage Driver Library] 2019-10-19 00:39:27 -04:00
Julian Sikorski
6e66a83642 Odroid n2 build fixes (#5751)
* Allow specifying NO_OPENGL manually

* Switch bgfx to OpenGL ES renderer if NO_X11 is specified

* Only link against EGL when NO_X11 is specified on linux, netbsd and openbsd

* Only switch bgfx to OpenGL ES on linux, netbsd and openbsd

* Indentation fix
2019-10-18 10:31:08 -04:00
Julian Sikorski
93a1cde67d Continuous integration improvements (#5703)
* Add workaround for imgtool and jedutil failing vs2019 debug builds with /ZI

* No longer allow msvc build to fail

* Enable tools build for travis to make it more useful

* Switch travis to Xcode 11 in order to fix nltool linking failure

* Prefer 64-bit compiler with VS 2019 too

* Setting PreferredToolArchitecture to x64 is not needed, genie puts it into the project files for vs2015 or later

* OPTIMIZE=1 build is faster that OPTIMIZE=0 for some reason. So fast in fact, that TOOLS=1 can be enabled without hitting the 60 minute timeout

* Switch MINGW build to VS 2017 image until appveyor figure out why builds on VS 2019 are almost twice as slow

* Run pacman twice to account for core system upgrades
2019-10-18 10:30:48 -04:00
couriersud
db318046c4 Netlist: code maintenance and bug fixes. (nw)
- solver now uses dynamic allocation on systems larger than 512x512
- fixed osx build
- moved nl_lists.h classes to plists.h
- fixed netlist makefile clint section
- readability and typos
2019-10-17 10:21:00 +02:00
AJR
f398123bc3 Emulate ADC0804 and add device to various drivers 2019-10-16 00:16:14 -04:00
Julian Sikorski
5ff784e58c -x c++ should not be applied to targets like msvc 2019-10-15 19:40:32 +02:00
AJR
73c4665039 Fix BGFX build on older OS X systems (nw)
The Vulkan renderer has to be disabled on Yosemite and older because its backend depends on Metal.
2019-10-14 07:47:37 -04:00
smf-
cd6b9ac9be fix for clang 9.0.0 on windows (nw) 2019-10-13 19:56:41 +01:00
yz70s
7d69cbeedb Add include folder 3rdparty/bgfx/3rdparty/khronos too (nw) 2019-10-13 19:20:51 +02:00
Julian Sikorski
0837e7451a WIP: sync bgfx, bx and bimg with latest upstream (#5723)
* Sync with bgfx upstream revision b91d0b6

* Sync with bx upstream revision d60912b

* Sync with bimg upstream revision bd81f60

* Add astc-codec decoder

* Rename VertexDecl to VertexLayout

* Rename UniformType enum Int1 to Sampler.

* Add NVN stub

* Fix unused-const-variable error on macOS

* Drop redundant explicit language parameters
buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only
applied to objective c++ files. As such, hardcoding -x offers no benefit while
preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on
macOS) from working.

* Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning

* Build bgfx as Objective-C++ on macOS
It is needed due to included headers

* Enable Direct3D12 and Vulkan bgfx rendering backends

* Enable building of spirv shaders

* Properly escape /c in cmd call

* Comment out dx12 bgfx renderer

* Honor VERBOSE setting during shaders build

* Only invert hlsl shader XYZ_TO_sRGB matrix for opengl

* Add spirv shaders

* OpenGL ES needs transposed matrix too

* Metal needs transposed matrix as well
2019-10-13 07:50:38 -04:00
couriersud
8f83e4392f netlist: code maintenance (nw)
- clang lint and pedantic fixes
- mat_cr.h: separate solving linear systems from underlying matrix
2019-10-12 19:36:50 +02:00
Vas Crabb
4b414fa45b clean up some .hxx abuse (nw) 2019-10-05 14:02:58 +10:00
Vas Crabb
bcfa6047c3 Build system maintenance:
* Re-write makedep.py for better performance and better parsing front-end
* Make srcclean deal with kinds of preprocessor abuse I never want to see in real life

(nw) The new parser front-end is better at recognising C++ syntax and
also substantially faster - bootstrapping a single-driver build should
be noticeably quicker.  Having a single parser for C++, .lst and .flt
files also gets us a bit closer to making it simpler to create custom
subtargets.
2019-10-04 22:55:01 +10:00
smf-
a42f6019b6 Fix for Visual Studio builds (nw) 2019-10-01 13:15:38 +01:00
AJR
12c08b06c8 Split generic Z180 device into several subtypes. HD647180X now has specific device emulation for the internal PROM, RAM and parallel ports. 2019-09-30 21:30:10 -04:00
couriersud
cc8114f394 netlist: less cpp - more headers (nw)
- move more code in headers - delete some cpp files.
2019-09-29 00:31:30 +02:00
Vas Crabb
9a12ab37af Make osd_printf_* use util/strformat semantics.
(nw) This has been a long time coming but it's here at last.  It should
be easier now that logerror, popmessage and osd_printf_* behave like
string_format and stream_format.  Remember the differences from printf:
* Any object with a stream out operator works with %s
* %d, %i, %o, %x, %X, etc. work out the size by magic
* No sign extending promotion to int for short/char
* No widening/narrowing conversions for characters/strings
* Same rules on all platforms, insulated from C runtime library
* No format warnings from compiler
* Assert in debug builds if number of arguments doesn't match format

(nw) Also removed a pile of redundant c_str and string_format, and some
workarounds for not being able to portably format 64-bit integers or
long long.
2019-09-26 20:53:06 +10:00
mooglyguy
1a5bf558cc -avivideo.cpp: Added an image device to provide looping uncompressed AVI frames as input. [Ryan Holtz]
-vino.cpp: Adapted to support both avivideo_image_device and picture_image_device. [Ryan Holtz]
2019-09-23 17:44:05 +02:00
Vas Crabb
5036387ab4 srcclean (nw) 2019-09-22 13:34:40 +10:00
AJR
9afcd9c9b9 acorn_vidc: All right, move this back to src/devices/machine (nw) 2019-09-20 11:12:44 -04:00
AJR
0917a7295f acorn_vidc: Move to src/devices/video and fix full build (nw) 2019-09-20 10:13:01 -04:00
Angelo Salese
3e6b9f9756
Rewritten Acorn VIDC10 into own device file [Angelo Salese] #5671
* Improved raster effects on games that dynamically change palette on active frame;
* Added stereo sound support;
2019-09-20 15:38:24 +02:00
Vas Crabb
36cbaa12b1 (nw) misc cleanup:
* Fix path for coleco cartridge bus header
* Remove some assert_always
* Fix some comments that seem to have been victims of scripted editing
2019-09-19 13:16:01 +10:00
Michael Zapf
4495c35113 geneve: Add PC KBD connector; allow for using XT keyboards in place of the currently high-level emulated XT/AT 101 keyboard. 2019-09-17 17:47:14 +02:00
AJR
e4903df939 drawgfxm.h: Rename to drawgfxt.ipp and replace the mega-macros with template functions (nw) 2019-09-16 22:21:29 -04:00
arbee
2292cf332c Preliminary Mac native OSD. Not working yet. [R. Belmont]
This will compile, link, and run a driver all the way to the first info screen, provided you use -video bgfx.

However, although there's a valid NSWindow created, it never actually appears on screen for unknown (but likely silly) reasons.

Inputs are not implemented and fullscreen exists but is untried.
2019-09-15 20:00:59 -04:00
fulivi
d4e2fbd306 HP9845: TACO driver re-written (#5601)
* hp9825: fixed a bug in 9825t

* hp9845: TACO driver re-written from scratch, DC100 tape separated into
a new device, various adaptations

* hp9845: "new TACO" renamed to just "TACO"
2019-09-09 16:05:41 -04:00
Nigel Barnes
035380ca97 dragon32: Added JCB Speech Synthesis cartridge. 2019-09-07 17:39:53 +01:00
Olivier Galibert
5eff6a0beb Sigh (nw) 2019-09-05 09:38:52 +02:00
Olivier Galibert
e6ecaac339 vrender0: Fix link by moving mame/video/vrender0 to devices (nw) 2019-09-05 09:37:27 +02:00
Angelo Salese
11f9727726
Various improvements over Vrender0 based systems [Angelo Salese] (#5580)
*   Made some experimental work with menghong based HW, allowing crzyddz2 to boot and improving menghong colors;
*   Internalize video and audio components inside the SoC;
*   Wrote a preliminary UART subdevice;
*   Made external video clock to be settable by the host driver;
2019-09-02 07:27:21 +02:00
AJR
0b039c68e1 Add dump and emulation of Alpha Micro AM-310 Communications Controller [AJR, Bitsavers] 2019-08-28 19:19:27 -04:00
David Haywood
b77d8ecb03 Spectrum betadisk stuff (#5564)
* spectrum bus : rename beta.cpp to beta128.cpp as the original beta is somewhat different (nw)

* (nw)

* start making a device for the actual original beta disk interfaces (nw)

* flesh out beta stuff a bit (nw)
2019-08-29 00:15:06 +03:00
68bit
5c482945c6 asmjs: avoid explicitly linking SDL2_ttf.
It appears that it is sufficient to include `-s USE_SDL_TTF=2`, and
emcc links in the SDL2_tff library, and it does not like attempts to
link this twice.
2019-08-28 14:25:27 +00:00