Commit Graph

133 Commits

Author SHA1 Message Date
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
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
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