Commit Graph

1949 Commits

Author SHA1 Message Date
couriersud
deacff7ffa netlist: refactor model code. (nw) 2019-03-18 23:27:36 +01:00
couriersud
76b92133dd Fix indentation. (nw) 2019-03-18 00:10:47 +01:00
couriersud
9534a0233c netlist: improve readability. (nw) 2019-03-18 00:01:41 +01:00
couriersud
46762510c9 netlist: Added B-E and B-C capacitance to EB model. [Couriersud]
Despite the overhead - two devices more per transistor - this addition
significantly reduces computing time on switching conditions by reducing
the needed Newton-Raphson loops dramatically.
2019-03-17 23:42:08 +01:00
couriersud
43c6cad7dd netlist: Add UJT example for 2N6027. 2019-03-17 15:10:15 +01:00
couriersud
ed9c85904e Fix bug. (nw) 2019-03-17 15:10:14 +01:00
couriersud
0882868e11 netlist: Fix formatting bug. (nw) 2019-03-17 03:17:15 +01:00
couriersud
4b9f90c4a9 netlist: add MC1455P as device. (nw) 2019-03-17 00:48:40 +01:00
couriersud
804439399b netlist: Add output resistance to NE555.
This is a first-order approximation of the output driving stage. A logic
output with appropriate family may be better but would add more
complexity.
2019-03-17 00:05:08 +01:00
couriersud
d27b434ca9 netlist: fix bug in LOGIC_INPUT devices. (nw)
Now family parameter is actually used. Also fixed bugs in code using
this device.
gamemachine now creates sound at realistic pitch.
2019-03-16 22:25:12 +01:00
couriersud
a5d6b7c5b8 gamemachine: add netlist audio. [Couriersud] 2019-03-16 19:07:33 +01:00
couriersud
e80276bb23 New working machine
-----------
Rebound [DICE team, Couriersud]
2019-03-12 02:04:28 +01:00
Nigel Barnes
5511ce41e2 mtx: Added expansion bus with SDX floppy controller.
- 80 column card with SDX in CP/M mode.
- ROM/RAM banking fixed for CP/M, and MTX500 now correctly detected.
- Support for Type 03 and Type 07 .mfloppy images.
- Added alternate MTX2 romset (German).
- Keyboard ROM now selected in Configuration.
- Quickload .RUN files.
2019-03-10 17:23:39 +00:00
couriersud
78c9ef697b netlist: fix breakout paddle regression. (nw)
The interesting parts in datasheets are always those which are not
mentioned.
2019-03-10 14:15:14 +01:00
Couriersud
1a2af1a23e netlist: add reverse parameter to 3-pin-potentiometer. (nw) 2019-03-09 00:34:40 +01:00
Couriersud
b346dea279 netlist: fix reset bug in 555 device. (nw) 2019-03-09 00:33:49 +01:00
Couriersud
07485fd7eb netlist: fix bugs in object initialization order. (nw) 2019-03-06 23:45:20 +01:00
couriersud
83a0e93837 netlist: remove printf. (nw) 2019-03-02 13:11:37 +01:00
couriersud
618f33f586 netlist: refactoring. (nw) 2019-03-01 19:52:19 +01:00
couriersud
17fcc38a25 netlist: memory code refactoring. (nw) 2019-03-01 10:30:24 +01:00
couriersud
2b49e6ed11 netlist: clang tidy. (nw) 2019-03-01 07:48:01 +01:00
couriersud
20551e42a7 Netlist: improve readability. (nw) 2019-03-01 07:48:01 +01:00
couriersud
893e676387 netlist: cosmetic changes - mostly indentation. (nw) 2019-03-01 07:48:00 +01:00
couriersud
d00de16b41 netlist: analog readability refactoring. (nw)
Change the sign of go (or in other terms a12 and a21 matrix stencil
elements). This should make further optimization of matrix population
easier.
In addition hopefully improve the readability of the code by sacrifying
overloads for more verbose member names.
2019-02-25 22:11:04 +01:00
couriersud
6a3efe52d6 netlist: fix bugs in the alignment code. (nw) 2019-02-25 21:17:59 +01:00
couriersud
2e055aa97b netlist: tidy changes and better constexpr support for ptime class. (nw) 2019-02-24 18:45:16 +01:00
couriersud
0e07f9ac34 netlist: more alignment related refactoring. (nw) 2019-02-24 18:45:16 +01:00
couriersud
a7a8186283 Move fillmatrix to to matrix solver base class. (nw) 2019-02-24 18:45:15 +01:00
couriersud
89e0f698b6 Prepare further optimization. (nw) 2019-02-24 18:41:42 +01:00
Vas Crabb
0ed2d2684e srcclean (nw) 2019-02-24 14:25:42 +11:00
couriersud
a65390cad5 netlist: Fix relative include paths and a conflict. (nw)
nl_types.h is part of libc++. Any project with a file with the same name
on the include path just fails to compile. Renamed to nltypes.h
2019-02-23 18:54:29 +01:00
couriersud
672f9b092a Move ptime struct into plib namespace and fix relative includes. (nw) 2019-02-23 18:54:27 +01:00
couriersud
0b3787d5f4 netlist: Fix some more exotic compile options. (nw)
128bit integers on kaby lake are not that much slower than 64bit. This
may be an option for MAME's attotime as well.
2019-02-23 16:24:01 +01:00
couriersud
f44bc8108c Fix indentation. (nw) 2019-02-22 22:06:05 +01:00
couriersud
66154af0f2 netlist: fix visibility issues and more issues reported by tidy. (nw) 2019-02-22 21:46:55 +01:00
couriersud
cf73ccc764 netlist: memory management. [Couriersud]
Memory management in plib is now alignment-aware. All allocations
respect c++11 alignas. Selected classes like parray and aligned_vector
also provide hints (__builtin_assume_aligned) to g++ and clang.
The alignment optimizations have little impact on the current use cases.
They only become effective on bigger data processing.
What has a measurable impact is memory pooling. This speeds up netlist
games like breakout and pong by about 5%.

