mirror of
https://github.com/holub/mame
synced 2025-07-02 16:49:22 +03:00
Cleanups and version bump.
This commit is contained in:
parent
6d7ed9b573
commit
229d598989
@ -8,17 +8,17 @@
|
||||
|
||||
/*
|
||||
NOTES:
|
||||
*** There seems to be a disagreement in dasm with bytes like this : 0500 0307
|
||||
On one hand, you can dasm it like this : add Y1,A X:(R2+00),Y0
|
||||
On the other, you can dasm it like this : move(m) P:(R2+00),B0
|
||||
The interesting doc pages for this are the following : move(m) . A-155
|
||||
mem move + short displacement . A-139
|
||||
add . A-23
|
||||
(POSSIBILITY : Maybe Add can't have a mem move + short displacement parallel move?)
|
||||
(CURRENT SOLUTION : I'm completely ignoring mem move + short displacements for now)
|
||||
*** There seems to be a disagreement in dasm with bytes like this : 0500 0307
|
||||
On one hand, you can dasm it like this : add Y1,A X:(R2+00),Y0
|
||||
On the other, you can dasm it like this : move(m) P:(R2+00),B0
|
||||
The interesting doc pages for this are the following : move(m) . A-155
|
||||
mem move + short displacement . A-139
|
||||
add . A-23
|
||||
(POSSIBILITY : Maybe Add can't have a mem move + short displacement parallel move?)
|
||||
(CURRENT SOLUTION : I'm completely ignoring mem move + short displacements for now)
|
||||
|
||||
*** This disassembler has been 75% tested. There may remain some bugs, but it disassembles
|
||||
Polygonet Commanders' memtest code 100% accurate (to my knowledge).
|
||||
*** This disassembler has been 75% tested. There may remain some bugs, but it disassembles
|
||||
Polygonet Commanders' memtest code 100% accurate (to my knowledge).
|
||||
*/
|
||||
|
||||
#include "dsp56k.h"
|
||||
@ -1188,16 +1188,16 @@ static size_t dsp56k_dasm_tfr_2(const UINT16 op_byte, char* opcode_str, char* ar
|
||||
/* MPY : 0001 0110 RRDD FQQQ : A-160 */
|
||||
static size_t dsp56k_dasm_mpy_2(const UINT16 op_byte, char* opcode_str, char* arg_str)
|
||||
{
|
||||
/* TODO
|
||||
// MPY - 0001 0110 RRDD FQQQ
|
||||
decode_k_table(BITS(op,0x0100), Dnot);
|
||||
Rnum = decode_RR_table(BITS(op,0x00c0));
|
||||
decode_DD_table(BITS(op,0x0030), S);
|
||||
decode_QQQF_table(BITS(op,0x0007), BITS(op,0x0008), S1, S2, D);
|
||||
sprintf(buffer, "mpy %s,%s,%s %s,(R%d)+N%d %s,%s", S1, S2, D, Dnot, Rnum, Rnum, S, Dnot);
|
||||
// Strange, but not entirely out of the question - this 'k' parameter is hardcoded
|
||||
// I cheat here and do the parallel memory data move above - this specific one is only used twice
|
||||
retSize = 1;
|
||||
/* TODO
|
||||
// MPY - 0001 0110 RRDD FQQQ
|
||||
decode_k_table(BITS(op,0x0100), Dnot);
|
||||
Rnum = decode_RR_table(BITS(op,0x00c0));
|
||||
decode_DD_table(BITS(op,0x0030), S);
|
||||
decode_QQQF_table(BITS(op,0x0007), BITS(op,0x0008), S1, S2, D);
|
||||
sprintf(buffer, "mpy %s,%s,%s %s,(R%d)+N%d %s,%s", S1, S2, D, Dnot, Rnum, Rnum, S, Dnot);
|
||||
// Strange, but not entirely out of the question - this 'k' parameter is hardcoded
|
||||
// I cheat here and do the parallel memory data move above - this specific one is only used twice
|
||||
retSize = 1;
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
@ -1205,16 +1205,16 @@ static size_t dsp56k_dasm_mpy_2(const UINT16 op_byte, char* opcode_str, char* ar
|
||||
/* MAC : 0001 0111 RRDD FQQQ : A-122 */
|
||||
static size_t dsp56k_dasm_mac_2(const UINT16 op_byte, char* opcode_str, char* arg_str)
|
||||
{
|
||||
/* TODO
|
||||
// MAC - 0001 0111 RRDD FQQQ
|
||||
decode_k_table(BITS(op,0x0100), Dnot);
|
||||
Rnum = decode_RR_table(BITS(op,0x00c0));
|
||||
decode_DD_table(BITS(op,0x0030), S);
|
||||
decode_QQQF_table(BITS(op,0x0007), BITS(op,0x0008), S1, S2, D);
|
||||
sprintf(buffer, "mac %s,%s,%s %s,(R%d)+N%d %s,%s", S1, S2, D, Dnot, Rnum, Rnum, S, Dnot);
|
||||
// Strange, but not entirely out of the question - this 'k' parameter is hardcoded
|
||||
// I cheat here and do the parallel memory data move above - this specific one is only used twice
|
||||
retSize = 1;
|
||||
/* TODO
|
||||
// MAC - 0001 0111 RRDD FQQQ
|
||||
decode_k_table(BITS(op,0x0100), Dnot);
|
||||
Rnum = decode_RR_table(BITS(op,0x00c0));
|
||||
decode_DD_table(BITS(op,0x0030), S);
|
||||
decode_QQQF_table(BITS(op,0x0007), BITS(op,0x0008), S1, S2, D);
|
||||
sprintf(buffer, "mac %s,%s,%s %s,(R%d)+N%d %s,%s", S1, S2, D, Dnot, Rnum, Rnum, S, Dnot);
|
||||
// Strange, but not entirely out of the question - this 'k' parameter is hardcoded
|
||||
// I cheat here and do the parallel memory data move above - this specific one is only used twice
|
||||
retSize = 1;
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ static const ldplayer_interface *player_interfaces[] =
|
||||
&simutrek_interface,
|
||||
&ldv1000_interface,
|
||||
// &ldp1450_interface,
|
||||
// &vp932_interface,
|
||||
// &vp932_interface,
|
||||
&vp931_interface
|
||||
};
|
||||
|
||||
|
@ -329,15 +329,15 @@ static WRITE8_HANDLER( output0_w )
|
||||
ldplayer_data *player = ld->player;
|
||||
|
||||
/*
|
||||
$80 = n/c
|
||||
$40 = LED (?) -> C335
|
||||
$20 = LED (?)
|
||||
$10 = LED (?) -> CX
|
||||
$08 = EJECT
|
||||
$04 = inverted -> AUDIO MUTE II
|
||||
$02 = inverted -> AUDIO MUTE I
|
||||
$01 = inverted -> VIDEO MUTE
|
||||
*/
|
||||
$80 = n/c
|
||||
$40 = LED (?) -> C335
|
||||
$20 = LED (?)
|
||||
$10 = LED (?) -> CX
|
||||
$08 = EJECT
|
||||
$04 = inverted -> AUDIO MUTE II
|
||||
$02 = inverted -> AUDIO MUTE I
|
||||
$01 = inverted -> VIDEO MUTE
|
||||
*/
|
||||
|
||||
if (LOG_PORTS && (player->out0 ^ data) & 0xff)
|
||||
{
|
||||
@ -371,15 +371,15 @@ static WRITE8_HANDLER( output1_w )
|
||||
INT32 speed = 0;
|
||||
|
||||
/*
|
||||
$80 = n/c
|
||||
$40 = n/c
|
||||
$20 = n/c
|
||||
$10 = n/c
|
||||
$08 = inverted -> SMS
|
||||
$04 = inverted -> SSS
|
||||
$02 = inverted -> SCAN CMD
|
||||
$01 = OSM
|
||||
*/
|
||||
$80 = n/c
|
||||
$40 = n/c
|
||||
$20 = n/c
|
||||
$10 = n/c
|
||||
$08 = inverted -> SMS
|
||||
$04 = inverted -> SSS
|
||||
$02 = inverted -> SCAN CMD
|
||||
$01 = OSM
|
||||
*/
|
||||
|
||||
if (LOG_PORTS && (player->out1 ^ data) & 0x08)
|
||||
{
|
||||
@ -413,9 +413,9 @@ static WRITE8_HANDLER( output1_w )
|
||||
static WRITE8_HANDLER( lcd_w )
|
||||
{
|
||||
/*
|
||||
Frame number is written as 5 digits here; however, it is not actually
|
||||
connected
|
||||
*/
|
||||
Frame number is written as 5 digits here; however, it is not actually
|
||||
connected
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
@ -426,16 +426,16 @@ static WRITE8_HANDLER( lcd_w )
|
||||
static READ8_HANDLER( keypad_r )
|
||||
{
|
||||
/*
|
||||
From the code, this is apparently a vestigial keypad with basic controls:
|
||||
$01 = play
|
||||
$02 = still
|
||||
$04 = jump 25 frames backward
|
||||
$08 = jump 25 frames forward
|
||||
$10 = search for frame 50(?)
|
||||
$20 = search for frame 350(?)
|
||||
$40 = reset
|
||||
$80 = play reverse
|
||||
*/
|
||||
From the code, this is apparently a vestigial keypad with basic controls:
|
||||
$01 = play
|
||||
$02 = still
|
||||
$04 = jump 25 frames backward
|
||||
$08 = jump 25 frames forward
|
||||
$10 = search for frame 50(?)
|
||||
$20 = search for frame 350(?)
|
||||
$40 = reset
|
||||
$80 = play reverse
|
||||
*/
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
@ -502,10 +502,10 @@ static READ8_HANDLER( port1_r )
|
||||
UINT8 result = 0x00;
|
||||
|
||||
/*
|
||||
$80 = P17 = (in) unsure
|
||||
$40 = P16 = (in) /ERP from datic circuit
|
||||
$20 = P15 = (in) D105
|
||||
*/
|
||||
$80 = P17 = (in) unsure
|
||||
$40 = P16 = (in) /ERP from datic circuit
|
||||
$20 = P15 = (in) D105
|
||||
*/
|
||||
|
||||
if (!player->daticerp)
|
||||
result |= 0x40;
|
||||
@ -524,12 +524,12 @@ static WRITE8_HANDLER( port1_w )
|
||||
ldplayer_data *player = ld->player;
|
||||
|
||||
/*
|
||||
$10 = P14 = (out) D104 -> /SPEED
|
||||
$08 = P13 = (out) D103 -> /TIMER ENABLE
|
||||
$04 = P12 = (out) D102 -> /REV
|
||||
$02 = P11 = (out) D101 -> /FORW
|
||||
$01 = P10 = (out) D100 -> some op-amp then to C334, B56, B332
|
||||
*/
|
||||
$10 = P14 = (out) D104 -> /SPEED
|
||||
$08 = P13 = (out) D103 -> /TIMER ENABLE
|
||||
$04 = P12 = (out) D102 -> /REV
|
||||
$02 = P11 = (out) D101 -> /FORW
|
||||
$01 = P10 = (out) D100 -> some op-amp then to C334, B56, B332
|
||||
*/
|
||||
|
||||
if (LOG_PORTS && (player->port1 ^ data) & 0x1f)
|
||||
{
|
||||
@ -599,10 +599,10 @@ static READ8_HANDLER( port2_r )
|
||||
UINT8 result = 0x00;
|
||||
|
||||
/*
|
||||
$80 = P27 = (in) set/reset latch; set by FOC LS, reset by IGR
|
||||
$20 = P25 = (in) D125 -> 0 when data written to controller is preset, reset to 1 when read
|
||||
$10 = P24 = (in) D124 -> 0 when data from controller is present, reset to 1 on a read
|
||||
*/
|
||||
$80 = P27 = (in) set/reset latch; set by FOC LS, reset by IGR
|
||||
$20 = P25 = (in) D125 -> 0 when data written to controller is preset, reset to 1 when read
|
||||
$10 = P24 = (in) D124 -> 0 when data from controller is present, reset to 1 on a read
|
||||
*/
|
||||
|
||||
if (!player->tocontroller_pending)
|
||||
result |= 0x20;
|
||||
@ -620,9 +620,9 @@ static READ8_HANDLER( port2_r )
|
||||
static WRITE8_HANDLER( port2_w )
|
||||
{
|
||||
/*
|
||||
$40 = P26 = (out) cleared while data is sent back & forth; set afterwards
|
||||
[Not actually connected, but this is done in the code]
|
||||
*/
|
||||
$40 = P26 = (out) cleared while data is sent back & forth; set afterwards
|
||||
[Not actually connected, but this is done in the code]
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
@ -297,17 +297,17 @@ GFXDECODE_END
|
||||
|
||||
static WRITE8_HANDLER(chanbara_ay_out_0_w)
|
||||
{
|
||||
// printf("chanbara_ay_out_0_w %02x\n",data);
|
||||
// printf("chanbara_ay_out_0_w %02x\n",data);
|
||||
scroll=data;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(chanbara_ay_out_1_w)
|
||||
{
|
||||
// printf("chanbara_ay_out_1_w %02x\n",data);
|
||||
// printf("chanbara_ay_out_1_w %02x\n",data);
|
||||
memory_set_bankptr(1, memory_region(machine, "user1") + ((data&4)?0x4000:0x0000) );
|
||||
scrollhi = data & 0x03;
|
||||
|
||||
//if (data&0xf8) printf("chanbara_ay_out_1_w unused bits set %02x\n",data&0xf8);
|
||||
//if (data&0xf8) printf("chanbara_ay_out_1_w unused bits set %02x\n",data&0xf8);
|
||||
}
|
||||
|
||||
static void sound_irq(running_machine *machine, int linestate)
|
||||
|
@ -39,23 +39,23 @@
|
||||
CPUID info:
|
||||
Original set:
|
||||
|
||||
CPUID Level: EAX: EBX: ECX: EDX:
|
||||
00000000 00000003 756E6547 6C65746E 49656E69
|
||||
00000001 0000068A 00000002 00000000 0387F9FF
|
||||
00000002 03020101 00000000 00000000 0C040882
|
||||
00000003 00000000 00000000 CA976D2E 000082F6
|
||||
80000000 00000000 00000000 CA976D2E 000082F6
|
||||
C0000000 00000000 00000000 CA976D2E 000082F6
|
||||
CPUID Level: EAX: EBX: ECX: EDX:
|
||||
00000000 00000003 756E6547 6C65746E 49656E69
|
||||
00000001 0000068A 00000002 00000000 0387F9FF
|
||||
00000002 03020101 00000000 00000000 0C040882
|
||||
00000003 00000000 00000000 CA976D2E 000082F6
|
||||
80000000 00000000 00000000 CA976D2E 000082F6
|
||||
C0000000 00000000 00000000 CA976D2E 000082F6
|
||||
|
||||
|
||||
Version 2:
|
||||
CPUID Level: EAX: EBX: ECX: EDX:
|
||||
00000000 00000003 756E6547 6C65746E 49656E69
|
||||
00000001 0000068A 00000002 00000000 0387F9FF
|
||||
00000002 03020101 00000000 00000000 0C040882
|
||||
00000003 00000000 00000000 B8BA1941 00038881
|
||||
80000000 00000000 00000000 B8BA1941 00038881
|
||||
C0000000 00000000 00000000 B8BA1941 00038881
|
||||
CPUID Level: EAX: EBX: ECX: EDX:
|
||||
00000000 00000003 756E6547 6C65746E 49656E69
|
||||
00000001 0000068A 00000002 00000000 0387F9FF
|
||||
00000002 03020101 00000000 00000000 0C040882
|
||||
00000003 00000000 00000000 B8BA1941 00038881
|
||||
80000000 00000000 00000000 B8BA1941 00038881
|
||||
C0000000 00000000 00000000 B8BA1941 00038881
|
||||
|
||||
*/
|
||||
|
||||
|
@ -465,7 +465,7 @@ static READ16_HANDLER( custom_key_r )
|
||||
res = BITSWAP16(keyval, 22,26,31,23,18,20,16,30,24,21,25,19,17,29,28,27);
|
||||
|
||||
keyval >>= 1;
|
||||
// printf("popcount(%08X) = %d\n", keyval & 0x58000c00, popcount(keyval & 0x58000c00));
|
||||
// printf("popcount(%08X) = %d\n", keyval & 0x58000c00, popcount(keyval & 0x58000c00));
|
||||
if((!keyval) || (popcount(keyval & 0x58000c00) & 1))
|
||||
keyval ^= 0x80000000;
|
||||
|
||||
|
@ -7163,8 +7163,8 @@ static DRIVER_INIT( kf2k3pcb )
|
||||
neogeo_cmc50_m1_decrypt(machine);
|
||||
|
||||
/* extra little swap on the m1 - this must be performed AFTER the m1 decrypt
|
||||
or the m1 checksum (used to generate the key) for decrypting the m1 is
|
||||
incorrect */
|
||||
or the m1 checksum (used to generate the key) for decrypting the m1 is
|
||||
incorrect */
|
||||
{
|
||||
int i;
|
||||
UINT8* rom = memory_region(machine, "audio");
|
||||
|
@ -2557,7 +2557,7 @@ static void scanline_draw(running_machine *machine, bitmap_t *bitmap, const rect
|
||||
|
||||
/*
|
||||
sprite priority==playfield priority
|
||||
GSEEKER (plane leaving hangar) --> sprite
|
||||
GSEEKER (plane leaving hangar) --> sprite
|
||||
BUBSYMPH (title) ---> sprite
|
||||
DARIUSG (ZONE V' BOSS) ---> playfield
|
||||
*/
|
||||
|
@ -198,7 +198,7 @@ WRITE16_HANDLER( tx1_bankcs_w )
|
||||
if ( !(offset & 0x40) )
|
||||
{
|
||||
/* TODO: Looks safe to remove this */
|
||||
// if ( offset & 2 )
|
||||
// if ( offset & 2 )
|
||||
tx1_vregs.h_val += tx1_vregs.h_inc;
|
||||
}
|
||||
}
|
||||
@ -1073,7 +1073,7 @@ static void tx1_draw_objects(running_machine *machine, UINT8 *bitmap)
|
||||
else
|
||||
color = ~ic162[prom_addr] & 0x3f;
|
||||
|
||||
// *BITMAP_ADDR16(bitmap, y, x) = machine->pens[TX1_COLORS_OBJ + color];
|
||||
// *BITMAP_ADDR16(bitmap, y, x) = machine->pens[TX1_COLORS_OBJ + color];
|
||||
*(bitmap + 768*y + x) = 0x40 | color;
|
||||
}
|
||||
}
|
||||
@ -2122,11 +2122,11 @@ static void buggyboy_draw_objs(running_machine *machine, UINT8 *bitmap, int wide
|
||||
UINT32 low_addr = ((x_acc >> (FRAC + 3)) & x_mask);
|
||||
|
||||
/*
|
||||
Objects are grouped by width (either 16, 8 or 4 tiles) in
|
||||
the LUT ROMs. The ROM address lines therefore indicate
|
||||
width and are used to determine the correct scan order
|
||||
when x-flip is set.
|
||||
*/
|
||||
Objects are grouped by width (either 16, 8 or 4 tiles) in
|
||||
the LUT ROMs. The ROM address lines therefore indicate
|
||||
width and are used to determine the correct scan order
|
||||
when x-flip is set.
|
||||
*/
|
||||
if (gxflip)
|
||||
{
|
||||
UINT32 xor_mask;
|
||||
@ -2455,7 +2455,7 @@ VIDEO_UPDATE( buggyboy )
|
||||
memset(bb_obj_bmp, 0, 768*240);
|
||||
|
||||
buggyboy_draw_char(screen->machine, bb_chr_bmp, 1);
|
||||
// buggyboy_draw_road(screen->machine, bb_rod_bmp, 1);
|
||||
// buggyboy_draw_road(screen->machine, bb_rod_bmp, 1);
|
||||
buggyboy_draw_objs(screen->machine, bb_obj_bmp, 1);
|
||||
|
||||
bb_combine_layers(screen->machine, bitmap, 0);
|
||||
|
@ -9,4 +9,4 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
const char build_version[] = "0.127u4 ("__DATE__")";
|
||||
const char build_version[] = "0.127u5 ("__DATE__")";
|
||||
|
Loading…
Reference in New Issue
Block a user