Showing posts with label Emulation. Show all posts
Showing posts with label Emulation. Show all posts

Sunday, February 14, 2021

Connect gen game s3, x3, GSH, shanwan wireless gamepad to various devices

The controller is available in various different brand names but its same. Companies do rebranding and sell.

 

Flipkart page for sample -

https://www.flipkart.com/dwh-x3-mobile-wireless-bluetooth-game-controller-bracket-gamepad-support-ios-android-smart-t-v-pc-black-joystick-black-pc/p/itm5fa472358e25b


 

I have tested it on Android phones, tablet and Ubuntu laptop. It works with both Bluetooth and usb mode. Wifi/wireless mode also supposed to work using a BM-703 dongle which i couldn't test due to lack of dongle.


This seems to be BEST BUDGET gamepad!. Very surprising when compared with others at Rs1000.


Update:

I tested GSH model and it looks like multiple types of other clone models also exist. But the basic idea and techniques to connect are same as described below. Your device may show different name and may have different combinations of keys!. Don't give up by thinking your device is not working it just has different keys and ways to connect. Don't throw your gamepad manual because its hard to find on internet and unique to your device.



As Bluetooth gamepad in Keyboard mode:


Turn on Bluetooth of Android. If gamepad is on then turn it off by long pressing home button until lights are off. Press X or Y then home for ~3-5 seconds. Home led with blink and Bluetooth search will show a wireless keyboard device named "gamepad". Will easily pair and DON'T forget to enable option "show virtual keyboard when hardware keyboard is connected" option in Android otherwise soft keyboard will remain disabled!. In this mode home button can be pressed to switch to Mode 2 and L3,R3 will act as mouse. This seems to be most compatible mode.



Bluetooth HID gamepad mode

Press A or B then home and Bluetooth gamepad will show and gamepadplus name will show. In this mode it doesn't act like keyboard and not every app can detect correct key names. Some apps may show KEY_UNKNOWN while mapping. This mode supports L3,R3 which is needed for PS1, PSP etc games. Retroarch worked very well with both above modes.


Try experimenting with home + all the buttons you have. Even if your model is different, old version or latest some keys can surely work.


Some combinations mentioned in manual below:


Home+X = Android

Home+Y = Ios

Home+A = Switch

Home+B = PS3

Home+L1,L2 for PC Bluetooth or cable.


Manual provides other details for Ios.


USB otg mode:

Press R1 + Home. 1 and 4 leds will blink. If XBox gamepad drivers are present in ANY OS the gamepad will detect after plugging by usb cable. 

NOTE: provided usb cable in box is not data cable but charging cable. Use data cable and gamepad works as Microsoft xbox 360 controller.


Lots of users are unable to find these details and think the gamepad is bad. Gamepad is really great and also has less latency. Almost like wired.



Official manual:


Manual also shows other devices and ways to connect.



Secret/Hidden:


There is a hole at the back side of gamepad to reset the current pairing master device just like dualshock 3 gamepad. Use something like needle and insert in the hole to press a switch. Hole at right side of usb port at back side. After reset the gamepad will not automatically connect to last Bluetooth device.



Common issues:


- Pairing fails on some devices like TV etc. Try different modes to get the connection established. The gamepad didn't connected to my TCL Android TV. May work by forcing to trust the device and pair or use other modes of gamepad.


- Stock androids lack commercial drivers and many other such drivers. This cause no detection of various gadgets not just this gamepad. E.g. F310 Logitech gamepad didn't connected to Nokia 8.1 but worked on other devices. Xinput mode requires drivers.


The gamepad is available with names MJ600, shanwan x3, gsh wireless, Gen Game S3 etc. All are same.


- When connection is getting problematic reset the gamepad by the secret hole at back side.

Monday, July 22, 2019

Best Android Audio Player for chiptune, old console musics and 100s of formats!

Some years ago Android had lots of chiptune players but after Android 5 many disappeared. My favorite was DroidSound. It also disappeared from PlayStore. I am a developer and myself had created SoundFont midi player and was willing to revive DroidSound player and publish on PlayStore. However there are so many plugins and licenses that it will take lots of time managing them. But there is great news! DroidSound player it still getting updated to work on latest Android devices. Below are more information and links -

Update:
DroidSound is available here https://droidsounde.herokuapp.com/
And here https://droidsounde.herokuapp.com/

Below version are old but i recommend them as they don't ask for record audio permission forcefully.


Download DroidSound APK from here are enjoy Chiptune :).

NOTE: PlayStore apk is outdated 2015 version. Its here:
https://play.google.com/store/apps/details?id=com.droidmjt.droidsounde



Current version:
https://www.dropbox.com/s/71xq7cvinon919r/droidsounde167_177.apk?dl=1


Latest version: (look at bottom of page for link)
https://github.com/droidmjt/Droidsound



