VOGONS


Reply 40 of 132, by gaffa2002

User metadata
Rank Member
Rank
Member

Do you want to develop applications or games? If you want to make an application, I recently tried using Visual Basic 1.0 (it's the only one with a DOS version) and liked it.
Makes a lot easier to create user interfaces as you can drag and drop the components (labels, buttons, etc).

LO-RES, HI-FUN

My DOS/ Win98 PC specs

EP-7KXA Motherboard
Athlon Thunderbird 750mhz
256Mb PC100 RAM
Geforce 4 MX440 64MB AGP (128 bit)
Sound Blaster AWE 64 CT4500 (ISA)
32GB HDD

Reply 41 of 132, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Im afraid that for games you need speed and for speed of need C/C++ and likely also some ASM porn, too.. For me are basic programs good enough.. Or you can maybe target only some fast machines.

Other question would be some resident TSR, here i guess you also need keep memory usage very low and some additional low level magic, i never did one.. but its probably even better, its running as semi multitasking tasking job, that would be fun too.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 42 of 132, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
root42 wrote:

Don't forget about PowerBasic! Which is the successor to TurboBasic. I used PowerBasic A LOT as a teenager, because it was cheap and came with the PowerTools, which allowed you to do TurboVision style Text UIs with mouse support. Very powerful Basic dialect that had a real compiler.

Still the path to madness.

All hail the Great Capacitor Brand Finder

Reply 43 of 132, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie
gdjacobs wrote:
Peter Swinkels wrote:
GWBasic 3.23 Qbasic 1.0/1.1 Quick Basic 4.5/7.1 Visual Basic for DOS 1.0 […]
Show full quote

GWBasic 3.23
Qbasic 1.0/1.1
Quick Basic 4.5/7.1
Visual Basic for DOS 1.0

Run all of them and you can summon creatures from the Outer Darkness.

I don't get it. What's the joke?

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 45 of 132, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie
root42 wrote:

He dislikes Basic.

Aha. Most of those old BASIC versions didn't encourage proper coding practices and were pretty limited in what they could do unless you resorted to low-level programming. He should look at vb.net. It's pretty decent.

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 46 of 132, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Peter Swinkels wrote:

... He should look at vb.net. It's pretty decent.

As the title of the topic suggests OP wants to write programs for DOS including TSR's. VB.net is not the most appropriate tool for such tasks, to say the least 😀

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 47 of 132, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie
Falcosoft wrote:
Peter Swinkels wrote:

... He should look at vb.net. It's pretty decent.

As the title of the topic suggests OP wants to write programs for DOS including TSR's. VB.net is not the most appropriate tool for such tasks, to say the least 😀

I am aware of that. I went a little off topic.

Do not read if you don't like attention seeking self-advertisements!

Did you read it anyway? Well, you can find all sorts of stuff I made using various programming languages over here:
https://github.com/peterswinkels

Reply 49 of 132, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

Nah, have some fun!
https://almy.us/teco.html
https://esolangs.org/wiki/Brainfuck_implementations

Or just stick with FreePascal, OpenWatcom, or another complete compiler with good DOS support, inline assembly, etc. I mentioned Forth which is interesting because it's very space efficient, self hosting, and unlike procedural programming is designed to have semantic constructs added to closely align with whatever your problem at hand is. I don't know how well it can integrate with ASM, so this might be a weakness.

All hail the Great Capacitor Brand Finder

Reply 50 of 132, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

DOSjs
https://sourceforge.net/p/freedos/news/2019/1 … js-version-098/
GCC IA-16
https://sourceforge.net/p/freedos/news/2019/1 … pdate-oct-2019/

How To Ask Questions The Smart Way
Make your games work offline

Reply 51 of 132, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie
DosFreak wrote:
DOSjs https://sourceforge.net/p/freedos/news/2019/1 … js-version-098/ GCC IA-16 https://sourceforge.net/p/freedos/news/2019/1 … […]
Show full quote

DOSjs
https://sourceforge.net/p/freedos/news/2019/1 … js-version-098/
GCC IA-16
https://sourceforge.net/p/freedos/news/2019/1 … pdate-oct-2019/

Classic question could it make standalone *.exe? It its possible on Dos something like in Windows convert *.bat to *.exe and include add resource files into it (make possible to load them from filesystem) to bypass not possibility of creation *.exe? I dunno, that i can at least write own program, to call DOS command to start bat.. and compiler it as exe, but some simple conversion tool could be nice.. and also not sure how to handle memory stuff for bat inside exe, i suspect that it wouldnt be so easy as run some DOS base command through some function.

Otherwise does someone has some Borland C text mode GUI Turbo Visio book or link to good tuporials about it? I found only Borlands Turbo Visio programming guide, but only for Pascal. I always did only some console simple application or VGA / SVGA gui thing, there i wrote erything from the scrapts, but i newer tried to create some text based gui apps with existing frameworks, so im looking for some info.. I think that Turbo vision was quite successful thing in its age, i dunno there is something newer and better or not..

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 52 of 132, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

I am a bit missing the idea of combinig modern hi level programming targetted on ~30 years old system - DOS that is very limited by HW support and API that it provides. Much less painful is running such hi level code on Linux etc. that ca run even on very old HW but offers the suitable base. For me the DOS is linked with low-level programming and I like it that DOS doesn't limit me accessing IO ports and MMIO, doesn't corrupt timings by multitasking and e.g. doesn't enforce driver signing - a very anoying shit in w10 that bugs me loading my own code.

So it needs to be taken in mind that even if tere are some Python/JS/Java for DOS they will be very limited with functions/modules/libs compared to their nayives on adult OSes. I mean e.g. Python can offer a simple modules for networking, graphics and sound. Those modules can simply use APIs provided by host OS like winsocks, directx, directsound... but under DOS there's nothing (at basic) and you will have to implement such code on your own - this would load to reimplement entire windows or linux under DOS, 🤣 😉 Nobody will do it.

On other hand, even DOS programming can avoid messing with assembler, ISR handlers etc, it's just enough to choose suitable libraries which do it for you 😀 even no heavy pointer porn is not needed. I reccomend to use some 32 bit compiler to avoid RM limitations that you will not then take care yurself. You can use Freepascal32, OWC or DJGPP. There are sure some GFX libs for each. Eg. for DJGPP there is Allegro, that is very complex and handles much morethan gfx, also sound, inputs, loading gfx files... But dos port of Allegro is dead. There is portable library mGRX that also supports some GUI making and it is under development. You can also compile it fo win/linux and make your program multitarget too (if no other system specific deps).

And the last thing. Thre are DJGPP crosscompilers that runs native on 64-bit windows, linux and macos so no need to bang head during slow compilation under dosbox 😀 I still use 32bit windows so I run DOS DJGPP via NTVDM.

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 53 of 132, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

I love Perl!
What I particularly like, is its DWIM principle.
DWIM = Do What I Mean

Easy as Basic, powerful as C++

And I recently found that Perl is available even for MSDOS!

Reply 56 of 132, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote:

On other hand, even DOS programming can avoid messing with assembler, ISR handlers etc, it's just enough to choose suitable libraries which do it for you 😀 even no heavy pointer porn is not needed.

Here we need some details, pleas..

Otherwise:
1) Too high-level language argument
You can argue that even C is too highlevel in comparision with ASM. So called classic(to exclude some functional lang, visual tools to generate code, which existed even in 1980s) high level languages give you for most operations same level of control - commands / syntax is same / very similar, there is no whole new level of abstraction or something like that (than is mainly fuctional lang / visual lang thing).. only quite small subset of funkcionality is changed and its simply do some things automatically.. but for example with C#, if really need lowlevel.. you everytime can use some DLLimport and call its function.. or unsafe block method where you can use Windows C++ code and bypass Garbage collection. Even with C# if need ASM, you can use it in unsafe mode, and if need to check code on ASM level, there is .Net framework Ildasm.exe tool as part of SDK, which can show of your binaries as list of ASM commands.. I thing that any big language probably has some possibility how to add some C/ C++ code, use C/C++ wrapper..

