Commit Graph

1756 Commits

Author SHA1 Message Date
couriersud
a82ca2d244 Improve readability. Add more c++11 noexcept and swap semantics.
Also fixed clang-5 warnings. (nw)
2017-02-22 02:04:02 +01:00
couriersud
5c4b7cfef8 Clean up net_t interface and increase readability. (nw) 2017-02-22 02:04:01 +01:00
couriersud
0bdffa7e97 Slightly improve event timing if state changes.
Also introduce a push_force call to reschedule already pending events if
the state will not change. (nw)
2017-02-19 16:55:30 +01:00
Vas Crabb
8f15315a52 srcclean (nw) 2017-02-19 11:40:55 +11:00
couriersud
2acad1f854 Add prodigy to mamenl build. Fix clang5 warnings. (nw) 2017-02-19 01:00:48 +01:00
couriersud
65806114b0 More truthtable rework and clean up. (nw) 2017-02-19 01:00:48 +01:00
couriersud
2ade578dc0 Fix nltool logging. (nw) 2017-02-19 00:59:31 +01:00
R. Belmont
7b193346a8 Merge pull request #2068 from JoakimLarsson/prodigy_display
Prodigy display
2017-02-17 21:59:51 -05:00
couriersud
8536d065e2 Fix mingw 32 bit build. (nw) 2017-02-17 20:10:15 +01:00
couriersud
0716d96514 Reworked truthtables a bit.
- Moved 9312 and 74279 to ttl macro library.
- Renamed TTL_9312_* to DM9312. This is more appropriate.
- Fixed a number of warnings from latest ubuntu clang-5.0.
2017-02-17 20:10:15 +01:00
Curt Coder
044d08a6c3 abc800_dsk: Fixed sector interleave. [Curt Coder] 2017-02-17 13:14:40 +02:00
Joakim Larsson Edstrom
f9f149a579 new netlist device: 74164 - 8bit parallel output serial shift register 2017-02-17 09:05:30 +01:00
couriersud
73b4115c19 Optimized 7493 device. Gives some 5 to 10% improvement to pong.
7493 also is an example on how to use multiple handlers on a device
makes design easier. (nw)
2017-02-16 20:31:42 +01:00
couriersud
32aca6c398 Move from <cstring> to std::copy and friends. (nw) 2017-02-16 20:31:42 +01:00
Olivier Galibert
c1e0a6344a Revert "wd177x_dsk, upd765_dsk: Fixed sector interleaving. [Curt Coder]"
This reverts commit 16f79382aa.
2017-02-16 14:46:45 +01:00
Curt Coder
16f79382aa wd177x_dsk, upd765_dsk: Fixed sector interleaving. [Curt Coder] 2017-02-16 14:10:36 +02:00
R. Belmont
1835b25d6d Merge pull request #2062 from shattered/_fb4f4dd
ms0515.cpp -- hook up keyboard and floppy, improve video emulation etc. (take 2)
2017-02-15 21:58:06 -05:00
Vas Crabb
fb087b6c92 Cherry-pick some features from self-registering drivers PoC:
* Use size_t for sizes and <algorithm> for algorithms
* Fix up some files that were getting linked into multiple libs
* Add missing virtual method to sh2 peripheral class
* Put shortname in driver struct for locality
* Use shared pointers in config LRU cache for safety
2017-02-16 12:20:35 +11:00
couriersud
cc39da9c83 Added state saving and loading to nltool.
First step towards regression and unit tests. (nw)
2017-02-15 01:01:51 +01:00
couriersud
74e690d654 Move inline constructors from header to cpp. (nw) 2017-02-15 01:01:50 +01:00
Sergey Svishchev
a783bb3de4 dsk_dsk format: propagate CRC error flags 2017-02-13 19:33:08 +00:00
Sergey Svishchev
1837531d2d ms0515.cpp -- hook up keyboard and floppy, improve video emulation etc. 2017-02-13 22:09:31 +03:00
couriersud
3c60882f93 Start adding save state support to nltool.
Save states are needed for regression tests going forward. (nw)
2017-02-13 00:54:51 +01:00
couriersud
3e42594830 Add standalone VC2015 build file in src/lib/netlist/build
This was the last platform without standalone compile. Sure needs more
attention, grateful for any help. (nw)
2017-02-13 00:54:40 +01:00
couriersud
290185cf00 Remove duplicate save states / Save state simplification. (nw) 2017-02-13 00:51:41 +01:00
couriersud
f2c3b51553 Separate custom save states. (nw) 2017-02-12 23:48:53 +01:00
couriersud
d7f420ccf7 Optimize queue save state. (nw) 2017-02-12 23:48:52 +01:00
Olivier Galibert
a2557f1b02 Remove emu.h from headers (nw)
Per Vas' request.  If the compile fails for you (i'm thinking osx and
windows native debuggers here in particular), add '#include "emu.h"'
as first include of the cpp files that fail.

