Previous Thread
Next Thread
Print Thread
Page 192 of 536 1 2 190 191 192 193 194 535 536
Joined: May 2004
Posts: 1,671
H
Very Senior Member
Offline
Very Senior Member
H
Joined: May 2004
Posts: 1,671
yep, that's my point, the CPU core is not much more than a skeleton CPU core with the opcodes and flags needed by a simple chess AI implemented.

I doubt a complex system is going to go very far at all without some form of interrupts regardless of how well the PCE chips are implemented ;-)

Joined: Aug 2009
Posts: 1,140
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2009
Posts: 1,140
Just for the record: I've just tried the full Virtual Boy software list, only two games (Wario Land and nesterfb) shows a Warning screen then dies on work RAM checks (presumably vblank irq wait).

And mind you, most games on Virtual Boy doesn't even load correctly! (i.e. cart loading is wrong)

Joined: Jan 2006
Posts: 3,690
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,690
please, could you give more details about the correct loading? I'd fix it, if I knew what is wrong. the list was just created to preserve the dumps, but it was untested (and that's why all the games have the supported=no flag)

Joined: Aug 2009
Posts: 1,140
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2009
Posts: 1,140
Boot vectors doesn't load properly. V810 is just like I86 based machines, i.e. boot vectors are at the end of the memory space.

And basically 2097152 (0x200000) size ROMs boots, while all of the others don't.

Translated:

Code:
	AM_RANGE( 0x07000000, 0x071fffff ) AM_MIRROR(0x0e00000) AM_ROM AM_REGION("user1", 0) /* ROM */


This loads plainly to memories 0x07000000 - 0x071fffff, that can be ok for 0x200000 sized roms, but for other games you put the data at 0x07000000 - 0x070fffff and 0x07000000 - 0x0707ffff ... but you must at least put it on the final 0x07180000 - 0x071fffff bank (and I presume the cart area is mirrored for these too)

It's probably easier to do than to explain ...

EDIT: whatever, just use this:

Code:
static DEVICE_IMAGE_LOAD( vboy_cart )
{
	UINT32 size;
	UINT8 *ptr = memory_region(image.device().machine, "user1");

	if (image.software_entry() == NULL)
	{
		size = image.length();
		if (image.fread( ptr, size) != size)
			return IMAGE_INIT_FAIL;
	}
	else
	{
		size = image.get_software_region_length("rom");
		if(size == 0x200000)
			memcpy(ptr, image.get_software_region("rom"), size);
		else if(size == 0x100000)
		{
			memcpy(ptr, image.get_software_region("rom"), size);
			memcpy(ptr + 0x100000, image.get_software_region("rom"), size);
		}
		else if(size == 0x080000)
		{
			memcpy(ptr, image.get_software_region("rom"), size);
			memcpy(ptr + 0x080000, image.get_software_region("rom"), size);
			memcpy(ptr + 0x100000, image.get_software_region("rom"), size);
			memcpy(ptr + 0x180000, image.get_software_region("rom"), size);
		}
		else
			return IMAGE_INIT_FAIL;
	}

	return IMAGE_INIT_PASS;
}

Last edited by Kale; 11/16/10 10:17 PM.
Joined: Jan 2006
Posts: 3,690
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,690
so do you suggest to mirror twice the 1048576 roms and four times the 524288 roms?

EDIT: ok, you were indeed suggesting that. but then it would be better to simply edit the xml list to use ROM_RELOAD like in MAME wink

I will do it tomorrow if you don't beat me to it

EDIT2: exact code
Code:
<rom name="aaa.bin" size="1048576" crc="xxxxxxxx" sha1="xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx" offset="000000" />
<rom size="1048576" offset="100000" loadflag="reload" />

Joined: Aug 2009
Posts: 1,140
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2009
Posts: 1,140
Ok, just do it.

With this more games shows the disclaimer then still dies due of missing irqs (and that requires non-trivial work)
And no, for the 1.234 time, I'm still busy with K8 :P

Joined: Jan 2006
Posts: 3,690
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,690
don't worry I'll do it tomorrow.

in bocca al lupo for k8 wink

Joined: Feb 2005
Posts: 449
C
Senior Member
Offline
Senior Member
C
Joined: Feb 2005
Posts: 449
Compiling src/mess/machine/ti99/tn_usbsm.c...
tn_usbsm.c
src\mess\machine\ti99\tn_usbsm.c(272) : warning C4333: '>>' : right shift by too large amount, data loss
Compiling src/mess/machine/ti99/tn_ide.c...
tn_ide.c
src\mess\machine\ti99\tn_ide.c(193) : warning C4333: '>>' : right shift by too large amount, data loss
src\mess\machine\ti99\tn_ide.c(204) : warning C4333: '>>' : right shift by too large amount, data loss
Compiling src/mess/devices/bitbngr.c...
bitbngr.c
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'

Joined: Feb 2000
Posts: 212
T
Senior Member
Offline
Senior Member
T
Joined: Feb 2000
Posts: 212
Originally Posted By Curt Coder
Compiling src/mess/devices/bitbngr.c...
bitbngr.c
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(179) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'
src\mess\devices\bitbngr.c(180) : warning C4305: 'initializing' : truncation from 'double' to 'float'

I wrote that code. I don't understand the warning. I create an array of floats using numeric constants:
Code:
  float tunes[] = {0.97, 0.9825, 0.985, 0.9875, 0.99, 0.9925, 0.995, 0.9975, 1.0,
   1.0025, 1.005, 1.0075, 1.01, 1.0125, 1.015, 1.0175, 1.02};

I could switch the whole thing to double, but the extra precision is unnecessary.


tim lindner
tlindner@macmess.org
Joined: Mar 2001
Posts: 16,757
Likes: 29
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,757
Likes: 29
MSVC is unnecessarily strict about float constants needing an "f" on the end. So 0.97f, 0.9825f, etc. should make it shut up.

Page 192 of 536 1 2 190 191 192 193 194 535 536

Link Copied to Clipboard
Who's Online Now
1 members (Dam0), 23 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,943
Posts117,564
Members4,994
Most Online890
Jan 17th, 2020
Forum Host
These forums are hosted by www.retrogamesformac.com
Forum hosted by www.retrogamesformac.com