Jump to content
IGNORED

New emulator "Felix" - help needed


laoo

Recommended Posts

Ooh this looks cool, I don't usually go in the programming forum so didn't notice a new emulator was being worked on.  The possibility to do comlynx emulation sounds amazing. The lynx had a ton of multiplayer comlynx games and it'd be great to be able to more casually explore the lynx multiplayer experience without needing to buy multiple copies of same game or have multiple flash carts, or even working lynxes since they've become quite expensive in recent years. 

Link to comment
Share on other sites

  • 11 months later...

EDIT: it is quite possible the version I used is out of date. Apologies if these issues are already fixed!

 

I just tried Felix for the first time using the 0.5.0(156) build. It's very cool to see a new emulator on the scene, even if I am a year late!

 

I did notice a couple of issues with it. Audio is messed up (distorted) in two different games I tried, and in Microvaders, the palette is not displayed properly. I don't modify the palette via interrupt, but I do modify the SCB palette indices each time through the game loop so I can get different color combinations on-screen for the same sprites.

 

As an example, the below screens are oversaturated in purple. Plus the extra life ships in the lower left are somehow two different color schemes (even though I never modify this sprite). Some background stars are also green, which never happens in the game.

image.thumb.png.a49656159f4051afe4a01042de73cd76.png

Edited by Songbird
Link to comment
Share on other sites

2 hours ago, Songbird said:

I just tried Felix for the first time using the 0.5.0(156) build. It's very cool to see a new emulator on the scene, even if I am a year late!

Thank you for trying Felix!

 

Version 0.5.0(156) is the latest i've published.

 

The issue with distorted audio is a known problem. But it's not a matter of fixing anything but it's about rewriting audio/video synchronization code from scratch. It'll be the first thing I'll do when I'll resume development.

 

The issue with SCB pallette seems to be something new. Can you prepare some simple example demonstrating the problem?

 

Edited by laoo
Link to comment
Share on other sites

The first few credits screens display properly. It seems to only happen when I start the game. As part of the "warp in" effect, I start with the 160x102 background stretched extra wide, then gradually shrink it until it reaches the 160x102 size. At the same time, I am fading in one palette byte at a time. The global palette ($fda0) starts as all zeroes, then I execute this routine once per game loop for 32 times (palette_index increments from 0 to 31 once per game loop):

 

FadeInNextPaletteByte
		; Fade in next palette byte
		lda	#<originalPalette
		sta	ptr1
		lda	#>originalPalette
		sta	ptr1+1

		lda	palette_index
		tay
		lda	(ptr1),y
		sta	$fda0,y

		rts

 

If I start and end the game on the same screen repeatedly, I get cumulative palette corruption which is quite fun to see. :D

image.thumb.png.65527f5e4aea8863623e38c9169d59c1.png

 

The SCB which renders the full-screen background is only used for that purpose, so I never even change the sprite pointer or palette indices in this SCB. Indices are used but simply set to 01 23 45 67 89 ab cd ef. First two bytes of SCB are set to c0 30.

 

Since the enemy invaders and score text are also corrupted, and they use separate SCBs, I am guessing the global palette is not updating properly.

Edited by Songbird
Link to comment
Share on other sites

  • 7 months later...

I wasn't taking part in LynxJam 2023 but surprisingly it was fruitful in the field of emulation. Two of the entries wasn't working correctly in Felix and it bugged me and @42bs enough to investigate why.

It turned out that there was two separate bugs. One-liners actually. But fixing them was so joyful, that I decided to make it into another Felix release... after... two years and ten days :)

So here it is:

Felix 0.6.0

With too many changes to mention them all.

I encourage to check it out and stop using all those unofficial builds that surfaced through these two years.

 

Not sure when 0.7 will came out (I hope earlier than in next two years) but I'm planing to do migration to multiplatform rendering engine till then so Felix should be finally able to run natively on non-Windows platforms

Edited by laoo
  • Like 6
  • Thanks 1
Link to comment
Share on other sites

On 12/19/2023 at 4:56 PM, laoo said:

So here it is:

Felix 0.6.0

 

Very nice. 👍 I have a real Lynx (the older and bigger model), since it was released back then and just discovered this emulator today, because i didn't knew, that there exists another Lynx emulator than "Handy". Of course i wanted to try it out immediately, but sadly i have a 32bit system (Win7) and if i try to start it, i only get the message, that i can not run it on my machine.

 

Therefore i wanted to ask, if you could release a 32bit compatible version of "Felix" too? It would be really great, to have another Lynx emulator, because updates for "Handy" are also very rare and some newer released Lynx-demos, no longer work on it. One of my friends told me, that they work on "Felix". 😀

Link to comment
Share on other sites

