Search the web
Sign In
New User? Sign Up
gbadev
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Messages 13430 - 13459 of 15019   Newest  |  < Newer  |  Older >  |  Oldest
Messages: Show Message Summaries   (Group by Topic) Sort by Date v  
#13459 From: "John Seghers" <johnse@...>
Date: Sat Dec 7, 2002 7:26 am
Subject: Re: Re: state of the industry
johnse98072
Offline Offline
Send Email Send Email
 
From: "Dave Murphy" <wintermute2002@...>
> could you possibly quote some figures that substantiate that?
>
> A normal GBA game appears to sell for $30 or thereabouts - in the UK that's
> much closer to $45 btw.
>
> 250k units makes $7500000 of income, figures I've seen suggest Nintendo's
> take would be less than 40% on those figures for the most expensive cart.
> That still leaves $4.5 million unaccounted for - where's that lot going
> then? Nintendo's costs are for the entire product - box, manual etc.

Wholesale cost to stores, especially with these kinds of products, is routinely
1/3 of the shelf price, or about $10 per box.  I've heard figures of about $7
per box of Nintendo's manufacturing costs (This is ballpark--I haven't been
in the loop on such negotiations.)  So now you're talking about, maybe, $3
per box that the publisher sees, about 10% of the shelf price.  Out of that
they need to pay for advertising or they're unlikely to see the 250K units
leave the shelves.  Furthermore, from what I understand, Nintendo has
minimum order sizes and if you can't sell what you order, guess who eats
the cost--not Nintendo.

- John

#13458 From: "Mike Schwartz" <mykes@...>
Date: Sat Dec 7, 2002 6:17 am
Subject: RE: Re: state of the industry
mykes@...
Send Email Send Email
 
Numbers I've seen are that very few games do 250K units and most do 50K
or less.

Cheers