Website:
https://droidmjt.github.io/Droidsound/



DroidSound player is good for console musics and chiptunes. It can also play ogg, mp3 etc but for that its not much useful like other player. It also lacks seeking for many formats. It can also export chiptune to ringtones or stream formats. Below are plugins and supported formats. Refer to individual plugins from exhaustive list of formats supported.



OpenMPT plugin can play tracker files. Excerpt from OpenMPT page: https://wiki.openmpt.org/Manual:_Module_formats


The following formats can be imported into OpenMPT. Internally, they are converted to one of the file formats described above. Depending on the source format, conversion might not always be accurate.
  • Composer 669 / UNIS 669 (.669)
  • ASYLUM Music Format / Advanced Music Format (.amf)
  • Extreme’s Tracker / Velvet Studio (.ams)
  • Composer 670 / CDFM (.c67)
  • Digi Booster Pro (.dbm)
  • Digi Booster (.digi)
  • X-Tracker (.dmf)
  • DSIK (.dsm)
  • Digital Tracker / Digital Home Studio (.dtm)
  • Farandole Composer (.far)
  • General Digital Music (.gdm)
  • Ice Tracker / SoundTracker 2.6 (.ice / .st26)
  • Imago Orpheus (.imf)
  • Impulse Tracker Project (.itp) – legacy OpenMPT format with instruments stored in external files rather than directly in the module
  • Jazz Jackrabbit 2 Music (.j2b)
  • SoundTracker and compatible (.m15 / .stk)
  • DigiTrakker (.mdl)
  • OctaMED (.med)
  • MadTracker 2 (.mt2)
  • MultiTracker (.mtm)
  • Oktalyzer (.okt)
  • Epic Megagames MASI (.psm)
  • Disorder Tracker 2 (.plm)
  • ProTracker 3.6 IFF (.pt36)
  • PolyTracker (.ptm)
  • SoundFX / MultiMedia Sound (.sfx / .sfx2 / .mms)
  • Scream Tracker 2 (.stm)
  • Soundtracker Pro II (.stp)
  • UltraTracker (.ult)
  • Unreal Music (.umx) only from Unreal (Tournament 1), Deus Ex and Jazz Jackrabbit 3D
  • Grave Composer (.wow)


Stream formats like ogg, mp3, m4a etc are supported.



GME plugin can play below files. Table taken from -
http://www.slack.net/~ant/libs/audio.html

