Commit Graph

4064 Commits

Author SHA1 Message Date
David Haywood
e6f8c9cae7
new WORKING machines (#9819)
------
Marble Madness II (prototype) [anonymous]
2022-05-25 02:02:32 +10:00
yz70s
deddb5626c Remove spurious /wx option from prjects generated for visual studio
With that warnings as errors were always enabled even if option
NOWERROR=1 was specified
2022-05-23 20:13:38 +02:00
Angelo Salese
e6180e3510
Initial work towards a sis630 based chipset driver (#9635)
- Add more or less complete implementations of sis630_host, sis950_lpc, sis630_gui, sis5513_ide, sis7001_usb, sis7018_audio, sis900_eth devices;
- Removed gamecstl.cpp in favour to the new sis630.cpp driver;
- i386.cpp: enable CMOV feature for Pentium III and 4;
- i386.cpp: add PSN stub feature for Pentium III;

New machines marked as NOT_WORKING
----------------------------------
Shuttle MS-11 [Angelo Salese, archive.org]
2022-05-23 17:27:33 +02:00
Vas Crabb
3984f8f883 srcclean in preparation for release 2022-05-22 09:36:01 +10:00
couriersud
324f9d44d5
netlist: More c++, less macros, added support for cspell (#9794)
- More c++, less macros
  * Significantly reduced the use of unused_var and replaced it with
    [[maybe_unused]]
  * use enum class in ppmf.h

- Changes to testing code in ptest.h
  * Catch exceptions in more places
  * The verbosity of the output can now be controlled
  * Display of test stats totals

- added support for cspell
- fixed various typos
- fixed SUBTARGET=nl build
- fixed more file permissions
- srcclean and add fix_permissions target to netlist makefile
2022-05-22 01:16:50 +10:00
smf-
988a9b974a partial revert of 68ebb786d1 2022-05-20 16:31:52 +01:00
smf-
68ebb786d1 Added Z80 Video Pak cartridge to Commodore 64. [smf]
Fixed XL-80 cartridge lower case and inverse video [smf]
2022-05-20 15:06:04 +01:00
Patrick Mackinlay
56702e4217 labtam3232: new card skeleton 2022-05-20 14:55:29 +07:00
AJR
aa66b4a013 atarist.cpp: Split out video and blitter as separate devices 2022-05-19 15:21:55 -04:00
couriersud
0c258c9d70
netlist: Fixes to address PR #9752 and issue #8590 / EMSCRIPTEN (#9773)
netlist: pointer to member function code 

- Address PR #9752 and issue #8590
- change comments in ppmf.h
- add support for function desciptors (IA64)
- sizeof(size_t) may be different on build targets
  make plib::hash use uint64 to ensure consistent static solver
  hashes across platforms (EMSCRIPTEN)
- Moved constructor and member functions outside the class declaration
  with the exception of "call" member functions.
- Updated comment on accessing RDX
- Added more test cases

* Removed execution bit on certain files
I have separated out the raw processing code into `ppmf.cpp`. I have
also taken first steps to clean the abi identification.

The code submitted now supports:

a) The unknown virtual inheritance case with specific code for MSVC for
simple (i.e. scalar, void, reference, pointer) return types using the
optimized code. This is the test case only supported under MSVC and
which should return 7. Please have a look at the code. Basically
m_vptr_offset is an index into a pointer table. It needs to be
multiplied by `sizeof(void *)`.

b) If you enable PPMF_EXPERIMENTAL complex return type member functions
for MSVC will also use the optimized code path. This is explained in
detail in the code in ppmf, including caveats and possible solutions.

c) Enabling PPMF_USE_MAME_DELEGATES will use `src/lib/util/delegate.h`
as a replacement for `ppmf.h`. This allows to run the same tests
(`nltool -c tests` from standalone build) as for the ppmf code.

d) The code now also supports `clang-cl`

e) sizeof(size_t) may be different on build targets.

