Symbian emulator?

Página 56/73
49 | 50 | 51 | 52 | 53 | 54 | 55 | | 57 | 58 | 59 | 60 | 61

Por jr

Champion (379)

Imagen del jr

12-01-2005, 13:54

rlyeh, I'm assuming you mean the envelope frequency fix I did in the recent update and not the envelope volume fix I adapted from fMSX 2.8. First of all, I don't use any of the fMSX source code, I don't have the file you are referring to =)

But the corresponding place in the fMSX source would be in the file you mentioned I guess, in the function where a write to the AY8910 registers 11 and 12 is handled. In the original code, the calculated envelope period could become zero, which would later in the AY8910 update function be checked and regarded as no envelope running. This then leads to other parameters not being updated. To fix the problem, I simply added a check for the zero length envelope period right after it has been calculated and if it's zero, I make it one to force the update loop to be run at least once.

Does this help?

Por NYYRIKKI

Enlighted (6011)

Imagen del NYYRIKKI

12-01-2005, 14:24

I don't know what the difference between manual and automatic mode is, they work in the same way. I noticed that the HBI-V1's internal digitizing software uses command 2 in automatic mode and command 1 & command 0 in manual mode.

Yet another lucky guess... In automatic mode one frame is digitized and that's it. In manual mode the digitizer is initialized to put all video input to digitizer RAM (command 1) and when user hits a key this process is terminated (command 0) and data is copyed to screen. This way you can define accurate frame, you want to get. In short kind of: Automatic = get next frame, Manual = get last frame. In BASIC MD is used to digitize to digitizer RAM and AD is used to copy the data also to VDP, but this is an other thing...

I suspect that there is something wrong with the camera connection. If you only wait in the menu long enough (this can be quite a while) you should get the grey "no video signal" screen.

I thought something like this as well, but when I didn't get any reaction after 30 minutes, I gave up. BTW If digitize routine is in loop it updates still one frame after I enable the screen before it hangs.

When screen is disabled I get very good looking pictures with the software.
Your YJK conversion looks very nice!

Just idea... In future versions, you could also check, that if there is picture > 512*424 available, you could enable interlaced digitize. (Digitize only every other picture) Smile BTW I still don't know, are the last 44 lines digitized by real thing or not...

Por jr

Champion (379)

Imagen del jr

12-01-2005, 14:48

Actually, if you put automatic mode in loop, the software is sending command 2, reading the image data, sending command 2, reading the image data etc. but in manual mode, the software is constantly sending command 1, command 0, reading image data, sending command 1, command 0, reading image data etc. So it's terminating the digitizing process after each frame? Sounds kind of suboptimal...

The current version takes a 640x480 image and uses a 512x480 part of it, i.e. ignoring 64 pixels on both sides of the image. From the 512x480 I then use only every second pixel horizontally and vertically, resulting in a 256x240 image that is returned through the emulated I/O. The last 16 rows contain garbage =) Since this is a sort of built-in zoom factor of 2, I was thinking if it would be better to just take a 256x256 "window" from the center of the camera image regardless of its resolution as long as its bigger than or equal to 256x256. Stay tuned =)

Do you think supporting the interlaced capture would really have any benefits? Have you tried disabling sound output, using the raw unzoomed rendering mode and increasing frame skipping in the emulator if that would help? Just guessing if your problems would be speed related some or all of these actions separately or together might have some effect.

Por NYYRIKKI

Enlighted (6011)

Imagen del NYYRIKKI

12-01-2005, 15:11

Yes, I used RAW mode and no sound, but I had not tested frame skipping. Seting frame skipping to 8 seems to solve the problem... Thanx!

Por jr

Champion (379)

Imagen del jr

12-01-2005, 15:28

Good... guessing further one reason could be that the camera driver is simply not getting any processing time if the emulation eats up all CPU power in the phone and that would then cause the HBI-V1 software to freeze because it will be polling the HBI-V1 I/O indefinetely. Using a higher frame skipping value does not really lower the CPU usage of the emulator but it does cause the emulation thread to execute more context switches and that way I think it gives more chances for the camera driver to get its share of the processing power. Dunno really, just guessing Smile

Anyway, using the lowest possible camera resolution equal or above 256x256 might speed things up a bit as there would be less data to be delivered and processed for each frame.

Por NYYRIKKI

Enlighted (6011)

Imagen del NYYRIKKI

12-01-2005, 15:41

Actually, if you put automatic mode in loop, the software is sending command 2, reading the image data, sending command 2, reading the image data etc. but in manual mode, the software is constantly sending command 1, command 0, reading image data, sending command 1, command 0, reading image data etc. So it's terminating the digitizing process after each frame? Sounds kind of suboptimal...

Yeah, well... Hardware designer and software designer are not always thinking the same way. Smile I think, that the real problem is the speed of MSX... If you wish to get the data out of digitizer, you have to stop it first, otherways you are going to get a picture containing part of at least 4 frames. :-) In practice the difference seems to be just, what key you need to press to stop digitize routine. Smile

Now that I got this working stable, I just noticed, that in manual mode you can capture the frame so, that it draws first bottom of the screen and then upper half... Maybe command 0 should also reset the memory pointer?


The current version takes a 640x480 image and uses a 512x480 part of it, i.e. ignoring 64 pixels on both sides of the image. From the 512x480 I then use only every second pixel horizontally and vertically, resulting in a 256x240 image that is returned through the emulated I/O. The last 16 rows contain garbage =) Since this is a sort of built-in zoom factor of 2, I was thinking if it would be better to just take a 256x256 "window" from the center of the camera image regardless of its resolution as long as its bigger than or equal to 256x256. Stay tuned =)

Do you think supporting the interlaced capture would really have any benefits?

Don't know... maybe not, but at least in this point it should be quite easy to implement (just swap interlace status bit at every VDP interrupt and add it to y-coordinate)... I've seen one program that digitizes interlaced pictures with this device, but I think, I've lost that one too and maybe it is lost from the world already. It was made by Harri Meriruoko.

Maybe the emulator could automaticly select your suggested method, if support for 640*480 is not available.

Por NYYRIKKI

Enlighted (6011)

Imagen del NYYRIKKI

12-01-2005, 15:59

Anyway, using the lowest possible camera resolution equal or above 256x256 might speed things up a bit as there would be less data to be delivered and processed for each frame.

Hmm... ok, maybe you are right... These phones are not the fastest possible number breakers... BTW, how fast your phone is? My 6260 seems to run on 123MHz ARM 1040.

Por NYYRIKKI

Enlighted (6011)

Imagen del NYYRIKKI

12-01-2005, 16:16

Good... guessing further one reason could be that the camera driver is simply not getting any processing time if the emulation eats up all CPU power in the phone and that would then cause the HBI-V1 software to freeze because it will be polling the HBI-V1 I/O indefinetely.

In this case it should recover from the hang, when I disable screenupdate. Unfortunately it will not do that Sad

Por Zonkle

Supporter (1)

Imagen del Zonkle

12-01-2005, 19:22

Hi guys,

This is my first post here and I am so happy to find people who likes MSX Big smile

I downloaded the fsMsx emulator on my Nokia 6600 phone , but I still need the tool that converts the ROM file to SIS Sad can any body please tell me where can I get it from ?

Thanks.

Por snout

Ascended (15187)

Imagen del snout

12-01-2005, 19:27

As mentioned in this newspost, I suggest you give Sousuke's ROMpackager a good try ;)

Página 56/73
49 | 50 | 51 | 52 | 53 | 54 | 55 | | 57 | 58 | 59 | 60 | 61