rudi 10a31476c2
Build and Test j3270 / Build JAR & Run Tests (push) Successful in 1m8s
Update README.md
2026-08-20 23:31:46 +00:00
2026-08-20 19:25:14 -04:00
2026-08-20 19:25:14 -04:00
2026-08-20 18:37:22 -04:00
2026-08-20 19:10:51 -04:00
2026-04-14 09:18:03 -04:00
2026-08-20 18:37:22 -04:00
2026-08-20 19:05:37 -04:00
2026-08-20 17:24:55 -04:00
2026-08-20 18:37:22 -04:00
2026-08-20 18:37:22 -04:00
2026-08-20 19:05:37 -04:00
2026-08-20 17:24:55 -04:00
2026-08-20 18:24:35 -04:00
2026-04-14 09:18:03 -04:00
2026-04-14 09:18:03 -04:00
2026-08-20 17:24:55 -04:00
2026-08-20 23:31:46 +00:00
2026-08-20 18:24:35 -04:00
2026-08-20 18:24:35 -04:00
2026-08-20 19:05:37 -04:00

j3270

Build & Test Latest Release Java License

An x3270-aligned IBM 3270 mainframe terminal emulator written in pure Java. Designed for high compatibility with IBM z/OS, z/VM, CMS, and TSO systems over TN3270 and TN3270E.


🚀 Quick Download & Run

Latest Standalone JAR

You can download the ready-to-run executable JAR directly from the releases or CI builds:

Running j3270

Requires Java 11 or higher (Java 11, 17, 21+):

# Launch interactive GUI
java -jar j3270.jar

# Launch with custom configuration file
java -jar j3270.jar -c config.ini

# Launch directly from source runner
./run.sh

Features

  • TN3270 & TN3270E Protocol Support: RFC 2355 compliant state machine, negotiation, Device-Type query, and SSL/TLS encryption.
  • IND$FILE File Transfer: Full support for both CUT and DFT (DDM) high-speed structured field transfers with ASCII/binary translation, CRLF handling, and recfm/lrecl formatting for TSO, VM/CMS, and CICS.
  • z/VM & Line-Mode Support: Proper SSCP-LU and unformatted line handling (CP TERM CONMODE 3270 supported).
  • APL & Graphic Escape: Comprehensive box-drawing and math symbol character rendering.
  • Terminal Models:
    • Model 2 (24x80)
    • Model 3 (32x80)
    • Model 4 (43x80)
    • Model 5 (27x132)
  • Zero-Dependency Core: Modular architecture separated into:
    • lib3270j: Reusable Java 3270 protocol, data stream parser, charset translation, and telnet state machine.
    • j3270: Desktop Swing user interface and session management.

🛠️ Building from Source

Standalone Build (No Gradle Required)

The project includes self-contained, portable build scripts:

# Build executable JAR in 2 seconds:
sh ./build_all.sh

# Run all 25 automated unit tests in ~130ms:
sh ./test_all.sh

The resulting standalone JAR is created at build/j3270.jar.

Gradle Build (Optional)

./gradlew build
./gradlew test

🤝 Contributing

Contributions and issue reports are welcome! Please feel free to open a bug report or feature request via the Gitea issue tracker.


📜 Acknowledgements

  • x3270 — Reference C implementation and protocol specifications
  • Antigravity
  • Claude Opus 4.6
  • Gemini 3.1 Pro
S
Description
Entirely slop (Vibecoded) 3270 emulator written in Java to be implemented for more platforms and hacking.
Readme Unlicense 972 KiB
Languages
Java 99%
Shell 1%