summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu
Commit message (Collapse)AuthorAgeFilesLines
* Revert of 5a545f9 - unwanted. Robbbert2020-10-221-1/+1
|
* gigatron: patched the cpu to stop crash at start. Robbbert2020-10-221-1/+1
|
* M50753: Add both IRQ lines and route them to the correct interrupt bits. [R. ↵ arbee2020-10-192-13/+61
| | | | Belmont]
* m740: Fix return address for JSR ($zz) AJR2020-10-191-1/+1
|
* m740: Add TST $zz instruction AJR2020-10-193-2/+9
|
* m740: Add file accidentally uncommitted in ↵ AJR2020-10-181-0/+1
| | | | faff4e6c2da83187f3d09de669e7b9e128251328
* m740: Add missing JSR ($zz) instruction mode AJR2020-10-182-2/+14
|
* macprtb.cpp: Preliminary MCU configuration AJR2020-10-182-22/+141
| | | | * m5074x: Add preliminary M50753 type; eliminate custom ROM tag
* m68000: Separate FPU code from header AJR2020-10-152-57/+98
|
* clipper, cammu: Initialize more members AJR2020-10-141-0/+7
|
* cpu/pic16c5x: Initialise a couple of variables that can be problematic. Vas Crabb2020-10-141-0/+2
|
* mcs48: execute_jcc param is a bool, not u8 hap2020-10-112-3/+3
|
* mcs48: check irq before opcode to fix firefox, but re-add wy100 hack hap2020-10-112-5/+18
|
* ns32000: consume execution clock cycles Patrick Mackinlay2020-10-081-19/+229
|
* ns32000: one more bug fix Patrick Mackinlay2020-10-081-1/+4
|
* ns32000: many bug fixes Patrick Mackinlay2020-10-072-200/+186
| | | | | | | * fixed many instruction bugs * implemented cmpm instruction * reworked pc increment to better support prefetch * tightened up decoding
* ns32000: avoid potential slave dependency issue Patrick Mackinlay2020-10-061-1/+1
|
* ns32000: undefined operation assumptions Patrick Mackinlay2020-10-061-16/+27
|
* ns32000: add slave processor interface Patrick Mackinlay2020-10-053-317/+940
| | | | | | | * implement slave processor interface and protocol * decode and issue fpu operands * improve operand access class and size logic * support 64-bit immediate operands
* ns32000dasm: floating point fixes Patrick Mackinlay2020-10-052-14/+36
| | | | | * show floating point register names * correct floating point immediate lengths
* unsp: Fix copy-paste typo in debugger registering Simon Eriksson2020-10-041-5/+5
|
* Got rid of global_alloc/global_free. Vas Crabb2020-10-032-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | The global_alloc/global_free functions have outlived their usefulness. They don't allow consistently overriding the default memory allocation behaviour because they aren't used consistently, and we don't have standard library allocator wrappers for them that we'd need to use them consistently with all the standard library containers we're using. If you need to change the default allocator behaviour, you can override the new/delete operators, and there are ways to get more fine-grained control that way. We're already doing that to pre-fill memory in debug builds. Code was already starting to depend on global_alloc/global_free wrapping new/delete. For example some parts of the code (including the UI and Windows debugger) was putting the result of global_alloc in a std::unique_ptr wrappers without custom deleters, and the SPU sound device was assuming it could use global_free to release memory allocated with operator new. There was also code misunderstanding the behaviour of global_alloc, for example the GROM port cartridge code was checking for nullptr when a failure will actually throw std::bad_alloc. As well as substituting new/delete, I've made several things use smart pointers to reduce the chance of leaks, and fixed a couple of leaks, too.
* pdp1: Better fix for read-in mode AJR2020-10-011-1/+0
|
* pdp1: Fix read-in mode AJR2020-10-011-2/+2
|
* cpu/pdp1: Initialise a couple of pointer members. Vas Crabb2020-09-302-2/+3
|
* tms9995.cpp: initialized one variable which caused crashes in formula1.cpp. Ivan Vangelista2020-09-291-2/+4
|
* lc58: Add disassembler [O. Galibert] Olivier Galibert2020-09-292-0/+190
|
* machines promoted to WORKING (plug play) (#7299) David Haywood2020-09-292-10/+38
| | | | | | | machines promoted to WORKING ---- TV MegaMax active power game system 30-in-1 (MegaMax GPD001SDG) [David Haywood] * added files for the VT APU type, currently no extra functionality, but will be built upon
* f8: Adjust disassembly format to better match Fairchild listings AJR2020-09-281-102/+79
|
* ns32000: templatize on data bus width Patrick Mackinlay2020-09-282-34/+47
|
* Cleaned up bitmap API. Vas Crabb2020-09-273-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made const-qualified pixel accessors (pix, pixt, raw_pixptr) return const-qualified references/pointers to pixesl, and added non-const versions. This makes bitmap more like standard library containers where const protects the content as well as the dimensions. Made the templated pixt accessor protected - having it public makes it too easy to inadvertently get a pointer to the wrong location. Removed the pix(8|16|32|64) accessors from the specific bitmaps. You could only use the "correct" one anyway, and having the "incorrect" ones available prevented explicit instantiations of the class template because the static assertions would fail. You can still see the pixel type in the bitmap class names, and you can't assign the result of &pix(y, x) to the wrong kind of pointer without a cast. Added fill member functions to the specific bitmap template, and added a explicit instantiations. This allows the bitmap size check to be skipped on most bitmap fills, although the clipping check is still there. Also fixed a couple of places that were trying to fill an indexed 16-bit bitmap with rgb_t::black() exposed by this (replaced with zero to get the same net effect). The explicit template instantiations in the .cpp file mean the compiler can inline the function if necessary, but don't need to generate a local out-of-line body if it chooses not to. Extended the size of the fill value parameter in the base bitmap class to 64 bits so it works correctly for 64-bit bitmaps. Fixed places where IE15 and VGM visualiser weren't accounting for row bytes potentially being larger than width. Fixed an off-by-one in an HP-DIO card where it was treating the Topcat cursor right edge as exclusive. Updated everything to work with the API changes, reduced the scope of many variables, added more const, and replaced a few fill/copy loops with stuff from <algorithm>.
* Disable SOUND_DEBUG for non-debug builds, and srcclean Vas Crabb2020-09-271-1/+1
|
* t11: Disassembly updates AJR2020-09-241-20/+29
| | | | | | | | - Correct mnemonics for CLC, CLV, CLZ and CLN - Add MFPT mnemonic - Rename JSR/RTS short forms to CALL and RETURN - Eliminate alternate PUSH and POP mnemonics - Add notes on instructions not implemented on T-11
* dp8344: Simulate data loopback; misc. tweaks and fixes AJR2020-09-212-55/+122
|
* sound: Add a few new helpers to write_stream_view Aaron Giles2020-09-201-5/+4
| | | | | | | * put_clamp - clamps the input value before writing * put_int - takes an integer and coverts it to float * put_int_clamp - converts and clamps an integer * add_int - converts an int and adds to the current sample
* Revert "sound: Improved view interfaces to match usage patterns" Aaron Giles2020-09-171-8/+8
| | | | This reverts commit dc0ede3c90717ed25de0695c555b861f06344f18.
* sound: Improved view interfaces to match usage patterns Aaron Giles2020-09-171-8/+8
| | | | | | | | | | * read/write_stream_views now have an internal index * get/put/add/fill/copy now implicitly use and advance this index * new method reset() can (re)set the internal index * new method done() checks if index is past the end * new method remaining() indicates how many samples remain * get_indexed/put_indexed/etc available for random access * updated all consumers to new interfaces
* kp63: probably fixed compile error hap2020-09-151-1/+1
|
* kl5c80a12, kl5c80a16: Actually add timers to configuration (files overlooked ↵ AJR2020-09-142-2/+17
| | | | in 7e121d68bb443f579da3271e43255d69925d71a3)
* kl5c80a12, kl5c80a16: Added emulation of KP63(A) Timer/Counter unit. This ↵ AJR2020-09-144-9/+582
| | | | | | | | improves timings in animalc, haekaka, pyenaget and tdoboon. * animalc: Pile kludge upon kludge for poorly understood video timing register * gocowboy, itazuram: Increase frequency of one timer interrupt (and hopper timing in gocowboy) * kc82, kp69: Modernize state_add syntax
* mcs48: fix a regression with previous change to strt_cnt hap2020-09-141-1/+1
|
* tx0: Fix CPU address calculation AJR2020-09-141-2/+2
|
* pdp1: More cleanups and fixes AJR2020-09-142-12/+11
|
* pdp1: Clean up callbacks and start encapsulating peripherals AJR2020-09-135-86/+47
| | | | * pdp1, pdp8: Apply word shift to address spaces
* Significant internal changes to sound streams (#7169) Aaron Giles2020-09-132-23/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Significant internal changes to sound streams: Abstracted buffers of sound data into an internal stream_buffer class, with helper classes read_stream_view and write_stream_view which offer readable/writable "views" into the buffers Internal sound calculations are all done using stream_buffer::sample_t, which is a 32-bit float; existing callbacks are supported through an adapter that converts to/from signed 32-bit integers Improved behavior of dynamic stream sample rate changes to resample a short runway of data to preserve continuity across transitions Created a new stream update callback which passes a std::vector of read_stream_views for inputs, and a std::vector of write_stream_views for outputs Updated core mixer and speaker devices to the new stream update callback Updated the following sound cores to the new stream update callback: ay8910, dac, k054539, msm5205, namco, netlist, okim6295, pokey, samples, sn76496, sp0250, tms5220, tms57002, upd7759, vgm_visualizer, volt_reg Changed existing stream update callback to make inputs explicitly const and the output pointers const as well, since they are re-used across calls; fixed several engines that violated this rule Sound_manager::stream_alloc can no longer automatically connect to a device's sound_stream_update callback; instead, the stream_alloc() on the sound_device_interface should be called; updated many violators of this rule Streams can be created with SAMPLE_RATE_OUTPUT_ADAPTIVE, which dynamically tracks the sample rate of its first downstream output, or with SAMPLE_RATE_INPUT_ADAPTIVE, which tracks the sample rate of its first input Changed resampling to be a separate sound_stream that is invoked as needed, opening the path for selectable resampling implementations Added a flags parameter to the new stream allocation method that allows you to specify a that input streams should not be resampled Exposed stream_input and stream_output classes directly, simplifying access to user gains and stream names Added a simple dynamic compressor to sound_manager to provide nicer results when overdriven sound happens; compression does not affect speaker_report results Improved verbose speaker_report to print a graph of peaks over time More aggressive debugging enabled for now even in release builds (should be disabled prior to next release) via SOUND_DEBUG define in sound.h; report any assertions for fixing
* New machines marked as NOT_WORKING AJR2020-09-122-3/+53
| | | | | ---------------------------------- Sony Trinitron Color Video Monitor BVM-20F1E [Corrado Tomaselli]
* ns32000: implemented dei, corrected neg Patrick Mackinlay2020-09-102-79/+120
|
* st2205u.cpp: Fix last-minute copy/paste mistake AJR2020-09-091-1/+1
|
* unk6502_st2xxx.cpp: Change MCU to new type AJR2020-09-093-242/+514
|
* st2xxx.cpp: Update notes AJR2020-09-091-9/+16
|