Commit Graph

430 Commits

Author SHA1 Message Date
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
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
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
Curt Coder f945016811 pofo: Expansion port slot interface WIP. (nw) 2016-06-15 10:55:18 +03:00
Nigel Barnes 364ac3ea14 electron: added preliminary expansion port 2016-06-05 22:53:37 +01:00
smf- 65b5c2a40c Commodore PET Joysticks and Sound Device [Ken White]
* pet_cass.xml
- Added Supermon (Toronto PET User Group) [Ken White]
- Replaced bad dump of Side B of Squiggle, Big Time / Monitor (the m command in the monitor now works correctly) [Ken White]
2016-05-31 12:19:02 +01:00
Miodrag Milanovic be67262fc2 INC -> HXX makes editors and code analyzers see it as C++ (nw) 2016-05-01 20:27:50 +02:00
Miodrag Milanovic 13855d2404 Fixed ti drivers (nw) 2016-05-01 12:55:22 +02:00
Miodrag Milanovic a560cb3480 fix softbox (nw) 2016-05-01 09:03:42 +02:00
Miodrag Milanovic 5408999eb0 dmv slot fix (nw) 2016-04-30 19:21:55 +02:00
Miodrag Milanovic dc85537e9e compucolor fix (nw) 2016-04-30 19:09:25 +02:00
Miodrag Milanovic 9a74928673 fixed coleco (nw) 2016-04-30 19:07:30 +02:00
Miodrag Milanovic 6923e39b17 fixed cgenie slots (nw) 2016-04-30 18:59:01 +02:00
etabeta78 c506d36a8d further cleanup + final untangling from the old code:
optimized sprites data now lives only in the sprite
device. got rid of neogeo_helper as a result. nw.
2016-04-28 21:10:29 +02:00
Miodrag Milanovic 68792073c3 fix a2600 build (nw) 2016-04-28 18:32:56 +02:00
etabeta78 508c19abf1 neogeo.cpp: huge clean up of the cartslot code in order to better
exploit slot devices: [Fabio Priuli]
- moved cart-specific components to the carts itself removing
  the fake protection devices from the main system, since they
  never belonged there
- removed hacky rom region destruction/construction when a
  new cart is inserted, replacing it with proper bank pointers to
  the carts (except for ymsnd and ymsnd.deltat region which
  will require modernization of the ym devices)
- started re-organization of bootleg boards emulation, so to
  reduce the need of collapsing everything into a single cart
  type with multiple protection devices, more work is needed

neopcb.cpp: moved to a separate source file the emulation for
JAMMA PCB versions of a few neogeo games, since they don't
have a cartslot. [Fabio Priuli]

neogeo.xml: added information about Japanese titles and
release dates to the software list and aligned the list to the
driver. [Fabio Priuli]
2016-04-28 07:16:35 +02:00
etabeta78 eac382d629 Merge pull request #829 from fulivi/hp9845_dev
Hp9845: added capabilty to load option ROMs
2016-04-25 14:51:24 +02:00
etabeta78 3b1f24dd82 saturn.cpp: converted controllers to work through slot devices,
cleaning up the related code. [Fabio Priuli]

saturn.cpp: added emulation of the SegaTap adapter (4 controllers)
and Sega Multitap adapter (6 controllers). Saturn Bomberman
can now be played as intended. [Fabio Priuli]
2016-04-23 19:07:33 +02:00
fulivi b9f17449ee hp9845b: added capability to load optional ROMs 2016-04-23 14:33:32 +02:00
etabeta78 057eefd060 neogeo.cpp: more accurate implementation of contollers
through slot devices. If you want to launch janshin in the
multislot driver (neogeo) you shall now prescribe
        -edge "" -ctrl1 mahjong
and set accordingly the dipswitch. The janshin driver already
comes pre-configured in the proper way, instead. [Fabio Priuli]
2016-04-21 09:29:33 +02:00
Michael Zapf c7aeff7d6d ti99: Again one indirection less; dropped the videowrp and moved the v9938 on the EVPC board. 2016-04-19 22:03:27 +02:00
etabeta78 8a9e872224 neogeo: reworked inputs to work through the slot device interface.
you can now configure the controllers available in the multicart
driver (neogeo) with the -crtl1 and -ctrl2 options. when you run single
game drivers (e.g. mslug, or kof94, etc.), instead, a unique controller
is available and cannot be modified. [Fabio Priuli]
2016-04-14 18:36:34 +02:00
etabeta78 af570db2d0 ng_aes.cpp: converted AES controllers to work through slot devices.
Also, separated more clearly the CD component by the base unit. [Fabio Priuli]
2016-04-13 23:31:07 +02:00
etabeta78 465de15885 intv: Converted controller inputs to be slot devices. [Fabio Priuli]
intvecs: Converted hand controllers, keyboard and synth to be slot devices,
by using a temporary hack to workaround the impossibility to plug the same
device into 2 different slots as these keyboard require. [Fabio Priuli]