FormatSystem
AYZX Spectrum, Amstrad CPC
GBSNintendo Game Boy
GYMSega Genesis, Mega Drive
HESNEC TurboGrafx-16, PC Engine
KSSMSX Home Computer, other Z80 systems (doesn't support FM sound)
NSF, NSFENintendo NES, Famicom (with VRC 6, Namco 106, and FME-7 sound)
SAPAtari systems using POKEY sound chip
SPCSuper Nintendo, Super Famicom
VGM, VGZSega Master System, Mark III, Sega Genesis, Mega Drive, BBC Micro




GSF plugin can play GSF Gameboy Advance audio files.



HE i.e Highly Experimental plugin can play PlayStation 1 PSF and PlayStation 2 PSF2 files.


Hively plugin can play hively tracker files AHX, HVL. http://www.hivelytracker.co.uk/about.php


HQ plugin can play some psf+psflib files. Kabuki encrypted.


HT plugin can do Saturn and Dreamcast sound emulation. psflib like format.


NDS plugin can play Nintendo DS music 2sf files.


SC68 plugin can play Atari & Amiga files. http://sc68.atari.org/


SID plugin can play SID C64 audio files.


UADE plugin for Amiga files.


LazyUSF plugin can play Nintendo 64 USF audio files.


VGM plugin can play VGM (Video Game Music) of Sega
Master System, Sega Game Gear and possibly other machines like Sega
Genesis. https://vgmrips.net/forum/viewtopic.php?t=112


VGMstream plugin can play console stream files like xa, strm files for Nintendo DS, PSX etc. https://github.com/losnoco/vgmstream.


Adlib plugin inside VGM plugin can play Adlib, OPL files. Below section taken from https://adplug.github.io/

AdPlug implements unique file replayers for each supported audio format in order to achieve the best possible replay quality. Players marked as "preliminary" aren't considered final by the author and may contain many replay issues, but are included for testing purposes anyway. As of now, the following formats are supported:
  • A2M: AdLib Tracker 2 by subz3ro
  • ADL: Westwood ADL File Format
  • AGD: Herbulot AdLib Gold System (HERAD) by Remi Herbulot (preliminary)
  • AMD: AMUSIC Adlib Tracker by Elyssis
  • BAM: Bob's Adlib Music Format
  • BMF: Easy AdLib 1.0 by The Brain
  • CFF: BoomTracker 4.0 by CUD
  • CMF: Creative Music File Format by Creative Technology
  • CMF: SoundFX Macs Opera tracker by Linel
  • D00: EdLib by Vibrants
  • DFM: Digital-FM by R.Verhaag
  • DMO: Twin TrackPlayer by TwinTeam
  • DRO: DOSBox Raw OPL Format
  • DTM: DeFy Adlib Tracker by DeFy
  • GOT: God Of Thunder Music by Roy Davis of Adept Software
  • HA2: Herbulot AdLib System v2 (HERAD) by Remi Herbulot (preliminary)
  • HSC: HSC Adlib Composer by Hannes Seifert, HSC-Tracker by Electronic Rats
  • HSP: HSC Packed by Number Six / Aegis Corp.
  • HSQ: Herbulot AdLib System (HERAD) by Remi Herbulot (preliminary)
  • IMF: Apogee IMF File Format
  • IMS: IMPlay Song Format
  • JBM: JBM Adlib Music Format
  • KSM: Ken Silverman's Music Format
  • LAA: LucasArts AdLib Audio File Format by LucasArts
  • LDS: LOUDNESS Sound System
  • M: Origin AdLib Music Format
  • MAD: Mlat Adlib Tracker
  • MDI: AdLib MIDIPlay File Format by Ad Lib Inc.
  • MID: MIDI Audio File Format
  • MKJ: MKJamz by M \ K Productions (preliminary)
  • MSC: AdLib MSCplay
  • MTK: MPU-401 Trakker by SuBZeR0
  • MUS: AdLib MIDI Music Format by Ad Lib Inc.
  • RAD: Reality ADlib Tracker by Reality
  • RAW: RdosPlay RAW file format by RDOS
  • RIX: Softstar RIX OPL Music Format
  • ROL: AdLib Visual Composer by AdLib Inc.
  • S3M: Screamtracker 3 by Future Crew
  • SA2: Surprise! Adlib Tracker 2 by Surprise! Productions
  • SAT: Surprise! Adlib Tracker by Surprise! Productions
  • SCI: Sierra's AdLib Audio File Format
  • SDB: Herbulot AdLib System (HERAD) by Remi Herbulot (preliminary)
  • SNG: SNGPlay by BUGSY of OBSESSION
  • SNG: Faust Music Creator by FAUST
  • SNG: Adlib Tracker 1.0 by TJ
  • SOP: Note Sequencer by Lee Ho Bum (sopepos)
  • SQX: Herbulot AdLib System (HERAD) by Remi Herbulot (preliminary)
  • VGM: Video Game Music 1.51 by Valley Bell (preliminary)
  • XAD: eXotic ADlib Format by Riven the Mage
  • XMS: XMS-Tracker by MaDoKaN/E.S.G
  • XSM: eXtra Simple Music by Davey W Taylor


Saturday, April 6, 2019

Fix Windows 10 freeze of switching to fullscreen on PCSX2 (and other apps)

While using PCSX2 whenever i switched between windowed and fullscreen sometimes windows got freeze and will never respond to whatever keys i press. Had to shutdown laptop using power button. I found this problem is windows problem and faced by many users in various apps. Below is the fixed that worked for me -

Go to Windows 10 Settings -> Gaming

Disable Game Bar fully and now this problem may not occur. If possible disable most of game settings and use only those which don't cause freeze issue. I have disabled all of them as i can use AMD relive to record PC screen. This fixed free on my AMD (A10-9600P APU) laptop

Friday, January 4, 2019

Way for Android emulators or similar apps to write to storage with NO WRITE permission.

I was playing NES games with Android NES.emu emulator but its internal filemanager was not able to pick internal storage for saving states.

There was setting to save states to same location of ROM. This failed due to no permission. The solution is to create a "<PackageName>/files" directory inside the top of that storage.

Example:

Any Android app has default write access to Android/data/<packagename>

In my case it was /storage/emulated/0/Android/data/com.vapps.NesEmu2/files.

So i created same layout of folders in my external SDCARD where roms were. Like this :


/storage/0000-0000/Android/data/com.vapps.NesEmu2

This location had write permission and the app was able to save states there. Using the same method we can allow Android apps to save files to removable storage WITHOUT write permission. This is a good workaround when internal memory is low or filemanager simply cannot go to internal storage.

Before doing anything we must first find the package name and create thatnamed folder inside "Android/data" of any storage. Package finder apps can be found on playstore.

Friday, December 24, 2010

How to write an emulator?

Well i was just thinking to write a NES emulator since 2008 but that time i could not start due to my game engine. But now after learning these tutorials i must say anyone can make emulators who understands Microprocessors.

Please go through these tutorials to learn emulation. The tutorial is well written, small and very understandable. I will also write tutorials the way i feel simple once i do my NSF player.

Link: http://codeslinger.co.uk/pages/blog/wordpress/