Commit Graph

667 Commits

Author SHA1 Message Date
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
Nigel Barnes
9104c9d523 renamed bbc_dsk to acorn_dsk
- split ssd/dsd formats
- added opus ddos format
- split adfs into oldmap and newmap formats for archimedes
- logging
2016-07-16 19:48:44 +01:00
R. Belmont
13c8e76cf7 Merge pull request #1093 from stevenc99/kfreebsd
GNU/kFreeBSD support
2016-07-16 06:09:32 -04:00
R. Belmont
72b19e0c25 Merge pull request #1072 from oxc/pkg_config_from_env
Take pkg-config path from env if defined
2016-07-16 06:04:52 -04:00
Vas Crabb
231bfb6237 UI refactoring: [Vas Crabb]
* .h -> .ipp for things that aren't really headers
* make more stuff in selmenu private
* move the remembered driver/software associated with the snap to the cache object
* start cleaning up constness in datfile manager - it's still a mess of non-const statics
2016-07-15 16:05:23 +10:00
Steven Chamberlain
ad91a1391c qtdbg: compile with -fPIC on freebsd also 2016-07-13 13:31:11 +01:00
Vas Crabb
32873fc1dd balance configuration macros in genie scripts 2016-07-13 20:25:11 +10:00
Nathan Woods
649e4c797b Split "widgets" code out of ui::menu::global_state into a separate module 2016-07-10 17:22:49 -04:00
Bernhard Frauendienst
cb5495f738 Take pkg-config path from env if defined 2016-07-09 22:49:30 +02:00
Vas Crabb
1abf53ca6a UI code refactoring: [Vas Crabb]
* Split out main menu and dat box drawing from base class
* Make a bunch of class statics proper per-machine persistent objects
* Object lifecycle fixes
2016-07-10 03:01:13 +10:00
Joakim Larsson Edstrom
1459d8316c New device: FGA-002 Force Gate Array, splitted out from fccpu30 driver, mostly a skeleton but most registers can be written and read back, 8 bit timer is implemented 2016-07-06 20:45:59 +02:00
Nathan Woods
c105b9d8a9 Split UI related to file creation from filesel.[cpp|h] into filecreate.[cpp|h] 2016-07-03 13:12:52 -04:00
Brad Hughes
f37865b329 Add a couple msys2 updated mingw headers to winsdk-override to support linux cross-compile with stock mingw-w64 (nw) 2016-07-02 16:03:01 -04:00
Jeffrey Clark
245b8d4163 android strip SDL lib (nw) 2016-06-30 16:26:44 -05:00
Olivier Galibert
ff2887100f ym2413: Isolate, objectify, integrate [O. Galibert] 2016-06-29 19:26:19 +02:00
Olivier Galibert
ded91ac888 ym2151: Isolate, objectify, integrate [O. Galibert] 2016-06-29 19:26:10 +02:00
Miodrag Milanovic
b6a6a03fa5 fix for Android build (nw) 2016-06-28 11:04:56 +02:00
Nathan Woods
5009b55430 Introduced src/lib/util/timeconv.[c|h], moved code from un7z.cpp into it, and implemented win_time_point_from_filetime() in terms of it 2016-06-26 08:12:07 -04:00
Vas Crabb
5cee9e9bc4 POSIX implementation for new directory read features, cleanup of Windows implementation, return directory handle as smart pointer, fix full build [Vas Crabb] 2016-06-25 03:35:23 +10: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
therealmogminer@gmail.com
ff04ed4cc0 Convert SPARCv8 ops to document-described functionality 2016-06-23 14:20:24 +02:00
couriersud
c6e6911aed Netlist changes
- Replaced shared_ptr by unique_ptr. 
- Better seperation of setup_t and netlist_t. 
- Fixed bugs in rdtsc code. Refactored timer code. 
- Simplify conditional activation/deactivation. 
- Introduced HINT(device, hint) to clarify that hints are inheritent 
  and not specific to devices. 
- Added improved profiling support to netlist. Statistics output now
  proposes devices for which whole device activation/deactivation be
  disabled. No significant improvement for pong, but breakout
  experiences a 10% improvement. 
- Moved options code from include to cpp file.
- Minor modifications to 7493 and 9316
- Introduced perftime_t and perfcount_t for gathering statistics. These
  templates do not create any code if statistics are not kept.
- Make help2man ./nltool produce usuable output. 
- More truthtable refactoring. Removed half-finished code for internal
  state support. As implemented, this would have had no support for
  timing delays. 