=> -----Original Message-----
=> From: Dave Murphy [mailto:wintermute2002@...]
=> Sent: Friday, December 06, 2002 3:55 PM
=> To: gbadev@yahoogroups.com
=> Cc: gadget2032@...
=> Subject: RE: [gbadev] Re: state of the industry
=> Importance: High
=>
=>
=> could you possibly quote some figures that substantiate that?
=>
=> A normal GBA game appears to sell for $30 or thereabouts -
=> in the UK that's much closer to $45 btw.
=>
=> 250k units makes $7500000 of income, figures I've seen
=> suggest Nintendo's take would be less than 40% on those
=> figures for the most expensive cart. That still leaves $4.5
=> million unaccounted for - where's that lot going then?
=> Nintendo's costs are for the entire product - box, manual etc.
=>
=> Dave
[old msg's cropped by mod]

#13457 From: James Daniels <james.daniels@...>
Date: Sat Dec 7, 2002 6:12 am
Subject: Re: Re: state of the industry
j_r_daniels
Offline Offline
Send Email Send Email
 
Hi Dave,

> 250k units makes $7500000 of income, figures I've seen suggest Nintendo's
> take would be less than 40% on those figures for the most expensive cart.
> That still leaves $4.5 million unaccounted for - where's that lot going
> then? Nintendo's costs are for the entire product - box, manual etc.

The retailer and distributor also take a major chunk (more than Nintendo
do).
--
Cheers,
James.

     /\  apex                                 James Daniels
    //\\  designs            james.daniels@...
   //__\\                       http://www.apex-designs.net

#13456 From: James Daniels <james.daniels@...>
Date: Sat Dec 7, 2002 2:58 am
Subject: Re: The fastet way to plot a single pixel in mode3
j_r_daniels
Offline Offline
Send Email Send Email
 
Hi David,

> ldrh r1, [r0]
> tst r0, #1
> andEQ r1, r1, #0xFF00
> addEQ r1, r1, r2
> andNE r1, r1, #0x00FF
> addNE r1, r1, r2, lsl #8
> strh r1, [r0]

Won't your code read and write from/to an uneven address if r0 is odd?

Here's my code that takes x,y coordinates, checks they're on the screen,
works out which frame buffer you're viewing and plots to the other one.

@ CODE_IN_IWRAM void DrawPixel1( int x, int y, int col )

DrawPixel1:
cmp r0,#239
bxhi lr
cmp r1,#159
bxhi lr
mov r12,#0x04000000
ldrh r12,[r12]
tst r12,#0x10
mov r12,#0x06000000
addeq r12,r12,#0xa000
add r12,r12,r0
ands r0,r0,#0x1
add r12,r12,r1,lsl #8
ldrb r1,[r12,-r1,lsl #4]!
addeq r1,r2,r1,lsl #8
addne r1,r1,r2,lsl #8
strh r1,[r12,-r0]
bx lr

If you already know which frame you want to render to and you don't need
   clipping:

@ CODE_IN_IWRAM void DrawPixel2( int x, int y, int col, UWORD*
frame_address )

DrawPixel2:
add r3,r3,r0
ands r0,r0,#0x1
add r3,r3,r1,lsl #8
ldrb r1,[r3,-r1,lsl #4]
addeq r1,r2,r1,lsl #8
addne r1,r1,r2,lsl #8
strh r1,[r12,-r0]
bx lr

Here's some code that just does what you were asking for (although I've
put the colour in r1, not r2):

@ CODE_IN_IWRAM void DrawPixel3( u8* pixel, int col )

DrawPixel3:
ands r3,r0,#1
ldreqb r2,[r0,#1]
addeq r2,r1,r2,lsl #8
ldrneb r2,[r0,#-1]
addne r2,r2,r1,lsl #8
strh r2,[r0,-r3]
bx lr

This code has the same number of instructions as the one you provided,
but doesn't suffer from the unaligned memory access problem I mentioned.
To get more speed I'd suggest writing in pixel pairs if possible.
--
Cheers,
James.

     /\  apex                                 James Daniels
    //\\  designs            james.daniels@...
   //__\\                       http://www.apex-designs.net

#13455 From: "Mike Wynn" <mike.wynn@...>
Date: Sat Dec 7, 2002 2:14 am
Subject: Re: The fastet way to plot a single pixel in mode3
mike.wynn@...
Send Email Send Email
 
----- Original Message -----
From: "David" <mpe501@...>
To: <gbadev@yahoogroups.com>
Sent: Friday, December 06, 2002 10:57 PM
Subject: [gbadev] The fastet way to plot a single pixel in mode3


> If you want to plot a single pixel in mode3 you have to read back the
> whole halfword from VRAM, mask it, and write it back.
> The fastest routine i could come up with is (gcc assembler, plots colour
1):
>
> r0 is the pointer to the byte for this pixel, colour in r2.
>
> ldrh r1, [r0]
> tst r0, #1

I thought ldrh needed a halfword (16 bit) align address on real hardware

> andEQ r1, r1, #0xFF00
> addEQ r1, r1, r2
> andNE r1, r1, #0x00FF
> addNE r1, r1, r2, lsl #8
> strh r1, [r0]
>
>
> I'm sure this is suboptimal. Does anyone have a faster method?

use a iwram line buffer or ewram frame buffer you can byte read/write then.

>
> /David
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>

#13454 From: "Dave Murphy" <wintermute2002@...>
Date: Sat Dec 7, 2002 1:55 am
Subject: RE: Re: Graphics
gameboy_dave
Offline Offline
Send Email Send Email
 
or there's the completely abominable syntax of objcopy :=

#---------------------------------------------------------------------------
------
%.o : %.bin
	 $(OBJCOPY) -I binary -O elf32-littlearm -B arm\
	 --rename-section .data=.rodata,readonly,data,contents \
	 --redefine-sym _binary_$*_bin_start=$*\
	 --redefine-sym _binary_$*_bin_end=$*_end\
	 --redefine-sym _binary_$*_bin_size=$*_size\
	 $< $@
	 interflip -mthumb-interwork $@


note that obcopy inserts
  _binary_<filename>_<extension>_start
  _binary_<filename>_<extension>_end
  _binary_<filename>_<extension>_size

the parameters to --redefine-sym above change these to <filename>_start etc.

interflip is courtesy of Jason Wilkins & can be found here
http://www.doc.ic.ac.uk/~tb100/?other=1

or here
http://www.io.com/~fenix/devkitadv/download.html

next stage is to get my makefile to generate the headers itself :)

anyone know if objcopy can handle the interworking flag through the section
flags?


Dave

-----Original Message-----
From: yerricde [mailto:d_yerrick@...]
Sent: 30 November 2002 10:26
To: gbadev@yahoogroups.com
Subject: [gbadev] Re: Graphics


--- In gbadev@y..., Jay <jay@b...> wrote:
>
> Is there an editor that'll just let me save out data in GBA format

Yes.  My soon-to-be-renamed "Ted" tile editor can save directly
into several binary chr formats including 1-bit, GB, GBA 4-bit,
and 8-bit.  It's real easy to make an ASCII font with the editor.
Then use any old bin2h program to make it a .h; to make it
automatic, put it in your makefile or mk.bat.

http://www.pineight.com/pc/

--
Damian





Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

#13453 From: "Dave Murphy" <wintermute2002@...>
Date: Sat Dec 7, 2002 1:55 am
Subject: RE: Re: state of the industry
gameboy_dave
Offline Offline
Send Email Send Email
 
could you possibly quote some figures that substantiate that?

A normal GBA game appears to sell for $30 or thereabouts - in the UK that's
much closer to $45 btw.

250k units makes $7500000 of income, figures I've seen suggest Nintendo's
take would be less than 40% on those figures for the most expensive cart.
That still leaves $4.5 million unaccounted for - where's that lot going
then? Nintendo's costs are for the entire product - box, manual etc.

Dave



-----Original Message-----
From: Wendy [mailto:gadget2032@...]
Sent: 26 November 2002 12:38
To: gbadev@yahoogroups.com
Subject: [gbadev] Re: state of the industry


Alot of companies are outsourcing their GBA projects because they
can't afford to do them in-house anymore. The going rate for a normal
gba game is about $25K now. If you have more than one person coding
and one artist you've already broken your budget. Nintendo doesn't
really make it that profitable unless you're going to see at least
250,000 copies.

--Wendy

--- In gbadev@y..., john scabadone <scabadone@y...> wrote:
> I would like to know how many companies out there have
> had success selling original GBA titles to publishers.
>  If so, what kind of budgets are we looking at?
>
> Also, is there much room for contract work or is that
> drying up as well?  I heard now is quite a hard time
> to find any work.
>
> j-
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com





Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

#13452 From: Pete Gonzalez <gonz@...>
Date: Sat Dec 7, 2002 1:55 am
Subject: Re: Re: Detection of emulator
gonz1242
Offline Offline
Send Email Send Email
 
yerricde wrote:

>dir /s /b \visualboyadvance.exe
>
Heh ;-)

>Oh, you mean you want the GBA program to detect which GBA model
>or emulator it's running on.  In other words, you seek emulation
>inaccuracies visible to the running program.  I can think of two
>reasons why you'd want to do this:
>1. to present a simplified display to compensate for slow
>   computers or inaccurate but popular emulators, or
>2. to discourage unauthorized redistribution of proprietary
>   game software.
>
Nah, if I wanted #2 I wouldn't be discussing it in a public forum.  ;-)
Actually our code can compensate for the (horribly flawed) gamma
on the real GameBoy, but we want it to also look right in the
emulator.  There are many other subtle bugs/differences which
could be compensated for during development.

>Theoretically, it should be impossible for game console software
>to determine whether it's running on Nintendo brand hardware or
>Gateway brand hardware.  As emulators mature, the simple tricks
>used to distinguish environments begin to fail.  For example, in
>the early days of NES emulation, four lines of 6502 code could
>distinguish the popular emulators from the Nintendo hardware (see
>http://everything2.com/?node=nesticle).  But now, as NES emulators
>have matured, it's much harder for NES code to tell where it's
>running.
>
Well, e.g. consider this quote from the VisualBoy Advance FAQ:

     5. You have to fix it because "XXX" doesn't work?
     If you really want to play "XXX", buy yourself a GBA and "XXX"
     and play it.  The emulator may never emulate the GBA perfectly,
     so some stuff may never work.

This suggests that some hardware features are currently very difficult.
Maybe they could be used to detect the emulator.  My first idea was
to time the number of cycles in a loop with different wait-state
settings, maybe that would be slightly different?

>Also try looking at initial values of readable registers that
>may be set differently by the Nintendo release BIOS vs. the
>clone BIOS built into an emulator.
>
Yeah I thought of that also, but unfortunately we use a real BIOS
image with our emulator.  (What would be nice, is if the emulators
could provide a standard way to detect them.  Of course, it could
be switched off as an option.)

I guess what I'm really looking for is some code that someone
else wrote, so I don't have to reinvent a wheel, but... maybe it
has not been invented yet?  :-)

Thanks for your input!

Cheers,
-Pete

#13451 From: David <mpe501@...>
Date: Fri Dec 6, 2002 10:57 pm
Subject: The fastet way to plot a single pixel in mode3
mpe501@...
Send Email Send Email
 
If you want to plot a single pixel in mode3 you have to read back the
whole halfword from VRAM, mask it, and write it back.
The fastest routine i could come up with is (gcc assembler, plots colour 1):

r0 is the pointer to the byte for this pixel, colour in r2.

ldrh r1, [r0]
tst r0, #1
andEQ r1, r1, #0xFF00
addEQ r1, r1, r2
andNE r1, r1, #0x00FF
addNE r1, r1, r2, lsl #8
strh r1, [r0]


I'm sure this is suboptimal. Does anyone have a faster method?

/David

#13450 From: "Dave Mariner" <dave@...>
Date: Fri Dec 6, 2002 10:55 pm
Subject: f2a linker cable
elevenstronguk
Offline Offline
Send Email Send Email
 
Hi peeps,
             Has anyone managed to the f2a hi-speed linker cable this working
with an ECP port under win2k. I've got a vaio laptop (the cheapskates didn't
put an epp in there), and am having no success in getting the linker working
with it. I know the cable is fine, as it works with my desktop. I've already
installed userport on there, and am rapidly running out of ideas.
                 Any advice???


                         Dave Mariner.

#13449 From: "Neal Tew" <zxcvzxcv@...>
Date: Fri Dec 6, 2002 10:17 pm
Subject: Re: Detection of emulator
x4344739
Offline Offline
Send Email Send Email
 
> Does anyone have code for detecting the presence of an emulator?
>
> Thanks,
> -Pete

This works pretty well.  It has to be run from RAM, of course.

detectGBA:           ;returns 0 if emulated
     mov r0,#0
     str r0,_0
_0: mov r0,#1
     mov pc,lr


---------------------------------------------
Introducing NetZero Long Distance
1st month Free!
Sign up today at: www.netzerolongdistance.com

#13448 From: "yerricde" <d_yerrick@...>
Date: Fri Dec 6, 2002 7:24 pm
Subject: Re: Detection of emulator
yerricde
Offline Offline
Send Email Send Email
 
--- In gbadev@y..., Pete Gonzalez <gonz@r...> wrote:
> Does anyone have code for detecting the presence of an emulator?

Easy.

dir /s /b \visualboyadvance.exe

Oh, you mean you want the GBA program to detect which GBA model
or emulator it's running on.  In other words, you seek emulation
inaccuracies visible to the running program.  I can think of two
reasons why you'd want to do this:
1. to present a simplified display to compensate for slow
    computers or inaccurate but popular emulators, or
2. to discourage unauthorized redistribution of proprietary
    game software.

Theoretically, it should be impossible for game console software
to determine whether it's running on Nintendo brand hardware or
Gateway brand hardware.  As emulators mature, the simple tricks
used to distinguish environments begin to fail.  For example, in
the early days of NES emulation, four lines of 6502 code could
distinguish the popular emulators from the Nintendo hardware (see
http://everything2.com/?node=nesticle).  But now, as NES emulators
have matured, it's much harder for NES code to tell where it's
running.

I don't really know where the GBA emulators stand on inaccuracies
visible to the running program, but I do know some things about
recent builds of VisualBoyAdvance:
* tone generator volumes are wrong in some cases, and envelopes
   aren't smooth enough
* a busy loop in ROM or EWRAM runs two to three times faster on
   VBA than on hardware because VBA doesn't emulate wait-states
   except in DMA
* default keyboard binding puts A to the left of B, which
   causes confusion in games that bind "fire left" to B and
   "fire right" to A, such as Lode Runner and Paperboy
* out-of-order writes to affine registers have some slight bugs
   on hardware but not on VBA; I haven't characterized them yet
* GBA buttons A and B are bouncy; DirectX buttons aren't

Also try looking at initial values of readable registers that
may be set differently by the Nintendo release BIOS vs. the
clone BIOS built into an emulator.

--
Damian

#13447 From: porneL <pornel@...>
Date: Fri Dec 6, 2002 5:11 pm
Subject: Re: Detection of emulator
pornelkurna
Offline Offline
Send Email Send Email
 
PG> Does anyone have code for detecting the presence of an emulator?

under boycott advance DMA copy from null adress gives 0xFFFF
and 0x0000 on real hw.

Emulators allow to enable/disable interrupts (in REG_IE) immediately
while on real hw it often takes (not always!) whole frame for
VCOUNT and VBLANK int to disable.

VisualBoy's "CPU" is too fast.

Switcing from MODE0 to MODE2 makes 3 blank lines on realhw.


   (jakieś losowo wybrane z listy pożegnanie), porneL


--
Pukanie zepsute - prosze dzwonic [ http://pegasosppc.com ]

GG 989217, ICQ 145671338, SMS 501454675, #amigapl @ ircnet

#13446 From: Pete Gonzalez <gonz@...>
Date: Fri Dec 6, 2002 4:32 pm
Subject: Detection of emulator
gonz1242
Offline Offline
Send Email Send Email
 
Does anyone have code for detecting the presence of an emulator?

Thanks,
-Pete

#13445 From: James Daniels <james.daniels@...>
Date: Fri Dec 6, 2002 12:19 am
Subject: Re: GAME TM Magazine
j_r_daniels
Offline Offline
Send Email Send Email
 
Hi TJ,

> Wow, looks almost unbelievable. Let's hope other developers follow in
> your footsteps. I was curious how many fps you are up to now as your
> second post didn't mention it.

About 15 fps on average (up to 30 fps at peak). Not bad considering
there can be as many as 1000 triangles/frame.
--
Cheers,
James.

     /\  apex                                 James Daniels
    //\\  designs            james.daniels@...
   //__\\                       http://www.apex-designs.net

#13444 From: "TJ" <comfortably_numb_@...>
Date: Thu Dec 5, 2002 3:10 pm
Subject: Re: GAME TM Magazine
treyjazz2k2
Offline Offline
Send Email Send Email
 
Wow, looks almost unbelievable. Let's hope other developers follow in your
footsteps. I was curious how many fps you are up to now as your second post
didn't mention it.
   ----- Original Message -----
   From: James Daniels
   To: gbadev@yahoogroups.com
   Sent: Wednesday, December 04, 2002 9:25 PM
   Subject: Re: [gbadev] GAME TM Magazine


   Hi Hawken,

   > There's an article in GameTM magazine this month about the AGB 3d engine and
   > James Daniels Payback!
   > The magazine writes about whats happening to GTA on the gba and also has
   > some information about Payback, which everyone might find interesting.

   It's only a quick mention, but I'm not complaining. There's more info on
   the GBA version of the game here:

   http://www.apex-designs.net/payback_gba_report.html
   http://www.apex-designs.net/payback_gba_report2.html

   (I did post a message to the list about the first report before, but not
   the second.)
   --
   Cheers,
   James.

       /\  apex                                 James Daniels
      //\\  designs            james.daniels@...
     //__\\                       http://www.apex-designs.net



   Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

#13443 From: "Stephen Stair" <sgstair@...>
Date: Thu Dec 5, 2002 9:58 am
Subject: My Development Website
sgstair
Online Now Online Now
Send Email Send Email
 
I'm back with a new website!
it's at: http://www.akkit.org/sgstair
This website highlights GBA dev, PC dev, and Electronics Dev.
I will hopefully be updating this website frequently, and my major projects
(such as GBAhearts) will be followed here.
Any comments, questions, etc would be appreciated!

-Stephen Stair (sgstair@...)

#13442 From: James Daniels <james.daniels@...>
Date: Thu Dec 5, 2002 3:25 am
Subject: Re: GAME TM Magazine
j_r_daniels
Offline Offline
Send Email Send Email
 
Hi Hawken,

> There's an article in GameTM magazine this month about the AGB 3d engine and
> James Daniels Payback!
> The magazine writes about whats happening to GTA on the gba and also has
> some information about Payback, which everyone might find interesting.

It's only a quick mention, but I'm not complaining. There's more info on
the GBA version of the game here:

http://www.apex-designs.net/payback_gba_report.html
http://www.apex-designs.net/payback_gba_report2.html

(I did post a message to the list about the first report before, but not
the second.)
--
Cheers,
James.

     /\  apex                                 James Daniels
    //\\  designs            james.daniels@...
   //__\\                       http://www.apex-designs.net

#13441 From: "terminal24" <terminal24@...>
Date: Wed Dec 4, 2002 6:00 pm
Subject: GAME TM Magazine
gtp_t24
Offline Offline
Send Email Send Email
 
There's an article in GameTM magazine this month about the AGB 3d engine and
James Daniels Payback!
The magazine writes about whats happening to GTA on the gba and also has
some information about Payback, which everyone might find interesting.

GAMETM is a new mag here in the UK, something to rival EDGE at last.

regards
Hawken

mr hawken bright-roberts
------------------------
http://www.dadako.com/
------------------------
mailto:hawken@...
------------------------
txt: +44 (0)7968 060 215
------------------------

#13440 From: "ninjaneer" <bjohnson13_99@...>
Date: Wed Dec 4, 2002 5:28 pm
Subject: Re: flash card save data problem
bjohnson13_99
Offline Offline
Send Email Send Email
 
--- In gbadev@y..., "yerricde" <d_yerrick@h...> wrote:
> --- In gbadev@y..., "ninjaneer" <bjohnson13_99@y...> wrote:
> > I have an application for the GBA which needs to save data in the
> > battery backed SRAM at 0x0E000000.
> [...]
> Have you tried comparing the data you wrote with the data you read
> back, byte for byte, to see *which* bytes differ?  I've had carts
> set the first or last byte to 0x00 or 0xff on power-cycle and not
> change the rest of the data.  If that's your problem, just don't
> use the first or last byte of the SRAM.
>
> --
> Damian

No, not yet. I guess thats a good next step, have to code that. Since
it works on the one card and VBA, sure seems card specific. In
looking
for card docs, I see the loader programs let you select a save bank
but didn't find details how they set it. I saw talk of patching some
save routines, so there must be a page register or some routine libs
somewhere.
New info, the records seem to be wrapping too, 606 bytes each.
Changing record 2 or 1 alters record 0, but only on the new cards!
How can it be? It works on VBA/other card, honest.
I've got insight/gdb running with VBA but don't have a good debug
setup for the actual GBA hardware, yet.
Thanks for the tip.
+BillJ

#13439 From: "ninjaneer" <bjohnson13_99@...>
Date: Wed Dec 4, 2002 3:54 pm
Subject: Re: flash card save data problem
bjohnson13_99
Offline Offline
Send Email Send Email
 
--- In gbadev@y..., "Mike Schwartz" <mykes@i...> wrote:
> Do the emulators emulate this feature (battery backed RAM)?
>
  VBA does, it suprised me. I checked around and found it created a
"gnu_stub.sav" file that was 64K and had my data image it. It was
running linked to Insight/gdb at the time, not sure if that might be
required since the name starts with gnu_.
+BillJ

#13438 From: "yerricde" <d_yerrick@...>
Date: Wed Dec 4, 2002 12:31 am
Subject: Re: flash card save data problem
yerricde
Offline Offline
Send Email Send Email
 
--- In gbadev@y..., "ninjaneer" <bjohnson13_99@y...> wrote:
> I have an application for the GBA which needs to save data in the
> battery backed SRAM at 0x0E000000.
[...]
> A 256M card and a new flash2advance 64M card lose the data when
> power is cycled.
[...]
> This app is the only program loaded in the cartridge and it uses
> about 6K of SRAM. Any corruption would look like it lost it too
> since my data checksum would fail. Does anyone have an idea what
> might be going on?

Have you tried comparing the data you wrote with the data you read
back, byte for byte, to see *which* bytes differ?  I've had carts
set the first or last byte to 0x00 or 0xff on power-cycle and not
change the rest of the data.  If that's your problem, just don't
use the first or last byte of the SRAM.

--
Damian

#13437 From: porneL <pornel@...>
Date: Tue Dec 3, 2002 11:36 pm
Subject: Re[2]: flash card save data problem
pornelkurna
Offline Offline
Send Email Send Email
 
MS> Do the emulators emulate this feature (battery backed RAM)?

yes.
VBA and boycott for sure.



   nara, porneL


--
Miód z uszu usuwam tylko po to, by wymontować młoteczek i puknąć się w czoło [
http://pegasosppc.com ]

GG 989217, ICQ 145671338, SMS 501454675, #amigapl @ ircnet

#13436 From: "Mike Schwartz" <mykes@...>
Date: Tue Dec 3, 2002 9:40 pm
Subject: RE: flash card save data problem
mykes@...
Send Email Send Email
 
Do the emulators emulate this feature (battery backed RAM)?

> -----Original Message-----
> From: ninjaneer [mailto:bjohnson13_99@...]
> Sent: Tuesday, December 03, 2002 6:24 AM
> To: gbadev@yahoogroups.com
> Subject: [gbadev] flash card save data problem
>
> Greetings,
> I have an application for the GBA which needs to save data in the
> battery backed SRAM at 0x0E000000. It saves OK on an older 64M flash
> advance card when the power is removed so the code seems to work. A
> 256M card and a new flash2advance 64M card lose the data when power
> is cycled. I am wondering if there is some kind of page register that
> needs to be set in the newer cards to support different
> save data banks for multiple game loads. The battery checked OK on
> the 256M card. This app is the only program loaded in the cartridge
> and it uses about 6K of SRAM. Any corruption would look like it
> lost it too since my data checksum would fail. Does anyone have an
> idea what might be
> going
> on?
> Thanks,
> +BillJ
>
>
>
>
>
>
> Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
>

#13435 From: "ninjaneer" <bjohnson13_99@...>
Date: Tue Dec 3, 2002 4:24 pm
Subject: flash card save data problem
bjohnson13_99
Offline Offline
Send Email Send Email
 
Greetings,
I have an application for the GBA which needs to save data in the
battery backed SRAM at 0x0E000000. It saves OK on an older 64M flash
advance card when the power is removed so the code seems to work. A
256M card and a new flash2advance 64M card lose the data when power
is cycled. I am wondering if there is some kind of page register that
needs to be set in the newer cards to support different
save data banks for multiple game loads. The battery checked OK on
the 256M card. This app is the only program loaded in the cartridge
and it uses about 6K of SRAM. Any corruption would look like it
lost it too since my data checksum would fail. Does anyone have an
idea what might be
going
on?
Thanks,
+BillJ

#13434 From: "ninge" <ninge@...>
Date: Tue Dec 3, 2002 10:04 am
Subject: RE: Multiple interrupts + link code
n1nge
Offline Offline
Send Email Send Email
 
alright?

Thanks to everyone who mailed us suggestions for this - we finally fixed it
by patching the Nintendo multiple interrupts crt0 into Jeff's crt0.

We had 3 versions running over-night: single interrupts version, multiple
interrupts using un-modified crt0 from Jeff and our hacked one - hacked
version and single interrupts are still running now and the un-modified one
died after about 40 minutes - so we're guessing that's it :)

cheers

ninge

#13433 From: Sebastian Kienzl <zap@...>
Date: Mon Dec 2, 2002 5:00 pm
Subject: Re: Multiple interrupts + link code
zap@...
Send Email Send Email
 
ninge wrote:

Hi!

>Has anyone else come across this issue before? or can anyone suggest why it
>might be happening?
>
Probably because the serial ISR gets interrupted by your 'massive'
Vcount-ISR.
To avoid this simply patch the Crt0 to not reenable the Interrupt-bit in
the CPSR when your serial interrupt occurs.
I've done that for Krawall like this (see @KRAWALL-comments):

   .ifdef __MultipleInterrupts
intr_main:
                                          @ Multiple interrupts support
         mov     r2, #0x4000000           @ REG_BASE
         ldr     r3, [r2,#0x200]!         @ r2 = IE : r3 = IF|IE
         ldrh    r1, [r2, #0x8]           @ r1 = IME
         mrs     r0, spsr
         stmfd   sp!, {r0-r2,lr}          @ {spsr, IME, REG_IE, lr}  // IF|IE

         mov     r0, #1                   @ IME = 1 (To permit multiple
interrupts if
                                          @ an interrupt occurs)
         strh    r0, [r2, #0x8]
         and     r1, r3, r3, lsr #16      @ r1 = IE & IF
         mov     r3, #0                   @ KRAWALL
         ldr     r12, =IntrTable

         ands    r0, r1, #1               @ V-blank interrupt
         bne     jump_intr
         add     r12,r12, #4
         ands    r0, r1, #2               @ H-blank interrupt
         bne     jump_intr
         add     r12,r12, #4
         ands    r0, r1, #4               @ V-counter interrupt
         bne     jump_intr
         add     r12,r12, #4
         ands    r0, r1, #8               @ Timer 0 interrupt
         bne     jump_intr
         add     r12,r12, #4
         ands    r0, r1, #0x10            @ Timer 1 interrupt
         movne   r3, #1                   @ KRAWALL
         bne     jump_intr
         add     r12,r12, #4
         ands    r0, r1, #0x20            @ Timer 2 interrupt
         bne     jump_intr
         add     r12,r12, #4
         ands    r0, r1, #0x40            @ Timer 3 interrupt
         bne     jump_intr
[...]

    .ifdef __HandleCartInterrupt
         strneb  r0, [r2, #0x84 - 0x200]  @ Stop sound if cart removed
(REG_SOUNDCNT_X)
loop:   bne     loop                     @ Infinite loop if cart removed
    .endif

jump_intr:
         strh    r0, [r2, #2]             @ Clear IF

         cmp     r3, #0                   @ KRAWALL, should interrupts be
allowed now? (r3 == 0)
                                          @ (NO for Timer1, kradInterrupt
must not be interrupted)

@ Enable multiple interrupts & switch to system
@ mode if __SwitchToUserStack is defined.

         mrs     r3, cpsr
    .ifdef __SwitchToUserStack
         bicne   r3, r3, #0x1f            @ KRAWALL: do not enable IRQ
         biceq   r3, r3, #0xdf            @ KRAWALL: ok, enable IRQ
@        bic     r3, r3, #0xdf            @ \__
         orr     r3, r3, #0x1f            @ /  --> Enable IRQ & FIQ. Set
CPU mode to System.
    .else
         biceq   r3, r3, #0xc0            @ KRAWALL: ok, enable IRQ & FIQ
@        bic     r3, r3, #0xc0            @ Enable IRQ & FIQ
    .endif
         msr     cpsr, r3

In this case Timer1-interrupts will never get interrupted by other
interrupts, this is what you probably want for the serial interrupt.

Regards,
Sebastian

#13432 From: "ninge" <ninge@...>
Date: Mon Dec 2, 2002 1:54 pm
Subject: Multiple interrupts + link code
n1nge
Offline Offline
Send Email Send Email
 
Hi,

We're writing a project that needs multiplayer communication but with
multiple interrupts enabled in the crt0.s

We are using Jeff's crt0 in combination with the SN devkit and standard
Nintendo MultiSio communication library. Unfortunately the game doesn't
always run in a frame and our vblank interrupt processing is pretty
massive.. this means we have to be able to run multiple interrupts so that
the comms code can still work with the game and things like the multiplexing
for our sprites don't go all wonky when the game drops...

However, with multiple interrupts enabled the game will loose connection
after about 20 minutes of multiplayer :(

We moved the comms code out into a separate test bed application and tried
again to see if it was the game logic but it still breaks. Moving over to
single interrupts (with no other changes) makes it 100% stable. Obviously
this is only possible in the test bed because the vblank processing is
minimal (in game we use 100%+ of the vblank for the vblank interrupt pretty
much every frame).

Has anyone else come across this issue before? or can anyone suggest why it
might be happening?

We're pretty stuck right now so any help will be greatly appreciated!!

cheers

ninge

#13431 From: Martin Piper <martinp@...>
Date: Mon Dec 2, 2002 11:26 am
Subject: RE: Self-modifying code branching problem
fnagaton
Offline Offline
Send Email Send Email
 
You know that code won't work on any ARM chip with a cache? :) If you ever
want it to run on the GP32 you'll have to be aware of this.

-----Original Message-----
From: James Daniels [mailto:james.daniels@...]
Sent: 29 November 2002 23:39
To: gbadev@yahoogroups.com
Subject: Re: [gbadev] Self-modifying code branching problem


Hi all,

Just to let you know, I solved the problem by hacking the opcodes as
follows: (it probably won't work for negative offsets though)

...

_stored_branch: .word 0xea000000 +
((target_label-stored_branch_moved_here)/4)-2

...

ldr r10,_stored_branch
str r10,_stored_branch_moved_here

...

stored_branch_moved_here:
mov r0,r0  @ may be overwritten by _stored_branch

...

target_label:

...

It's a bit iffy, but it gets the job done.
--
Cheers,
James.

     /\  apex                                 James Daniels
    //\\  designs            james.daniels@...
   //__\\                       http://www.apex-designs.net






Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

#13430 From: Jay <jay@...>
Date: Mon Dec 2, 2002 2:17 am
Subject: libGBA
boolaala10
Offline Offline
Send Email Send Email
 
Hello, dunno if this is of any use to anyone, but I've written a
little lib to emulate the GBA video hardware on a PC, because I found
rebuilding/running and debugging on an emulator a bit of an arse....

Anyway, it didn't really take that long... if you wanna write in C/C++
and aren't too arsed about asm or fancy mode 7 effects you should have
no problem... and the VC debugger's a bit nicer than most of the GBA
solutions I've seen.

There's a ReadMe.txt file in the zip on my site that goes into a
little more detail about what it does and doesn't do, along with PC
and GBA binaries of some bastardised 'devoto' examples from the Pern
Project for comparison. They compiled pretty much *as is*, and there's
defines in there to test different modes.... Just look in main.c and
it should all become clear....

You need the VC & DirectX8 SDK installed to compile it..... Check the
.dsw to see what libs are required for the windows build.

I've no idea if it'll just fall over on someone else's machine.. I've
not tried...

If anyones interested you can get it here:-

http://www.boolaala.pwp.blueyonder.co.uk/libGBA.zip


Cheers
Jay

Messages 13430 - 13459 of 15019   Newest  |  < Newer  |  Older >  |  Oldest
Advanced
Add to My Yahoo!      XML What's This?

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help