Skip to content

About

Just a port

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐧 DiscoLinux v2.5 or LinuxME V2.5 - Professional Unix/Linux OS for J2ME

Platform CLDC MIDP License

icon

Transform your feature phone into a powerful Unix/Linux development environment

DiscoLinux brings the complete power of Unix/Linux command-line to J2ME feature phones. With 95+ commands, Lua 5.1 interpreter, real filesystem support, 6 games, and 8 professional applications, it's the most advanced mobile OS for feature phones ever created.


🌟 Highlights

  • 🖥️ 95+ Unix/Linux Commands - Full bash-style terminal
  • 🐍 Lua 5.1 Interpreter - Script execution + 8 filesystem functions
  • 📁 Real Filesystem - JSR-75 support for TFCard/SD access
  • 🎮 6 Games - Snake, Tetris, Pong, Space Invaders, Breakout, Memory
  • 📱 8 Applications - Calculator, Editor, File Manager, HTTP Client, etc.
  • 🎨 15 Themes - Matrix, Hacker, Ocean, Nord, Dracula, Monokai, etc.
  • 🌐 HTTP Client - GET/POST + 25 predefined APIs
  • ⌨️ T9 Input - Smart multi-tap with Unicode symbols
  • 📊 Compatible - Works on 128x128 to 240x320 screens

📸 Screenshots

2026_02_06_20_56_00_224_lcd 2026_02_06_20_56_29_139_lcd 2026_02_06_20_56_36_250_lcd 2026_02_06_20_56_00_224_lcd (1) 2026_02_06_20_56_36_250_lcd (1) 2026_02_06_20_57_11_236_lcd 2026_02_06_20_57_34_201_lcd 2026_02_06_20_57_45_220_lcd-1 2026_02_06_20_58_03_227_lcd 2026_02_06_20_58_37_160_lcd 2026_02_06_20_58_57_246_lcd 2026_02_06_20_59_34_017_lcd 2026_02_06_21_00_34_150_lcd 2026_02_06_20_56_42_025_lcd 2026_02_06_20_57_45_220_lcd 2026_02_06_20_59_05_086_lcd 2026_02_06_20_58_29_241_lcd 2026_02_06_20_59_43_172_lcd 2026_02_06_20_56_29_139_lcd (1) 2026_02_06_20_58_48_158_lcd 2026_02_06_20_57_54_137_lcd 2026_02_06_20_57_21_158_lcd 2026_02_06_20_59_15_206_lcd 2026_02_08_11_45_35_134_lcd 2026_02_08_11_46_06_144_lcd 2026_02_08_11_45_55_177_lcd 2026_02_08_11_45_50_140_lcd 2026_02_06_21_00_59_238_lcd 2026_02_08_11_46_01_246_lcd 2026_02_08_11_46_17_179_lcd 2026_02_08_11_45_19_071_lcd ---

🚀 Quick Start

Installation

Option 1: Pre-built JAR (Recommended)

# Download from releases
wget https://github.com/Dahmalahi/Linux-distro-for-J2ME-devices-/releases/download/v2.5/LinuxME.jar

# Transfer to phone via Bluetooth/USB
# Install and run

Option 2: Build from Source

# Clone repository
git clone https://github.com/yourusername/DiscoLinux.git
cd DiscoLinux

