Commit Graph

931 Commits

Author SHA1 Message Date
Aaron Giles
53a55a0548 From: hoge hoge [mailto:c8cv@hotmail.com]
Sent: Thursday, August 06, 2009 7:09 AM
To: submit@mamedev.org
Subject: i8080 daa + multiple memreads fix, gottlieb audio, looping log

Hello,

i8080_daa_multiplememreads.zip: diff for 0133u1 i8080/i8085 cpu, removing the 
DAA table and fixing multiple memory reads on some opcodes (which would possibly 
only trigger on memorymapped I/O), and making M_ANA(R) halfcarry calculation a 
bit more straightforward. The functionality is basically the same as before.
i8080_newdaa_test.zip was used to test the new DAA implementation.
src/emu/cpu/i8085/i8085daa.h can be removed in 0.134, or is DIFF capable of 
removing files completely?

Greets,
hap
2009-08-13 05:02:01 +00:00
Aaron Giles
9d033c98e7 > From: atari_ace@verizon.net
> To: submit@mamedev.org
> CC: atariace@hotmail.com
> Subject: [patch] Introduce tilemap_private to running_machine
> Date: Thu, 23 Jul 2009 18:49:08 -0700
> 
> Hi mamedev,
> 
> Tilemaps in MAME are currently globally tracked. If multiple machines
> with different tilemaps are ever to be supported, this needs to be
> changed, which this patchset does.
> 
> 0. This patch add tilemap_private to running_machine, adds machine to
> a few apis and adds two new apis to replace the convention that tmap =
> NULL => all tilemaps.
> 1. This patch mechanically converts all the uses of ALL_TILEMAPS to
> use the new apis.
> 2. This patch removes ALL_TILEMAPS and makes tilemap_private
> dynamically allocated per machine.
> 
> ~aa
2009-08-13 04:42:13 +00:00
Aaron Giles
019d919850 Hi Aaron,
I have done Intel 4004 implementation, here is a patch (it also
contain a POC driver for 4004 Nixie tube clock, that runs under MESS).

4004clk is artwork file, and roms file contain needed roms (just rename ZIP).

Regards,
Miodrag


> -----Original Message-----
> From: Micko [mailto:mmicko@gmail.com]
> Sent: Tuesday, August 04, 2009 8:11 AM
> To: Aaron Giles
> Subject: Intel 4004 core
> 
> Hi Aaron,
> 
> Here is a final version of CPU core for MAME submition.
> 
> Regards,
> Miodrag
2009-08-13 04:30:33 +00:00
R. Belmont
7e37c7fa9c Revert last check-in, I just realized that was actually correct (doh). 2009-08-12 03:46:58 +00:00
R. Belmont
ba1580bf7d SH2DRC: Fixed output register marking errors
Probably not harmful currently, but if the UML core ever gets more aggressive 
with optimization (e.g. if we spliced in something like LLVM as a code 
generator) it could've become an issue.
2009-08-12 03:39:01 +00:00
Roberto Zandona
cd932c1c27 looping: modified the cop420 rom region 2009-08-09 06:25:48 +00:00
Angelo Salese
8fade1f6dd Fixed buggy breakpoints in the g65816 cpu core. [Angelo Salese] 2009-08-07 11:38:06 +00:00
Aaron Giles
213c72af7f Cleanups and version bump. 2009-08-02 23:42:42 +00:00
Aaron Giles
1fc576e72f From: hoge hoge
Date: Sat, 25 Jul 2009 11:57:29 -0700
To: submit@mamedev.org<submit@mamedev.org>
Subject: 68k cpu reset eat cycles fix
Hello,

Attached is a diff for 0133 that fixes a bug related to eating cycles 
during 68k cpu reset. Previously, initial_cycles had a wrong value 
after reset, and if cycles were < 0, it'd always return 0, .. check 
the diff to see what I mean.

This change also happens to fix a scrolling bug in Fantasy Zone, 
introduced when that cycle eating thing was added.