2) No lower access to HW, well i dont miss it at all, if there is some good highlevel API, its usually good enough... and it same you more time, than you would spend on low level stuff and learning it.. that is whole sense of APIs.
If would have same stuff for DOS i would use it, i guess that Allegro is something like that within limits of that some DOS framework can do, that why it is/was so popular you dont need to reinvent the wheel.
I high that much better OS stability is good trade of for lowlevel access. As power user i dont really miss almost anything.. i dont need lowlevel putpixel or send some data to some magic address to play the sound.. if have Win API or .Net API, DirectX, DirectInput, Vulkan etc for it. I found only few corner cases like for example low keyboard access for key combinations, like for example detect only function key press without any other characters in on Winforms applications.. but there are work libraries arounds for that.. which you can use as any other more user friend stuff, only problem is found them and integrate them or found some framework, engine where they already are integrated.
When we discussed with, what lowlevel stuff is really missing.. i get answer about - direct Serial / parallel port data sending and micro controller programming.. and that USB protocol is not good for it.. or that USB programmer is expensive.. that i would say logical because there is small audience for them.. there are not complex from HW perspective, they dont need some faster fast cpus etc.
For such stuff from highlevel perceptive still as ideal to use Virtualization.. because into virtual machine you cant any old OS is needed for low-level stuff.. and make virtual machine as from point of view of target programmer hardware as old physical machine.. If virtual machine crash no big deal you can restart it, without crash of whole computer with primary OS, where lots of windows is opened and need of reboot, lost of abitility to work for free minutes etc.
Only thing which i dont know how mature is Vmware / Virtual /Qemu code for serial and parallel code emulation.. but even if not good.. QEMU and Virtualbox should be open source so its not impossible to improve it and make it finnaly working, i guess that is less complex than make Sound Blaster or GPU emulation working for virtual machines.

