Commit Graph

2274 Commits

Author SHA1 Message Date
mooglyguy
882b5376a8 -scsicd512.cpp: Added various legacy SCSI CD-ROM devices which support 512-byte blocks by default. [Ryan Holtz]
-nscsi_cd.cpp: Added various new-SCSI CD-ROM devices which support 512-byte blocks by default. [Ryan Holtz]

-sgikbd.cpp: Added a rudimentary HLE SGI Indigo keyboard device. Still needs keys to be mapped. [Ryan Holtz]

-indigo.cpp: Various changes: [Ryan Holtz]
 * Expanded logging.
 * Enabled PIT8254 timer. Has the wrong clock value; the correct clock causes a hang.
 * Improved RAM layout.
 * Added stubs for DSP RAM and Entry-level graphics.
2018-11-13 17:55:47 +01:00
mooglyguy
1b08996e2b -dp8573.cpp: Added DP8573 Real-Time Clock emulation. [Ryan Holtz]
-indigo.cpp: Hooked up new DP8573 implementation. [Ryan Holtz]
2018-11-12 02:42:19 +01:00
AJR
b3316024ae New machines marked as NOT_WORKING
----------------------------------
Model 931 Video Display Terminal [Al Kossow]
2018-11-11 18:00:11 -05:00
Robbbert
6459de6d86 (nw) fixed the build. 2018-11-11 13:27:22 +11:00
arbee
9047b3e753 New machines added as MACHINE_NOT_WORKING:
- Network Computing Devices NCD-17C [R. Belmont, Al Kossow]
2018-11-10 20:23:00 -05:00
Patrick Mackinlay
9df6cfe087 r3000: call it like it is (nw) 2018-11-06 17:21:01 +07:00
Olivier Galibert
cc537e30db mu100: Make some noise [O. Galibert]
Two sample roms are missing, sad.  Volume is not taken into account
yet (because the registers are not yet understood), pan is though.
Don't even think about reverb or effects :-)

Current code plays a scale in a loop.  Comment the timer alloc in
machine_reset to kill that.

