- Saved searches
- Use saved searches to filter your results more quickly
- License
- brendanmanning/jLinux
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README
- About
- Resources
- License
- Stars
- Watchers
- Forks
- Releases
- Packages 0
- Languages
- Footer
- Saved searches
- Use saved searches to filter your results more quickly
- License
- hex007/freej2me
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
A realistic Linux emulator capable of storing persistent data, all in one Java executable.
License
brendanmanning/jLinux
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README
############################################################################################################################## IMPORTANT: While reading source code is great, I suggest downloading the binary Windows installer from https://jlinux.net, or by using the lastest jLinux JAR file (also found at https://jlinux.net and starting it in a shell with: java -jar ############################################################################################################################## $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ [Download jLinux] (https://www.jlinux.net/download/latest/latest.jar) $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ jLinux: A realistic java emulator for any Java compadible operating system. What is jLinux? - jLinux provides a Linux-styled command line interface for users of Macintosh, Windows, and yes Linux itself. Why use jLinux? - There are serveral reasons ;) + No need for any external programs or libraries, jLinux only needs Java and a terminal. + (Windows users) Use a simple Linux enviroment without Cygwin. + Still use your operating system and file setup! jLinux stores all it's data in a folder named 'hdd' inside your user folder (or desktop folder) ++ (You also have to install the program somewhere, but hopefully you know that!!) What commands does jLinux have? - cd : Change directory - mkdir : Make directory - ls : List contents of current working directory - vinf : Vi new file (Creates new text file and let's you edit it) - dl : Equivalent of wget and cURL. - echo : Returns entered text or system parameters ($OS or $VERSION) - quit : Obviously ;) - help : Help pages being added for many programs - addapp : jLinux Package Manager - listapps : returns all apps installed via 'addapp' - cp : copy command - TeXT : Encrypted text editor/viewer How can I support jLinux? - Tell your friends! How is jLinux liscensed? - jLinux is released under the MIT Liscense, although future "pro" versions with extra features may be liscensed differently. - Users are permitted to distibute and modify jLinux source code as long as it follows the MIT Liscense. - However, I ask that if jLinux is useful to you, remember to take a break before you forget what sunlight feels like! jLinux Credits - + Various code adapted from various StackOverflow posts + Much of the code for 'dl' has been taken from Alvin Alexander's post at [[ http://alvinalexander.com/blog/post/java/jget-something-like-wget ]] + Brendan Manning (developer)
About
A realistic Linux emulator capable of storing persistent data, all in one Java executable.
Resources
License
Stars
Watchers
Forks
Releases
Packages 0
Languages
Footer
You can’t perform that action at this time.
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
A free J2ME emulator with libretro, awt and sdl2 frontends.
License
hex007/freej2me
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
libretro Windows core minor fix
Git stats
Files
Failed to load latest commit information.
README.md
A free J2ME emulator with libretro, awt and sdl2 frontends.
- Q and W for left and right softkeys.
- Arrow keys for nav, unless phone is set to «Standard», when arrow keys become 2, 4, 6, and 8.
- Numbers work as expected, the number pad is inverted (123 swap with 789, like a phone)
- E and R are alternatives to * and # .
- Enter functions as the Fire key or 5 on «Standard» mode
- ESC brings up the settings menu
- In the AWT frontend (freej2me.jar) Ctrl+C takes a screenshot and + / — can be used to control the window scaling factor
Click here for information about more keybindings
FreeJ2ME Jar Compilation:
From the root directory, running the following commands:
Will create three different jar files inside build/ :
freej2me.jar -> Standalone AWT jar executable
freej2me-lr.jar -> Libretro executable (has to be placed on the frontend’s system/ folder, since it acts as a BIOS for the libretro core and runs J2ME jars)
freej2me-sdl.jar -> Jar executable meant to be used in conjunction with SDL2
Both the Libretro and SDL2 jar files need additional binaries to be compiled before use. Look at the additional steps below if you’re going to use one of them.
Building the SDL2 binary:
To build the SDL2 binary, run the following commands from the root directory:
# SDL2 binary compilation > cd src/sdl2 > make > make install
SDL2 allows FreeJ2ME to run on a Raspberry Pi.
Building the Libretro core
For linux: To build the libretro core, open a terminal in freej2me’s folder run the following commands from there:
# libretro core compilation > cd src/libretro > make
This will build freej2me_libretro.so on src/libretro/ , which is the core libretro will use to interface with freej2me-lr.jar .
Move it to your libretro frontend’s cores/ folder, with freej2me-lr.jar on system/ and the frontend should be able to load j2me files afterwards.
NOTE: The core DOES NOT WORK on containerized/sandboxed environments unless it can call a java runtime that also resides in the same sandbox or container, keep that in mind if you’re running a libretro frontend through something like flatpak or snap for example.
For windows: To build the libretro core for windows, first you’ll need mingw, or MSYS2 64. This guide uses MSYS2 as it’s easier to set up and works closer to linux syntax.
Download MSYS2-x86_64 and install it on your computer. By default it will create a linux-like ‘home’ folder on C:\msys64\home\ and will put a folder with your username in there. This is where you have to move the freej2me folder to, so: C:\msys64\home\USERNAME\freej2mefolder for example.
With the folder placed in there you can build the core, open the MSYS2 UCRT64 terminal from your pc’s start menu, and run the following commands:
# Installing 'mingw-w64' and 'make' on msys2 > pacman -S mingw-w64-ucrt-x86_64-gcc > pacman -S make # libretro core compilation > cd freej2mefolder/src/libretro > make
This will build freej2me_libretro.dll on freej2mefolder/src/libretro/ , which is the core libretro will use to interface with freej2me-lr.jar .
Move it to your libretro frontend’s cores/ folder, with freej2me-lr.jar on system/ and the frontend should be able to load j2me files afterwards.
NOTE: The windows core has only been tested on Windows 10 x64.
Usage (applies to AWT and SDL):
Launching the AWT frontend (freej2me.jar) will bring up a filepicker to select the MIDlet to run.
Alternatively it can be launched from the command line: java -jar freej2me.jar ‘file:///path/to/midlet.jar’ [width] [height] [scale] Where width, height (dimensions of the simulated screen) and scale (initial scale factor of the window) are optional arguments.
The SDL2 frontend (freej2me-sdl.jar) accepts the same command-line arguments format, aside from the scale option which is unavailable.
When running under Microsoft Windows please do note paths require an additional / prefixed. For example, C:\path\to\midlet.jar should be passed as file:///C:\path\to\midlet.jar
FreeJ2ME keeps savedata and config at the working directory it is run from. Currently any resolution specified at the config file takes precedence over the values passed via command-line.
How to contribute as a developer:
- Open an Issue
- Try solving that issue
- Post on the Issue if you have a possible solution
- Submit a PR implementing the solution
If you are not a developer:
- Get as many games as possible to work well.
- Document games that work well in the wiki
- Reduce as many bugs as possible