The schematic for the tp1983 contains an error. R19 is connected to GND.
This will never work since when Q goes low, the reset pulse will dead
lock Q to low. R19 needs to be connected to VCC (5V). This will generate
the proper, high-pass filtered pulse.
Further fixes for the 7497 as well.
The 7497 device should now work as described in the TI datasheet. This
datasheet contains an internal schematic with details on gates and D
flip flops used.
This change removes all string extensions like trim, rpad, left, right,
... from pstring and replaces them by function templates.
This aligns a lot better with the intentions of the standard library.
Someone needs to get MS QA to put some non-trivial modern C++
compliation tests in the acceptance tests for their C++ compiler. Maybe
MAME could even be a candidate. Well, that might be a plan if MS still
had any QA. At least this makes some lines shorter (at the cost of
needing more lines).
The existing disk image was replaced by a new one created from the
master disk.
dsk_dsk: Increase maximum cell count
This allows for slightly out of spec disk images to run, like Theatre
Europe on the Einstein.
[Lord Sméagol (Carl Lloyd-Parker)]
* Basically, initialisers go in the constructor arguments, and things for setting format go in set_format.
* Initialisation patterns can be specified with an enum discriminator or with a FUNC and optionally a tag.
* Formats can be specified with an enum discriminator or a size and function pointer.
* You must always supply the number of entries when setting the format.
* When initislising with a paletter initialisation member, you can specify the entries and indirecte entries together.
* The palette_device now has a standard constructor, so use .set_entries if you are specifying entry count with no format/initialisation.
* Also killed an overload on delegates that wasn't being useful.
* Add per-language compiler flag options to help with exotic setups
* Get rid of a potention buffer overrun in NuBus image card
* CHAR_WIDTH and LONG_WIDTH are preprocessor macros in limits.h with glibc if __GLIBC_USE (IEC_60559_BFP_EXT) is enabled - avoid using them as names
* Make formats/upd765_dsk.h slightly safer with defualt initialisers for key format members
* Don't rely on random BSS data being zero in imagedev/floppy.cpp
Not 100% confident about the variable type, and there may still be some debate over the function name (trying to avoid confusion with the length of the container, or with the number of empty slots), so appreciate review/comments.
This fixes all the non-const pointers with static lifetime I could find
with a cheap grep (in combination with the last commit). There are
likely more lurking that I didn't find, and things that aren't pointers
that should be made const.
There are still a few mutable static pointers that break the ability to
host multiple drivers but these require refactoring to fix:
src/devices/sound/sidvoice.cpp:static const uint8_t* waveform30;
src/devices/sound/sidvoice.cpp:static const uint8_t* waveform50;
src/devices/sound/sidvoice.cpp:static const uint8_t* waveform60;
src/devices/sound/sidvoice.cpp:static const uint8_t* waveform70;
src/mame/drivers/pockstat.cpp: static const char *gme_id = "123-456-STD";
src/mame/machine/namco51.cpp: static const game_driver *namcoio_51XX_driver = nullptr;
* Eliminates the need for the horizontal/vertical/LCD/SVG layout files
* Screens can now have orientation and physical aspect ratio specified
* RASTER/VECTOR defaults to 4:3, LCD/SVG defaults to square pixels at config time
* System orientation is applied on top of screen orientation
Automatically generated single-screen views and orientation flags in XML
output now work correctly for systems with multiple screens in different
geometries/orientations, e.g. housemnq, rocnms, stepstag, or netmerc.
The "core rotation options" only interact with system orientation.
Allowing multi-screen systems to work well with one monitor per emulated
screen is a complex topic. System orientation also affects the GFX
viewer while screen orientation doesn't. The orientation displayed in
the system selection menu is from the system orientation.
Let me know if I've broken any systems or use cases.
Also, add save state support for std::array/C array nested to any depth.
* Bug fix for multi-channel reads in cassette_get_samples().
Use the unused "sample_bytes" arg the same way as cassette_put_samples()
Can be used with multi-channel files now!
* Rename sample_bytes to more descriptive sample_spacing
Add some comments about sample functions and sample_spacing variable
* Keeping the 35 tracks drive as an option
* Reducing the crashes a bit more.
This helps matching the form_factor and the parameters found in the TeleDisk images, thus exiting before a serious crash.
It is NOT enough to improve the 8" disk image handling, nor it solves all the stability problems, but it is a tiny step forwards.
* Fixed building using system utf8proc
* Fixed building using system portaudio
* Allow using system-wide asio headers (1.11.0 or higher required).
* Allow using system-wide glm headers
* Allow using system-wide rapidjson headers
Disassemblers are now independant classes. Not only the code is
cleaner, but unidasm has access to all the cpu cores again. The
interface to the disassembly method has changed from byte buffers to
objects that give a result to read methods. This also adds support
for lfsr and/or paged PCs.
* Created a more flexible imgtool::datetime structure for use within Imgtool
This is intended to replace most usage of time_t
* Changing the granularity of imgtool_clock from 1ms to 100ns, as per Vas' suggestion
* Created arbitrary_datetime in timeconv.h to facilitate interpretation of datetime info
I concluded that invoking std::mktime on manually assembled std::tm is bad, because it is indeterminate how the std::tm members may be "dominant". This required that I go further in imgtool, and update a number of drivers and eliminate the parameter of imgtool::datetime that takes std::tm.
- Removed ACORN_CPM_FORMAT, same geometry as ACORN_SSD_FORMAT/ACORN_DSD_FORMAT
- Improved find_size/identify for SSD/DSD formats
- ACORN_DOS_FORMAT 640K now handled as ACORN_ADFS_OLD_FORMAT
- Fixed geometry for ACORN_DOS_FORMAT 800K
bbc_acorn8271: Added Amcom DFS A7874
bbc_opus8272: New Opus 8272 FDC device with DDOS 3.00, not yet working.
wd177x_dsk: Apply sector_count and gaps to track description.
* Unify code for copying PNG data into bitmap for MAME and pngcmp
* Fix upsampling of monochrome PNGs (need to splat across byte)
* Add support for greyscale+alpha
* Detect more unsupported conditions rather than just behaving badly
(nw) This is the path of least resistance, and I plan to fix it up
later, I just wanted to get it to actually work first. Decompression
and unfiltering is fully supported, at least for all the pixel formats
that previously worked. Expanding 1/2/4bpp to 8bpp should work
properly, too. Bitmap mapping for Adam7 is only implemented in
rendutil.cpp which is whate everything in MAME uses. The function in
png.cpp (used by pngcmp) has not been updated. At some point I'll unify
at least one of the functions in rendutil.cpp with the one in png.cpp
and we can go from three functions that need to do the mapping down to
two at the most.
Refactor server_{ws,http}.hpp into separate interface and implementation headers.
When shutting down the HTTP server, also explicitly stop the asio::io_context.