Elite was a mind-blowing game for the time, and insanely optimized, especially the first version for BBC Micro (2 MHz 6502 and 22kb for the whole game). I didn't even know about CGA version back then, first PC port I saw was VGA Elite Plus in 90s.
As for the PC speaker sound, yes it was common to write mixing routines to play back 4-channel Amiga MOD files in the early days of PCs. These mixing routines could often output to a variety of devices, including PC speaker, Covox, and Sound Blaster cards. Some even supported AdLib cards, using a trick to play 6-bit samples via the OPL2 chip. What you're hearing in this demo is basically an early version of what later became Triton's Fast Tracker, one of the most popular trackers of all time. Future Crew also experimented with MODs on PC speaker at an early stage, and eventually released Scream Tracker. A third early group was the Space Pigs. Their mEGAdemo also includes mod playback on PC speaker, and they released a clone of the Amiga ProTracker for DOS, called Digistudio. Whacker Tracker by the Codeblasters is another early one. And UltraForce also released an early PC tracker known as Tetra Compositor. 8088 MPH uses a simplified MOD player, but to get the quality acceptable on a 4.77 MHz 8088, virtually all CPU time is dedicated to the mixing. I did create a version of it that can run in the background, from the timer interrupt, to combine it with more advanced graphics effects, but the quality has to be very low for a 4.77 MHz machine to do anything useful. This also means really annoying carrier wave.
Well I knew about the Space Pigs and Future Crew, but the other information is stuff I didn't know. Did the early PC demos rip off Amiga MODs or was it just the format which they implemented? The sound at the end of the 8088MPH demo is of course amazing. It's a shame that something like that combined with more advanced graphics is out of reach at 4.77MHz. But I guess every platform has its sweet spot.
@@PCRetroTech It depends... Smaller groups would rip off existing MODs, because they did not have musicians of their own (this even happened on Amiga). But quite a lot of it was original music, even from the start. The Space Pigs did not use original music though. Physical Crew/Triton, Future Crew and UltraForce did. The PC speaker MOD player routine was also used in various cracktros around that era. The Dream Team and TRSI were some of the first I can remember. Oh yes, I should also mention The Sorcerers, another early PC demo group, who used tracker music on PC speaker.
One of the ways of playing digital audio through the PC speaker was by means of PWM. Access Software actually used this method in their World Class Leaderbord and Links golf simulation games. PWM is used to control the amplitude of the PC-speaker's displacement. This in turn allowed the PC-speaker to be used to play 6-bit PCM samples. Another way is to use the PC speaker as a 1-bit sampling device and crank the samplerate way up, for instance, way into the MHz range. This is basically what SDDS does. However, the output signal will be very noisy and usually contains a lot of artifcats, which is why for SACD there is usually a high pass filter between the signal coming out of the bitstream and the speaker.
Yes, the Links Golf games in particular have some of my favourite PC speaker music. I've always meant to make a video on PWM some time, but never got around to it yet. There's probably a lot of good videos out there on it already though.
That's the original Elite, ported to DOS by Andy Onions, who also ported Starglider and worked on Carrier Command. I played the hell out of it as a kid. Later I also got Elite Plus to play on my 486.
The most impressive flight simulator I ever ran on my XT was F29 Retaliator. I had a 9.54 MHz Turbo XT clone, with a Paradise VGA card, and the game ran very well on that machine in VGA. I suppose it runs exactly as well in EGA, as the VGA mode was basically just 16-colour EGA mode, but changing the default palette to 16 VGA colours. Aside from that, it had some fancy blackout/redout effects that won't work in EGA. It also has a CGA mode, but that one is not quite as fast.
I will have to check that one out. When I was a kid it felt like we had every game there was. But now I realise we had but a tiny fraction of what was out there.
Wonderful overview. Only notes I have are: - XT in the video: 4.77 MHz, or 10MHz? - While Alpha Waves is quite impressive, it was not entirely enjoyable at 4.77 MHz. The box for Continuum states "10 MHz recommended." - The 1.0 and 2.0 versions of Microsoft Flight Simulator have a much more impressive framerate at 4.77 MHz (as does the simulation Jet). Nice work!
I've upgraded my XT 5160 with 10MHz 8088 cpu and 10MHz 8087 fpu. What now remains to upgrade is an CGA or EGA graphics card and 128kB extra memory to have the computer to the maximum preformance of its model. It has an MDA card and 512 kB memory, connected with a green screen 5151 monitor, but the parts to it are quite pricy on ebay since they are going rare.
@@JimLeonard I just replaced the cpu to the other and inserted an fpu, toggled the switch to detect theres an fpu installed. I don't really know if the processor operates at 10MHz, but it is an 8088-1 and the fpu is 8087-1 where the -1 tells it's a 10MHz. (No number after the fourth is 4,77MHz and -2 is 8MHz what i know). It has no turbo mode since this XT PC predates the 286 where turbo was invented. It has the original 5,25 inch 360kB huge floppy drive that is not working and the original 10MB hdd that does, so I have to replace the floppy drive in order to add a software where I can check which speed it runs at, after I've transfered that software from my 386 to a compatible floppy. I have two other working 5,25" drives lying around that I've just not yet mounted in my IBM 5160.
@@draxoronxztgs1212 Putting an 8088-10 into your XT 5160 does not make the system run at 10 MHz. It is still running at 4.77 MHz. The 5150 and 5160 do not have any mechanism for speeding things up, so to get the system running faster, you'll need to perform hardware modifications. Search online for the "pc sprint" modification. It involves soldering and replacing the crystal. I don't recommend it, personally.
Alpha Waves is one of the very first game I remember playing, I think on a 386sx laptop in 92 or something. It felt very mysterious and cryptic. I had entirely forgotten its existence until you mentioned it
I loved Continuum as a wee one (that was the version I had, not Alpha Waves). Though I only got the game after we'd already moved on to a 386/VGA. One early 3D game which never made it to *any* home computer (AFAIK) was Atari's seminal "I, Robot" from the arcades. A port of that could be very interesting... probably not feasible for 8088/CGA unless you want to benchmark it with a calendar, but perhaps tolerable on a 286.
I always heard good thing about Carrier Command. That's why i bought the remake Carrier Command: Gaea Mission from 2012 a few years ago. But unfortunately it wasn't as good as I had hoped. I am probably used to better things today.
I was thinking that too and you're probably right. I recall a lot of that digitized audio over PC speaker sounded like that because it essentially PWMs the only on or off speaker control to get varying amplitudes. So you get harmonics from it toggling so fast depending on the hardware / speaker.
You might also take a look at the two games M1 Tank Platoon (1989) and F-19 Stealth Fighter (1988) from Microprose. They both also work in CGA and have pretty impressive graphics.
I just tried Elite in DOSBox. Once I slowed it down, it wasn't bad. However the joystick seems to have a huge dead zone. If there's a way to adjust that in the game, I'm not aware of it. It makes it hard to make precise movements because small movements of the stick don't register and when you tilt it further it ends up moving too far. It was better than Elite Plus though. That one looks much nicer, but I was never able to find a playable speed in DOSBox. Either it's really choppy, or it's way too fast. The enemy ships zip around you like flies and it's pretty much impossible to hit them.
I wonder if the dead zone is a function of your joystick, or maybe even just old joysticks in general. I always found them hard to use and prefer keyboard games myself.
@@PCRetroTech I tried two different joysticks and they both seem to register fine in the Windows properties.Maybe it's the way DOSBox reads the joystick. I had slightly better luck using an Atari compatible digital joystick connected through and using JoyToKey to have it send the keyboard controls. Even then, the control tends to feel pretty slippery. I have to just tap it in a given direction because if I hold, it oversteers. I noticed some differences to other versions of Elite that I've played; The 5-sided "Dodo" stations don't seem to have been included. Enemy ships make one pass, then turn and run to gain distance. You can then shoot them repeatedly and they won't try to evade it. Space stations don't show up on the main radar. The market prices for cargo seem much lower and the usually reliable trading routes don't work. You don't enter the safe zone until the station is actually in view.
@@lurkerrekrul It does seem like the behaviour of different joysticks can be different, so maybe they designed it for some joystick that almost no one has or something like that. But yeah, DOSBox could also be the problem. Who knows.
how impressive something is, is entirely relative to the machines abilities, a pc with upto 640k ram and video of 16k+ really looks poor when compared to machines with less than 32k of ram, most impressive "3d" i've seen was on the atari 2600 - can you imagine working with 128bytes of ram, 128byte video, i.e enough to draw one screen line, literally you were drawing a line quickly before the scan beam moved to next line! even the cartridges were in the 4-8k size, for those who can use a compiler - just look how big 'hello world" is on a modern pc, 2 words! The probably best pushing of early pc capabilities are the modern coded 8088 mph and 8088 corruption 'demos', it was said they broke emulators when first released due to the fine manipulation of real hardware timings though does rely on differing effects and crap ntsc tv technology to achieve colour effects so doable on other machines, but might of forced them back then to release better than ega, if the effects were known about.
My hello world program for DOS does have the program size of 79 Bytes as exe program! All it does is print the string "Hello World!" followed by a CR and LF. Please keep in mind that modern high-level language compilers like C integrate parts of the C library into the program code if you use an extensive function such as printf for "Hello World!". It's no wonder that the program then needs more memory. In addition, pointers or addresses in a 64-bit system are 8 bytes in size.
And in Linux my 64 Bit hello world program written in Assembly and compiled with NASM is a little bit larger, but not much. The size is pretty similar but you have to keep 64 Bit in mind. Keep also in mind, that the ls output command does not give you the real program size, because each program section uses some padding when stored in the file system. To get a more precise information of each section in the file you should use the command readelf -a hello_world.
Elite was a mind-blowing game for the time, and insanely optimized, especially the first version for BBC Micro (2 MHz 6502 and 22kb for the whole game).
I didn't even know about CGA version back then, first PC port I saw was VGA Elite Plus in 90s.
As for the PC speaker sound, yes it was common to write mixing routines to play back 4-channel Amiga MOD files in the early days of PCs. These mixing routines could often output to a variety of devices, including PC speaker, Covox, and Sound Blaster cards. Some even supported AdLib cards, using a trick to play 6-bit samples via the OPL2 chip.
What you're hearing in this demo is basically an early version of what later became Triton's Fast Tracker, one of the most popular trackers of all time.
Future Crew also experimented with MODs on PC speaker at an early stage, and eventually released Scream Tracker.
A third early group was the Space Pigs. Their mEGAdemo also includes mod playback on PC speaker, and they released a clone of the Amiga ProTracker for DOS, called Digistudio.
Whacker Tracker by the Codeblasters is another early one.
And UltraForce also released an early PC tracker known as Tetra Compositor.
8088 MPH uses a simplified MOD player, but to get the quality acceptable on a 4.77 MHz 8088, virtually all CPU time is dedicated to the mixing. I did create a version of it that can run in the background, from the timer interrupt, to combine it with more advanced graphics effects, but the quality has to be very low for a 4.77 MHz machine to do anything useful. This also means really annoying carrier wave.
Well I knew about the Space Pigs and Future Crew, but the other information is stuff I didn't know. Did the early PC demos rip off Amiga MODs or was it just the format which they implemented?
The sound at the end of the 8088MPH demo is of course amazing. It's a shame that something like that combined with more advanced graphics is out of reach at 4.77MHz. But I guess every platform has its sweet spot.
@@PCRetroTech It depends... Smaller groups would rip off existing MODs, because they did not have musicians of their own (this even happened on Amiga). But quite a lot of it was original music, even from the start. The Space Pigs did not use original music though. Physical Crew/Triton, Future Crew and UltraForce did.
The PC speaker MOD player routine was also used in various cracktros around that era. The Dream Team and TRSI were some of the first I can remember.
Oh yes, I should also mention The Sorcerers, another early PC demo group, who used tracker music on PC speaker.
There was a boxing game too. With amazingly fluid 3D polygons. It was very fluid and felt like you were in the future. Was called 4D boxing.
I saw that recently and it is very impressive. It was 1991 though, so just outside the time period I looked at.
One of the ways of playing digital audio through the PC speaker was by means of PWM. Access Software actually used this method in their World Class Leaderbord and Links golf simulation games. PWM is used to control the amplitude of the PC-speaker's displacement. This in turn allowed the PC-speaker to be used to play 6-bit PCM samples.
Another way is to use the PC speaker as a 1-bit sampling device and crank the samplerate way up, for instance, way into the MHz range. This is basically what SDDS does. However, the output signal will be very noisy and usually contains a lot of artifcats, which is why for SACD there is usually a high pass filter between the signal coming out of the bitstream and the speaker.
Yes, the Links Golf games in particular have some of my favourite PC speaker music. I've always meant to make a video on PWM some time, but never got around to it yet. There's probably a lot of good videos out there on it already though.
That first 3D space game was absolutely mind blowing, I had no idea there were such cool and intricate 3D games back then.
That's the original Elite, ported to DOS by Andy Onions, who also ported Starglider and worked on Carrier Command. I played the hell out of it as a kid. Later I also got Elite Plus to play on my 486.
The most impressive flight simulator I ever ran on my XT was F29 Retaliator. I had a 9.54 MHz Turbo XT clone, with a Paradise VGA card, and the game ran very well on that machine in VGA. I suppose it runs exactly as well in EGA, as the VGA mode was basically just 16-colour EGA mode, but changing the default palette to 16 VGA colours. Aside from that, it had some fancy blackout/redout effects that won't work in EGA.
It also has a CGA mode, but that one is not quite as fast.
I will have to check that one out. When I was a kid it felt like we had every game there was. But now I realise we had but a tiny fraction of what was out there.
Wonderful overview. Only notes I have are:
- XT in the video: 4.77 MHz, or 10MHz?
- While Alpha Waves is quite impressive, it was not entirely enjoyable at 4.77 MHz. The box for Continuum states "10 MHz recommended."
- The 1.0 and 2.0 versions of Microsoft Flight Simulator have a much more impressive framerate at 4.77 MHz (as does the simulation Jet).
Nice work!
The XT is 10MHz. Thanks for the comments Jim.
I've upgraded my XT 5160 with 10MHz 8088 cpu and 10MHz 8087 fpu.
What now remains to upgrade is an CGA or EGA graphics card and 128kB extra memory to have the computer to the maximum preformance of its model.
It has an MDA card and 512 kB memory, connected with a green screen 5151 monitor, but the parts to it are quite pricy on ebay since they are going rare.
@@draxoronxztgs1212 How did you increase the speed from 4.77 mhz to 10 mhz? Can you toggle it back and forth?
@@JimLeonard I just replaced the cpu to the other and inserted an fpu, toggled the switch to detect theres an fpu installed. I don't really know if the processor operates at 10MHz, but it is an 8088-1 and the fpu is 8087-1 where the -1 tells it's a 10MHz.
(No number after the fourth is 4,77MHz and -2 is 8MHz what i know).
It has no turbo mode since this XT PC predates the 286 where turbo was invented.
It has the original 5,25 inch 360kB huge floppy drive that is not working and the original 10MB hdd that does, so I have to replace the floppy drive in order to add a software where I can check which speed it runs at, after I've transfered that software from my 386 to a compatible floppy.
I have two other working 5,25" drives lying around that I've just not yet mounted in my IBM 5160.
@@draxoronxztgs1212 Putting an 8088-10 into your XT 5160 does not make the system run at 10 MHz. It is still running at 4.77 MHz. The 5150 and 5160 do not have any mechanism for speeding things up, so to get the system running faster, you'll need to perform hardware modifications. Search online for the "pc sprint" modification. It involves soldering and replacing the crystal. I don't recommend it, personally.
MS Flight Simulator was one of the few bits of software which ran on the XT which was able to take advantage of an 8087 maths coprocessor.
Interesting. I did not know that.
Good to know. Finally I can put it to use!
@@SomePotato 😅
@@OpenGL4everI mean, most of the time is just in there, doing nothing but making the system just slightly slower by its presence. :D
That elite filled polygon scene is very impressive, even for the 10mhz XT.
Yes, I 100% agree!
Alpha Waves is one of the very first game I remember playing, I think on a 386sx laptop in 92 or something. It felt very mysterious and cryptic. I had entirely forgotten its existence until you mentioned it
I loved Continuum as a wee one (that was the version I had, not Alpha Waves). Though I only got the game after we'd already moved on to a 386/VGA.
One early 3D game which never made it to *any* home computer (AFAIK) was Atari's seminal "I, Robot" from the arcades. A port of that could be very interesting... probably not feasible for 8088/CGA unless you want to benchmark it with a calendar, but perhaps tolerable on a 286.
my favroit early 3d game was Carrier Command
I always heard good thing about Carrier Command. That's why i bought the remake Carrier Command: Gaea Mission from 2012 a few years ago. But unfortunately it wasn't as good as I had hoped. I am probably used to better things today.
Yes same here. Amazing game for its time. Elite/Elite Plus were good but CC was better. (I had the PC versions.)
FS 3 has detalisation control. So, for its intended use as simulator you can keep polygon count at bare minimum.
Wow the 15kHz tone while watching the Physical Crew demo is loud! I didn't know if I had tinnitus or what but I paused and it stopped XD
That might be from the 1-bit audio rather than the monitor.
I was thinking that too and you're probably right. I recall a lot of that digitized audio over PC speaker sounded like that because it essentially PWMs the only on or off speaker control to get varying amplitudes. So you get harmonics from it toggling so fast depending on the hardware / speaker.
Adding a low pass filter to the PC speaker would probably clean up the sound a lot.
You might also take a look at the two games M1 Tank Platoon (1989) and F-19 Stealth Fighter (1988) from Microprose. They both also work in CGA and have pretty impressive graphics.
I just tried Elite in DOSBox. Once I slowed it down, it wasn't bad. However the joystick seems to have a huge dead zone. If there's a way to adjust that in the game, I'm not aware of it. It makes it hard to make precise movements because small movements of the stick don't register and when you tilt it further it ends up moving too far.
It was better than Elite Plus though. That one looks much nicer, but I was never able to find a playable speed in DOSBox. Either it's really choppy, or it's way too fast. The enemy ships zip around you like flies and it's pretty much impossible to hit them.
I wonder if the dead zone is a function of your joystick, or maybe even just old joysticks in general. I always found them hard to use and prefer keyboard games myself.
@@PCRetroTech I tried two different joysticks and they both seem to register fine in the Windows properties.Maybe it's the way DOSBox reads the joystick. I had slightly better luck using an Atari compatible digital joystick connected through and using JoyToKey to have it send the keyboard controls. Even then, the control tends to feel pretty slippery. I have to just tap it in a given direction because if I hold, it oversteers.
I noticed some differences to other versions of Elite that I've played;
The 5-sided "Dodo" stations don't seem to have been included. Enemy ships make one pass, then turn and run to gain distance. You can then shoot them repeatedly and they won't try to evade it. Space stations don't show up on the main radar. The market prices for cargo seem much lower and the usually reliable trading routes don't work. You don't enter the safe zone until the station is actually in view.
@@lurkerrekrul It does seem like the behaviour of different joysticks can be different, so maybe they designed it for some joystick that almost no one has or something like that. But yeah, DOSBox could also be the problem. Who knows.
Stellar 7 was another good one
Thanks for the suggestion.
Alpha waves did Jumping Jack Flash take inspiration from THAT. It looks so similar
STARFOX SNES (Super Nitendo) ?
Was this ever ported to the PC? Also I think it is a bit later than most of the games I've been looking at for the PC.
Stunts was very good too.
how impressive something is, is entirely relative to the machines abilities, a pc with upto 640k ram and video of 16k+ really looks poor when compared to machines with less than 32k of ram, most impressive "3d" i've seen was on the atari 2600 - can you imagine working with 128bytes of ram, 128byte video, i.e enough to draw one screen line, literally you were drawing a line quickly before the scan beam moved to next line! even the cartridges were in the 4-8k size, for those who can use a compiler - just look how big 'hello world" is on a modern pc, 2 words!
The probably best pushing of early pc capabilities are the modern coded 8088 mph and 8088 corruption 'demos', it was said they broke emulators when first released due to the fine manipulation of real hardware timings though does rely on differing effects and crap ntsc tv technology to achieve colour effects so doable on other machines, but might of forced them back then to release better than ega, if the effects were known about.
My hello world program for DOS does have the program size of 79 Bytes as exe program! All it does is print the string "Hello World!" followed by a CR and LF.
Please keep in mind that modern high-level language compilers like C integrate parts of the C library into the program code if you use an extensive function such as printf for "Hello World!". It's no wonder that the program then needs more memory. In addition, pointers or addresses in a 64-bit system are 8 bytes in size.
And in Linux my 64 Bit hello world program written in Assembly and compiled with NASM is a little bit larger, but not much. The size is pretty similar but you have to keep 64 Bit in mind. Keep also in mind, that the ls output command does not give you the real program size, because each program section uses some padding when stored in the file system. To get a more precise information of each section in the file you should use the command readelf -a hello_world.