I'm trying to leaen how to write doors. Under linux its simple, but realized under windows it relies on comm.
By far the easiest solution is to use a "door kit" which is essentially a library that handles all of that stuff (and usually more) for you. There are tons of them out there, but most of them deprecated due to what OSes and comm types they support. Some notable classic ones are OpenDoors for C/C++ (updated to support Win32 and DOOR32.SYS!) and DDPlus for Pascal.
I think EasyDoor and DoorFrame might have been a couple of the popular ones for QuickBasic 4.5.
Demonic's own doorkit is XDoor. Versions prior to 3.00 are for Borland/Turbo Pascal and support comms via Fossil drivers under DOS,
while 3.00+ adds in Win32 and OS/2 with DOOR32.SYS support for telnet by way of Virtual Pascal. I'm not sure if XDoor 3.xx properly supports
Linux compilation or not, but that's something I mean to investigate
(and perhaps fix) one of these days.
Xqtr is actually currently working on his own update of XDoor to add a bunch of new enhancements and features.
Yep, I landed on the fact to use a door kit. I'm looking at one now, but man. Under linux it's damn easy. Just write to console and it works.
I'm still confused why people don't just do this across the board. Standard I/O (which is what that's doing) works on all OS's.
Door kit appears to be needed under Windows.
Is this just a Mystic thing? Has anyone talked to g00r00? It *should*
work just fine on Windows. stdio is stdio is stdio. It's one thing they all have in common. Windows implements it with Win32 vs POSIX, but
that's easy to handle.
Is this just a Mystic thing? Has anyone talked to g00r00? It *should*
work just fine on Windows. stdio is stdio is stdio. It's one thing they all have in common. Windows implements it with Win32 vs POSIX, but
that's easy to handle.
Standard Output from what I find, only works under linux.
I assume g00r00's reads these FTN messages. So hopefully he can comment on these.
Besides it being something perhaps Mystic can be fixed for, I want this door to work across all modern BBS packages that can run 32bit/64bit applications. I don't want it specific to Mystic.
Standard I/O aka stdio aka stdin/stdout is really the lowest common denominator; Any OS can do it, so any modern BBS package should be able
to as well. I'd think it should work with Mystic.
"DOOR32.SYS" wants to (generally) use socket sharing. This isn't
terribly bad, but on Windows you basically have to do "deprecated" calls
For example if someone makes this app in FreePascal:
TextColor(14); WriteLn('My door in yellow');
It would not work properly when redirecting STDIO on anything other than
One reason to not push for this as the be all option for doors over using a toolkit is because it doesn't work for DOS doors. We can't go back and fix DOS BBS software so we're pretty much stuck dealing with FOSSIL if we want to hit the most people.
Maybe I can rip out all the complexity and see how it'd work as using no local UI and only ANSI-based STDIO on non-DOS platforms and get a toolkit out there for people to use without having to think about it.
... Real Programmers balance their checkbooks in hex
For example if someone makes this app in FreePascal:
TextColor(14); WriteLn('My door in yellow');
It would not work properly when redirecting STDIO on anything other t
I'm not goign to quote much here because it's all researchable, but this isn't true. I literally do this with enigma all the time on Windows.
When the parent launches the child, it needs to capture stdout (and technically stderr) and send input (from the client) to stdin.
I think a lot of people would dig this as well.
Agreed outside of DOS either STDIO or named pipes should be the standard.
I'm down to finish off my PipeDoor Pascal doorkit that takes this approach and release it open source, and work with you to establish the details on the rest if you're up for it. Then after that we'll get Rob and everyone else on board once we are good with it.
Its is true. Yes you can output ANSI to STDIO like you're saying, but that is not how console applications in Windows and OS/2 work unfortunately. Modern Windows didn't even translate ANSI until late Windows 10 ish, and that was only if you installed their terminal
Yeah for anything before 10, you need a shim, something like: https://github.com/adoxa/ansicon
Sounds like that's what Deuce was working on. I do keep forgetting MS
only caught up (well, almost) with everyone else regarding terminals recently.
Agreed outside of DOS either STDIO or named pipes should be the stand
I'm down to finish off my PipeDoor Pascal doorkit that takes this approach and release it open source, and work with you to establish t details on the rest if you're up for it. Then after that we'll get R and everyone else on board once we are good with it.
This and everything else you mention here sounds great, looking forward
to it!
I forgot if I mentioned it earlier, Mystic already makes a pipedoor.ini file we can chat privately on what changes you'd want to it and I have a Pascal kit to go along with it that would work with STDIO. It would
also produce DOS FOSSIL with the same code, so its a one stop shop for everything without confusing people like Mike with the behind the scene details.
So you'd have to add the drop file and me the STDIO into Windows, and
then we'd get my kit out there.
Awesome! I'll start working on it this weekend if I get time. First I'll get the STDIO working again in Windows but then I'll dig back into that doorkit and see what needs to be done. I'll ping you once I get organized and get your thoughts and feedback, etc.
Sounds like a... *glances at what echo this conversation is taking place in* future Demonic release in the making! ;) Seriously though, this does sounds like something quite a few of us could make some good use of.
We've been in need of a good door kit with FOSSIL support for FPC for
ages now, as you and I have talked about in the past.
Apparently Microsoft has developed their own shim now or is in the process? That sounds awesome but I wonder if it only works for current