Greets,
hap
2009-08-02 21:37:45 +00:00
R. Belmont
3b09e634ac ARM7 updates:
- Preliminary PXA255 support, including Intel-specific CP14
- Hooked up TLB
2009-07-21 01:18:50 +00:00
Fabio Priuli
ced50d3810 Fixing assert in drivers using ARM9 CPU (e.g. 39in1) 2009-07-20 12:13:23 +00:00
Aaron Giles
0fdce58484 Cleanups and version bump. 2009-07-20 07:20:41 +00:00
Aaron Giles
66bddc00bc MT02916 2009-07-20 06:42:38 +00:00
R. Belmont
902ad0ce83 ARM7 update
- Added ARMv5TE instructions: QADD, QDADD, QSUB, QDSUB, SMLAxy, SMLALxy, SMULxy, SMULWy, and SMLAWy
- Fixed disassembly of CLZ
2009-07-19 03:13:17 +00:00
Curt Coder
b214d44851 CDP1802:
- fixed state code output and load mode
2009-07-17 11:27:16 +00:00
R. Belmont
7111f1aece ARM7: Add ARMv5+ CLZ instruction 2009-07-17 04:29:37 +00:00
Aaron Giles
e8a7b064c6 Apparently Intel's fast reciprocal is too low-res compared to the PowerPC's
fast reciprocal. Fixes glitches in scud.
2009-07-16 17:31:21 +00:00
Aaron Giles
560d8586be Added FP registers to PPC debugger interface.
Fixed copy/paste error in 64-bit backend that takes us from no 3D in scud to
glitchy 3D. (Hey, it's an improvement.)
2009-07-16 17:14:23 +00:00
Curt Coder
9956b7002f CDP1802:
- refactored the Q and DMA callbacks to use devcb
2009-07-16 12:19:43 +00:00
Aaron Giles
6519412d59 Cleanups and version bump. 2009-07-16 07:37:54 +00:00
R. Belmont
2ce6e69018 ARM7 updates [R. Belmont, Ryan Holtz]
- Prepped to support multiple architecture versions
- Added ARM9 CPU type (ARMv5TE)
- Added mostly-stubbed system coprocessor/MMU support
2009-07-16 05:09:35 +00:00
Aaron Giles
62c9a9d8cb Cleanups and version bump. 2009-07-10 03:10:17 +00:00
Brian Troha
95ce94fbfc Fixed a HD6309 core bug/typo in the divq_im opcode. [Romain Tisserand] 2009-07-09 23:08:05 +00:00
Aaron Giles
5201d52344 Expanded address maps from 3 to 4. Moved ADDRESS_SPACE_PROGRAM/DATA/IO
constants to cpuintrf, as those names are really only applicable to 
CPUs. Added new ADDRESS_MAP_0/1/2/3 constants to identify address maps 
more generically. 

Updated memory system to be more general about address map handling.
Added the concept of default address maps (in addition to the already
existing internal memory maps). The difference between internal and
default memory maps is that internal memory maps always override
everything (including user-specified maps), but default memory maps
simply provide a default that can be overridden.

Converted the okim6295 sound driver to use address maps for access.
By default, it defines a ROM address map that overlays its full
region. As a result, the validity checks require all okim6295 regions
to be at least 256k, unless you provide your own address map. Updated
all regions to meet this requirement.

Updated the atarijsa code to use a custom address space for its
okim6295 accesses (which are banked on the first half and static on
the second half), as an example of configuring a device with a
custom address space.

For now, attempts to use okim6295_set_bank_base() will still work,
though banking for the okim chips should be moved to custom address
maps in the drivers eventually. The first time okim6295_set_bank_base()
is called, it will install a banked memory handler over the region
and use memory_set_bankptr() to change the base on subsequent bank
switches.

Moved address map validity checks to be run for each device instead of
just each CPU.
2009-07-09 07:10:40 +00:00
Aaron Giles
2577a0b22d Another step. Moved the address-space related get_info constants
to devintrf (including endianness). Removed space array from the
CPU class header. Made the memory system much more device-neutral.
Various other cleanups along the way.
2009-07-08 16:20:01 +00:00
R. Belmont
c79dfb05f3 ARM (26-bit): TST/TEQ should only update flags
This eliminates the need for patches in poizone/ertictac, all deco32 games 
still run (including hvysmsh), and it better matches the documentation.
2009-07-05 17:32:15 +00:00
Angelo Salese
66ff5a084a Added very basic SCC68070 implementation, currently is just a basic m68k with 32-bits of address lines.
The plan is to add the on-chip peripherals on the magicard.c driver then, when I get some consistency, hardwire it to the cpu core.

Please check this modification asap (should be fine, but I haven't compiled with a clean build)
2009-07-03 18:43:09 +00:00
Aaron Giles
e60576e96d Cleanups and version bump. 2009-07-02 07:52:54 +00:00
R. Belmont
f9cff0ed71 PPCDRC: Generate some FPSCR flags [Phil Bennett] 2009-07-02 05:48:07 +00:00
Aaron Giles
a896b459e0 From: Duke [mailto:startaq@gmail.com]
Sent: Monday, June 29, 2009 3:58 AM
To: submit@mamedev.org
Subject: Patch for i86.c to fix an assert

Hello,

attached is a small patch for i86.c that fixes an assert when the
80188 CPU is used.

--Dirk
2009-07-02 04:40:07 +00:00
R. Belmont
4d92bb5a12 One more FMULx fix. 2009-06-28 14:24:41 +00:00
Phil Bennett
3302f3c512 Really fix FMULx this time 2009-06-28 13:44:22 +00:00
Wilbert Pol
8bb520d0ec Some small tms0980 bug fixes. 2009-06-28 08:06:19 +00:00
R. Belmont
badb1141c4 PPCDRC: fix flags on STWCX and fix FMULS to use the correct registers 2009-06-28 04:59:14 +00:00
Angelo Salese
f656435cbc mc68hc11: fixed a register r/w to allow Skeet Shooter to put some gfxs 2009-06-27 14:06:40 +00:00
Angelo Salese
0b0d5876cb mc68hc11: fixed the I/O system by changing the has_io flag with a has_extended_io flag (switch between 0x40 and 0x100 I/O registers), the latter is used by the Taito JC HC11 CPU only at the current time. 2009-06-26 19:46:06 +00:00
Angelo Salese
77330f38ee mc68hc11: Fixed a bug with TAP opcode
Fixed internal RAM/internal I/O start-up state, and updated Hit Poker driver to use it like it should.
Taito JC driver seems unaffected by this change.

======================================================================================================

http://mamedev.emulab.it/kale/fast/files/memory_map.png
2009-06-26 19:22:46 +00:00
Angelo Salese
604e49b303 mc68hc11: added STX DIR, STY DIR opcodes 2009-06-26 18:41:04 +00:00
Wilbert Pol
75ce6af133 Added TMS0980 cpu core. 2009-06-26 17:49:45 +00:00
Aaron Giles
c8e552b3df Cleanups and version bump. 2009-06-25 08:21:41 +00:00
Aaron Giles
e692918b34 Added casts to ensure proper values are passed to the ctype.h functions.
[Juergen Buchmueller]
2009-06-25 08:04:39 +00:00
Angelo Salese
da2b0e3e8c Fixed breakpoints in the TMS9900 CPU core [Olivier Galibert] 2009-06-24 22:39:23 +00:00
Phil Bennett
6c791836fa Fixed PPCDRC incorrect instruction checksum order [Phil Bennett, R Belmont] 2009-06-24 17:31:17 +00:00
Angelo Salese
dc3b29f1b7 mc68hc11: added user-selectable configs, and hooked up in both drivers 2009-06-23 16:36:28 +00:00
Angelo Salese
30f95d2ce2 MC68HC11: Added STX INDX, STX INDY, STY INDY 2009-06-23 15:36:21 +00:00
Angelo Salese
28d0dcb67e mc68hc11: Added DEC INDX, DEC INDY, INC INDX, INC INDY, SBCA IMM, SBCB IMM, SUBA INDY, SUBB INDY, SUBA EXT, SUBB EXT, NEG EXT, NEG INDX, NEG INDY, SBA
Catched a silly bug with SUBA DIR
Made many fixes with Hit Poker, finally got something that isn't just text...
2009-06-22 23:33:36 +00:00
Angelo Salese
b0d558544f mc68hc11: Added SWI, WAI, STOP, RORA, RORB 2009-06-22 19:12:34 +00:00
Angelo Salese
e0473bb579 mc68hc11: Added LSRA, LSRB, DEC EXT, BLS, NEGA, NEGB, BHI 2009-06-21 23:19:14 +00:00
Angelo Salese
23d8a23308 Small bug-fix 2009-06-21 21:25:36 +00:00
Angelo Salese
d24aa76fdf mc68hc11: hooked up very basic IRQ support. 2009-06-21 21:15:02 +00:00
Angelo Salese
341cb728cd mc68hc11: Added BRCLR DIR, BRSET DIR, RTI, COMA, COMB, CLV [Angelo Salese]
Fixed gfx decoding in Hit Poker [David Haywood]
Made some logic fixes to Hit Poker, it now gets to a "Test IRQ" msg [Angelo Salese]
2009-06-21 20:23:12 +00:00
Angelo Salese
d2d36ebe02 mc68hc11: Added ROLA, ROLB, SUBD INDX, SUBD INDY, SBCA INDX, SBCA INDY, SBCB INDX, SBCB INDY, added basic hook-up for TEST opcode. 2009-06-21 14:54:33 +00:00
Angelo Salese
38cc1f2cc9 mc68hc11: Documented all the remaining missing opcodes, they are 91 out of 310. 2009-06-21 13:30:20 +00:00
Angelo Salese
70cb45d062 mc68hc11: Fixed a CPY IMM DASM bug, added BRCLR INDX, BRSET INDX, BCLR INDX, BSET INDX, CLC, NOP, SUBB DIR, SUBA DIR, SUBA INDX, SUBB INDX, SUBD IMM 2009-06-20 19:48:16 +00:00
Angelo Salese
8a3509b125 mc68hc11: Added LSRD, STX EXT, STY EXT, IDIV, CPY DIR, CPY EXT, CPY INDX, CPY INDY 2009-06-20 16:52:39 +00:00
Ryan Holtz
c2965b8335 Added extremely rudimentary Atmel 8-bit AVR CPU core, missing most opcodes and any attempt at proper cycle counts. [MooglyGuy] 2009-06-20 12:13:48 +00:00
Angelo Salese
41b154bf46 Fixed incorrect MUL number of cycles 2009-06-19 19:44:06 +00:00
Angelo Salese
f6943c73e9 mc68hc11: Added SEC & SEV.
Added some basic video emulation to Hit Poker, to let it show "9rror / 3hut 5own -achine"

=========================================================================================

http://mamedev.emulab.it/kale/fast/files/0013_1049739007.png
2009-06-19 19:14:27 +00:00
Angelo Salese
39a1c1804d mc68hc11: Added TBA, ASLA, ASLB, DECA, DECB, STY INDX, MUL, got to the point that it wants an irq. 2009-06-19 17:40:23 +00:00
Angelo Salese
d635ed70fb mc68hc11: Added SUBA IMM, SUBB IMM, INCB, INC EXT, CBA.
Fixed Hit Poker vram accessing.
2009-06-19 16:46:34 +00:00
Angelo Salese
318d6bfd3c mc68hc11: Added JMP INDX, JMP INDY, changed a reg_w assert to a logerror since this game writes 0xff to 0x00-0x3f I/O ports.
Fixed CMPA INDY wrong opcode bug.
2009-06-19 15:21:23 +00:00
Angelo Salese
e3fab21720 mc68hc11: added TXS, TYS, TSX, TSY 2009-06-19 14:54:40 +00:00
Angelo Salese
2fdf957bd5 mc68hc11: added BCC, BVC, BRN, BMI, BVS opcodes 2009-06-19 14:27:50 +00:00
Aaron Giles
cd8f2fb7ce From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Tuesday, June 16, 2009 7:09 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Pointerify minx cpu

Hi mamedev,

I noticed that the minx CPU was never pointerified.  It's only used by
MESS, which might be why it wasn't noticed.

~aa
2009-06-18 04:00:44 +00:00
Angelo Salese
5c25f1ce66 Implemented a new DECO CPU-16 opcode, used by Express Raider for V-BLANK bit and a bunch of liberate.c games for TILT bit.
Converted Express Raider to use the DECO CPU-16 core instead of the plain M6502. [Angelo Salese]
2009-06-15 20:53:42 +00:00
Angelo Salese
fe6c204d5c Fixed a DECO16 CPU core bug that was causing issues with Pro Bowling part of Pro Sports [Angelo Salese] 2009-06-14 23:48:14 +00:00
Angelo Salese
1c07ac88cc Disabled an heavy logerror msg. 2009-06-13 17:03:27 +00:00
R. Belmont
f94776a815 One more GCC 4.4 fix
How did this work before?
2009-06-10 21:52:08 +00:00
Aaron Giles
ef0a31ca13 From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Sunday, June 07, 2009 9:54 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] "Regularize" some interfaces in MAME

Hi mamedev,

This patch adjusts the code in a few places to be more regular in it
object approach.  It recognizes five idioms.

1.  device_configs should be passed const.  dsp56k.h took a non-const
device_config for no particular reason, necessitating casting where
used.  A few other places cast to non-const, in most cases
unnecessarily.
2.  running_machines should be passed non-const.  A few places used
const in different ways on running_machines, instead of the idiomatic
non-const running_machine.
3.  Eliminate passing running_machine explicitly where it can be
computed.  esrip.c, m37710.c, sfbonus.c had cases where the machine
could easily be eliminated.
4.  Pass the object machine/config first.  In some cases this makes
the interface object oriented, in some cases it simply makes it more
idiomatic with the rest of MAME.
5.  Prefer (screen, bitmap, cliprect) to (machine, bitmap, cliprect).
Fully implementing this would be a large patch, this patch simply does
it for the one core 'device', tms9928a.c.
2009-06-08 06:24:21 +00:00
Aaron Giles
ce83de86a8 The other larger patch adds missing static and const qualifiers, and
fixes up some header files.  In particular, I adjusted const char
*DEVTEMPLATE_SOURCE = __FILE__ to const char DEVTEMPLATE_SOURCE[] =
__FILE__ which makes it actually const and saves a little memory.

[Atari Ace]
2009-06-08 05:43:50 +00:00
Brian Troha
e4df878bd1 fix error as pointed out by Laurent 2009-06-07 16:24:15 +00:00
Brian Troha
03945be4d0 Z80 fixes by "Marshmellow" in emails dated 3/8/2009 to Aaron and verified by Juergen.
Changes cycle counts in cc_xy[0x100] from 9 to 11 for:

0xDD2E 0xFD2E - LD IYL/IXL,n
0xDD26 0xFD26 - LD IYH/IXH,n

Also changes interrupt handling default case from:

z80->icount -= z80->cc_op[z80->PCD] + z80->cc_ex[z80->PCD];

to:

z80->icount -= z80->cc_op[z80->0xff] + z80->cc_ex[z80->0xff];
2009-06-07 15:49:22 +00:00
Olivier Galibert
3ea9b604ca Fix mantis 03013 by hooking strdup into mame's malloc [Atari Ace] 2009-06-07 15:12:07 +00:00
Ryan Holtz
159f54fb67 Fixed a minor typo in the SSEM debugging features. [MooglyGuy] 2009-06-06 19:50:33 +00:00
Aaron Giles
0eed019da7 Cleanups and version bump. 2009-06-04 15:33:42 +00:00
Ryan Holtz
799228d1b4 Corrected a major oversight in the instruction encoding of the SSEM core [MooglyGuy] 2009-06-02 02:18:44 +00:00
Ryan Holtz
7ef80f9393 Added CPU core for the Manchester Small-Scale Experimental Machine (SSEM) from 1948 [MooglyGuy] 2009-06-02 01:11:11 +00:00
Aaron Giles
ab7d486957 Cleanups and version bump. 2009-05-28 15:59:16 +00:00
Aaron Giles
57deed92e8 From: Oliver Stoeneberg [oliverst@online.de]
Sent: Sunday, May 24, 2009 4:11 AM
To: submit@mamedev.org
Subject: Compilation fix for ARM7 core

This fixes the compilation with ARM7_DEBUG_CORE. It was actually
found by Reijo Tomperi from the cppcheck team after I issued a bug
report.
2009-05-28 15:12:42 +00:00
Aaron Giles
0c0affd00e Replaced Namco 52xx sound simulation with emulation of the MCU.
Updated polepos and bosco drivers to use the new 52xx sound
emulation, wiring up the output through the discrete mixer that
Derrick had already plumbed but left disabled.

This required several MB88xx changes/fixes:
 - internal timer support now works; prescaler is guessed based
    on Pole Position sample playback frequency
 - external counter support works
 - a basic mechanism for reading serial input has been added; it
    is not sufficient for a full implementation, but good enough
    to sample the SI pin at startup
 - fixed TSTS/TSTV to clear their respective flags
 - fixed CI and CYI to compute imm-reg instead of reg-imm
 - added masking of the PA register upon RTI/RTS to prevent bogus
    PC values
2009-05-28 09:15:09 +00:00
Aaron Giles
27e2aac0fe Added internal memory maps and internal clock divider to the MB88xx
CPUs. Removed now-redundant memory maps from drivers and removed
explicitly-specified clock dividers.
2009-05-27 14:18:44 +00:00
Aaron Giles
8581fc7b28 CPUs actually take some time to reset. Changed the 68000/68010 to
eat an appropriate number of cycles after a reset.
2009-05-25 23:13:36 +00:00
Aaron Giles
446c154bb1 From: Oliver Stoeneberg [oliverst@online.de]
Sent: Friday, May 15, 2009 9:13 AM
To: submit@mamedev.org
Subject: Unused Variables - second try

This is a new version of the patch, that disables some unused
variables. It fixes some warnings, that came up in an optimized build
and adds a few more things.
2009-05-25 01:03:10 +00:00
R. Belmont
a59e2337ea H8 series MCU updates
- Implemented 8-bit timers and free-running counter for H8/3334
- Added bld #imm, @Rd instruction
- Improvements to interrupts and the serial ports
2009-05-18 03:55:28 +00:00
Wilbert Pol
bc5d8587c4 Moved the configuration of m6502-family callbacks to the cpu configuration. 2009-05-15 19:28:52 +00:00
Aaron Giles
4063eeeaca From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Sunday, May 10, 2009 5:41 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Static qualifier update

Hi mamedev,

Here's my periodic static qualifier patch for MAME, mostly adding
static to new code introduced over the past couple of months.

~aa
2009-05-15 05:24:32 +00:00
Wilbert Pol
7dc342691f fix typo 2009-05-14 16:28:09 +00:00
Aaron Giles
a909ca4b4a Fixed MCS-51 to not access RAM in wraparound fashion.
Hooked up Noboranka MCU (very different from the others).

New games working: Noboranka
2009-05-13 15:53:11 +00:00
Nathan Woods
4b092a9122 Readded read_vector callback 2009-05-13 02:53:12 +00:00
Aaron Giles
00c5f34211 MCS-51 fixes:
* jb int0,<self> loops are now broken out of if int0 comes and is taken
 * externally-clocked counters only count when enabled

System 1 changes:
 * hooked up 8751 properly
 * removed old 8751 hacks
 * shuffled Shooting Master sets

New Games Marked Working
------------------------
Choplifter (8751 315-5151)
Shooting Master (EVG, 8751 315-5159a)
2009-05-11 09:14:26 +00:00
Angelo Salese
9216688bb1 Added a work-around for the UART FIFO read only status register on the SH-4 to make Tetris Kiwamemichi happy to boot.
It crashes shortly after that like La Keyboard though (jumps to an unmapped address).
2009-05-09 19:18:36 +00:00
smf-
1443386e33 fixed visual studio 64 bit compile 2009-05-07 19:43:17 +00:00
Aaron Giles
673ca66750 Cleanups and version bump. 2009-05-07 15:46:14 +00:00
Aaron Giles
d72f98cb3c Fix MCS51 disassembler to work properly when there are two
memory arguments (the second would overwrite the first).
2009-05-07 13:59:46 +00:00
Ryan Holtz
29f46d4576 - Fixed display of the i8085's SP register when in the debugger. [MooglyGuy] 2009-05-06 15:19:41 +00:00
R. Belmont
4c4564753a H8: Better interrupt handling for the 8/16 bit H8s. 2009-05-03 14:53:17 +00:00
Aaron Giles
9eb86548bb Added missing casts and made other tweaks. The entire project
can now be optionally compiled with the C++ compiler (mingw g++
only for the moment; MSVC still has issues).
2009-04-27 09:18:17 +00:00
Aaron Giles
ad4910a8a8 Bulk change alert.
This update changes the way we handle memory allocation. Rather
than allocating in terms of bytes, allocations are now done in
terms of objects. This is done via new set of macros that replace
the malloc_or_die() macro:

  alloc_or_die(t) - allocate memory for an object of type 't'
  alloc_array_or_die(t,c) - allocate memory for an array of 'c' objects of type 't'
  alloc_clear_or_die(t) - same as alloc_or_die but memset's the memory to 0
  alloc_array_clear_or_die(t,c) - same as alloc_array_or_die but memset's the memory to 0

All original callers of malloc_or_die have been updated to call these
new macros. If you just need an array of bytes, you can use
alloc_array_or_die(UINT8, numbytes).

Made a similar change to the auto_* allocation macros. In addition,
added 'machine' as a required parameter to the auto-allocation macros,
as the resource pools will eventually be owned by the machine object.
The new macros are:

  auto_alloc(m,t) - allocate memory for an object of type 't'
  auto_alloc_array(m,t,c) - allocate memory for an array of 'c' objects of type 't'
  auto_alloc_clear(m,t) - allocate and memset
  auto_alloc_array_clear(m,t,c) - allocate and memset

All original calls or auto_malloc have been updated to use the new
macros. In addition, auto_realloc(), auto_strdup(), auto_astring_alloc(),
and auto_bitmap_alloc() have been updated to take a machine parameter.

Changed validity check allocations to not rely on auto_alloc* anymore
because they are not done in the context of a machine.

One final change that is included is the removal of SMH_BANKn macros.
Just use SMH_BANK(n) instead, which is what the previous macros mapped
to anyhow.
2009-04-26 23:54:37 +00:00
Wilbert Pol
3e9927b878 TLCS-900/H cpu core fixes:
- Reimplemented hdma
- Fixed bugs in the EX (mem), R instructions.
2009-04-25 16:47:22 +00:00
Aaron Giles
7b90e01659 Deprecated device_set_info. Almost all devices had a NULL or empty
function here. Remaining devices have been converted to have 
device-specific functions to do the same thing with proper type 
checking.

CPUs still have a set_info function but it is CPU-specific now and 
no longer piggybacks on the general device function.
2009-04-23 16:33:28 +00:00