Disk menu's

Page 5/6
1 | 2 | 3 | 4 | | 6

Par giuseve

Paladin (744)

Portrait de giuseve

18-04-2014, 21:01

Thanks Nyyrikki for your explanation.
That's the reason why the IMAGE is about 2/3 of the available space.
Can you suggest to me an utility to make an image with your standard? (2/3 image + 1/2 charachters set?)
Otherwise maybe i can "paste" an image of 256*128 over your picture to mantain your charachter set. Is there any utility that can do this?

Par jltursan

Prophet (2542)

Portrait de jltursan

19-04-2014, 00:09

Using Meisei's Tile Viewer you can extract the pattern table and even save it:

This ways it's easier to figurew out how it's arranged and make whatever you want: change the image, the font, etc.

Par giuseve

Paladin (744)

Portrait de giuseve

19-04-2014, 11:04

I've tried MeiSei.
Due to the limitation of MSX1 only, I didn't find a way to use my .dsk
Is there any way to use it wothout mesei?
Or any other tootl like this?
My target is to: open the SC2 image, paste graphics rom another sc2 image over the first 2 blocks, save the new sc2 image having the 3rd block safe.

Can you help me?

Par NYYRIKKI

Enlighted (5876)

Portrait de NYYRIKKI

19-04-2014, 11:31

How I did this is that I converted the picture using BMP2MSX. Then I ripped initial version of the font from some C64-game in binary format (oops Smile ), edited the fonts, added color information and put the file together. I did this all by using MSX-program called SUPER-X. It is a multipurpose tool that includes font editor among dozens of other neat features, but it is not the most beginner friendly. You really need to read the manual.

Your idea of replacing the picture with copy/paste sounds like a easy way to do this... Usually picture converters fill the position data in acceding number order, so I think it should work. At least it is worth a try... Crop the picture area from the Tile Viewer screenshot that jltursan posted. Replace the picture part (I usually use windows tool called Irfanview or just Microsoft Paint that comes with Windows) and convert it back to SC2 using that MIF-tool or BMP2MSX. It might work just like that. Just make sure the font's don't move or stretch to any direction.

Par giuseve

Paladin (744)

Portrait de giuseve

19-04-2014, 14:36

It seems to work a little bit more.
Now image appears and char.set works.

Little more problems remain.
1 the charset appears for a while at the starts and remain there with other text, for exaple your credit, until the menu cleans the bottom part of the screen
2 the image appears on strange green and grey colors as appears when emboss filter in photoshop is applied.
I think the problem is that the new pasted image came from an image full of colour. Maybe i must use something like paint shop pro 9, make a msx1.like palette including transparent color, and create the image in this way.

The strange thing is that now mif viewer shows the image correctly with 16 colors that seems to be msx1 colors, but your loader convert all red colors to a blu or a green one. Infact the menu item now is green

Maybe i must learn super.x or have you got other ideas?
any suggest to setup paint shop pro properly to create msx bitmap that can be easily converted to .sc2?

Par NYYRIKKI

Enlighted (5876)

Portrait de NYYRIKKI

19-04-2014, 19:11

1) Clear the character table for last 1/3 screen. You can use some windows tool like XVI32 (remember that SC2 has 7-byte header) or simply use MSX-BASIC... Something like this should do the job: screen2:bload"screen.sc2",s:fori=0to255:vpoke&h1a00+i,0:next:bsave"screen2.sc2",0,&h37ff,s

2) This must be a palette problem... If you are making the menu for MSX2 then using palette is ok. How ever I'm not sure if that MIF-tool put the palette to same file (as you mentioned different generated palette file earlier) but you can test that by adding COLOR=RESTORE command after BLOAD-command loading the picture and see if that helps. If you don't want to use palette (make it MSX1 only) then try to find the correct conversion options. (I bet someone else here knows the correct options for MIF tool.) In BMP2MSX you have to check "All custom palette" and then click "MSX1".

Par NYYRIKKI

Enlighted (5876)

Portrait de NYYRIKKI

19-04-2014, 19:26

Ah... I just checked MIF-tool. There seems to be "Palette Type:" that needs to be set to MSX1. It also seems that if you want to use MSX2 palette it only stores the palette to pl2-file.

To combine MIF-tool output together to MSX2-image you can do:
screen2:bload"screen.sc2",s:bload"screen.pl2",s:fori=0to255:vpoke&h1a00+i,0:next:bsave"screen2.sc2",0,&h37ff,s

See if it loads correctly:
screen2:bload"screen2.sc2",s:color=restore:a$=input$(1)

Par wouter_

Champion (467)

Portrait de wouter_

21-04-2014, 13:48

NYYRIKKI wrote:

Then take a whip and walk to front of your OpenMSX team.

Manuel didn't use a whip, but still I investigated this issue ;-)

This is what I see is happening:
1) The ROM file is opened, and the 1st 16kB block is loaded at address 0x8000 (in RAM).
2) That block is copied to location 0x0000 (in RAM).
3) The 2nd 16kB block is loaded from disk at location 0x8000 (in RAM).
4) That block is copied to location 0x4000 (should be copied to RAM, but see below).
5) The 3rd 16kB block is loaded from disk at location 0x8000 (in RAM).
6) The init code of the loaded ROM is patched and a soft reset is executed.

Step 2, 4 and 6 have to switch from BIOS/BASIC ROM in page 0 and 1 to RAM. It does this by _ONLY_ changing the primary slot selection (so port 0xA8, but not memory location 0xFFFF). In openMSX in an emulated NMS8250, the main RAM is located in slot 3.2, the disk controller is located in slot 3.3. So in step 4, I see the program wrongly copying data from 0x8000 slot 3.2 (RAM) to 0x4000 slot 3.3 (disk ROM). It changed the primary slot from 0->3, but left the secondary slot unchanged (is still 3 instead of 2).

In my initial test on a real NMS8280, the program appeared to work fine. Though (now that I know what the problem is) when I remove my external memory mapper (so that main RAM is no longer located in a different primary slot than the disk rom) it crashes. This is also what I see in openMSX.

In Manuel's test on a real turbor with nowind interface the program worked fine (but then the disk rom is in a different slot than the main RAM). When I test it on a real turbor without nowind it crashes. This is also what I see in openMSX.

So, based on these tests, I don't think there's a problem in the openMSX emulation. It's just a property (bug) of the program that it only works with certain slot configurations (main ram in different primary slot than disk rom).

Par NYYRIKKI

Enlighted (5876)

Portrait de NYYRIKKI

21-04-2014, 14:08

@wouter_: Ah, so I made a bug, the test was not properly executed and it ended up to your table... So sorry about that... How about the disk error stuff? I understood the error happens also when you have not loaded anything? (Although I can imagine loading ROM to disk controller registers may have pretty bad effect)

Par wouter_

Champion (467)

Portrait de wouter_

21-04-2014, 14:45

@NYYRIKKI: No problem.
The 'disk offline' stuff happens only after the FDC registers have been overwritten with 'arbitrary' values.

Page 5/6
1 | 2 | 3 | 4 | | 6