Tested with linux, macosx and windows cross builds. All features are
disabled since I can not rule out they may temporarily break more exotic
builds.
2019-02-22 08:18:01 +01:00
couriersud
064050323e netlist: fix access specifiers. (nw) 2019-02-20 20:53:56 +01:00
couriersud
a5f3787058 netlist: fix a bug and some performance tweaks. (nw) 2019-02-20 20:16:08 +01:00
Vas Crabb
7983685096 (nw) clean up trivial stuff - the device delegate boilerplate is ugly, I will address it ASAP 2019-02-19 20:19:15 +11:00
couriersud
6207d7d2d3 netlist: tick off some issues clang-tidy highlights. (nw) 2019-02-18 20:22:16 +01:00
couriersud
17d784d83b netlist: remove locked-in context from sources. (nw) 2019-02-17 23:52:05 +01:00
couriersud
1fe9f5e2e5 netlist: refactoring startup process and array usage. (nw) 2019-02-17 18:30:34 +01:00
Vas Crabb
01ccbd89c9 (nw) remove some superfluous const, eliminate a superfluous temp, remove superflous semicolons, etc. and also fix a known broken build script change 2019-02-18 00:48:52 +11:00
couriersud
55000018e7 netlist: Separation of duties. (nw)
Make it clearer what is used during parsing a netlist, "compiling" a
netlist and execution of a netlist.
2019-02-16 14:31:59 +01:00
couriersud
b113d0c26d netlist: memory pool now supports aligned storage. (nw)
Set USE_MEMPOOL to 1 to try this (max 5% performance increase).

For mingw, there is no alignment support. This triggers -Wattribute
errors which due to -Werror crash the build.
2019-02-16 00:05:21 +01:00
couriersud
c5a513ca90 netlist: more memory allocation refactoring. (nw) 2019-02-14 01:16:39 +01:00
couriersud
aad01d572a netlist: indent. (nw) 2019-02-13 23:23:14 +01:00
couriersud
fb685c05b9 netlist: memory allocation clean-up. (nw) 2019-02-13 22:37:07 +01:00
couriersud
a905dffd08 netlist: More cpp core guidelines alignment. (nw) 2019-02-11 22:19:08 +01:00
couriersud
83bd138bec netlist: Fix crashes on certain hardware/library combos. (nw)
At least on macosx memory used by an object seems to be invalidated
before the dtor is executed. This of course is deadly for child objects
with references to the parent-in-deletion which may call back into the
parent.
One of the worst issues I had to fix. Ever. Lesson learnt: No tricks in
dtors. Never.
2019-02-09 23:07:27 +01:00