-
Posts
1,374 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Events
Store
Posts posted by sage
-
-
It seems Lynxblast has left the WIP stage 😂
- 1
-
On 2/2/2023 at 10:28 AM, laoo said:
I dug a little into the topic, and indeed there were compilation problems. But few simple fixes and one workaround for GCC bug and libFelix happily compiles under gcc 11.
I'm not adding any makefile now though as libFelix needs some small tweaks to be really usable by other entities than WinFelix.
not really. My main issue is that some stuff from the boost in the std c lib as it is c++20, like std::ranges std::span etc...
also no success with clang.
-
1 hour ago, laoo said:
Funny. No one told me that there are issues with gcc compilation of the core. I'll look into it.
not so much a gcc thing beside that it requires a very new compiler which is not default. No makefile etc thus i decided to wait until someone else tries it out
-
5 hours ago, laoo said:
That can be tweaked for time being. But I'm in a process of researching GLFW/Vulkan to get rid of DX11 so I hope that in few months it can be compiled everywhere (with some wrappers on Mac, as it has its own Metal, but Vulkan can be translated to it AFAIK).
but thats part of the platform part, not emulator core ...
-
16 hours ago, laoo said:
Have you ever observed TIMER_DONE bit of CONTROLB timer register?
I'm actually testing it while investigating this issue, and found that it's always zero, regardless if reload is set or not.
Furthermore: LAST_CLOCK seems to be 1 just before the clock when the counter is decremented (so it's observable with prescaler greater than 1)
BORROW_IN is 1 even when the timer is not being linked but just in every cycle the timer is decremented.
Only BORROW_OUT bit is reasonable and behaves like I expect it to do.
unluckily not. but it could explain why comlynx is emulated badly. redeye code uses one shot timers.
16 hours ago, laoo said:The project is cleanly divided into libFelix that is platform agnistic and just does the emulation, and application itself that does I/O and A/V.
It might be CPU hungry though (as it ultimately aims to be cycle exact without cheating).
yes. but unluckily does not compile under linux yet... will give it a try again after updates.
I would happily include it into sdl-handy
-
1 hour ago, laoo said:
For one-shot timers without reload you just need to remember to set INTRST at the end of the interrupt as it will almost certainly shot another time during interrupt handler. Beside this their the same. Frankly, this "feature" feels buggy to me.
I wonder if the timer done bit is set differently.
-
1 hour ago, 42bs said:
sometimes you just need a single shot. For example a timeout.
... but as it does not disable it by itself, there is no large difference or do i miss something?
with RELOAD 49
int every 50 counts
without RELOAD
int after 50 counts, then every count.
-
i wonder a bit about the advantage of single shot timers over reloading ones then.... if manually have to disable them on the first interrupt, behaviour is the same 🤔
-
1 hour ago, Cyprian said:
@laoo does it mean that we can expect a new Felix version?
it seems it wasnt even fixed in the repo yet
-
5 hours ago, sage said:
It is know that Timers are not emulated prefect in Handy, esp audio timers which high frequency are no emulated.
But the linking is a nice find.
so, thw fix is to never set DONE if it is linking?
or is it altogether a problem with single shot timers?
-
1 hour ago, laoo said:
Sorry for the clickbait title, but what I've found is hard to explain in a title.
I don't actually know whether it's genuinely unknown feature, but I haven't read about it in the docs and author of Handy haven't read about it too, so I suspect it's something new.
tl;dr:
When enabling linking of two timers with higher timer triggering an interrupt and with no reloading, after counter underflows the interrupt is being triggered at each borrow.
TIMER_DONE does not prevent triggering an interrupt after borrow from previous timer and the interrupt is being triggered each time the previous timer underflows.
That's it. That's the mystery. A minor thing, but a thing. I'll just incorporate the fix into the Felix
It is know that Timers are not emulated prefect in Handy, esp audio timers which high frequency are no emulated.
But the linking is a nice find.
-
good. now works with libretro and sdl2handy et.al.
-
... still not working for me 😕
-
i like the way you prevent it running in emulation
-
-
Next step: someone asks to port "game of thrones" to the lynx. Animation and music have been available for download, so should easily be possible 😂
- 3
-
nobody hinders you in compiling it... beside language barriers 😂
- 3
-
Another left-over:
The full copy of my lemming editor, including all code to extract, unpack and patch the code and graphics as well as all code to recreate and test-play a working ROM with the edited level.
- 1
- 3
-
Just want to mention another packer/unpacker for the lynx. This code is used in/for Lemmings:
- 1
-
Some ROM from Shadowsoft floating around in my attic. Original (non-working) dump found on internet many years ago. A some small patch was needed to make it running.
Playable, but incomplete.
Take it as a Xmas present.
- 8
- 1
-
obviously. that is why i added these flags to the header format years ago.
-
we do alternating times for our meeting with europe, japan, american participants, thus everyone suffers regularly
- 1
-
you can just keep a list which roms need an eeprom if you do not want to use any headers.
-
4 hours ago, Ninjabba said:
haha love the theme!
burning dog poo challenge? well, matter of taste.
- 2
USB power mod - switch ideas
in Atari Lynx
Posted
You trust a cheap USB switch enough to deliver 5V according to USB standard? And, how much over-voltage is allowed by the standard? Is it below the limits the Lynx chips can safely operate?