summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/src/cpu.lua
Commit message (Collapse)AuthorAgeFilesLines
* Update cpu.lua properly (nw) AJR2017-05-261-0/+1
|
* Quick and dirty split of most MC6801/MC6803/HD63701 features from base M6800 ↵ AJR2017-05-261-0/+2
| | | | | | class (nw) The code remains generally archaic and awful and in need of a sweeping rewrite. At least one static variable is no more.
* Fixed some inaccuracies in file names in lua scripts. dankan18902017-05-211-2/+2
|
* Move static data out of devices into the device types. This is a ↵ Vas Crabb2017-05-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | significant change, so please pay attention. The core changes are: * Short name, full name and source file are no longer members of device_t, they are part of the device type * MACHINE_COFIG_START no longer needs a driver class * MACHINE_CONFIG_DERIVED_CLASS is no longer necessary * Specify the state class you want in the GAME/COMP/CONS line * The compiler will work out the base class where the driver init member is declared * There is one static device type object per driver rather than one per machine configuration Use DECLARE_DEVICE_TYPE or DECLARE_DEVICE_TYPE_NS to declare device type. * DECLARE_DEVICE_TYPE forward-declares teh device type and class, and declares extern object finders. * DECLARE_DEVICE_TYPE_NS is for devices classes in namespaces - it doesn't forward-declare the device type. Use DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_NS to define device types. * These macros declare storage for the static data, and instantiate the device type and device finder templates. The rest of the changes are mostly just moving stuff out of headers that shouldn't be there, renaming stuff for consistency, and scoping stuff down where appropriate. Things I've actually messed with substantially: * More descriptive names for a lot of devices * Untangled the fantasy sound from the driver state, which necessitates breaking up sound/flip writes * Changed DECO BSMT2000 ready callback into a device delegate * Untangled Microprose 3D noise from driver state * Used object finders for CoCo multipak, KC85 D002, and Irem sound subdevices * Started to get TI-99 stuff out of the TI-990 directory and arrange bus devices properly * Started to break out common parts of Samsung ARM SoC devices * Turned some of FM, SID, SCSP DSP, EPIC12 and Voodoo cores into something resmbling C++ * Tried to make Z180 table allocation/setup a bit safer * Converted generic keyboard/terminal to not use WRITE8 - space/offset aren't relevant * Dynamically allocate generic terminal buffer so derived devices (e.g. teleprinter) can specify size * Imporved encapsulation of Z80DART channels * Refactored the SPC7110 bit table generator loop to make it more readable * Added wrappers for SNES PPU operations so members can be made protected * Factored out some boilerplate for YM chips with PSG * toaplan2 gfx * stic/intv resolution * Video System video * Out Run/Y-board sprite alignment * GIC video hookup * Amstrad CPC ROM box members * IQ151 ROM cart region * MSX cart IRQ callback resolution time * SMS passthrough control devices starting subslots I've smoke-tested several drivers, but I've probably missed something. Things I've missed will likely blow up spectacularly with failure to bind errors and the like. Let me know if there's more subtle breakage (could have happened in FM or Voodoo). And can everyone please, please try to keep stuff clean. In particular, please stop polluting the global namespace. Keep things out of headers that don't need to be there, and use things that can be scoped down rather than macros. It feels like an uphill battle trying to get this stuff under control while more of it's added.
* Add preliminary Sharp SM590 CPU core [Lord Nightmare, hap] Lord-Nightmare2017-05-091-0/+3
|
* Cherry-pick some features from self-registering drivers PoC: Vas Crabb2017-02-161-6/+1
| | | | | | | | * 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
* preliminary TLCS-870 disassembler - Work in Progress (#1967) ajrhacker2017-02-051-0/+12
|
* m6805: added skeleton CMOS devices Vas Crabb2017-01-301-1/+3
| | | | | | | * Added m146805 and m68hc05 to unidasm * Made opcode tables configurable in m6805_base_device, provided tables for HMOS, CMOS and HC families * Implemented MUL instruction, made unimplemented STOP and WAIT raise fatal error * Added skeleton MC68HC05C4 with RAM and ROM in correct locations in memory map
* Merge pull request #2016 from pmackinlay/interpro R. Belmont2017-01-241-0/+16
|\ | | | | Interpro
| * initial pull request Patrick Mackinlay2017-01-241-0/+16
| |
* | Merge pull request #2002 from wilbertpol/hcd62121 R. Belmont2017-01-201-1/+0
|\ \ | |/ |/| hcd62121/cfx9850: several small cleanups (nw)
| * hcd62121: several small cleanups (nw) Wilbert Pol2017-01-191-1/+0
| |
* | cop400: Properly separated COP444L from COP444C. [Curt Coder] Curt Coder2017-01-161-0/+1
|/
* cop400: Removed non-working, incomplete COP440 code. (nw) Curt Coder2017-01-161-1/+1
|
* m6805: refactoring and improvements Vas Crabb2017-01-121-0/+3
| | | | | | | | | | | | | * Moved 68705 devices into their own file. * Made P3, P5 and U3 variants and made them load bootstrap ROMs. * Implemented EPROM control (write is stubbed out with a logerror). * Implemented differences for open drain I/O ports. (nw) Base device with peripherals should really derive from the 6805 device directly, not the 68705 devices, as I/O ports are present on mask devices (e.g. 6805P2). All drivers and devices that were using M68705_NEW have been changed to M68705P5 - someone who knows the drivers better should fix them up.
* Added preliminary MB86235 recompiler [Ville Linde] Ville Linde2016-12-171-1/+4
|
* Put necv_dasm_one() into a header file Nathan Woods2016-11-161-0/+1
|
* nanoprocessor: initial support. Disassembler only is known to work at this ↵ fulivi2016-11-031-0/+16
| | | | point.
* Merging Konami disassembler with M6809/HD6309 disassemblers Nathan Woods2016-10-231-1/+0
|
* Merged the M6809 and HD6309 disassemblers, and changed to properly use streams Nathan Woods2016-10-231-2/+1
|
* Base WatchDog Timer device angelosa2016-09-271-0/+4
|
* Written stub SH7604 BUS device (not hooked up to SH2 yet). angelosa2016-09-271-0/+2
|
* Fixed separate compile of drivers using sharc/ADSP21062 cpu (nw) Miodrag Milanovic2016-07-231-1/+1
|
* Convert SPARCv8 ops to document-described functionality therealmogminer@gmail.com2016-06-231-0/+1
|
* improve SPARC disassembler: [Vas Crabb] Vas Crabb2016-06-221-0/+1
| | | | | | | | * Support SPARCv9 * Allow plug-in ASI comments * Fix format of some opcodes * Produce clr synthetic * Allow running in v7, v8 and v9 modes
* Add majority of SPARC integer ops therealmogminer@gmail.com2016-06-181-1/+1
|
* Initial MB86901 diassembler therealmogminer@gmail.com2016-06-171-0/+16
|
* fix compile problem hap2016-06-051-1/+1
|
* Added highly experimental SHARC recompiler (disabled by default) [Ville Linde] Ville Linde2016-05-281-0/+3
|
* Further improvements to the Patinho Feio driver & CPU Felipe Corrêa da Silva Sanches2016-05-251-1/+1
|
* tms7000/e0c6200: renamed hxx(inc) to cpp hap2016-05-011-2/+2
|
* INC -> HXX makes editors and code analyzers see it as C++ (nw) Miodrag Milanovic2016-05-011-115/+115
|
* Fixed ti drivers (nw) Miodrag Milanovic2016-05-011-0/+1
|
* fix for mb86235 (nw) Miodrag Milanovic2016-05-011-1/+1
|
* hec2hrp and arcompact fix (nw) Miodrag Milanovic2016-05-011-1/+1
|
* R3000 is separate CPU, helps building some drivers with SOURCES (nw) Miodrag Milanovic2016-04-281-3/+15
|
* h8: Add dtc, dma, watchdog (WIP) [O. Galibert] Olivier Galibert2016-04-271-2/+8
| | | | | h8: Fixes, lots of [O. Galibert] cybiko: Make work a little emore, add v1 flash [O. Galibert]
* fix for v25 building (nw) Miodrag Milanovic2016-04-231-0/+2
|
* sm500: start on opcodes hap2016-04-111-1/+2
|
* sm500 file placeholders hap2016-04-051-0/+5
|
* scrclean on lua scripts (nw) Miodrag Milanovic2016-03-291-14/+14
|
* tms1k: split part 3, done hap2016-03-161-1/+19
|
* tms1k: split part 2, renamed folder tms0980 to tms1000 hap2016-03-161-5/+5
|
* tms1k: split part 2, renamed files hap2016-03-161-7/+8
|
* Make generic VTLB implementation a modern device interface (nw) AJR2016-02-071-9/+0
|
* Removed dead PPC code (nw) Miodrag Milanovic2015-12-091-10/+0
|
* adding a basic machine driver for the Patinho Feio and setting up build ↵ Felipe Corrêa da Silva Sanches2015-12-061-0/+16
| | | | system for the driver and the CPU module
* This one is not used in compile (nw) Miodrag Milanovic2015-11-151-1/+0
|
* Finished adding to lua, some included cpp renamed to inc (nw) Miodrag Milanovic2015-11-121-1/+151
|
* update build scripts for rename c - > cpp (nw) Miodrag Milanovic2015-11-081-392/+392
|