3) Too old technology.
Even Java is now quite old - 25 years, .Net is now 18 years or something like that. I thing that nobody expect that with newer language you get features which are not available on OSes.
People as i want only to use already available Dos features with language which for convenient for our coding for price of lesser performance, but with advantage of faster development, that all. If you already have favorite language its annoying learn some low level stuff only because of Dos targeting.. transition to Dos development is much more annoying. I had time in last to 2 months read some new C++ book which paradoxically ignored all new Windows and MS stuff and just aim to C/C++ console apps. I can say i will not have to, i will really avoid that stuff.
My reasons are quite same why some people not want to use C++ instead of C, thing are can get too much complicated and benefits are not good enough. Yeah when you have 1 man project, you can simply use some C++ subset which help you, should better strings handling etc.. but when you have multiple people project and someone will try some as templates to full extend etc.. which are not used to use, it could be hell.
When i look how but are for example Best Dos Internet browser, i know that better experience would be simply to pick my phone for browsing, only problem is data transfer from phone to DOS computer that why be need good ftp server / client.
All thing with i really posted in the past, which im missing in Dos, ale part of old Dos world and part of possible "old world" feature set, only excend it.. as same way as some Win / Linux / Mac app extend modern OS features.

So yeah Dos development could be bad.. if you have great skills, memory you can still do it etc.. but there are much terrifying things, even for modern OSes.. as i already mentioned, its modern games development in low level C++, its from my knowledge even more complex than science stuff. Because even i exclude some for 3d world needed stuff and magic as good AI.. which need special not programming science knowledge (mathematics, physics, new way how to debug persistent 3d worlds, psychology for AI etc..).. and that is why its realized often though some middleware (where you still need as least some part of that knowledge), its still hell on earth.

You have deal with lowlevel C++, huge codebase (what is worlds lots fo huge binary assets), middlewares.. and still keep learning lots of newer stuff with any update of graphics drivers, Win SDK, DirectX, Vulkan etc and i can be even "better" when you target multiple platforms with Linux and MacOS (for example Apple dont care about OpenGL and Vulkan, so they need to learn Metal API ).. and want make situation even more complex you can target console too, with couple of not technical management problems (certifications) too..
Because is too complex, even for bigger teams and when areas of development are divided, almost everyone sacrificed low level stuff for some 3rd party or in company universal engines (but only EA, Ubi, Sony etc are big enough to make such inhouse stuffs),where technically you can still do low-level things, but only few guys do.. and more and more things are moved every day from classic development to scripting (much easier high level coding) of even visual tools / editors development.. i would say that is logical.

----------
Perl - classic question for this thread, can i make *.exe and has it some graphical libraries, or its just better way how to write some *.bat files and other script for data parsing etc?

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 57 of 132, by onre

User metadata
Rank Newbie
Rank
Newbie

I spent years of my life writing Perl for money. It started out as an improved version of small Unix tool called awk, and became a feature-laden monstrosity. It's an interpreted language, but I'm afraid there is some hack out there for creating self-contained binaries too.

Also, I'd say Perl is only superficially easy. Sure, you can make small utility programs easily, but the more you know about it, the more you become involved with the horrors within. If you want to know what I mean, the first example that comes to mind are typeglobs. The OO addition is... interesting, to say the least. Here, have a good one: https://perldoc.perl.org/functions/bless.html

It may be clear from my tone that I haven't particularly missed Perl in last fifteen years.

edit; probably the only graphics libraries you'll find are bindings for something like GD or ImageMagick, or alternatively something that speaks X11 to an X server. I'd be really surprised if someone had written a native Perl gfx library for DOS.

Reply 58 of 132, by onre

User metadata
Rank Newbie
Rank
Newbie

Let's say something on-topic as well... I've used Microsoft and Borland toolchains, usually writing code with Elvis and building stuff using Makefiles and NDMAKE, all this happening on the target machine. I should really take a look at OpenWatcom some day.

Reply 59 of 132, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

I wonder if there is someone older, how can compare Borland and MS tools, they were coexisting for years a at least from 1985 to today (Delphi and maybe C++ Builder is at least half alive thanks to Embarcadero, i dunno how their .Net branch).

It could be interesting in which period which IDE and Lang was the best.. I used Borland tools from 1996 up to 2005 or something like that.. after that i did only some some C scripting and comeback to programming in 2008 with C#. Until that time i never had full knowledge that MS has full alternative and own tools for whole period. I did few disk ago some old stuff clean up and i can say than my C++ Builder was quite good for Win32 API and i was i bit amazed how easily some stuff could be easily done around ~2000... I that time, was a bit magic, just play easily movie inside application windows, make animations, play sound, using special cursors etc as par of Win98 programs.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.