Due to our use of precompilation and forced inclusion, emu.h must be
included as the very first non-comment thing we do if we want to be
sure msvc compiles are identical to gcc/clang ones.  Doing it directly
instead of through an include increases the correctness probability by
a magnitude.
2017-02-11 18:31:20 +01:00
couriersud
572ca8100f Reorder include order to comply with best practices. (nw) 2017-02-10 21:53:02 +01:00
couriersud
9a71daa2e0 Make windows builds of nltool and nlwav understand unicode.
nltool and nlwav now use wmain, i.e. UNICODE main on windows. (nw)
2017-02-10 21:53:01 +01:00
couriersud
ab17457707 Make sure netlist includes are not found directly on include path.
Instead, they have to be prefixed by "netlist/". Removed unneeded link
librariers for nltool and nlwav along the way. (nw)
2017-02-10 21:52:09 +01:00
Miodrag Milanovic
90c14be174 Sync with upstream (nw) 2017-02-05 18:32:46 +01:00
couriersud
70051f6c1f Netlist: It is now possible to have multiple handlers per device ...
... for updates. This will make device implementation more flexible and
faster. A nice side-effect is that there was some minor (<5%)
performance increase already. Each input is now assigned a notification
handler. Currently this is update, but going forward this may be a
custom handler. In addition
- fixed MEMPOOL on OSX
- removed dead code
- avoid bit-rot
- added delegate support for emscripten and arm processors
- added delegate support for VS 2015 x64
[Couriersud]
2017-02-05 17:19:53 +01:00
couriersud
427cf984db Fix 9322. (nw) 2017-02-05 17:19:52 +01:00
couriersud
ced71c2b58 Add constexpr add noexcept. (nw) 2017-02-05 17:19:51 +01:00
couriersud
6a770d7086 Doxygen work. How the heck can one enforce a consistent device
documentation? (nw)
2017-02-05 17:19:51 +01:00
couriersud
f61e1f2123 Fix a bug in pstring.cpp causing crash if moved object is reused. (nw) 2017-02-05 17:19:50 +01:00
couriersud
ee8fed61c2 Some documentation work.
Along the way, set default models for devices missing them. 
Fix standalone makefile to work in mingw environment. (nw)
2017-02-05 17:19:49 +01:00
Vas Crabb
4db6e43971 Avoid conflict with Apple C++ runtime header nl_types.h 2017-02-04 12:29:23 +11:00
Vas Crabb
9568b26c35 fix chd build (nw) 2017-02-02 14:36:48 +11:00
Vas Crabb
38a6ab02e4 yo sup dawg (nw) 2017-02-02 14:17:40 +11:00
Nigel Barnes
d5bba41ed6 zx81: added tzx cassette format 2017-02-01 19:40:29 +00:00
Nigel Barnes
51992a75ec apd_dsk: improved identify and simplified load (nw) 2017-02-01 19:40:29 +00:00
Lord-Nightmare
7d05b65840 build fix (nw) 2017-01-31 18:24:49 -05:00
couriersud
e02d8cad2b Fixed a number of issues:
- Fixed crashes on terminals without nets (i.e. connected to a rail)
- Reviewed "FIXMEs" and corrected some minor ones.
- Made m_cur_analog protected. 
- Fixed pmf delegates to work with msvc.
- More optimizations to the solver code.
- Started work on a better signal pipeline in nlwav
- Only generate documentation for entities which are documented.
[Couriersud]
2017-01-31 22:37:25 +01:00
couriersud
c713f9ed1d Separate include file usage for netlist.
Device implementations (all cpp files in netlist/devices) now should
only include nl_base.h. 
Netlist implementation sources should only include "net_lib.h". 
Refactored netlist.h and netlist.cpp to avoid namespace congestion in
netlist.h.
Fixed VC2015 build. (nw)
2017-01-29 15:47:12 +01:00
couriersud
2720512e31 Solver stuff:
Rewrote mat_cr_t to include data as well. 
Fixed some bitrot in other parts.
Simplified solver creation. (nw)
2017-01-29 15:45:50 +01:00
couriersud
fe8e2a7732 Logging enhancement for Joakim.
For netlist device debugging one can now use 
	#define LOG(...) log().info(__VA_ARGS__)
to use debugging and the known
	#define LOG(...) do {} while (0)
do disable debugging on device level. 

To avoid bitrot one could as well use
	#define LOG(...) log().info.log<true>(__VA_ARGS__)
and
	#define LOG(...) log().info.log<false>(__VA_ARGS__)

The later disables debugging. If the compiler can assume that there are
no side effects from e.g. using foo(a/b), 'LOG("abc {1:04x}",
foo(a/b));' should be completely optimized away.