out of whatsnew: in the long term we need to come up with a core solution
for these devices that occupy multiple slot devices at once (another one is
the VCS Compumate which plugs into both VCS control ports), because the
hack I used (a "fake" control port which acts as a passthru for the two real
control ports) is not really satisfactory. However, current solution is better
than the selectable controllers we had, which were (ab)using
PORT_CONDITIONs...
2016-04-10 17:54:51 +02:00
Dirk Best 4f1ffa851e vtech1: Add support for the "Dick Smith VZ-200/300 RTTY Cartridge"
Appears to work fine, except we don't have a generic RTTY interface yet.
2016-04-08 19:55:09 +02:00
Michael Zapf 13fce89d59 ti99_8: Chipset low-level emulation; ti99_4x: using new GROMs 2016-03-31 23:55:50 +02:00
arbee c9bd18a22d apple2: start reverse-engineering the AE PC Transporter card [R. Belmont] 2016-03-26 21:04:15 -04:00
Dirk Best 37a32099cd svi318: preliminary support for the sv603 coleco game adapter
lacks controller support
2016-03-25 17:47:33 +01:00
Dirk Best 6c9aaf6979 svi318: add the sv602 single slot expander 2016-03-20 14:23:41 +01:00
Dirk Best 55ebe70ca9 svi318: add centronics interface card (sv802) 2016-03-20 14:23:27 +01:00
Dirk Best de0d79e5e9 svi318: add support for the rs232 interface (sv805) 2016-03-17 23:57:04 +01:00
Dirk Best 776bfad1c1 svi318: add support for the 80 column card (sv806) 2016-03-17 03:06:00 +01:00
Dirk Best 59a41ff1d7 svi318: rewrite banking, add expander bus, add svi601 super expander and
slot modules for the sv801 disk controller, sv803 16k memory epansion
and the sv807 64k memory expansion
2016-03-16 22:05:43 +01:00
Curt Coder 99ba45ff75 newbrain: Dumped the COP internal ROM. [Chris Despinidis]
newbrain: Rewrote the driver to modern standards. [Curt Coder]
cop400: Implemented the MICROBUS interface. [Curt Coder]
2016-03-02 20:54:32 +02:00
Miodrag Milanovic a29920336d real fix (nw) 2016-02-08 19:29:42 +01:00
mahlemiut 6f3d1ec8f4 amstad: Transtape WIP support. [Barry Rodewald] 2015-11-10 18:35:02 +13:00
Miodrag Milanovic 5deec43cbc update build scripts for rename c - > cpp (nw) 2015-11-08 13:26:29 +01:00
David Haywood 7793b9af43 call it harmony/melody, that more accurately represents what we're emulating, dpc+ seems to be a software implementation on the ARM of the Harmony (nw) 2015-10-29 17:10:14 +00:00
David Haywood 624825c042 skeleton dpcplus (nw) 2015-10-26 19:54:31 +00:00
mahlemiut 1e2904037e amstrad: added Draysoft Doubler expansion device 2015-10-26 16:14:14 +13:00
Miodrag Milanović fb179e042c Merge pull request #401 from fulivi/pty_dev3
PTY support for u*x OSes [F.Ulivi]
2015-10-18 16:00:23 +02:00
Curt Coder 60d08590a1 tiki100: Added skeleton for Winchester controller. [Curt Coder] 2015-10-14 22:55:09 +03:00
fulivi f8cb153519 pty: first step of pseudo terminal implementation
Conflicts:
	scripts/src/bus.lua