Demo song (missing lots of sounds, because roms): U then > until demo
then ENTER ENTER.
2018-11-05 15:35:07 +01:00
David Haywood
84e9644c4f XaviX - fix opcode access in upper banks (needed for rad_fb) + basic input mapping to push things along (#4237)
* some cleanups, opcode access fix (nw)

* start looking at the football

* rad_fb inputs (nw)

* slight video refactor (nw)

* (nw)
2018-11-03 18:42:53 -04:00
yz70s
4f5f5c6c92 i386.cpp: prepare to change hxx files into regular cpp files (nw)
-change order of include files at top of i386.cpp
-move some routines between i386.cpp and i386priv.h
-move part of x87ops.hxx into new file x87priv.h
.
Now you only have to rename the hxx files to cpp and add the following
at the top of each one
.
 #include "emu.h"
 #include "i386.h"
 #include "i386priv.h"
 #include "x87priv.h"
 #include "cycles.h"
 #include "debugger.h"
 #include "debug/debugcpu.h"
 #undef i386
2018-11-03 10:25:11 +01:00
David Haywood
9eba8c36fa XaviX - preliminary wheel input for rad_mtrk (#4232)
* groundwork for monster truck wheel (nw)

* more groundwork (nw)

* more prep (nw)

* more prep (nw)

* (nw)

* preliminary wheel input for rad_mtrk
2018-11-03 00:08:45 -04:00
AJR
c83ea12cab alcat7100: Give this machine its own driver (nw) 2018-11-02 13:01:45 -04:00
Patrick Mackinlay
8740d148c1 v53: final tidy (nw)
* changed copyright holder due to near-complete replacement
* name changed to v5x which better reflects actual use
* minor comment cleanup
2018-11-01 11:47:28 +07:00
Patrick Mackinlay
a3244603db aic6250: new device (nw)
Very WIP status and some obvious issues, but working well enough to load RISC/os.
2018-10-31 18:19:24 +07:00
AJR
ad8dd5dfd2 wy50, wy75, wy85: Driver separation (nw) 2018-10-28 11:27:35 -04:00
Nigel Barnes
9bcf933bcc bbcmc: Added expansion port and Mertec Companion expansion device. 2018-10-26 17:42:36 +01:00
Nigel Barnes
e4f1635973 bbcb: Added ReCo6502 co-processor. 2018-10-26 17:42:36 +01:00
Brandon Munger
fbcc6c1b37 r9751: Implement proper SMIOC emulation through new uart emulation (#4188)
* [R9751] (Squashed) Early work on SMIOC emulation

commit 9b587be762abfd576e92792c612cd205c570924d
Author: Stephen Stair <sgstair@akkit.org>
Date:   Tue Apr 10 19:41:55 2018 -0700

    Connected SMIOC DMA to 68k

    * SMIOC now reading bytes for serial from the 68k memory space successfully.

commit 0f801a05a3fa5b78768a1a2bcb9981466e8f2b0e
Author: Stephen Stair <sgstair@akkit.org>
Date:   Tue Mar 27 18:31:32 2018 -0700

    68k now running in lockstep with SMIOC for serial

    * 68k now uses actual SMIOC as source of SMIOC status, so it waits for the SMIOC to complete commands before continuing.
    * SMIOC DMA controllers now being asked to move bytes around
    * "write character" (4100) commands to SMIOC are now completing and resulting in correct status being written and sent back to the 68k
    * Every now and then the SMIOC stalls for a bit, it seems to be due to spending some time trying to communicate with the 8051 CPU (used to communicate with another cpu on the serial breakout box) that is not currently present in the emulated device.

    Next Steps:
    * We're going to move the terminal from the r9751 into the SMIOC, and hook it up to the DMA controllers as a hacky temporary solution.
    * We need to emulate the 5xxxx memory range in SMIOC to proxy data to/from the 68k memory
    * Then we'll start work on emulating the octal uart properly and hooking it up to RS232 channels.

commit ca91614fca3f43d87755d0c3439521276d7bfafb
Author: Stephen Stair <sgstair@akkit.org>
Date:   Wed Mar 14 19:52:04 2018 -0700

    Tinkering to get SMIOC further along

    1) Enable 188 cpu to advance DMA immediatley if DRQ is held high when source synchronous DMA is started (It's not clear whether the DMA actually works this way yet)
    2) Retrigger the DMA DRQ when a memory access is made to the DMA window (future work needed to proxy the reads/writes to the 68k's main memory) This is needed to support multibyte DMA reads/writes to the 68k window.
    3) Reverse the bytes in the status register (based on current incomplete understanding of how this is encoded)
    4) Connect the status register back to the r9751 on SMIOC status read
    Current state: SMIOC's main board DMA state machine now completes the DMA transfer from the main board (With incorrect data), but we are still getting stuck.
    Next steps: SMIOC is now hanging waiting on DMA to UART to complete, we need to implement some emulation of the UART and its connections to the surrounding 16 dma channels in order to make progress.

commit 62c1455c97a53ed970622e08cb03a225625914fd
Author: Stephen Stair <sgstair@akkit.org>
Date:   Sun Mar 4 20:13:32 2018 -0800

    Progress on emulating SMIOC

commit daee8498c5840417aee3ed9def0acfba5476335a
Author: Stephen Stair <sgstair@akkit.org>
Date:   Sun Feb 25 20:02:32 2018 -0800

    Working on bringing up SMIOC

    Trying to get emulated SMIOC in lockstep with the main 68k.

commit 5a929fde90307040a0544682888f2f21a914b900
Author: Stephen Stair <sgstair@akkit.org>
Date:   Wed Feb 21 20:06:27 2018 -0800

    re-enable SMIOC, Logging improvements, first steps towards emulating on-board hardware.

commit f0c7a1665a18c99df5527ae45994f39f95223814
Author: Stephen Stair <sgstair@akkit.org>
Date:   Sun Feb 11 16:26:31 2018 -0800

    Emulation fix - Terminal now responds to input

commit ecff4035f3fdaa0329df46f99ccd516aa23ec8af
Author: Stephen Stair <sgstair@akkit.org>
Date:   Tue Feb 6 19:00:35 2018 -0800

    Hacky emulation of SMIOC

    now successfully receiving serial characters!

commit 376bca90dff311d24e1f5014d8d6f0dc297bf671
Author: Stephen Stair <sgstair@akkit.org>
Date:   Sun Jan 28 18:31:38 2018 -0800

    Experimenting with SMIOC emulation

* Partial fixes for line state issues with persistent line values

When the AM9517 DMA controller mode is updated to change the polarity of DACK/DREQ, it doesn't update the DACK line values / request values (respectively).
This fixes this issue for one of the emulated devices in the file, but the other device has the same problem.

* Add skeleton of SCC2698B UART device

* Early progress on emulating SCC2698B Octal UART

Core structure for IO lines and writing registers is in place.

* Update address maps to new format.

* SCC2698b: Add tx/rx, baud rate generation

* Emulation improvements for scc2698b device

* MPP output pins emulated
* Improved logging for baud rate changes
* Channel configuration emulated
* Support for TX/RX Enable
* Started integrating new features into SMIOC

* Minor progress on the path to enabling new UART for SMIOC

* Resolved code issues related to upstream changes
* Working around an apparent problem with callbacks on sub-device devices
* Terminal added for serial port attached to SCC2698B UART.
* Things compile and seem to work.

* SMIOC: Serial is now outputting correctly through emulated SMIOC

Some glitches to work out, but this is nearly ready.

* AM9517a should not forget about input line status on master reset.

* Disable tracing

* SMIOC: Improving diagnostics and making some progress on the emulation

* Revised tracing in SMIOC and SCC2698B
* Improved tracing approach in r9751
* Minor progress towards working SMIOC emulation.

* [R9751] Update drivers  to new code patterns after rebase

Rebased on latest mame, Fixed a few issues and updated the callback code patterns based on recent changes in devcb

* [R9751] Improve logging, fix interrupt race

Serial no longer drops output characters

* [R9751] Working on SMIOC emulation

Improved SMIOC emulation accuracy, Made some progress in getting through the disktool initialization sequence, but we are still hitting a problem - It looks like disktool should be resetting the SMIOC board when it starts, but the mechanism for this has not been found.

* [R9751] Improve tracing for system board registers

* [R9751] Improve SMIOC emulation

Still having some trouble with SMIOC but this seems to be an improvement.
SMIOC is now waiting for a status to be read before applying a new status, and mandatory parameter read logic is in place.

* [R9751] Incremental emulation improvements

the SMIOC failure was understood and fixed, and a new approach to getting the hardware to bootstrap correctly was implemented - Still having some problems with it though.

* [R9751] Fixed emulation issues

* Disktool now boots to the console
* UART receive only partly working, I don't think it's fully connected yet.

* [R9751] Further progress on SMIOC emulation

* Figured out the missing command parameter interface to the SMIOC board
* Still blocked because the SMIOC interface to the breakout board through an onboard 8051 is not emulated and the disktool software depends on properties coming from it.

* [R9751] Terminal is fully working for disktool

* Improved the emulation of the 80188 to 451 connection in order to reliably set a status bit disktool depends on.

* [R9751] Fix build after rebase

* [R9751] Cleanup, tracing improvements

* Remove second emulated terminal - SMIOC is now stable enough to run the terminal.
* Remove older and unnecessary emulation/tracing code

* r9751: Fix compile error and modify copyright holders
2018-10-24 20:16:35 -04:00
Justin Kerk
bcb672ce32 Don't error on undefined GL symbols for the WebAssembly target (#4187) 2018-10-23 21:52:39 -07:00
MASH
129571495b
Fixed Arcade build 2018-10-22 11:02:10 +00:00
Patrick Mackinlay
cea5bbace4 z8038: new device (nw)
Zilog Z8038 FIO (FIFO Input/Output Interface Unit). Used to drive the parallel/printer port on the MIPS Rx2030. Passes basic diagnostic tests, but further work depends on progress in the mips.cpp driver.
2018-10-18 18:00:02 +07:00
fulivi
830c3203f5 hp9825: added DC100 tape drive 2018-10-16 17:39:31 +02:00
AJR
0045b03045 itt1700: Very preliminary keyboard stuff (nw) 2018-10-14 17:53:51 -04:00
AJR
1d9505e2d9 New machines marked as NOT_WORKING
----------------------------------
ITT 1700 [Al Kossow]
2018-10-13 23:37:20 -04:00
AJR
c6900b12fd New machines marked as NOT_WORKING
----------------------------------
Scientific Instruments Model 5500 Temperature Controller [ClawGrip]
2018-10-12 22:45:15 -04:00
Patrick Mackinlay
a56f3ebf85 and the comma (nw) 2018-10-12 18:19:28 +07:00
Patrick Mackinlay
fc86a4ab09 mips: new skeleton driver
A driver for machines made by MIPS Computer Systems, which used MIPS R2000, R3000 and R6000 CPUs and ran RISC/os (a port of UNIX System V Release 3). Initial focus is the RC2030 headless workstation. As of this commit, it gets part-way through its I/O processor diagnostics with output to a serial terminal.
2018-10-12 16:45:25 +07:00
R. Belmont
2226914ddf
Merge pull request #4119 from hp9k/hp_hil_mouse
hp_hil: add HP 46060B mouse
2018-10-11 07:49:08 -04:00
Sven Schnelle
75fde4b0f0 hp_hil: add HP 46060B mouse
- move hle_device_base to it's own files
    - add hlemouse.{cpp,h}
    - add mouse device to hp_ipc and hp9k_3xx
2018-10-11 12:56:24 +02:00
Patrick Mackinlay
10b6b71e13 pcat101: skeleton for IBM Model M PC/AT and PS/2 keyboard 2018-10-11 17:44:08 +07:00
AJR
a8c41a6035 mess.lua: Fix full build by adding MB87030 (nw) 2018-10-09 19:24:15 -04:00
Sven Schnelle
c0a6d6bf23 hp9k_3xx: add HP98265A SCSI controller (nw) 2018-10-09 20:11:24 +02:00
dxl
ad3ad560a6 hp9k_3xx: add HP98620 DMA controller (#4094)
* hp9k_3xx: add HP98620 DMA controller

* hp98620: remove unused defines (nw)
2018-10-09 13:46:35 -04:00
David Haywood
4b00992b76 XaviX naming changes (#4069)
* naming changes (nw)

* move stub audio related functions to their own file (nw)

* addressing notes (nw)

* control sprite mode with sprite reg instead of value set in init (nw)

* refactor a bit (nw)

* sprite DMA connects directly to spriteram, not through the main bus (nw)

* minor changes (nw)

* fix multiplier unit use in rad_madf (nw)

* implement 'text array / memory emulator' (nw)

* some naming (nw)

* code treats this like another palette entry (bg pen maybe)
2018-10-09 12:46:02 -04:00
Sven Schnelle
d929f8b41b hp9k_3xx: move Sound, GPIB, Keyboard and RTC to human interface module
On HP9000/300, these modules where always a logical unit connected to
the DIO bus. On some systems this was even a seperate DIO module. Lets
represent this in software. It also cleans up hp9k_3xx.cpp.
2018-10-08 22:51:40 +02:00
AJR
236a6772c0 Rename is488a to is482; this is all a big mess (nw) 2018-10-08 12:35:05 -04:00
AJR
6314560362 New machines marked as NOT_WORKING
----------------------------------
Decision Data IS-488-A Workstation [Al Kossow]
2018-10-07 20:53:30 -04:00
fulivi
7fdb72d7a2 HP9825 emulation added (#4018)
* hphybrid: major overhaul to add the 09825-67907 variant

* hphybrid: adapted hp64k & hp9845 to revised hphybrid CPUs

* hp9825: first release of HP9825B emulator

* hphybrid: added 09825-67907 to unidasm

* hp9825: improved appearance of blinking cursor

* hphybrid: minor changes
2018-10-07 11:35:33 -04:00
Sven Schnelle
395d6a93b1 mb87030: add new SCSI controller (nw) 2018-10-07 15:37:23 +02:00
mooglyguy
b159118e22 vii: Device-ified the SPG2xx SoC. [Ryan Holtz] 2018-10-06 20:45:03 +02:00
AJR
aeac79535e New machines marked as NOT_WORKING
----------------------------------
MCS-51 System Design Kit [Glen Slick]
2018-10-06 10:40:04 -04:00
arbee
4148447f3a Fix compiling with SDL 2.0.8 and later on macOS [R. Belmont] 2018-10-02 21:04:28 -04:00
AJR
63483b060e New machines marked as NOT_WORKING
----------------------------------
Falco 5220 [Al Kossow]
2018-09-27 11:16:01 -04:00
Nigel Barnes
42b42714ed bbc_tube_6502/65c102: Added ReCo6502 Tube 1.21 ROM.
- Rewritten using bankdev and combined 6502/65c102 variants (nw)
2018-09-25 17:18:13 +01:00
AJR
fad9283ecc Preliminary emulation of National DP8350 CRT controller family 2018-09-25 00:51:14 -04:00
David Haywood
34069f8823 stlforce / mwarr refactoring (#3984)
* mwarr.cpp refactoring

* mwarr.cpp refactoring

* stlforce refactor (nw)

* use suggested syntax, unless there's something to actually modify instead of outright replace?

* ok, no need to signal that we're modifying a device at all, just modify it (nw)

* move includes as requested (nw)

* do stuff modern way (nw)
2018-09-24 01:20:44 +02:00
mooglyguy
27ee4f3915 -sun4: Added a sun4c MMU device. Currently wraps the functionality of S4-buffer, S4-cache, and S4-MMU, will eventually be split. [Ryan Holtz]
-sun4: Significant optimization, from 150% -> 330% unthrottled on an i7-5930K. [Ryan Holtz]
2018-09-22 19:41:10 +02:00
David Haywood
ccded2bf8b Namco System 21 and other related refactors (#4013)
* namco checkpoint (including cam900 submission)

* move code into device (nw)

* start splitting DSP support code into devices (nw)

* fix crash (nw)

* prepare for further splitting (nw)

* move code for C67 based DSP PCB into it's own device (nw)

* survive F3 resets without crashing or breaking the 3D (nw)

* less magic numbers (nw)

* optional -> required
don't use fake bootstrap on older type, suspend CPU instead

* restore CPU yield hack for solvalou (nw)

* (nw)

* give galaxian3 some DSPs (nw)

* address hap's concern with a different workaround since MAME is awkward (nw)

* split namco21 driver into 3 drivers as the different configurations really are entirely different boardsets with similar components, not a real 'system'
emulated entire PCB set for driveyes ( http://www.tvspels-nostalgi.com/Bilder/PCB/Namco/driverseye_cage_inside.jpg ) although how the PCBs communicate is not yet known (C139 maybe, which might also be an MCU)

* remove empty file (nw)

* actually thinking about it, this is cleaner (nw)

* mark cybsledj as World instead, there's nothing about this set other than the CY1 code to indicate that it's a Japanese set, and I don't think the Namco codes represent region, just release order.

* newline (nw)

* newline (nw)
2018-09-21 15:01:12 -04:00
AJR
d1f9c79de8 New machines marked as NOT_WORKING
----------------------------------
Lee Data 1214D Display Terminal [Al Kossow]
2018-09-21 00:41:44 -04:00
AJR
60be054a47 New machines marked as NOT_WORKING
----------------------------------
Hazeltine 1420 Video Display Terminal
2018-09-20 23:38:28 -04:00
Robbbert
0060d73a2a New WORKING machine [Robbbert]
- Emma II trainer
2018-09-21 01:54:05 +10:00