5 hours ago, AW127 said:

Therefore i wanted to ask, if you could release a 32bit compatible version of "Felix" too?

Use the source, Luke! ;-) Or finally move to a x64 machine.

 

(At least on Windows ARM64 I cannot build an x86 version.)

 

Edit: Checked on Win10-x64: No x86 build possible anymore.

Edited by 42bs
Link to comment
Share on other sites

6 hours ago, AW127 said:

Therefore i wanted to ask, if you could release a 32bit compatible version of "Felix" too?

It wasn't easy, but I managed to configure the solution to produce 32-bit executable.

I haven't tested it too much, so I'm not sure whether it'll run in all circumstances.

I don't know what CPU do you have, but Felix is quite CPU-hungry, so it might not run well on older machines.

Nevertheless, I'm attaching the 32-bit executable here. I don't want to add it to a release now as I'm not sure about the stability of this build.

Felix32.zip

  • Like 1
Link to comment
Share on other sites

6 hours ago, AW127 said:

[...] i didn't knew, that there exists another Lynx emulator than "Handy". [...]

The other thing: maybe I should write a post in the main Lynx forum and not just in the Programming section? I wonder if there are more people that don't know about Felix because they NEVER look at this subforum? 🤔

  • Like 4
Link to comment
Share on other sites

On 12/22/2023 at 9:05 AM, laoo said:

It wasn't easy, but I managed to configure the solution to produce 32-bit executable.

I haven't tested it too much, so I'm not sure whether it'll run in all circumstances.

I don't know what CPU do you have, but Felix is quite CPU-hungry, so it might not run well on older machines.

Nevertheless, I'm attaching the 32-bit executable here. I don't want to add it to a release now as I'm not sure about the stability of this build.

Felix32.zip 580.65 kB · 1 download

My laptop reports a virus in this file. Maybe only a false positive, but please check.

Link to comment
Share on other sites

On 12/22/2023 at 9:05 AM, laoo said:

It wasn't easy, but I managed to configure the solution to produce 32-bit executable.

I haven't tested it too much, so I'm not sure whether it'll run in all circumstances.

I don't know what CPU do you have, but Felix is quite CPU-hungry, so it might not run well on older machines.

Nevertheless, I'm attaching the 32-bit executable here. I don't want to add it to a release now as I'm not sure about the stability of this build.

 

First of all - thanks for the efforts, regarding the 32bit version. I also get a virus-warning from my system and then I ran the file through "VirusTotal" online and this was, what was shown to me:

 

untitled.thumb.png.6b71dbf2f6eabb9bee2df33b70a74351.png

 

Of course, as "Nop90" already wrote, this can also be false positives, but that's why I haven't dared, to try out this 32bit version yet. Maybe it's the compiler, that's no longer completely up to date? This could also be an explanation.

 

What do you think "laoo", are these definitely false positives? I just want to be sure, before I start this new 32bit-version.

 

And I wish everyone here a Merry Christmas! A reply after the christmas feast days, is completely sufficient.

 

Edited by AW127
Link to comment
Share on other sites

17 hours ago, 42bs said:

Just clone the project and build it yourself. Then you can be sure.

I have not written to you at all, but you seem to have felt the need, to answer twice now, when i always quoted "laoo". Strange. And if i could built it by myself i would already have done it, but so far i have not compiled anything.

Edited by AW127
  • Haha 1
Link to comment
Share on other sites

16 hours ago, laoo said:

@AW127 I am out of town for the Christmas and I'll be back if a few days.

And frankly only thing I can do is to run some additional antimalware check on my PC.

 

Understand. Nice, that the right, the quoted person, answered now.

 

15 hours ago, 42bs said:

Deleted, it is Xmas.

Was für ein Glück für mich, oder? 🤓

Link to comment
Share on other sites

I tried Microvaders on Felix, and am observing a few issues:

  1. Sometimes the screen stays black even though I hear sound. This has happened both on the very first boot screen, but also later when displaying an in-game story screen.
  2. Sound is not accurate. Music is playing faster and sounds corrupt / distorted compared to Handy or real Lynx.
  3. Is there a way to rotate the screen for vertical play?
  4. There is an issue with reloading the palette. If I say "yes" to play again after losing a game, I get random colors in the palette. It continues to change each time I play again (all within the same cartridge boot).

All of the above are observable on the public beta I released last year. You can also see screenshots of how the game should look.

 

https://songbird-productions.com/2022/12/16/microvaders-beta-now-available/

 

Here are some corrupt screens. Let me know if you need any more details.

 

image.thumb.png.d2cffacdfab290e136d7b1dd48e4df80.png

image.thumb.png.c39dd990a39e9bce065c096bab92ce71.png

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...