Log channels available are info, verbose, warning, error and fatal.
Don't use debug, it is enabled only on specific debug builds.

Use would be e.g.
	LOG("abc {1:04x}", 2);
The format specifier in the string are enclosed in "{}". "{2}" is the
second parameter after the format string. Types are determined
automatically. "{3:04x}" would format a number as a hexadecimal with 4
leading zeros.
 
[Couriersud]
2017-01-28 03:54:59 +01:00
couriersud
4eee6b09a9 Fix a hidden bug in the GMRES solver and more optimization. (nw) 2017-01-28 03:54:58 +01:00
couriersud
bd20222866 Fix bug which caused hazl1500 to crash. (nw) 2017-01-28 03:52:42 +01:00
couriersud
cb16de91c6 Minor refactoring. (nw) 2017-01-27 18:38:01 +01:00
couriersud
2e5d1c6cb3 Remove macro to avoid copying and replace with a struct. (nw) 2017-01-27 15:22:19 +01:00
couriersud
6d2354264a Do not derive other classes from std::vector. More cleanup. (nw) 2017-01-27 15:22:18 +01:00
couriersud
5c88873a87 Cleanup of includes. (nw) 2017-01-27 15:22:17 +01:00
smf-
1756a54c74 fix for visual studio (nw) 2017-01-26 12:35:48 +00:00
couriersud
716361fd6a Hopefully fix compile on some unknown compiler. (nw) 2017-01-26 11:03:19 +01:00
couriersud
c4dbd26730 Fix netlist code generation. (nw) 2017-01-26 11:03:18 +01:00
Julian Sikorski
c50ddac28b Fixed building using system utf8proc 2017-01-26 09:28:21 +11:00
couriersud
ba03118b09 More netlist refactoring:
- Remove virtual from some destructors and make them protected. 
- Various cleanups.
- Small performance improvement. 
- Fixed some inconsistencies. 
- More c++ refactoring. (nw)
2017-01-25 22:17:48 +01:00
couriersud
25152bd69a Netlist refactoring:
- Refactored netlist pmf code.
- Small optimization for diode calculations. 
- Minor refactoring across the board. (nw)
2017-01-25 22:17:47 +01:00
couriersud
093bda0193 Added infix notation parsing to the function parser. (nw) 2017-01-25 22:17:46 +01:00
Stiletto
9db7b63e9a Updates "2016" strings to "2017 where relevant.
Updates "2016" strings to "2017 where relevant.
2017-01-24 17:29:49 -05:00
Vas Crabb
edf64df1db srcclean (nw) 2017-01-22 15:37:37 +11:00
couriersud
4d15501a30 Netlist: code refactoring
Make streams provide binary access only. Use putf8_reader and
putf8_writer to actually access streams. Replace some char * parameters
with pstring where appropriate. Minor code refactoring and move
functionality were it belongs. (nw)
2017-01-20 22:29:23 +01:00
couriersud
1ae3e29ea3 Assume string literals are UTF8 in netlist code.
At the same time, any char pointer has to be explicitly converted to
pstring by specifying an encoding. Not yet optimal, but certainly better
than what was there before. 
Removed unneeded methods from pstring. (nw)
2017-01-20 22:20:36 +01:00
couriersud
d0b6742563 Default argument on plib::environment now optional. (nw) 2017-01-20 22:20:35 +01:00
couriersud
167d8405ec Converted warnings and fatal log messages to constants.
Also refactored some code to ease the exercise. (nw)
2017-01-20 22:20:35 +01:00
couriersud
ca11021d73 Netlist:
- refactored reverse polish notation evaluator into own source files.
- added function parameter to current and voltage sources VS and CS.
  You can now use those to e.g. produce a sine wave.
- Changed code to allow devices to optionally be treated as dynamic or 
  timestepping devices.
[Couriersud]
2017-01-17 01:35:16 +01:00
Nigel Barnes
2188df0263 apd_dsk: new floppy format 'Archimedes Protected Disk' 2017-01-16 20:44:43 +00:00
couriersud
7bf2939fd8 Register all devices using NETLIB_DEVICE_IMPL. Fix encoding issue. (nw) 2017-01-16 19:49:45 +01:00
couriersud
969e6ed6a0 Keep track were registry elements are created. (nw) 2017-01-16 19:49:44 +01:00
couriersud
10a4ab4af1 Preparation work for automatically generated include file for devices.
nltool now is able to create all defines from the factory definitions.
This will reduce the number of places needed to touch when adding
devices and always ensure that the parser and statically compiled
netlist code use the same syntax. This will enable us to delete most
device include files, e.g. nld_74107.h. 

Netlist usage to create this header file:
./nltool -c header > src/lib/netlist/devices/nld_devinc.h

This is not yet used in production. It will be enabled after additional
tests.

