VOGONS


vintage programming

Topic actions

First post, by chris2021

User metadata
Rank Oldbie
Rank
Oldbie

This can be anything from the earliest PC's to anything 32 bit I guess (arguably only semi-vintage but who cares about terminology).

What languages do you use? Do you prefer to run these packages on older hardware (that is when you actually have the option of older or newer hardware)?

Lately I'm into Delphi/Kylix. I started mussing around 5 or 6 weeks ago, and once again all that got put on the back burner. I hope to take it up again soon.

I have a modest understanding of (16 bit) assembler, C, C++, and although I've studied Java, Javascript, PHP, etc., I never use any of that crap and forgot most of it. All that is remarkably similar to C syntactically anyway.

Reply 1 of 22, by AlexZ

User metadata
Rank Member
Rank
Member

Definitely C. Back in the day I started with Borland C and switched very quickly to DJGPP + Rhide. Programs ran in protected mode and all computer memory was available. Lot of high quality libraries existed for it. Borland C had serious limits on memory usage and was only good for very simple programs in the beginning. Assembly language was more useful for drivers or highly optimized pieces of code where size of binary mattered but nothing else.

For those starting to learn I would recommend QBasic -> C (Borland C, 16 bit code) -> DJGPP (32 bit)

The best IDE for C is probably Eclipse or IntelliJ, but they are unfortunately not usable on old 386-pentium computers.

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 2 of 22, by vstrakh

User metadata
Rank Member
Rank
Member

Assembly. 16/32 bit x86 with Borland Turbo Assembler, and 8-bit z80. Mostly for nostalgic reasons.

Being able to design similar hardware from scratch in fpga I've come to appreciate the decisions and reasoning behind x86 architecture initial design.

Reply 3 of 22, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
chris2021 wrote on 2021-10-01, 23:05:
This can be anything from the earliest PC's to anything 32 bit I guess (arguably only semi-vintage but who cares about terminolo […]
Show full quote

This can be anything from the earliest PC's to anything 32 bit I guess (arguably only semi-vintage but who cares about terminology).

What languages do you use? Do you prefer to run these packages on older hardware (that is when you actually have the option of older or newer hardware)?

Lately I'm into Delphi/Kylix. I started mussing around 5 or 6 weeks ago, and once again all that got put on the back burner. I hope to take it up again soon.

I have a modest understanding of (16 bit) assembler, C, C++, and although I've studied Java, Javascript, PHP, etc., I never use any of that crap and forgot most of it. All that is remarkably similar to C syntactically anyway.

If you like Pascal better than C you still have the options from 16-bit real mode to 32-bit protected mode DOS.
16-bit real mode: Turbo Pascal, FreePascal 16-bit cross compiler.
16-bit protected mode: Borland Pascal 7.
32-bit protected mode: FreePascal, TMT Pascal.

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

Reply 4 of 22, by Gmlb256

User metadata
Rank l33t
Rank
l33t
chris2021 wrote on 2021-10-01, 23:05:
This can be anything from the earliest PC's to anything 32 bit I guess (arguably only semi-vintage but who cares about terminolo […]
Show full quote

This can be anything from the earliest PC's to anything 32 bit I guess (arguably only semi-vintage but who cares about terminology).

What languages do you use? Do you prefer to run these packages on older hardware (that is when you actually have the option of older or newer hardware)?

Lately I'm into Delphi/Kylix. I started mussing around 5 or 6 weeks ago, and once again all that got put on the back burner. I hope to take it up again soon.

I have a modest understanding of (16 bit) assembler, C, C++, and although I've studied Java, Javascript, PHP, etc., I never use any of that crap and forgot most of it. All that is remarkably similar to C syntactically anyway.

If you are familiar with Delphi you can go with Borland Pascal, that programming language was popular back in the DOS days.

I currently prefer using plain C and ASM when necessary without relying entirely on third party libraries. For 32-bit protected mode DOS executables you could try Open Watcom (the original Watcom IDE was also popular among developers).

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 5 of 22, by gerry