# Compile
javac -encoding UTF-8 -source 1.3 -target 1.3 \
  -bootclasspath "lib/cldcapi11.jar;lib/midpapi20.jar;lib/jsr75.jar" \
  -d classes src/*.java

# Package (or use build.bat on Windows)

First Run

# Launch DiscoLinux
# Login: root / root

root@disco-mobile:~$ help          # Show all commands
root@disco-mobile:~$ disco         # System info
root@disco-mobile:~$ ls            # List files
root@disco-mobile:~$ lua           # Start Lua interpreter
root@disco-mobile:~$ snake         # Play Snake

💻 Features

Terminal & Shell

95+ Unix/Linux Commands

# File Operations
ls, cd, pwd, cat, touch, mkdir, rm, cp, mv, find, tree, du, df

# Text Processing  
echo, grep, wc, head, tail, sort, uniq, cut, tr, rev

# System
ps, top, kill, date, uptime, who, w, uname, free, reboot

# Network
ping, ifconfig, netstat, wget, curl

# Utilities
calc, cal, bc, factor, seq, yes, true, false, sleep

# Shell
history, alias, clear, exit, help, man, info

DiscoShell Features

  • Command history (50+ commands)
  • Alias support (ll, la, cls, etc.)
  • Environment variables
  • Command piping simulation
  • Tab completion hints
  • Color syntax highlighting

T9 Input System

  • Multi-tap input (2=abc, 3=def, etc.)
  • 100+ Unicode symbols
  • Mode switching (abc/ABC/123)
  • Auto-commit timeout
  • Symbol menu on * key

🔧 Lua 5.1 Scripting

Full Lua interpreter with filesystem access

-- Start Lua
root@disco-mobile:~$ lua

-- File operations
> fs.writefile("/test.txt", "Hello World")
> content = fs.readfile("/test.txt")
> print(content)
Hello World

-- List directory
> files = fs.listdir("/")
> for i = 1, #files do print(files[i]) end

-- Script execution
> dofile("/script.lua")

8 Filesystem Functions:

  • fs.readfile(path) - Read file contents
  • fs.writefile(path, data) - Write file
  • fs.listdir(path) - List directory
  • fs.mkdir(path) - Create directory
  • fs.deletefile(path) - Delete file
  • fs.fileexists(path) - Check if exists
  • fs.filesize(path) - Get file size
  • fs.exec(command) - Execute shell command

📁 Real Filesystem (JSR-75)

Access TFCard/SD card directly

# Virtual filesystem structure 
file:///TFCard/DiscoSysUsr/  ← Real filesystem on TFCard
├── bin/
├── boot/
├── dev/
├── etc/
│   ├── init.d/
│   ├── hostname
│   ├── motd
│   ├── passwd
│   ├── group
│   ├── fstab
│   └── profile
├── home/
│   └── user/
│       ├── .bashrc
│       ├── readme.txt
│       ├── Documents/
│       ├── Downloads/
│       ├── Desktop/
│       ├── Pictures/
│       └── Music/
├── lib/
├── mnt/
├── opt/
├── proc/
│   ├── cpuinfo
│   └── meminfo
├── root/
├── sbin/
├── tmp/
├── usr/
│   ├── bin/
│   ├── lib/
│   ├── local/
│   │   └── bin/
│   └── share/
│       ├── man/
│       └── doc/
└── var/
    ├── log/
    │   └── syslog
    ├── tmp/
    ├── cache/
    └── run/

Supported Operations:

  • Create/read/write/delete files
  • Create/remove directories
  • Navigate directory tree
  • File permissions (simulated)
  • Symlinks (simulated)

🎮 Games (6)

Game Description Controls Difficulty
Snake Classic snake game 2/4/6/8 Easy
Tetris Block stacking 2/4/6/8, 5=rotate Medium
Pong AI opponent 2/8 move, 5=pause Easy
Space Invaders Arcade shooter 4/6 move, 5=fire Medium
Breakout Brick breaker 4/6 move paddle Easy
Memory Card matching 2/4/6/8, 5=flip Easy

Features:

  • Optimized for 128x128, 176x208, 240x320
  • Balanced difficulty (player speed = AI speed)
  • Pause/resume support
  • Score tracking
  • Smooth gameplay (60 FPS)

📱 Applications (8)

1. Calculator

  • Basic operations (+, -, ×, ÷)
  • Memory functions (M+, M-, MR, MC)
  • Percentage calculations
  • Square root

2. Scientific Calculator

  • Trigonometry (sin, cos, tan)
  • Logarithms (log, ln)
  • Exponentials (x², x³, xⁿ)
  • Constants (π, e)

3. Text Editor

  • Full-screen editing
  • Save/load files
  • Find/replace
  • Line numbers
  • Syntax highlighting

4. Notepad

  • Quick notes
  • Multiple notes
  • Auto-save
  • Search notes

5. File Manager

  • JSR-75 integration
  • Browse TFCard/SD
  • Copy/move/delete
  • Create directories
  • File properties

6. Contact Manager

  • Add/edit/delete contacts
  • Search contacts
  • Call/SMS integration
  • Import/export

7. HTTP Client

  • GET/POST requests
  • 25 predefined APIs:
    • Random Joke, Quote, User
    • Cat Fact, Dog Image
    • IP Location, Public IP
    • ISS Position, Sunrise/Sunset
    • Bored Activity, Advice
    • Chuck Norris, Kanye Quotes
    • Bitcoin Price, Crypto Prices
    • Exchange Rates, UUID
    • And more...
  • Request history
  • Response formatting
  • Save responses

8. Task Manager

  • Process viewer
  • Memory usage
  • Kill processes
  • System info

🎨 Themes (15)

Theme Colors Style
Default Green on Black Classic
Matrix Neon Green Cyberpunk
Hacker Lime Terminal
Ocean Blue tones Calm
Sunset Orange/Purple Warm
Forest Green tones Nature
Desert Yellow/Brown Dry
Arctic Cyan/White Cold
Neon Pink/Cyan Vibrant
Retro Amber Vintage
Dracula Purple theme Popular
Monokai Code editor Developer
Solarized Balanced Popular
Nord Cool blue Modern
Gruvbox Retro warm Cozy

Change theme: Menu → Apps → Theme Selector


📋 System Requirements

Minimum

  • Platform: J2ME (CLDC 1.1 + MIDP 2.0)
  • Screen: 128x128 pixels
  • Memory: 512KB heap
  • Input: Physical keypad (0-9, *, #)

Recommended

  • Screen: 176x208 or 240x320 pixels
  • Memory: 1MB+ heap
  • Storage: TFCard/SD card with JSR-75
  • Network: GPRS/3G for HTTP features

Tested Devices

  • ✅ Nokia S40 series (128x128, 128x160, 240x320)
  • ✅ Itel 5615 and compatible
  • ✅ Samsung GT series
  • ✅ J2ME emulators (Sun WTK 2.5.2, MicroEmulator)

🏗️ Project Structure

DiscoLinux/
├── src/
│   ├── DiscoOs.java              # Main application
│   ├── DiscoTerminalCore.java    # Terminal (95+ commands)
│   ├── DiscoTerminalUI.java      # Terminal UI
│   ├── DiscoCommand.java         # disco/discoInfo commands
│   ├── T9Input.java              # T9 input system
│   ├── MiniLua.java              # Lua 5.1 interpreter
│   ├── RealFileSystem.java       # JSR-75 filesystem
│   ├── ThemeManager.java         # Theme engine
│   ├── HelpSystem.java           # Help/man pages
│   ├── LoginScreen.java          # Login interface
│   ├── AboutScreen.java          # About dialog
│   │
│   ├── Apps/
│   │   ├── CalculatorApp.java
│   │   ├── CalculatorScientific.java
│   │   ├── TextEditor.java
│   │   ├── NotepadApp.java
│   │   ├── FileManager.java
│   │   ├── ContactManager.java
│   │   ├── HttpClient.java
│   │   └── TaskManagerApp.java
│   │
│   └── Games/
│       ├── SnakeGame.java
│       ├── TetrisGame.java
│       ├── PongGame.java
│       ├── SpaceInvadersGame.java
│       ├── BreakoutGame.java
│       └── MemoryGame.java
│
├── lib/
│   ├── cldcapi11.jar             # CLDC 1.1 API
│   ├── midpapi20.jar             # MIDP 2.0 API
│   └── jsr75.jar                 # FileConnection API
│
├── docs/                         # Documentation
│   ├── COMMANDS.md              # Command reference
│   ├── LUA_API.md               # Lua functions
│   └── screenshots/             # Screenshots
│
├── build.bat                     # Windows build script
├── build.sh                      # Linux/Mac build script
├── README.md                     # This file
├── LICENSE                       # MIT License
└── CONTRIBUTING.md               # Contribution guide

🔧 Development

Build Instructions

Windows:

build.bat

Linux/Mac:

chmod +x build.sh
./build.sh

Manual:

javac -encoding UTF-8 -source 1.3 -target 1.3 \
  -bootclasspath "lib/cldcapi11.jar;lib/midpapi20.jar;lib/jsr75.jar" \
  -d classes src/*.java

# Create JAR (using your J2ME toolkit)

CLDC 1.1 Compatibility Rules

❌ DON'T USE (Java 5+ features):

// Generics
ArrayList<String> list;              // Use Vector
HashMap<K,V> map;                    // Use Hashtable

// Enhanced for loops
for (String s : list)                // Use classic for

// String methods
String.split(regex)                  // Parse manually
String.replace(String, String)       // Use substring()
String.isEmpty()                     // Use length() == 0

// Character methods
Character.isLetter(c)                // Use (c >= 'a' && c <= 'z')
Character.isDigit(c)                 // Use (c >= '0' && c <= '9')

// StringBuilder
StringBuilder sb;                    // Use StringBuffer

// Autoboxing
Integer.valueOf(5)                   // Use new Integer(5)

✅ DO USE (CLDC 1.1 compatible):

Vector list = new Vector();
Hashtable map = new Hashtable();
StringBuffer sb = new StringBuffer();

for (int i = 0; i < list.size(); i++) {
    Object item = list.elementAt(i);
}

// Manual string operations
String.substring(int, int)
String.indexOf(char)
String.charAt(int)

Adding New Commands

  1. Add command handler in DiscoTerminalCore.java:
if (cmd.equals("mycommand")) return cmd_mycommand(args);
  1. Implement method:
private String cmd_mycommand(String[] args) {
    // Implementation
    return "Output";
}
  1. Add to help in HelpSystem.java:
sb.append("mycommand    - Description\n");

📊 Statistics

  • Total Commands: 95+
  • Games: 6
  • Applications: 8
  • Themes: 15
  • Lua Functions: 8
  • HTTP APIs: 25
  • Lines of Code: ~25,000+
  • Source Files: 30+
  • Supported Screens: 128x128 to 240x320

📜 Version History

v2.5 (Current) - February 2026

  • ✨ Added 4 new games (Pong, Space Invaders, Breakout, Memory)
  • ✨ Scientific calculator with advanced functions
  • ✨ Enhanced HTTP Client (GET/POST + 25 APIs)
  • ✨ Improved T9 input with Unicode symbols
  • ✨ Enhanced discoInfo command with ASCII art
  • ✨ Game speed optimizations (player = AI speed)
  • ✨ Better screen adaptation (128x128, 176x208, 240x320)
  • 🐛 Fixed CLDC 1.1 compatibility issues
  • 🐛 Fixed T9 keycode mapping
  • 📊 Total: 95+ commands, 6 games, 8 apps, 15 themes

v2.1 - January 2026

  • ✨ Lua 5.1 interpreter
  • ✨ Real filesystem (JSR-75)
  • ✨ HTTP client with APIs
  • ✨ Task manager
  • 📊 Total: 90+ commands

v2.0 - December 2025

  • ✨ Initial release
  • ✨ 60+ Unix commands
  • ✨ Snake & Tetris games
  • ✨ File manager, text editor
  • ✨ 15 professional themes

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details.

How to Contribute

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Follow CLDC 1.1 compatibility rules
  4. Test on J2ME emulator
  5. Commit changes (git commit -m 'Add: AmazingFeature')
  6. Push to branch (git push origin feature/AmazingFeature)
  7. Open Pull Request

Areas for Contribution

  • 🎮 New games
  • 📱 New applications
  • 🔧 New Unix commands
  • 🎨 New themes
  • 📝 Lua library functions
  • 🌐 Network utilities
  • 📖 Documentation
  • 🐛 Bug fixes
  • 🌍 Translations

🐛 Known Issues

  1. JSR-75 required for filesystem - Not all phones support it
  2. T9 keyCode variations - Different phones send different codes
  3. Memory limits - Complex Lua scripts may fail on low-memory devices
  4. Proxy support - HTTP proxy not fully supported in J2ME
  5. Screen sizes - Some UI elements may clip on very small screens

📄 License

This project is licensed under the MIT License - see LICENSE file.

MIT License

Copyright (c) 2026 Dash Animation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...

🙏 Acknowledgments

  • Claude AI - AI assistant for development
  • Dash Animation - Creator and maintainer
  • J2ME Community - Keeping feature phones alive
  • Lua Project - Amazing scripting language
  • Unix/Linux - Command-line inspiration
  • Contributors - Mr lima and Takumi123w

📞 Contact & Support

YouTube 🌐 : DASH ANIMATION V2 link: https://www.youtube.com/@dash______animationv2 Telegram 📲 : Java game uploader 240x320 link: https://t.me/javagameuploader240_320 Email 🖨️ : ndukadavid70@gmail.com Phone 📞 : +225 0788463112

📺 Demo Video

video_2026-02-08_20-54-26.1.mp4

🔗 Related Projects


💖 Support the Project

If you find DiscoLinux useful, consider:

  • ⭐ Star this repository
  • 🐛 Report bugs and suggest features
  • 📝 Contribute code or documentation
  • 📢 Share with the J2ME community
  • ☕ Buy me a coffee (link)

Made with ❤️ for the J2ME community

Keep feature phones alive! 📱💪

About

Just a port

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages