MSX2 rom flash to start with 60Hz (Hardware MSX Forum)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!              
              
English Nederlands Español Português Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 49 guests and 5 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

Hardware - MSX2 rom flash to start with 60Hz

Goto page ( Previous Page 1 | 2 | 3 Next Page )
Author

MSX2 rom flash to start with 60Hz

[D-Tail]

msx guru
Posts: 3018
Posted: October 13 2004, 12:58   
Or put the 2 LD's and OUT's for him in the ROM source and then burn it.
MeitsNearDark
msx professional
Posts: 703
Posted: October 13 2004, 13:35   
Years ago one of the NDers was willing to burn me an eprom with the vdp(10)=0 thing in it, shich I could place in my musicmodule... The reason why I didn't do it, i forgot. Could have been quite nice though.
If someone 's willing to develop/program such an eprom for in a musicmodule, I'd be one of the first buyers.

Sonic_aka_T

msx guru
Posts: 2268
Posted: October 13 2004, 14:59   
Well, the main problem is finding someone willing and able to program the EPROM. Once you have that, the rest shouldn't be too hard anymore... Unless ofcourse the ROM is full... ^_^
[D-Tail]

msx guru
Posts: 3018
Posted: October 13 2004, 15:26   
Whoa, just delete the escape-while-booting routine in the ROM and compile again. No-one should use those or just clear the whole EPROM, since the built in program is crap anyway
Sonic_aka_T

msx guru
Posts: 2268
Posted: October 13 2004, 16:08   
Uhm, I'm pretty sure Avkooi will want to 'upgrade' his BIOS, not use a music module in order for this to work...
[D-Tail]

msx guru
Posts: 3018
Posted: October 13 2004, 16:38   
Then he could strip the cassette routines for the same reason
NYYRIKKI
msx master
Posts: 1510
Posted: October 13 2004, 16:58   
This is the program you need to compile and burn, if you have empty ROM:

	ORG #4000

	DB 'AB'
	DW START
	DW 0,0,0,0,0,0
START:	XOR A
	OUT (#99),A
	LD (#FFE8),A
	LD A,#89
	OUT (#99),A
	RET

Sonic_aka_T

msx guru
Posts: 2268
Posted: October 13 2004, 17:21   
Uhm, I'm sure that's appreciated, but I don't know if the best way to do this is having a cartridge permanently inserted in your MSX... To bad you can't use VDP(10)=0 as a prompt

I took a small look at the BIOS roms, and there seems to be ~some~ space left in the main rom and plenty of space in the sub rom. The tricky part though, is knowing when to 'intercept' the boot routine to execute the code. I think this needs to be done after the VDP is initialized, but prolly before it displays the reset logo... Any ideas anyone?
POISONIC
msx professional
Posts: 883
Posted: October 13 2004, 17:22   
i guess a switchwould be enough

jpgrobler
msx lover
Posts: 117
Posted: October 13 2004, 17:32   
I am willing to do the programming of the roms. Do not know what postage will be though from South Africa

NYYRIKKI
msx master
Posts: 1510
Posted: October 13 2004, 17:36   

If you really want to mess up with the original ROM, then I think that inserting code is not a good idea. Just correct the default value from SUB-ROM offset #29FF to 0
Sonic_aka_T

msx guru
Posts: 2268
Posted: October 13 2004, 20:50   
Now THAT is handy information... How did you find this out anyway? Did you disassemble the whole thing? Or is there data available on this?
NYYRIKKI
msx master
Posts: 1510
Posted: October 13 2004, 22:13   
Quote:

Now THAT is handy information... How did you find this out anyway? Did you disassemble the whole thing? Or is there data available on this?



No, no, no!

These kind of problems are not hard to solve, if you use your head a bit and also the correct tool set. I've been trying to tell people (about 10 years now) that Super-X is the correct tool set, but I don't think anyone has been listening. This is why I'm going to keep now another presentation.

I started to solve this after your previous post, so you can see, that it didn't take more than 15 minutes. Anyway I must say, that I had also luck. To give you an idea, how easy it can be, I'll explain the things I did step by step:

First I downloaded the NMS8250 roms for openMSX emulator.
I started the emulator and loaded Super-X (I keep it always near)
My first assumption was, that as the frequency change is MSX2 functionality, the code must be in SUB-ROM.

After starting Super-X (with command _@) I got to opening screen, that told me SUB-ROM is at slot 3-0, so I wrote "I0#3-0" to get mnemonic view of address 0 in slot 3-0.

As I have been looking also other boot routines of MSX, I made a assumption, that all of the MSX2 VDP registers are updated to RAM at a same time while booting the computer.

In my earlyer post I had already solved that address to store VDP(10) (=Register 9) is #FFE8. I also knew, that register 8-27 are stored to addresses next to each other, so I made a lucky guess that the address that I should be looking for is #FFE7

So... in Super-X I hit the CTRL+S to start a search and entered ":FFE7" as search parameter. (":"=word, """=String, "["=Byte etc. etc. or then you can just search assember command by writing it.) Luckily I didn't need to use CTRL+F (search forward) or CTRL+B (search backwards) because this time I got to right place at fist time.

When I hit once UP-key, I saw LD DE,0FFE7H and LDIR. Few times more and I was able to locate Following routine:

LD HL,29F6H
LD DE,0F3DFH
LD BC,0008H
LDIR
LD DE,0FFE7H
LD C,10H
LDIR

Now I did hit RIGHT + RETURN (no need to enter slot) to jump to address 29F6H (with LEFT, you can jump back to previous view) as I didn't need anymore mnemonics, I hit RETURN+UP to get in to HEX editor and there it was on the screen 08 (Register 8 default) followed by 02 (Register 9 default on PAL machines) I used cursors to go on top of the byte and read from bottom of the screen the correct address. Problem was solved.




Sonic_aka_T

msx guru
Posts: 2268
Posted: October 13 2004, 22:27   
Quote:

Quote:

Now THAT is handy information... How did you find this out anyway? Did you disassemble the whole thing? Or is there data available on this?



No, no, no!

These kind of problems are not hard to solve, if you use your head a bit and also the correct tool set. I've been trying to tell people (about 10 years now) that Super-X is the correct tool set, but I don't think anyone has been listening. This is why I'm going to keep now another presentation.

I started to solve this after your previous post, so you can see, that it didn't take more than 15 minutes. Anyway I must say, that I had also luck. To give you an idea, how easy it can be, I'll explain the things I did step by step:

First I downloaded the NMS8250 roms for openMSX emulator.
I started the emulator and loaded Super-X (I keep it always near)
My first assumption was, that as the frequency change is MSX2 functionality, the code must be in SUB-ROM.

After starting Super-X (with command _@) I got to opening screen, that told me SUB-ROM is at slot 3-0, so I wrote "I0#3-0" to get mnemonic view of address 0 in slot 3-0.

As I have been looking also other boot routines of MSX, I made a assumption, that all of the MSX2 VDP registers are updated to RAM at a same time while booting the computer.

In my earlyer post I had already solved that address to store VDP(10) (=Register 9) is #FFE8. I also knew, that register 8-27 are stored to addresses next to each other, so I made a lucky guess that the address that I should be looking for is #FFE7

So... in Super-X I hit the CTRL+S to start a search and entered ":FFE7" as search parameter. (":"=word, """=String, "["=Byte etc. etc. or then you can just search assember command by writing it.) Luckily I didn't need to use CTRL+F (search forward) or CTRL+B (search backwards) because this time I got to right place at fist time.

When I hit once UP-key, I saw LD DE,0FFE7H and LDIR. Few times more and I was able to locate Following routine:

LD HL,29F6H
LD DE,0F3DFH
LD BC,0008H
LDIR
LD DE,0FFE7H
LD C,10H
LDIR

Now I did hit RIGHT + RETURN (no need to enter slot) to jump to address 29F6H (with LEFT, you can jump back to previous view) as I didn't need anymore mnemonics, I hit RETURN+UP to get in to HEX editor and there it was on the screen 08 (Register 8 default) followed by 02 (Register 9 default on PAL machines) I used cursors to go on top of the byte and read from bottom of the screen the correct address. Problem was solved.

Uhm, I never doubted Super-X is a great tool. I just wouldn't know where to get it...
NYYRIKKI
msx master
Posts: 1510
Posted: October 13 2004, 22:28   
Send me mail, and I'll reply...
 
Goto page ( Previous Page 1 | 2 | 3 Next Page )
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.