ARM assembly language compatibility

If you have any questions on programming, this is the place to ask them, whether you're a newbie or an experienced programmer. Discussion on programming in general is also welcome. We will help you with programming homework, but we will not do your work for you! Any porting requests must be made in Developmental Ideas.
Post Reply
User avatar
fox68k
DC Developer
DC Developer
Posts: 49
Joined: Tue Aug 03, 2004 11:01 am
Has liked: 0
Been liked: 0
Contact:

ARM assembly language compatibility

Post by fox68k » Fri Oct 15, 2004 3:04 pm

Hi,

i am thinking about programming for the ARM processor inside the DC in assembly language, but i would like to know if the assembly language for this processor (ARM7) is compatible (this is, i can run the same assembly code) with, for example, the ARM9 inside the GP32.

In addition, what are the differences between these processors? What are the similarities? And with other ARM processors?

Thanks in advance.
- fox68k -
Alexvrb
DCEmu Ultra Poster
DCEmu Ultra Poster
Posts: 1754
Joined: Wed Jul 17, 2002 11:25 am
Has liked: 0
Been liked: 0

Post by Alexvrb » Fri Oct 15, 2004 10:48 pm

The ARM7 in the DC is I think an ARM7TDMI. That means v4 architecture, maybe v4T? If it supports Thumb code, its a v4T, if not, just v4. I'm pretty sure the ARM9 in the GBA is v4T, which means ARM and Thumb code compatible. Anyway, anything you write for the ARM in the DC should work on the GBA's ARM, but not necessarily the other way around. Thumb code requires logic that decodes the instruction on-the-fly to full ARM code. As for similarities between ARM CPUs, they're all very similar, but they are just becoming more and more advanced. Extra capabilities are added that the older chips did not have. ARM7 and ARM9 are pretty close, though it varies from core to core (because there is no single ARM7 design or ARM9 design).
If you have twenty monkeys,
banging randomly on typewriters,
they will in twenty minutes produce the complete source code to World of Warcraft.
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has liked: 0
Been liked: 0

Post by BlackAura » Fri Oct 15, 2004 11:18 pm

As far as I know, the ARM7 in the DC doesn't have thumb mode. It's also pretty slow, largely due to sharing a bus and memory with the sound hardware. When the sound hardware needs access to SRAM, the ARM7 can't do anything. So it runs pretty slowly.
bender
Mental DCEmu
Mental DCEmu
Posts: 399
Joined: Sun May 12, 2002 4:18 pm
Has liked: 0
Been liked: 0

Post by bender » Sat Oct 16, 2004 4:44 am

I read somewhere that the ARM7 could be easily overclocked via software (up to 100mhz, i think). I understand that the problem of using the ARM7 it's more about the SRAM than the ARM7, just wanted to post because i don't know if it could be useful :?
Alexvrb
DCEmu Ultra Poster
DCEmu Ultra Poster
Posts: 1754
Joined: Wed Jul 17, 2002 11:25 am
Has liked: 0
Been liked: 0

Post by Alexvrb » Sat Oct 16, 2004 5:06 pm

BA, is there any way you could cut back on sound hardware accesses to SRAM, to give most of the time to the ARM?
If you have twenty monkeys,
banging randomly on typewriters,
they will in twenty minutes produce the complete source code to World of Warcraft.
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has liked: 0
Been liked: 0

Post by BlackAura » Sat Oct 16, 2004 9:02 pm

You could turn off the sound hardware, but that's kinda pointless. The only part of the Dreamcast that the ARM can do anything with is the sound hardware.
Ex-Cyber
DCEmu User with No Life
DCEmu User with No Life
Posts: 3641
Joined: Sat Feb 16, 2002 1:55 pm
Has liked: 0
Been liked: 0

Post by Ex-Cyber » Sun Oct 17, 2004 11:18 pm

Shouldn't the memory accesses scale with how many channels are enabled?
"You know, I have a great, wonderful, really original method of teaching antitrust law, and it kept 80 percent of the students awake. They learned things. It was fabulous." -- Justice Stephen Breyer
Post Reply