Make plib::hash use uint64 to ensure consistent static solver hashes
across platforms. This fixes loading static solvers (if enabled) on
EMSCRIPTEN.
2022-05-19 19:40:00 +02:00
Nigel Barnes
b81f68eb66 mtx.cpp: New expansion devices CFX System and MAGROM.
- Added Reset keys and joystick ports.
- Re-implemented cartridge slot as external ROMPAK device.
2022-05-18 21:07:44 +01:00
smf-
33f069cac0 fix for building with clang 14 as asmjit uses | & operators on bools [smf] 2022-05-18 18:39:43 +01:00
Miodrag Milanović
6d595718f5
bus/rc2014 code review fixes (#9768)
* Unmap I/O space on bus reset and install I/O on card reset.
* Cleaned up code.
2022-05-17 05:12:28 +10:00
SomeRandomGuyIdk
e9ff2dd85a
JPM SRU fruit machine improvements (#9632)
jpmsru.cpp: Fleshed out I/O and added layouts.

machine/steppers.cpp: Added JPM SRU 200-step pattern.

audio/fruitsamples.cpp: Added device for simulated fruit machine sounds.
2022-05-17 04:43:37 +10:00
Vas Crabb
a3ee45c94c scripts: Improve str_to_version again.
Don't treat hypen and dot as the same thing - it will cause issues with
pacakge revisions.  Cleaned up some Lua code as well.

Also show warnings about potentially uninitialised stuff with GCC 12,
just don't make them fatal errors.
2022-05-17 03:16:54 +10:00
Ivan Vangelista
1f8af0c190 - goldstar.cpp: decrypted cb3c, needs correct address map
- gstriker.cpp: used finder for memory bank and other small cleanups
2022-05-16 18:10:34 +02:00
sairuk
a68e611f07
fix version detection in str_to_version (#9767) 2022-05-16 10:49:09 -04:00
Miodrag Milanović
36204d73da
RC2014 (#9759)
New working clones
------------------
RC2014 Mini with CP/M Upgrade [Miodrag Milanovic]


-rc2014: added RTC, IDE, FDC and Sound module, fix memory and i/o mapping, proper flash mapping
2022-05-15 18:58:59 +02:00
Nigel Barnes
3377ee1d79 bus/bbc/internal: Added the Memex-B20 board. 2022-05-15 16:15:00 +01:00
Ivan Vangelista
b3225de898 vball.cpp: used finder for memory bank and other small cleanups 2022-05-14 08:12:49 +02:00
Vas Crabb
cd30211883 tait8741.cpp: Removed old simulation of Gladiator MCUs (unused for a while now). 2022-05-14 13:13:29 +10:00
arbee
f6b18012bc mips3: Fixed error flagged by GCC 12 [Ryan Holtz, R. Belmont] 2022-05-11 21:30:46 -04:00
arbee
a5647347df Initial GCC 12 support for Fedora 36. [R. Belmont] 2022-05-11 17:26:57 -04:00
Ivan Vangelista
eb6d21a2a4 New working clones
------------------
Space Invaders' gambling game (unencrypted) [Jorge Silva]
2022-05-10 21:58:44 +02:00
Miodrag Milanović
437f504eef
RC2014 (#9716)
New working machines
--------------------
RC2014 Classic [Miodrag Milanovic]
RC2014 Pro [Miodrag Milanovic]
RC2014 Classic II [Miodrag Milanovic]
RC2014 Zed [Miodrag Milanovic]
RC2014 Zed Pro [Miodrag Milanovic]
2022-05-10 15:03:30 +02:00
Ivan Vangelista
56e2cdf453 - nmk16.cpp: added hardware info and corrected ROM labels for Acrobat Mission [Guru]
- paradise.cpp: used finders, templates and other small cleanups
2022-05-09 20:12:56 +02:00
Sandro Ronco
b2aa336249 Z88: added serial port and NVRAM support. [Sandro Ronco] 2022-05-08 14:00:53 +02:00
Vas Crabb
fe8e132efa
cps2.cpp: Added TOURNAMENT board communication simulation. (#9699) [Vas Crabb, Darksoft, Gregory Lewandowski] 2022-05-06 14:03:57 +10:00
Ivan Vangelista
fa38329177 New working clones
------------------
Batsugun (older, set 2) [buffi]
Dogyuun (oldest set) [buffi]

- pacland.cpp: used finders and other small cleanups
2022-05-05 18:07:35 +02:00
AJR
c0ace34b7e New disassemblers for unidasm: hp2100, hp21mx, v620, v75 2022-05-04 23:54:46 -04:00
Roberto Fresca
8ffa5ef1d9 New working machines
--------------------
Hot Chilli (95103, v0104) [Roberto Fresca, Grull Osgo, Matt B]
2022-05-04 19:50:44 +02:00
couriersud
a8fe401275
Suppress compile warnings in asmjit with GCC 7. (#9675) 2022-05-04 04:44:44 +10:00
Ivan Vangelista
d601cd0245 firetrap.cpp: used finders, templates and other small cleanups 2022-05-03 18:11:23 +02:00
Ivan Vangelista
7c576840d6 New machines marked as NOT_WORKING
----------------------------------
Neo Print - Popeye (Japan) (T4i 3.04) [buffi]
Neo Print - European Version (World) (T4i 2.00) [buffi]
Rally Point 2 [coolmod]

- toaplan2.cpp: added a note about a different ROM configuration found for sstrikerk [buffi]
2022-05-02 18:03:38 +02:00
hap
9e76c4c65a New working machines
--------------------
Scrabble Lexor - Computer Word Game [hap, Sean Riddle]
2022-05-01 23:08:07 +02:00
Miodrag Milanović
394107b576
-tim011.cpp: Hooked up floppy drives properly. (#9649)
* Hooked up floppy drives and controller properly, and implemented video display.
* formats/tim011_dsk.cpp: Added TIM 011 floppy image format.

-machine/upd765.cpp: If waiting for additional command bytes, treat a data register read as an open bus write (tested on real hardware) and always trigger the DRQ line even if in nodma mode. [Carl

-cpu/z180: Added callbacks for tend; decrement bcr1 when DMA channel 1 is active. [Carl]
2022-05-02 04:45:47 +10:00
couriersud
9d77923b93
Fixed SUBTARGET=nl build. (#9662) 2022-05-02 03:47:01 +10:00
hap
4511b20768 rename hh_amis2k driver to wildfire 2022-05-01 12:07:26 +02:00
Ivan Vangelista
72de111bf2 - appoooh.cpp: finders and other small cleanups
- royalmah.cpp: corrected year for ichiban
2022-04-27 21:51:19 +02:00
Ivan Vangelista
fb30007f9e brkthru.cpp, gunsmoke.cpp, bfm_adr2.cpp: used finders and other small cleanups 2022-04-26 20:32:28 +02:00
Ivan Vangelista
d9a7c47e2f New clones marked as NOT_WORKING
--------------------------------
Bad Lands (Modular System) [Eduardo Anay, ClawGrip]
2022-04-23 09:54:38 +02:00
Ivan Vangelista
f55b17b07f New clones marked as NOT_WORKING
--------------------------------
Slap Fight (Modular System) [Eduardo Anay, ClawGrip]
2022-04-21 18:04:08 +02:00
Angelo Salese
e383606922
pc8801.cpp: major groundwork cleanups (#9533)
* pc80s31k.cpp: minor XTAL cleanup

* pc8801.cpp: reduce signature name fns

* pc8801.cpp: separate dictionary and CD-ROM later model use into own state machines

* pc8801.cpp: clean input ports a bit

* pc8801.cpp: bulk printf -> logerror

* pc8801.cpp: misc cleanups

* pc8801.cpp: more misc cleanups

* pc8801.cpp: initial batch of exporting PC8801-31 to a separate device

* pc8801_31.cpp: document register map, add machine ID

* pc8801.cpp: fix configuration mistake for CPU speed

* pc8801.cpp: add base diplocations, massage documentation of ports $30, $31, $40, misc cleanups

* pc8801.cpp: fix mouse cursor jump bugs, remove deprecated PORT_RESET usage;
pc8801.cpp: rework and extend expansion slot descriptions;

* pc8801.cpp: add note about extended FH keyboards

* pc8801.cpp: add dip positions for BASIC dips

* pc8801_31.cpp: add stub SCSI bus controller

* pc8801.cpp: blind fix kanji LV2 hookup

* pc8801.cpp: use required_region_ptr for ROM regions, split kanji_lv2 to own one

* pc8801.cpp: move a few notes to XML

* pc8801_flop.xml: correct Digan no Maseki title

* pc8801.cpp: remove unneeded port $33 hookup (should be unmapped on all PC8801 variants)

* pc8801.cpp: initial implementation of interrupts using i8214 as base. Fixes at least yojukiko and bishojbg BGMs

* pc8801.cpp: add clock calculation for internal DAC1BIT, add reported V1 revision numbers for each romset.

* pc8801.cpp: move OPN/OPNA sound chip mounts to internal model types, add stereo mixing

* pc8801.cpp: add sound irq pending mechanism, particularly needed by Telenet games

* pc8801_flop.xml: update QA notes

* pc8801_flop.xml: more misc QA notes

* pc8801.cpp: improve irq semantics, connect rxrdy_irq_w signal

* pc8801.cpp: fix some irq regressions

* pc8801.cpp: make OPNA a bit less louder, QA checkpoint

* pc8801.cpp: fix broken link, unmapped I/O documentation

* pc8801.cpp: add JMB-X1 map, other minor notes

* pc8801_flop.xml: fix metalora title and manufacturer

* pc8801.cpp: minor cleanups

* pc8801.cpp: start inheriting from base pc8001_base_state, add initial hooks for actual 3301 + i8257 devices

* pc8801.cpp: fix port40_r reading mistake

* pc8801.cpp: fix 24kHz pixel clock

* pc8801.cpp: 3301 irq is tied to VRTC not INT

* upd3301.cpp: fix VRTC vblank/display bit timer

* pc8801.cpp: fix DMA readback

* upd3301.cpp: convert to logmasked

* upd3301.cpp: support for no attributes/no special control mode

* pc8801.cpp: simplify bitmap 3bpp drawing and add preliminary palette rasters

* pc8801.cpp: misc documentation updates

* upd3301.cpp: clear bitmap layer on FIFO reset

* i8214.cpp: PoC in separating INT ASSERT and CLEAR phases
pc8801.cpp: tie acknowledge to INT rather than inside callback. Avoids spurious irq regressions;

* upd3301.cpp: handle bitmaps as pure transparent;
pc8801.cpp: add BG Pal handling, honor transparency in all bitmap layers;

* pc8801.cpp: minor cleanups

* pc8801.cpp: better handling of bitmap fills

* pc8001.cpp: carry over attribute fetches between lines when 3301 is in color mode

* pc8801_flop.xml: update QA, move notes from main driver

* pc8801.cpp: implement colorized b&w graphic modes

* pc8801.cpp: cleanup obsolete functions

* pc8801.cpp: extend a bunch of notes

* pc8801.cpp: add boilerplate code for base irq mechanism

* pc8801.cpp: add expansion card support, with JMB-X1 (partly addresses #8709), PC-8801-23 and PCG-8100 as PoC examples.

* pc8801_exp.h: fix CI clang build

* pc8801_31.cpp: SW list hookup

New NOT_WORKING software list additions
---------------------------------------
pc8801_cdrom.xml: CD Takarabako [r09]

* pc8801.cpp: promote some romsets to parent

* pc8801.h: reinstate dummy initialization in state machines

* pc8801.cpp: save_item to all variables in state machines
2022-04-16 01:36:53 +02:00
Angelo Salese
444a6c6144
fruitpc.cpp: split gogostrk into own driver (paokaipc.cpp), remove legacy PCI header defined. (#9562) 2022-04-15 00:34:51 +02:00
Ivan Vangelista
935fe6b797 New machines marked as NOT_WORKING
----------------------------------
Super 97 (Ver. 1.00) [Ioannis Bampoulas]

- hexion.cpp: used finders and other small cleanups

- powerins.cpp: corrected one sprite ROM for powerinsc
2022-04-14 18:08:32 +02:00
Ivan Vangelista
c3a817660d kangaroo.cpp, shisen.cpp, skykid.cpp, spdodgeb.cpp: finders and other small cleanups 2022-04-13 16:45:53 +02:00
Robbbert
c8ab724056 Advision: merged 4 files into one. 2022-04-13 21:57:54 +10:00
Ivan Vangelista
ce68a1d711 New working clones
------------------
Blood Storm (v2.21) [coolmod]

angelkds.cpp, crgolf.cpp: finders and other small cleanups
2022-04-12 12:57:32 +02:00
Ivan Vangelista
926e59db2b labyrunr.cpp, pcktgal.cpp: used finders and other small cleanups 2022-04-11 18:23:03 +02:00
hap
efb0ba9dcd cpu.lua: fix typo from prev commit 2022-04-10 13:51:09 +02:00