User metadata
Rank Oldbie
Rank
Oldbie

For DOS i really enjoyed turbo pascal, turbo c and quick basic. assembly too, inline usually, for handling the fun of DOS interrupts and vga cards

for win16 i recall thinking visual basic 3 to be great!

for win32 we have a huge range of possibilities, from 1990's compilers like borland c, delphi, VB4-6, visual c and so many free ones based on gcc etc all the way up to .NET with 32 bit windows 7 and 10

if you like Delphi you may also like freepascal and lazarus too, available on various platforms

Reply 6 of 22, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

I use NOWUT for modern 32-bit and vintage 32-bit (and some 16-bit) programming. 95% of dev happens on Windows 2000 but since the compiler can run in several environments I can also tweak source code with the MS-DOS editor and recompile it right there in DOS if I'm testing a DOS program.

https://rosettacode.org/wiki/Category:NOWUT

again another retro game on itch: https://90soft90.itch.io/shmup-salad

Reply 7 of 22, by chris2021

User metadata
Rank Oldbie
Rank
Oldbie

so a number of people like QB but no votes cast for Quick C? QB is a good product imo, but QC affords the power of assembler nearly and an ide. If that's your thing.

Personally I've always had a "thing" for M$ compilets. I really want MS FORTRAN 5.1. I want them all though.

Reply 8 of 22, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie

quick c is just a terrible compiler as far as compatibility goes tho, best to just use openwatcom2

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--

Reply 9 of 22, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++
chris2021 wrote on 2021-10-04, 22:55:

so a number of people like QB but no votes cast for Quick C? QB is a good product imo, but QC affords the power of assembler nearly and an ide. If that's your thing.

Personally I've always had a "thing" for M$ compilets. I really want MS FORTRAN 5.1. I want them all though.

My problem is, I finally find a thing I need that nobody else has written a utility to do, and think this is the ideal opportunity to learn a decent programming language.... and then the need gets pressing and I bodge it together in 5 lines of QBasic, or batch file it with 3 utils that each almost do what I want.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 10 of 22, by Tiido

User metadata
Rank l33t
Rank
l33t

I do my DOS things in QB4.5 + my own assembly library, and sometimes I make raw assembly things. Mega Drive, Master System and SC-3000 I do/did in full assembly.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 11 of 22, by chris2021

User metadata
Rank Oldbie
Rank
Oldbie
BloodyCactus wrote on 2021-10-04, 23:51:

quick c is just a terrible compiler as far as compatibility goes tho, best to just use openwatcom2

the compiler itself, or the executables? I can't see why the resultant executables would cause problems. Unless M$ decided to buck all common conventions. It was popular amongst developers into the early 2000s.

Reply 12 of 22, by gerry

User metadata
Rank Oldbie
Rank
Oldbie
BitWrangler wrote on 2021-10-05, 00:27:
chris2021 wrote on 2021-10-04, 22:55:

so a number of people like QB but no votes cast for Quick C? QB is a good product imo, but QC affords the power of assembler nearly and an ide. If that's your thing.

Personally I've always had a "thing" for M$ compilets. I really want MS FORTRAN 5.1. I want them all though.

My problem is, I finally find a thing I need that nobody else has written a utility to do, and think this is the ideal opportunity to learn a decent programming language.... and then the need gets pressing and I bodge it together in 5 lines of QBasic, or batch file it with 3 utils that each almost do what I want.

that's the thing with most utilities - it almost always has been done, in some manner, before and you can make do with existing utilities and some batching/conditions relating to them

in fact that's probably better for reasons of flexibility than making over specialised utilities - but as you say, it does tend to short circuit your intent to learn a language

Reply 13 of 22, by Yoghoo

User metadata
Rank Member
Rank
Member

I started with Turbo Pascal back in the day. Still got the floppy's I bought almost 30 years ago.

When I got my first real job we mainly used Visual Basic on Windows 3.11.

Although I also used Turbo C and some assembly back then my favorites are still TP and VBfW. Still use it sometimes on one of my retro machines.

Reply 14 of 22, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie

I favour C/C++ and assembler for 16-bit DOS programming, Visual Basic for Win 3.x and C++ plus assembler for anything else. For C/C++, I like Visual C++ 4.2 (the latest for DOS) and later, but really need to start working with gcc for it's compatibility with the standards. For assembler, I use nasm, as it is free, open source, uses Intel layout, has macros, and is constantly being updated with new instruction sets and features. It's also the only x86 assembler to cover every compatible instruction set.

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 15 of 22, by ViTi95

User metadata
Rank Member
Rank
Member

I generally use C + ASM, usually with OpenWatcom or GCC compilers. If I need to create a speciallized dev tool, usually I do it in Python or C# as they are way easier/faster for development.

https://www.youtube.com/@viti95

Reply 17 of 22, by gerry

User metadata
Rank Oldbie
Rank
Oldbie

I guess one question would be:

What kinds of applications / utilities would folk still want for MSDOS (and/or to use within Dosbox itself for that matter)

that might serve as inspiration

I have a feeling almost everything is covered, perhaps barring some attempts to get DOS working on or with modern hardware

Reply 18 of 22, by pan069

User metadata
Rank Oldbie
Rank
Oldbie

Personally I'm not programming DOS to make anything useful or new. I'm programming DOS to satisfy my own curiosity and purely for nostalgic reasons. I can figure out things that were a mystery to me back then (late 80's early 90's when I was kid trying to understand how this all worked but simply didn't have access to the right information). I have no intention on releasing anything I work on. To me it's kinda like doing crossword puzzles, something I do for fun. 😀

Reply 19 of 22, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

I used to do all my programming in QBasic under MS-DOS 5.0 and 6.22. Those two languages are pretty decent, especially if as with all languages a certain amount discipline and skill is applied. Although I have never tried it with QBasic I know from programming in Quick Basic 4.5 (which I got my hands on after I started with QBasic) you can do some pretty advanced stuff using interrupt calls and machine language snippets. Visual Basic for MS-DOS offers a few nice features, the only really useful feature however (IMHO) that can't be imitated in Q(uick Basic) is mandatory variable declaration. I have tried but could never really get into Turbo Pascal, C or C++. I have written a few things in assembly language as well. Debug is useful for small projects in that regard. I have written a lot of stuff with Visual Basic 3.0 and later Visual Basic 5.0 and 6.0. I probably used some other stuff I can't remember right now. EDIT: I just remember messing with Microsoft BASIC, GW-Basic and Commodore BASIC. As for the first two, unless you need to write something for CP/M forget about Microsoft BASIC and use Q(uick) Basic. As to GW-Basic, it may have been nice for its time, but Q(uick Basic) runs just as fine on older CPU's and MS-DOS and is vastly superior imho. Only ever having occassionally used someone else's Commodore I don't have much to say about programming on that.

And recently I got it into my head I should try to convert a book keeping program I wrote in Q(uick Basic) to vb.net. Why? Because I am kind of a fascinated by how you do a lot of pretty advanced stuff with a few lines of code in vb.net where you needed an entire convoluted procedure in Q(uick Basic) mostly. My bookkeeping program (a rudimentary spreadsheet/database thingy I made in an attempt to provide a small student run candy store with a means of keeping track of their finances) seemed like a good candidate for this comparisson.

If anyone hasn't figured it out yet, I have written tons of stuff in all kinds mosly BASIC related dialects. I could probably write a few more paragraphs if I felt like it ... and had the time. 😉

EDIT
I also tried reverse engineering old software, with limited success.

EDIT 2:
I decided trying to prove to myself that vb.net's data handling capacities are superior by converting and entire decades old QBasic program is going too far. While a lot can be converted relatively easily, some elements such printing would require some rather convoluted coding. Also, I forgot how much I learned about programming. The QBasic code is not awful but it could use a lot of improvement. That and I have successfully made pretty much identical programs in vb.net and QBasic. Perhaps a small data handling example would be interesting to do. Anyone got an interesting idea that's not too hard to do? QBasic vs vb.net?

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