2015-10-13 12:00:52 +02:00
Curt Coder af70919cb1 tiki100: Added expansion bus and skeleton for 8088 card. [Curt Coder] 2015-10-12 22:13:08 +03:00
Ramiro Polla e5ae5d0b09 nec_p72: add skeleton driver for NEC PinWriter P72 dot-matrix printer 2015-09-29 21:29:22 +02:00
Scott Stone ec1ee61dae Moved bus\a8sio files to bus\a800 to avoid redundancy (nw) 2015-09-24 13:11:55 -04:00
mahlemiut cdb93cff68 ficpio2: add PCI bus and chipset. -bios 2 and 3 now boot. Other BIOSes require some cache funkiness. 2015-09-24 14:16:32 +12:00
Miodrag Milanovic ee7ff77255 update build scripts and code change in order to fix compile (nw) 2015-09-13 09:20:24 +02:00
Sergey Svishchev b7f4c082e6 isa_ibm_pgc: new skeleton driver 2015-09-11 01:26:02 +03:00
mahlemiut 91b0190a5d al520ex: added preliminary Magic Sound expansion (not working) [Barry Rodewald] 2015-09-10 23:53:20 +12:00
Michael Zapf 985decb028 ti99: That's one small move for a man 2015-08-11 18:41:36 +02:00
Wilbert Pol 99353dc95f coleco.c: Reduce tagmap lookups and added support for 31in1 and 63in1 multicarts (nw) 2015-08-10 13:10:14 +02:00
Wilbert Pol a2c4291690 msx1_cart.xml: Added fs_sr002 mapper based on internal bunsetsu mapper (nw) 2015-07-30 12:17:47 +02:00
Curt Coder a733240aa6 c128: Added a skeleton for the PARTNER 128 cartridge. [Curt Coder] 2015-07-27 00:25:19 +03:00
Curt Coder 83a750e6c0 Added a skeleton for the Commodore 1526/MPS-802/4023 printer. [Curt Coder] 2015-07-26 22:42:02 +03:00
Curt Coder 95e5e10bfa Added a skeleton for the Commodore VIC-1520 plotter. [Jim Brain, Curt Coder] 2015-07-25 21:31:52 +03:00
Curt Coder 6144c3034b Added skeleton for Commodore VIC-1515 printer. [Curt Coder] 2015-07-25 12:51:28 +03:00
Wilbert Pol 69f5f49c52 msx.c: Start hooking up moonsound; not fully working yet (nw) 2015-07-19 14:36:12 +02:00
mahlemiut 4e99dc8cfe amstrad: added DDI-1 disk drive expansion (464 only), and make 464 and 664 default to 64k RAM. 2015-07-05 00:25:52 +12:00
Miodrag Milanovic 654a5ca29b update metadata in lua files (nw) 2015-06-20 13:21:10 +02:00
mahlemiut d685805614 amstrad: add support for the Dobbertin HD20 hard disk. 2015-06-20 22:01:00 +12:00
Dirk Best 9b4905c6b6 apricot: add an expansion slot interface and add two ram expansion
cards. this will also be usuable by the apricot f series and portable.
2015-06-08 20:41:32 +02:00
Dirk Best b3b2768cc9 cgenie: Rewrote driver and removed lots of cruft.
- Remove custom 6845 emulation and use our standard core
- Use the slot system for the parallel interface, fix and implement the
joystick as a slot device and create a printer slot device
- Add support for the RS-232 port
- Add support for the Break key (causes NMI)
2015-05-24 18:31:36 +02:00
Dirk Best 879baad29a cgenie: removed old broken floppy implementation, added an expansion bus
interface, implemented new floppy controller as expansion device. works
with mfi files, still some issues with plain sector dumps.
2015-05-22 01:20:57 +02:00
Dirk Best 48aee7d615 Nascom: Add support for the Advanced Video Card (AVC) 2015-05-18 12:57:49 +02:00
Dirk Best 1e9f57c2cd Nascom: Clean up, add NASBUS emulation and make the floppy disc
controller a NASBUS card, convert to the new wdc emulation, add generic
socket emulation, add initial software list.
2015-05-17 15:18:59 +02:00
Miodrag Milanovic ca37d40f69 Removed comments and added generic license for whole team on top (nw) 2015-05-09 16:05:30 +02:00
mahlemiut d7fe898124 cpcexp: added ROMEN signal, and a function to tell an expansion to set up any RAM mapping it needs. Added support for Brunword MK4 as an expansion device. 2015-05-09 13:27:06 +12:00
Miodrag Milanovic c334fda9a9 Start adding .h and .inc files to help usage inside IDE's like VS and XCode (nw) 2015-04-11 14:17:02 +02:00
Curt Coder 00c8f695de (MESS) abc80: Emulated a 16KB RAM card. [Curt Coder] 2015-04-06 21:24:54 +03:00
Curt Coder 0da7bc72da (MESS) abc80: Fixed cassette loading and added quickload for BAC files. Emulated the ABC expansion unit and ABC memory card. [Curt Coder] 2015-04-06 00:42:28 +03:00
Miodrag Milanovic 1026d09afa Moved creation of most non-layout files out of makefile (nw) 2015-04-04 14:44:06 +02:00
Miodrag Milanovic 7f1ad1db99 Explicit file listing in lua scripts making generate much much faster (nw) 2015-03-28 10:10:03 +01:00
Miodrag Milanovic f76d59c41d Moved build system to GENie [Miodrag Milanovic]
make TARGET=mess -j19

will generate all needed files and build MESS, while developing you can use

make TARGET=mess COMPILE=1 -j19
to prevent rebuilding of make files.

Build system have automatic generate of dependencies so will do incremental builds fine.

make clean
will remove all generated files/projects and obj files
2015-03-26 09:00:39 +01:00