5 ms·
This is just a "because I wanted to" project. And I get that; done a lot of those myself just to understand what the hell was going on. But the rewrite of turbo
by jksmith 1y ago
This is just a "because I wanted to" project. And I get that; done a lot of those myself just to understand what the hell was going on. But the rewrite of turbo vision into FPC and compiling to half a dozen targets has been around for 20 years. Turbo vision is probably the best text mode windowing library in existence. The cool fun kicks in when you can map a whole text screen to an array like so:
var
Screen: Array[1..80,1..25] Of Byte Absolute $B800; // or something like that as i recall
What turbo vision brought to the game was movable, (non) modal windows. Basically a lot of rewriting that array in a loop. Pretty snappy. I made a shitload of money with that library.
- throwaway127482 1y agoI am curious about how you made money with it, if you don't mind sharing.
- jksmith 1y agoMy first company out of uni was a company that sold a tv advertising application written in dos. It did all the reports, put together spot advert packages, measuring reach and frequency, cost per point, etc. Used Neilsen ratings for data. The company at the time paid commissions along with salary to programmers. The app still lives on in windows, but I've been out of that game for decades. Written in TP for dos, then Delphi for windows.
- TheAmazingRace 1y agoHonestly dude, this is clever. Good on you for finding an opportunity to make a useful tool and you made out like a bandit in the process. :)
- jksmith 1y agoThat was the toolchain that my company used. Turbo vision was a Borland product, back when Philippe Khan was running the company. We were that ahead of the curve for "shrinkwrapped software development" at the time. That legacy, Delphi and FPC still maintain the standard for desktop, native dev, really for the last 30 years.
- rollcat 1y agoThe broadcast industry continues to move at a slow pace compared to IT, and understandably - it's live TV, you need things to work 24/7/365. That means there's always an opportunity for the resourceful.
- dleslie 1y agoFor those curious, here is a modern port of the C++ Turbo Vision that also supports Unicode: https://github.com/magiblot/tvision https://github.com/magiblot/tvision
- san1927 1y agolmao is any body still using turbo cpp?
- srvmshr 1y agoYou'll be surprised if I tell you several universities in India have not updated their curriculum in a very long time & Turbo C++ (& its non-standard C++ flavor) is the weapon of choice. The school board in the '00s, which preferred to teach a programming language for CS, used to have it curriculum around this C++ dialect. I have passed my high-school board examinations with this language (It was known to be already outdated in 2004. The smart kids knew the real C++ was programming by Visual Studio 6 ecosystem. But one had to still deal with it to clear the exams.) Admitted, a few things have changed in last couple of years. MATLAB is being replaced by Python. Teaching 8085 & 8051 is being replaced by RasPi/Arduino. 8086 is taught alongside ARM & RISC, and not touted as SoTA. I last saw Turbo being used in 2016-17 in a university setting, inside a DosBox (because Windows 7+ have dropped support for such old programs). Insane, but true.
- Arnavion 1y agoYeah, I also learned C++ via Turbo C++ in school in India in the early 2000s. Googling for "conio.h" shows Indians still talking about it in blogs and C/C++ forums as of 2024.
- zozbot234 1y agoNice. This editor could see a lot of use in such places if it gains developer-oriented features such as LSP, DAP and tree-sitter parsers. As a Rust-written editor, it will probably be quite a bit easier on resources than the usual modern choices which generally involve VSCode or Jetbeans plus language-specific plugins.
- electroly 1y agoEvery time I see a new modern TUI framework, my disappointment is the same: "Oh. This isn't as good as Turbo Vision."
- wenc 1y agoTurbo Vision was truly immersive. I used it in Turbo C and also in Paradox 4.5. So good.
- ByteDrifter 1y agoFunny how something that ran in a tiny box on a 386 could feel more responsive than some modern GUIs. Turbo Vision really nailed the basics.
- kgwxd 1y agoI swear the characters appear on the screen before I press the keys when I'm in a real (not emulated) Linux terminal. I can't feel the lag as I'm typing this comment into a basic textarea, but it's clearly there, because a terminal feels magical.
- no_wizard 1y agoI always thought Charm was pretty robust as far as TUI tools go[0] [0]: https://charm.sh/ https://charm.sh/
- nathell 1y agoarray[1..25, 1..80] of Word absolute $B800:0000. Arrays in TP were laid out in row-major order, and each character was represented by two bytes, one denoting the character itself and the other the attributes (foreground/background color and blinking). So, even better, array[1..25, 1..80] of packed record ch: char; attr: byte end absolute $B800:0000. Replace $B800 with $B000 for monochrome text display (mode 7), e.g., on the Hercules.
- TiredOfLife 1y ago> This is just a "because I wanted to" project. It's not. They needed a small TUI editor that was bundled with Windows and worked over ssh. https://news.ycombinator.com/item?id=44034961 https://news.ycombinator.com/item?id=44034961
- jksmith 1y agoWell, I don't have the rights to bundle anything with windows, nor would I want to. All you'd need is a thin player to reproduce a TUI screen if done in FPC, and it wouldn't be limited to Windows. All I'm suggesting is we tend to have some recency prejudice in our development, even when it costs more time/money than it should. I'm sure I've done the same over the years.
- macjohnmcc 1y agoI'd love for an interface like that on VSCode that runs in a terminal even remotely.