[Release] Handy 3DS - Atari Lynx Emulator

Discussion in '3DS - Homebrew Development and Emulators' started by nop90, Aug 5, 2015.

  1. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,437
    2,138
    Jan 11, 2014
    Italy
    Rome
    This is a port of Handy320 v0.1 for Dingux and OpenDingux that is based upon Handy SDL by SDLemu Team and Handy v0.90 by K. Wilkins.

    The first port to 3DS was by Hippy Dave who made a fake SDL layer using Xerpi 3DS libs (sf2dlib, sftdlib, sfillib). Hippy Dave released the source (HERE) to the GBATemp community and I adopted the project.

    The v1.0 of the emulator uses the font Hack by Chris Simpkins, released under Public domain, GPL, OFL. Stating from V1.1 it uses ROBOTO font.

    The code for v1.0 is on my Github for public contibution. I'll update it to v1.1 as soon as I have time to reinstall github client.

    Changelog

    Ver. 1.1b (24 March 2016)
    • Added German language (translation provided by @dude1709)
    • Adden Nederlans language (translation provided by @DjoeN)
    Ver. 1.1 (23 March 2016)
    • Updated ctrulib calls
    • Added language selection (English, Italian, French). French is made with the help of google translate, so could not be perfect
    • Changed font to ROBOTO
    • Added fast CPU clock on N3DS (have to be tested, I only have a O3DS)
    Ver. 1.0 alpha (03 September 2015)
    • Fixed a lot of little bugs
    • Configured the handy core to reach 60FPS on o3ds
    • Sound quality improved
    Ver. 0.3.1 alpha (29 August 2015)
    • Fixed Sound and Framerate limit for N3DS
    Ver. 0.3 alpha (26 August 2015)
    • Improved sound quality. With FPS < 60 the sound now has variable ferquency to adjust to the FPS, this avoids crackling but the sound is slowed down.
    • Fixed FPS limiter
    • Added screen rotation with R key. Direction keys are rotated accordingly
    • Added config options to turn off bottom screen and to change background color
    • Added page up / page down with L and R keys while selecting roms
    Ver. 0.2 alpha (21 August 2015)
    • Fixed some bugs on GUI and modified it's layout
    • Added configuration parameters save on SD and autoload on startup
    • Added png images in skin folder for empty saveslot and Load Game screen (can be modified respecting image sizes)
    • Modified the name of top screen background image and proposed a better image
    • Cleaned all the code related to frameskip (doesn't make sense with HW rendering as it's is very lightweight)
    • Disabled state saving on exit (not very usefull and caused some strange crashes)
    • Implemented a basic and very crackling sound output (disabled by default as not practically usable at the moment)
    • Some code cleaning
    Ver. 0.1 alpha (5 August 2015)
    • First release
    Installation

    Decompress the content of the zip file in the root directory of the 3DS SD. The 3DS/Handy3ds folder contains the 3dsx files and a CIA package.

    The lynx folder in the root of the SD contains the BIOS file, Roms files, Skin files and in the future the config file.

    Search Lynxboot.img on internet (it's ATARI copyrighted material) and put it on the SD in the /lynx/Bios folder.

    Search some lynx roms and put them in the /lynx/Roms folder. There are also good homebrew roms available

    In the /lynx/Skin folder there is a basic background, an empty saveslot image and a Load Rom screen image, all in 32bpp png format. If someone want to make a custom skins, Background image size is not fixed, it will be fitted to the top screen size, but it's better to respect the 400x240 size. The other two are fixed size and will not be loaded if have wrong sizes.

    While running a ROM you can change the screen size with the Back left buton.

    Known Bugs

    - Sometimes the emulators hangs
    - CIA version can't resume the emulator if you go to 3DS menu and then go back to the program

    To Do List

    - Adding other localizations (I need Spanish translators)

    Screenshots

    Handy3DS_1.png Handy3DS_2.png

    Handy3DS_3.png Handy3DS_4.png

    02.png Handy_0.1Alpha.png
     

    Attached Files:

    Last edited by nop90, Mar 24, 2016
    Kvnrdrguez, WirusGen, SG6000 and 25 others like this.
  2. laharl22

    laharl22 GBAtemp Advanced Maniac

    Member
    1,624
    167
    Dec 19, 2014
    France
    Thanks i will test it.very good for an alpha i wait sound support and more stability
     
    Last edited by laharl22, Aug 5, 2015
  3. Jwiz33

    Jwiz33

    Banned
    2,654
    1,523
    Jun 5, 2014
    United States
    in the illuminati headquar—I have said too much!
    Pitfall on my 3DS :yaynds:
     
  4. Cid2mizard

    Cid2mizard GBAtemp Fan

    Member
    364
    210
    Aug 16, 2007
    France
    Maubeuge
    Thank you for this new emulator for 3DS ;), good works for me :)
     
  5. olshrimpeyes

    olshrimpeyes Your question is bad and you should feel bad

    Member
    454
    284
    Jul 30, 2015
    United States
    GNU/Somewhere
    How did I miss this? Great Job!
     
    SLiV3R and Jwiz33 like this.
  6. dronesplitter

    dronesplitter GBAtemp Advanced Fan

    Member
    595
    193
    Sep 30, 2007
    United States
    I wanted to say I tested it but it crashed pretty quickly on me. Also, no sound but that's okay it's already on your to-do.
     
  7. SLiV3R

    SLiV3R 3DS Friend Code: 0473-9069-2206

    Member
    2,212
    1,044
    Jan 9, 2006
    YES! THANKS!
     
  8. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,437
    2,138
    Jan 11, 2014
    Italy
    Rome
    What kind of crash? It happens every time or seldom?. With different roms or always with the same? On start or while playing?

    The only reason for i crash I found is a missing bios file ore entering a rom in the first menu that has a savestate auto loaded (also related to a missing bios init I suppose).

    The only other problem is a random freeze, but today I played an hour at chip challenge and other roms without problems.

    Sorry for typos. I'm writing from a smartphone during my holidaysvin Greece.
     
  9. Demifiend

    Demifiend The bored one

    Member
    497
    442
    Mar 20, 2015
    It will sure come in HANDY to my 3DS, thanks man, good job.
     
    SLiV3R likes this.
  10. mrolive

    mrolive GBAtemp Advanced Fan

    Member
    547
    202
    Jul 14, 2014
    Canada
    Thanks a ton man. I'm sure a lot of people will find this very useful :)
     
    SLiV3R likes this.
  11. dronesplitter

    dronesplitter GBAtemp Advanced Fan

    Member
    595
    193
    Sep 30, 2007
    United States
    I tried one game, Bill & Ted's Excellent Adventure, and it froze on me very quickly after a text box appeared about a bush I approached. I've never played the game before, didn't really know how to proceed, and the crash just left me more confused anyway, hahah.

    Since I wasn't sure about how to save state or load another game, I could have pressed something to save the state without knowing and then that could be why it crashed, but I never had the emu open a menu that I recall that said it saved.
     
  12. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,437
    2,138
    Jan 11, 2014
    Italy
    Rome
    Found the cause of the freeze. The tick counter variable was declared Uint32 instead of Uint64.

    Now trying to fix the savestate load crash and the bacground.
     
  13. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,437
    2,138
    Jan 11, 2014
    Italy
    Rome
    All the issues almost fixed.

    The savestate load now works most of the time, seldom crash to investigate.

    Fixed the top screen back image too and completed the fake sdl functions cleaning.

    Only big thing missing is sound, but I have to study how it works on 3DS first.

    Tryed to use xerpi SDL2 lib for sound, but it gives some linking error (a macro with dummy array initialized with negative elements ?????).

    I'm going to made some graphics change to the gui and next week I could release v0.2.
     
    SLiV3R and hippy dave like this.
  14. hippy dave

    hippy dave BBMB

    Member
    2,598
    1,809
    Apr 30, 2012
    United Kingdom
    Nice nice, keep it up :)
     
  15. the_muteKi

    the_muteKi Advanced Member

    Newcomer
    82
    14
    Mar 2, 2011
    United States
    This is one of the apps that's hanging with a red touchscreen for me through Ironfall. Hopefully there can be an update that fixes that.
     
  16. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,437
    2,138
    Jan 11, 2014
    Italy
    Rome
    I can old test 3ds with ninjhax 1-1b or unsigned Cia.

    Nest week you can test the new version and if it doesn't work I'll ask help to work on this too.

    By now you can help me saying which other app has the same issue, so if the problem is solved I can ask the author how he fixed it.
     
  17. the_muteKi

    the_muteKi Advanced Member

    Newcomer
    82
    14
    Mar 2, 2011
    United States
    Yeah the other apps I was having an issue with that error were CitrAGB and GameYob -- and I was able to work around it by downgrading the boot.3dsx file for the exploit.
     
  18. SLiV3R

    SLiV3R 3DS Friend Code: 0473-9069-2206

    Member
    2,212
    1,044
    Jan 9, 2006
    I'm looking forward to the next release! :)
     
  19. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,437
    2,138
    Jan 11, 2014
    Italy
    Rome
    V 0.2 almost ready, only little things to fix or complete.

    I would like to insert language selection too in this relese but don't know yet if I'll have time.
     
    hippy dave and SLiV3R like this.
  20. SLiV3R

    SLiV3R 3DS Friend Code: 0473-9069-2206

    Member
    2,212
    1,044
    Jan 9, 2006
    Nice! How is the speed and compatibility?