[Couriersud]
2017-01-16 19:49:43 +01:00
couriersud
c612391f8e Move analog devices into "netlist::analog" namespace. Added
documentation to opamp model. (nw)
2017-01-15 17:56:47 +01:00
couriersud
fd59a10f92 Added more documentation to diode and bjt model. (nw) 2017-01-15 17:56:46 +01:00
couriersud
3cfe098bb2 Introduce a more structured approach to models. (nw) 2017-01-15 17:56:45 +01:00
R. Belmont
72cf75f937 Merge pull request #1974 from shattered/_55d0495
minor floppy internals improvements
2017-01-14 23:41:24 -05:00
Sergey Svishchev
89b7801ebe formats/wd177x_dsk: allow override of build_sector_description, like nec765_dsk 2017-01-15 02:24:48 +03:00
couriersud
674077f89f Prepare source for consistent error message usage. (nw) 2017-01-14 16:35:57 +01:00
couriersud
bce5c521a2 Add code to remove devices connected only to rail terminals. 2017-01-14 16:35:56 +01:00
couriersud
ef8b7ccb6b Core refactoring
- connect_late ==> connect
- register nets where they are created
2017-01-14 16:35:55 +01:00
couriersud
5cd17c361f Fix seldom used conditional build options.
- Fixed OPENMP compile
  For congo bongo, using Solver.PARALLEL=1 significantly increases
  performance from 270% to 380%. However, this has to be taken
  with a grain of salt. Enabling this on predominantly logic netlists
  can severly kill performance.
- Increased readability of timed queue code.
2017-01-12 23:20:23 +01:00
couriersud
b1c3586789 Improve readability and remove some trampolines. (nw) 2017-01-12 23:20:23 +01:00
couriersud
c8c7e9a770 Fix timing issue in CD4538. Add "pow" (power) to the function model.
Minor documentation updates. Slight improvement of gorilla sound. (nw)
2017-01-12 23:20:22 +01:00
couriersud
5b4026d13f - setup_t is owned by netlist_t. Stop being complicated.
- Remove gnd() method. 
- Further simplification.
- Fix potential reset and initialization issues. (nw)
2017-01-12 23:20:21 +01:00
R. Belmont
d7dba2bd78 Merge pull request #1950 from shattered/_3aa32de
misc. fixes exposed by Displaywriter WIP
2017-01-09 21:35:37 -05:00
Sergey Svishchev
4add62a083 TeleDisk loader: accept images produced from 8" SSSD disks 2017-01-10 00:31:25 +03:00
Sergey Svishchev
1fda75a0e2 ImageDisk loader: don't crash on tracks with no data 2017-01-10 00:31:24 +03:00
couriersud
9d3d07b771 Move netlists into macro folder. (nw) 2017-01-09 00:28:31 +01:00
couriersud
9e88fd79ea nlwav now accepts stdin and stdout. (nw)
cat log_RO.1.log | ./nlwav | play -
2017-01-09 00:28:30 +01:00
couriersud
5220572228 Reduce memory footprint for parameters. (nw) 2017-01-08 17:31:29 +01:00
couriersud
233b0b7dbe Decrease memory footprint. (nw) 2017-01-08 17:31:28 +01:00
couriersud
f425f2b997 No need for a virtual stop which is needed only by the solver. (nw) 2017-01-08 17:31:27 +01:00
couriersud
1950ff149a Make stop be called again. Fix METHOD parameter. (nw) 2017-01-08 17:31:26 +01:00
couriersud
e26e327ef9 Rename misleading solver parameters. (nw) 2017-01-08 17:31:25 +01:00
couriersud
d790daa2a7 Remove parameter GS_THRESHOLD. It is now outdated. (nw) 2017-01-08 17:31:24 +01:00
couriersud
ff820d6fa9 Fix regression. (nw) 2017-01-08 17:31:23 +01:00
Justin Kerk
57ac19beee pc_dsk: Handle 1.44MB images with 1,024-byte footer, which have turned up in a couple places (nw) 2017-01-08 01:59:46 -08:00
Justin Kerk
7a8d5118b5 pc_dsk: Assume a smaller gap size to allow 400K disk images to load. Fixes e.g. ikari and marble from the ibm5150 softlist. [Justin Kerk] 2017-01-07 22:28:19 -08:00
couriersud
a841ff553e Fix some clang pedantic warnings. (nw) 2017-01-07 17:29:45 +01:00
couriersud
4dfd26b248 Minor refactoring with focus on a bit more readability. (nw) 2017-01-07 17:29:44 +01:00
couriersud
e788dc5dbe Fix startup when there are no timestep devices present, i.e. Capacitors
or inductors. (nw)
2017-01-07 17:29:43 +01:00
couriersud
59cc0a0d22 Fix stuntcyc regression. (nw) 2017-01-06 01:31:36 +01:00
couriersud
0ebd66d72f intX_fast_t may depend on compiler implementation and thus is not suited
for save states. (nw)
2017-01-06 01:31:35 +01:00
couriersud
47492e4821 Make destructors virtual on base classes. (nw) 2017-01-06 01:31:35 +01:00
couriersud
2c0b627f13 More cleanups. (nw) 2017-01-06 01:31:33 +01:00
Vas Crabb
2c8cd1f083 Merge pull request #1911 from npwoods/imgtool_use_wide_console
[Imgtool] Changed to use wcout/wcerr in order to support Unicode console output
2017-01-05 16:36:55 +11:00
couriersud
02c3f45bff Fix clang "-Wno-weak-vtables" warnings in netlist source. Refactored
code along the way. (nw)
2017-01-05 01:43:31 +01:00
couriersud
67841056da Fix some pedantic clang warnings. (nw) 2017-01-05 01:43:31 +01:00
Miodrag Milanovic
74b24ecefb Added websockets as well (nw) 2017-01-04 19:22:13 +01:00
couriersud
78ef96336e Added SIGFPE enabling code to plib/pexception.*. Moved plib exceptions
into these files as well. The code uses <cfenv> which is part of c++11
standard. Non-standard glib extensions are currently only used on linux
and (i386 or x86_64). (nw)
2017-01-04 18:01:22 +01:00
couriersud
85d1aca315 Minor refactoring and renaming exercise. (nw) 2017-01-04 18:01:21 +01:00
couriersud
93d13d1338 Fix pin assignment 4001. (nw) 2017-01-04 18:01:20 +01:00
couriersud
176258e960 Add FREQ parameter to MM5837 noise generator. Specs in datasheet range
from 24000 Hz to 56000 Hz. Properly use VDD for output reference
voltage. (nw)
2017-01-04 18:01:20 +01:00
couriersud
85949f082c Fix MM5837. (nw) 2017-01-04 18:01:19 +01:00
couriersud
424e2d4097 Fix parsing of macro devices. (nw) 2017-01-04 18:01:17 +01:00
Miodrag Milanovic
63e3f48775 Added initial HTTP/HTTPS webserver/websocket server support (nw) 2017-01-04 16:15:57 +01:00
Nathan Woods
b1eed07ad9 Vas Crabb feedback:
1.  Changed the Win32 code to use _O_U8TEXT()
2.  Reordered system #includes
3.  Changed a number of 'std::wcout << ...' to use util::stream_format()

