README.md - icy_draw - [fork] icy_draw is the successor to mystic draw.
 (HTM) git clone https://git.drkhsh.at/icy_draw.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
       README.md (3393B)
       ---
            1 # icy_term
            2 
            3 IcyTERM is a BBS terminal program with allows you to connect to BBSes.
            4 Visit https://www.telnetbbsguide.com/ for a start to enter the BBS world.
            5 
            6 Features supported so far:
            7 - Platforms: Linux, macOs, Windows
            8 - Telnet, SSH, Websockets and Raw connections.
            9 - Ansi BBS, Avatar, PETSCII, ATASCII, Viewdata, RIPscrip and SkyPix emulation
           10 - File transfer X/Y/Z Modem and variants (1k/1k-G/8k)
           11 - Rich set of ansi features
           12   - Modern engine with extended colors, 24bit fonts, ice support
           13   - Sixels, loadable fonts, ansi macros, osc8 www links 
           14   - ANSI music
           15 - Misc features
           16   - 3D accelerated rendering engine
           17   - IEMSI autologin
           18   - Baud emulation
           19   - Exporting buffer to disk & capture session
           20   - Copy & Paste
           21 - And many more. If something is missing open a feature request :)
           22 
           23 # Get binaries
           24 
           25 Get the latest release here:
           26 https://github.com/mkrueger/icy_tools/releases
           27 
           28 
           29 ## Requires
           30 
           31 IcyTerm needs a graphics card that can can do opengl 3.3+.
           32 (It's the 2010 version but some people have problems starting)
           33 
           34 If it doesn't run check if graphics card drivers are up to date.
           35 
           36 On Windows:
           37 opengl32.dll
           38 And VCRUNTIME140.dll is required. Usually these two are installed and it should run out of the box. If you can run any game with 3D graphics it should just work.
           39 
           40 # Help
           41 
           42 Contributions are welcome. But also testing & bug reporting or feature requests.
           43 
           44 If you can't/want to contriubte code you can donate via paypal to mkrueger@posteo.de
           45 # Screenshots
           46 
           47 Code page 437 (aka "DOS") support:
           48 
           49 ![DOS](assets/dos_bbs.png?raw=true "CP437 DOS")
           50 
           51 Petscii screenshot:
           52 
           53 ![Petscii](assets/c64_bbs.png?raw=true "Petscii")
           54 
           55 Atascii screenshot:
           56 
           57 ![Petscii](assets/atascii_bbs.png?raw=true "Atascii")
           58 
           59 Viewdata screenshot:
           60 
           61 ![Viewdata](assets/viewdata_bbs.png?raw=true "Viewdata")
           62 
           63 RIPscrip screenshot:
           64 
           65 ![Viewdata](assets/ripscrip_bbs.png?raw=true "RIPscrip")
           66 
           67 SkyPix screenshot:
           68 
           69 ![Viewdata](assets/skypix_bbs.png?raw=true "SkyPix")
           70 
           71 # History
           72 
           73 I had an own BBS back in the 90'. When I started rust I searched a project and some days earlier I spoke with my wife about the good old days, PCBoard and then I got the idea to improve the PPL decompiler we used these days.
           74 That was my first project and it was successful (https://github.com/mkrueger/PPLEngine).
           75 Around that time I learned that there are still BBSes in the internet and I started to update my old ansi drawing tool (MysticDraw) however I lost a bit track because of the gtk4 bindings. It's very difficult to write even a mid sized UI application with these.
           76 
           77 First I tried to ressurect my old ansi drawing tool (Mystic Draw) using gtk4 bindings. But they didn't really suit my needs.
           78 Tried Druid/Egui/Iced and decided to do a smaller project that relies on an ansi engine too.
           79 
           80 So I decided to do a terminal program. After a first implementation with iced (cool library, can recommend) I switched to egui because I needed an opengl control and the support in iced for that was lacking at that point of time.
           81 
           82 So this was more of a test project for the ansi engine & writing rust UI apps but it got a bit larger than I thought and now IcyTerm is a fully featured terminal app for BBSes.
           83 
           84 # Build instructions
           85 
           86 * Install rust toolchain: https://www.rust-lang.org/tools/install
           87 * On linux you need "sudo apt-get install build-essential libgtk-3-dev libasound2-dev libxcb-shape0-dev libxcb-xfixes0-dev"
           88