[Couriersud]
2016-06-23 02:04:51 +02:00
Vas Crabb
32a75e7ae4 VIS I (UltraSPARC) and II (UltraSPARC III) for SPARC disassembler [Vas Crabb]
* Supports %gsr, all ops with exception of SIAM, and all ASI constants
* Use -arch sparcv9vis1 or -arch sparcv9vis2 with unidasm
2016-06-23 01:13:52 +10:00
Vas Crabb
a1625d2220 improve SPARC disassembler: [Vas Crabb]
* Support SPARCv9
* Allow plug-in ASI comments
* Fix format of some opcodes
* Produce clr synthetic
* Allow running in v7, v8 and v9 modes
2016-06-22 04:39:56 +10:00
Ted Green
aae1cbb6d3 atlantis: Update address mapping and add zeus2 video device (nw)
dcs: Update 2181 SYSCONTROL bits (nw)
adsp2100: Add more info for invalid register accesses (nw)
zeus2: New video device based on midzeus2 driver (nw)
2016-06-19 08:28:18 -06:00
therealmogminer@gmail.com
b4beaa37b7 Merge remote-tracking branch 'mainline/master' 2016-06-18 17:15:17 +02:00
Miodrag Milanovic
1d0e0ac12a remove all usages of tagmap 2016-06-18 15:32:15 +02:00
therealmogminer@gmail.com
6d50e3cb36 Add majority of SPARC integer ops 2016-06-18 13:37:06 +02:00
R. Belmont
11ed715659 Merge pull request #955 from belegdol/master
Made the way jpeglib.h is included more pretty
2016-06-17 14:26:57 -04:00
therealmogminer@gmail.com
579d4873a6 Initial MB86901 diassembler 2016-06-17 15:09:39 +02:00
Miodrag Milanovic
8c87ea208c Removed not needed files from compiling (nw) 2016-06-16 13:37:24 +02:00
Julian Sikorski
6208ca7d34 Made the way jpeglib.h is included more pretty 2016-06-15 22:26:56 +02:00
Curt Coder
f945016811 pofo: Expansion port slot interface WIP. (nw) 2016-06-15 10:55:18 +03:00
Vas Crabb
d479f0b4be Merge pull request #911 from GiuseppeGorgoglione/master
Three patches with code cleanups to the OSD layer [
Giuseppe Gorgoglione]
* Fix debugging code in font_dwrite.cpp
* Introduce dynamic_module
* Remove Direct3D abstraction layer
2016-06-15 14:52:19 +10:00
angelosa
3c030752cf Added bare-bones Sony LDP-1000 device (nw) 2016-06-14 19:50:43 +02:00
Nathan Woods
3c4f7e065c Refactored text layout code out of ui.cpp into a separate module 2016-06-13 05:54:16 -04:00
Miodrag Milanovic
65ab646965 Revert "More work on gameking 3 [PeT]"
This reverts commit 550175d8b8.
2016-06-12 17:38:03 +02:00
Miodrag Milanovic
550175d8b8 More work on gameking 3 [PeT] 2016-06-12 09:10:27 +02:00
Giuseppe Gorgoglione
58dc78b6eb Introduce dynamic_module
This is a central cross-platform facility to dynamically bind functions from shared libraries.
    Updated all OSD modules to use it.
2016-06-11 20:14:09 +02:00
smf-
f503c71934 and the missing device (nw) 2016-06-10 19:46:04 +01:00
Joakim Larsson Edstrom
c2d185b9e3 New driver for Force Computers CPU-30, WIP but starts up some diagnostics tests so a good milestone 2016-06-10 10:33:42 +02:00
Vas Crabb
93cd0cd40b Fix git version [Vas Crabb]
* git version is set by top-level make, not just when GENie runs
* can set IGNORE_GIT=1 for make to ignore git
* git ignored/unavailable uses "unknown" in version string
* mark modified trees as dirty
* note that version now comes from makefile
2016-06-10 00:36:29 +10:00
Miodrag Milanovic
ebd8e7d74b Added initial ninja support to use add MAKETYPE=ninja to compile command line (nw)
Custom build tasks are not yet working
2016-06-09 13:46:36 +02:00
Miodrag Milanovic
e8cb3e06d0 Updated GENie to latest (nw) 2016-06-08 20:42:23 +02:00
couriersud
81880659d2 - More code cleanup.
- Dead code removal and minor refactoring.
- Simplify. Align naming with stl. Fix somed pedantic warnings.
- More STL compatability.
- Remove ATTR_HOT and ATTR_COLD. Refactored netlist_time. 
- Fix long standing workaround which would ignore policy of change-only"
propagation.
- Rewrote for loops to use auto : semantics.
- Truthtable cleanup. (nw)
- Get rid of nl_math. Remove nl_util.h and moved contents to
plib/putil.h.
- Fix standalone build. Refactor ptypes.h. 
[Couriersud]
2016-06-07 21:44:15 +02:00
balr0g
b277908905 - Minor cosmetic refactoring. Added a "uninitialised array" template to
allow in-place creation (for increased locality) of netlist classes.
Main use is in truthtable class.
- Remove PLIB_NAMESPACE macros.
- Remove namespace macros. Use explicit namespace declarations.
- Moved device definitions into cpp files.
- Moved more device definitions into cpp files.
- New prefix "nlid" for include files flags purely internal include
files not to be leaked into userland. 
- Fix factory code.
2016-06-07 21:40:30 +02:00