I'm getting massive code compilation issues, and it isn't clear to me what the problem is.  I'm committing my WIP right now, with the intention of reviewing the specifics soon.
2017-01-04 08:06:20 -05:00
Nathan Woods
3231c3f648 [Imgtool] Changed to use wcout/wcerr in order to support Unicode console output
I really don't like the prevalence of '#ifdef WIN32' in this change, both the _setmode() and bypassing codecvt.  I strongly suspect that the latter is the consequence of some mistake that in practice doesn't cause problems in MSVC.  I welcome all eyes.
2017-01-02 11:59:25 -05:00
couriersud
db7cdcb957 Refactored factory. Use namespace "factory" instead of prefix factory_
all over the place. (nw)
2017-01-02 17:33:21 +01:00
couriersud
9a7b32f29d Simplify code. Introduce consistent approach to loading macro devices.
Changed  nltool "listdevices" command accordingly. Fix some bugs which
surfaced by this exercise. (nw)
2017-01-02 17:33:20 +01:00
couriersud
e84461538c Hopefully fix OSX crashes during netlist setup. (nw) 2017-01-01 17:01:26 +01:00
R. Belmont
e7bc92d930 Merge pull request #1897 from npwoods/introduce_utf8proc
Introduced utf8proc and created wrapper code to expose a prettier API
2017-01-01 08:32:39 -05:00
Nathan Woods
5be1b8e6e0 Introduced utf8proc and created wrapper code to expose a prettier API 2016-12-31 11:17:07 -05:00
couriersud
3a4bc804c0 Hook up luigi walking sound in netlist mario sound implementation.
Mario driver now uses netlist audio implementation instead of discrete
implementation. The previous discrete sound emulation has not been
removed yet because it still contains a lot of documentation.
[Couriersud]
2016-12-31 15:21:05 +01:00
couriersud
0eefe5f02d cstr() ==> c_str() (nw) 2016-12-30 23:42:24 +01:00
couriersud
f1a6e2b47e Align noexcept usage. Rename register_con to add_terminal for clearity.
Fix bug introduced with last commit. (nw)
2016-12-30 23:42:23 +01:00
couriersud
b1516cc7a3 Analog to digital proxy rework. (nw)
Properly handle connected inputs when creating a-d proxy. Aligned a-d
proxy to d-a proxy class structure.
2016-12-30 20:31:14 +01:00
Justin Kerk
44d302c1ab pc_dsk: Support 360K images with 512-byte header, found in some softlist entries. [Justin Kerk] 2016-12-29 14:44:50 -08:00
couriersud
1983580e26 Some preparation for future changes on proxies and chip families. (nw) 2016-12-28 13:48:49 +01:00
couriersud
63f4e52dae Moved proxy code into separate file. (nw) 2016-12-28 13:48:48 +01:00
couriersud
419a7da172 Fix 74629 and some internals. (nw) 2016-12-27 19:37:30 +01:00
couriersud
4ee3f42d36 Fix bug in 74123. (nw) 2016-12-27 19:36:04 +01:00
couriersud
016535b3d0 Simplify. (nw) 2016-12-27 15:19:18 +01:00
couriersud
28a734436e Added "-r" option to nltool to pass path to a folder containing rom
files. Multiple "-r" options may be given. Zip files are not supported,
just individual files. [Couriersud]
2016-12-27 11:25:00 +01:00
couriersud
54cbd67a42 Fix loading roms in two devices. (nl) 2016-12-27 04:33:18 +01:00
couriersud
bf1a504545 Fix nullptr exception. (nw) 2016-12-27 04:33:17 +01:00
couriersud
f43e45a5cf Netlist: Roms now specify an identifier in the netlist.
The identifier is used to load data from a source_t implementation. This
allos a consistent approach in netlists independent of netlist
implementation. Both sources code and parameter code needed quite some
rewrite to support this. [Couriersud]
2016-12-27 02:44:45 +01:00
MooglyGuy
4f3b59ef31 Well, it sorta looks like Stunt Cycle, at least. (nw) 2016-12-26 20:34:03 +01:00
Olivier Galibert
0a4211b73e Gross doesn't even begin to describe it (nw) 2016-12-26 18:55:19 +01:00
MooglyGuy
538d76efe3 -stuntcyc: Added netlist. Currently does not show anything on-screen. [Ryan Holtz] 2016-12-26 12:48:39 +01:00
Vas Crabb
03d486e9b5 netlist: Added LM747, LM747A and 2N2565. 2016-12-26 02:22:25 +11:00
Vas Crabb
127fd9b427 first srcclean pass (nw) 2016-12-25 13:57:31 +11:00
couriersud
8446519012 Netlist: align naming of 9334/make nl_hazelvid.cpp parseable by nltool
Renamed DM9334 to 9334 to align with naming convention used for other
93XX chips.
Added proper connection information for a number of chips to
net_lib.cpp. This allows to parse and run nl_hazelvid.cpp using nltool:

nltool -t 1 -f nl_hazelvid.cpp
2016-12-25 02:07:42 +01:00
MooglyGuy
fbb8ee0fe8 -netlist: Added 82S123 256-bit (32x8) TTL bipolar PROM. [Ryan Holtz] 2016-12-24 22:09:59 +01:00
couriersud
c0da1cee57 Leave more comments on differences between 74107 and 74107A.
Bought two 74107 for an incredible price on eBay :-( (nw)
2016-12-24 01:56:04 +01:00
couriersud
2620b4ccac Fix 74107 and 74107A timings to typical values. (nw) 2016-12-24 01:12:35 +01:00
couriersud
3506240e19 Added inductor to netlist. (nw) 2016-12-24 00:58:36 +01:00
couriersud
c6440a43d4 Remove extra semicolon. (nw) 2016-12-24 00:58:36 +01:00
couriersud
dd785aa19c Leave a note about compatibility of 74161 and DM9316. (nw) 2016-12-24 00:58:34 +01:00
therealmogminer@gmail.com
ad78023dc3 Back out part of my most recent netlist change (nw) 2016-12-24 00:14:23 +01:00
therealmogminer@gmail.com
6a6fdbdb82 Fleshing out nl_stuntcyc a little more (nw) 2016-12-23 23:29:45 +01:00
therealmogminer@gmail.com
9c4c4d0a5b -netlist: Added 82S126 4kbit (512x8) TTL bipolar PROM. [Ryan Holtz] 2016-12-23 23:29:45 +01:00
Sandro Ronco
8f4e1dc37e Archimedes: make floppies work. 2016-12-23 19:41:27 +01:00
Vas Crabb
386eb6b7b8 helps to git add 2016-12-23 15:18:29 +11:00
Vas Crabb
f5bc78c211 netlist: Added 4316 bilateral switch pack. 2016-12-23 14:54:54 +11:00
Vas Crabb
e2ec57aa48 netlist: add uA741 in 8-, 10- and 14-pin DIP variants 2016-12-23 13:39:39 +11:00
therealmogminer@gmail.com
677aaaec3d -netlist: Added 74165, 74194, 7475, 7485, and DM9322 devices. [Ryan Holtz] 2016-12-22 19:39:52 +01:00
smf-
7d7023cc0a fix clang on windows build (nw) 2016-12-22 14:14:55 +00:00
therealmogminer@gmail.com
780732f563 My name is not Ryan 161 (nw) 2016-12-22 01:34:59 +01:00
therealmogminer@gmail.com
0e85817c8a Added a chip burn-down list to atarittl, listing which chips still need to be emulated for Indy 4 and Stunt Cycle (nw) 2016-12-22 01:14:28 +01:00
therealmogminer@gmail.com
2987115966 -netlist: Various fixes: [Ryan Holtz]
* 7473: Made device only transition on a falling clock.
 * 74161: Inverted Clear and Clock inputs to match datasheet.
 * 74260: Fixed number of inputs.
 * Am2847: Fixed shift register size (was 160 bits, should have been 80 bits)
 * DM9334: Inverted C and E inputs to match datasheet.
2016-12-21 20:32:50 +01:00
therealmogminer@gmail.com
66abfa8e6d -netlist: Added shared RAM pointer, for use by netlist RAM devices which need updating by non-netlist driver code. [Ryan Holtz]
-netlist: Added new devices: [Ryan Holtz]
 * Intel 2102A 1Kbit (1024 x 1) Static RAM
 * 74365 Hex Bus Driver with 3-State Outputs
 * Generic 2- and 3-terminal Tristate device
 * Note: Tristate device and 74365 do not actually tristate, they are simply a way of combining multiple outputs + chip enables.
2016-12-21 20:32:49 +01:00
therealmogminer@gmail.com
ac56130251 -netlist: Added 74260 Dual 5-Input NOR Gate device. [Ryan Holtz] 2016-12-21 20:32:49 +01:00
therealmogminer@gmail.com
8dfbe8e538 Minor netlist syntax changes, (nw) 2016-12-21 20:32:48 +01:00
therealmogminer@gmail.com
4a71e6bdcf -netlist: Added 74166 Parallel-Load 8-Bit Shift Register device. [Ryan Holtz] 2016-12-21 20:32:48 +01:00
therealmogminer@gmail.com
e3e38025c3 -netlist: Added 2716 16 Kbit (2 Kbit x 8) UV EPROM. [Ryan Holtz] 2016-12-21 20:32:47 +01:00
therealmogminer@gmail.com
32d0f10418 -netlist: Added 74174 Hex D-Type Flip-Flop with Clear [Ryan Holtz] 2016-12-21 20:32:47 +01:00
therealmogminer@gmail.com
19165cfbfd netlist: Added 82S126 1K-bit bipolar PROM device. [Ryan Holtz] 2016-12-21 20:32:47 +01:00
therealmogminer@gmail.com
72f4f2a20e netlist: Device additions: [Ryan Holtz]
* 74161 Synchronous 4-Bit Binary Counter with Clock
 * 7473 Dual Master-Slave J-K Flip-Flops with Clear and Complementary Outputs
 * Am2847 Quad 80-bit Static Shift Register
 * DM9334 8-bit Addressable Latch
2016-12-21 20:32:46 +01:00
therealmogminer@gmail.com
3fcf6e6a3c -netlist: Add simple ROM hookup capability. [Ryan Holtz] 2016-12-21 20:32:45 +01:00
Vas Crabb
23df89c965 Make bitmaps movable, allowing them to be used in vectors and emplaced easily.
You're still responsible for ensuring you don't move a bitmap while a texture refers to it.
2016-12-15 20:10:36 +11:00
Vas Crabb
be26ac9abf coretmpl: add an associative LRU cache with map-like behaviour
selmenu: use LRU cache so icons don't all need to be reloaded on scroll

uismall.bdf: set default character for missing glyphs

rendfont.cpp:
* encapsulate many BDF and BDC handling details
* make file I/O 64-bit clean, check for allocation errors
* more solid BDF parser with error messages and trace logging
* fix heap smash when building bitmaps for BDF fonts
* extend BDC format to support high planes and default character
* render default character if glyph not found for BDF/BDC
2016-12-15 17:00:34 +11:00
Vas Crabb
c8f1954467 XML refactoring:
* move stuff to namespace util::xml
* scope down some enums
* split config load/save delegate types
* make config load take const so it can't mangle data
2016-12-11 18:15:41 +11:00
Olivier Galibert
962fda50bc delegates: Don't crash on late binding if no object is actually needed [O. Galibert]
pci9050: Fix the mappings [O. Galibert]
2016-12-09 17:23:03 +01:00
Vas Crabb
7238415d1f srcclean (nw) 2016-11-27 09:56:49 +11:00
Scott Stone
30cda1d3e5 A round of spelling/typographical fixes to source comments (nw) 2016-11-24 09:24:01 -05:00
Miodrag Milanovic
dbbd5e9c98 As promised, removing this part of code since it is used for compilers check, no need for this to be in release (nw) 2016-11-23 08:37:05 +01:00
Vas Crabb
0757bf61fd Work around buggy standard libraries (nw) 2016-11-21 07:48:43 +11:00
Vas Crabb
8179a84458 Introduce u8/u16/u32/u64/s8/s16/s32/s64
* New abbreviated types are in osd and util namespaces, and also in global namespace for things that #include "emu.h"
* Get rid of import of cstdint types to global namespace (C99 does this anyway)
* Remove the cstdint types from everything in emu
* Get rid of U64/S64 macros
* Fix a bug in dps16 caused by incorrect use of macro
* Fix debugcon not checking for "do " prefix case-insensitively
* Fix a lot of messed up tabulation
* More constexpr
* Fix up many __names
2016-11-19 05:38:48 +11:00
Vas Crabb
1b12a8940b gah, wasn't quite compatible (nw) 2016-11-17 21:04:52 +11:00
Vas Crabb
346e0a8a92 more xmlfile cleanup (nw)
* an empty tag and a self-closing tag are semantically equivalent, so std::string can be used saving some manual allocation
* a valid tag can't have an empty name, so that can be std::string too
* still expose empty strings as nullptr to API users
* scope down the int_format enum
* # is not £ ffs
2016-11-17 20:38:38 +11:00
Miodrag Milanovic
8a22a1f14d Reverting this change, it is compiler bug, confirmed by Microsoft VSO#292426 (nw) 2016-11-17 08:08:53 +01:00
Miodrag Milanovic
d5bf30edb8 Fix compilation under VS2017 (nw)
default_semantics is used by apply so need to be public
2016-11-16 21:00:29 +01:00
Vas Crabb
2354a42010 Turn xmlfile API into something that looks like C++
It's still a bit quirky but it's far better encapsulated before, and it plays nice with const (nw)
2016-11-17 01:44:03 +11:00
Vas Crabb
4d481a075a fix up pstring code (nw)
* instantiate static constant members for ODR context
* declare static members of template classes properly
* declare external template instantiations
* fix blind use of autocomplete ("treats" really?)
* fix ptype_traits on platforms where char is unsigned
* signed char is never an alias for char even if char is signed
* even if eclipse doesn't like using type, surely it supports typedef
2016-11-16 06:46:05 +11:00
Miodrag Milanovic
e71e37e54f Revert "using of IS_ENABLED in files used in tiny build (nw)"
This reverts commit 1efccdd38d.
2016-11-12 09:12:35 +01:00
Miodrag Milanovic
2131d9ad3a Revert "Use true/false if type used is bool (nw)"
This reverts commit dbd07cef38.
2016-11-12 09:12:35 +01:00
Miodrag Milanovic
dbd07cef38 Use true/false if type used is bool (nw) 2016-11-11 20:50:25 +01:00
Miodrag Milanovic
1efccdd38d using of IS_ENABLED in files used in tiny build (nw) 2016-11-11 20:43:19 +01:00
Miodrag Milanovic
7c765ea147 No need for osd_malloc, osd_malloc_array and osd_free (nw)
MALLOC_DEBUG not applicable anymore since we use new to allocate in 99.9% of cases
2016-11-11 16:12:01 +01:00
Miodrag Milanovic
ef51470515 delegate fix - lambda always have object (nw) 2016-11-08 08:14:28 +01:00
Miodrag Milanovic
689cf4d947 typo fix (nw) 2016-11-07 13:14:48 +01:00
Miodrag Milanovic
fc58a0bec8 Added basic HTTP server, not active yet, based on ASIO example with small refactoring included (nw) 2016-11-07 10:42:23 +01:00
smf-
e565b0c6aa Fix heap corruption when loading a new chd fails. Throw CHDERR_FILE_NOT_WRITEABLE rather than CHDERR_UNSUPPORTED_VERSION if you try to open an old version for writing [smf] 2016-11-06 16:50:35 +00:00
Miodrag Milanovic
2027d59e7f Do not use FUNC in delegate where applicable (nw) 2016-11-06 14:11:55 +01:00
Miodrag Milanovic
4a096d1ccb try to make GCC 5.4.0 happy (nw) 2016-11-05 20:36:08 +01:00
Miodrag Milanovic
dedf3c9b9d Delegate support for lambdas and std::functions in general, also supporting const members now [Miodrag Milanovic] 2016-11-05 20:26:04 +01:00
Vas Crabb
c15306c628 fixum (nw) 2016-11-05 00:35:09 +11:00
Joakim Larsson Edstrom
f1a1b77595 Added 'poke' and 'clear' methods to fifo template 2016-11-04 14:13:00 +01:00
Vas Crabb
c96ed5b4a6 there you go, Robbbbbbbbert (nw) 2016-11-01 21:11:25 +11:00