turbo R support (Development MSX Fora)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!           
            
English Nederlands Español Português Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 132 gasten en 5 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - turbo R support

Ga naar pagina ( Vorige pagina 1 | 2 | 3 )
Schrijver

turbo R support

Sonic_aka_T

msx guru
Berichten: 2262
Geplaatst: 01 Mei 2004, 12:02   
Quote:

Like snout said?!? Excuse me, but if you're that narrowminded to refer to posts just on the same page, then ehrm... never mind.


Dude?!?
Sonic_aka_T

msx guru
Berichten: 2262
Geplaatst: 01 Mei 2004, 12:16   
Quote:

A=1 is R800 but without doin a shadow of the BIOS, so, that normal BIOS made for the MSX2+ work?
A=2 include the shadowing, so, you need do other version of BIOS including timing delay?



As far as I know, there's only one BIOS. It is pretty much compatible with the MSX2/2+ BIOS, although there are some differences. (Like cassette support)

A=3 would activate R800 DRAM support. There are no waits in the BIOS, that's the beauty of it... The whole idea behind DRAM mode is not to wait for the stupid ROMs. It is exactly the same code, only since it's in RAM the R800 doesn't have to wait.

Line snout said, there's also a Z80 DRAM mode. This mode serves little purpose though, since the Z80 is equally slow as the ROMs are. The only thing you can really do in Z80 DRAM mode, like snout said, is somehow modify the BIOS routines.

Note that for this to work, the CHGCPU routines must be exactly at the same location in memory as the original BIOS routines. As far as I know, the program counter is not saved, but the R800/Z80 just continue where they left off... This means that the Z80 halts at the exact spot the R800 will resume.

Hope that helps....
BiFi
msx guru
Berichten: 3142
Geplaatst: 01 Mei 2004, 12:35   
There is no A=3, as stated in the target of a link elsewhere in this thread. And only in ROM mode you can modify ROM contents stored in those RAM pages. In DRAM mode these pages are blocked. The program counter is passed over to the other processor by the CHGCPU routine.

And Z80 DRAM mode can have very useful effect. You can alter contents of the ROM and use it in RAM mode. I use it to route the cassette routines to use different media as tape. It enables to save situations with Metal Gear for example.
BiFi
msx guru
Berichten: 3142
Geplaatst: 01 Mei 2004, 12:43   
Besides, the R800 is still too fast for those poor DRAM chips. Therefore there's still a wait state for DRAM access. For ROM access there are two (thx to GuyveR800 for this info).
flyguille
msx master
Berichten: 1183
Geplaatst: 01 Mei 2004, 13:56   
so, a turbo R with 512kb of RAM got in his mapper

pages 0 to 31 RAM memory

pages 252 to 255 RAM memory reserved for mirror of the bios?

when the msx do the mirror? at the power on or at the CHGCPU routine?
BiFi
msx guru
Berichten: 3142
Geplaatst: 01 Mei 2004, 14:22   
A MSX turbo R with 256KB of RAM has that too... though 0-15.

And 252-255 are done with a little trick. It always takes the top 4 mapper pages. For 512 KB that will be 28-31, and for 256 KB that will be 12-15. When the system is expanded it'll be mapped on pages 60-63.

The mirror is made at machine boot-up.
flyguille
msx master
Berichten: 1183
Geplaatst: 01 Mei 2004, 15:03   
so, the DRAM mode is usefull for basic programming, 256kb game will fail....
Sonic_aka_T

msx guru
Berichten: 2262
Geplaatst: 01 Mei 2004, 15:23   
Quote:

There is no A=3


I meant A=2 ofcourse, like I stated in the post with the CHGCPU info...
Sonic_aka_T

msx guru
Berichten: 2262
Geplaatst: 01 Mei 2004, 15:27   
Quote:

The program counter is passed over to the other processor by the CHGCPU routine.


Actually, I don't think so... Look at the source: at the point of the NOP the CPU switch is done. Nothing actually passes the program counter, the old CPU just stops at the exact point it would need to resume the next time. It's a clever trick I quess, but it means that you will always have to use the same routine to change CPU's.

Quote:

And Z80 DRAM mode can have very useful effect. You can alter contents of the ROM and use it in RAM mode. I use it to route the cassette routines to use different media as tape. It enables to save situations with Metal Gear for example.


Yeah, like snout said It's only useful to change BIOS routines etc.
Sonic_aka_T

msx guru
Berichten: 2262
Geplaatst: 01 Mei 2004, 15:33   
Quote:

so, the DRAM mode is usefull for basic programming, 256kb game will fail....


Mostly BASIC and anything that uses BIOS routines a lot. But even under DOS you can notice a significant increase in speed under R800 DRAM. Basically you'd always want to use R800 DRAM mode unless something doens't work with it.

Cracked ROM games that use the entire 256kB RAM memory would indeed have to run under normal R800 mode on an ST. On the GT they should theoretically work since it has enough memory. Ofcourse not every game will run though, also due to timing problems.
flyguille
msx master
Berichten: 1183
Geplaatst: 01 Mei 2004, 16:26   
The most possible about PC counter on Z80, is when change to R800 mode, the Z80 is not reset, just freeze, so, when back to the z80 mode, simply unfreeze, and the NOP command if for give that time to the z80 and the R800.

But, i actually are wondered about how the R800 know the PC counter value for the FIRST time, because, then nexts times the R800 are freeze and the PC already are stoped on that NOP.


Sonic_aka_T

msx guru
Berichten: 2262
Geplaatst: 01 Mei 2004, 16:48   
Both CPU's start at $0000 like normal. The computer starts on Z80 and then activates the R800, the R800 then also starts at $0000 but checks to see if it is coming out of reboot. If so, it jumps to the CHGCPU routine to change back to Z80. The Z80 then finishes the standard boot code. The logo part is done by the R800 again, but now by simply calling CHGCPU. The rest is done on Z80. I don't know why, they might as well have done at least most of it on R800. I guess it because it needs to check all slots for ROMs anyways...
 
Ga naar pagina ( Vorige pagina 1 | 2 | 3 )
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.