What a great game. One neat feature on the MS-DOS version (not sure about Amiga) was that you could plug in a second mouse and play two players on the same screen. This was very unique for DOS games.
There were mice for the serial port, for PCs. So only lesser magic. (One "standard" mouse, like "bus mouse" or PS/2 mouse, and one serial, would have worked fine.)
If one mouse goes into the keyboard PS/2 keyboard connector (I think they were the same connector) then yes, very unusual magic.
This feature was invented on the Amiga for Lemmings. The Amiga had two joystick/mouse ports fully supported by the OS so it was a natural development.
MS-DOS made it much more difficult... using one mouse required that a mouse driver be resident in the 640k base memory and connected via COM or PS/2. Settlers had internal code to access a second serial based mouse but it wasn't straight-forward at all.
The mouse interface on the Amiga was remarkably and elegantly simple too, which would have made it easy to interpret the mouse inputs on a joystick port even if there wasn't built-in support for it.
Basically, the mouse buttons were wired directly to pins - the same pins that joystick buttons would be wired to. Then also, the left/right and up/down steps would be indicated by a rising pulse on one pin with a direction indicated on another pin. The same pins that would be used for the left/right and up/down microswitches on a joystick. The way this was implemented by most early mice was to have two sensors on a sense wheel slightly out of phase, so as the sense wheel rotated it would produce a square wave on both wires. When one pin had a rising pulse, the other wire would be high if the wheel was going in one direction, and low if it was going in the other direction.
In fact the 8520 CIA chips used to control the joystick ports on the Amiga were compatible enough you could put them in a C64 in place of one or both 6526's... (You'd lose the realtime clock, as the 8520 had timers instead, but "nobody" used the realtime clock on the C64).
I tested that at one point when one of the 6526's on my C64 broke. I don't think the reverse would work, as I think AmigaOS used the timers, but never tested.
(My parents were not amused that I opened the machines and swap chips around...)
The Atari 400 and 800 computers had four joystick ports. Two paddles per port meant up to 8 paddles. The only game I know used four joysticks was M.U.L.E.
Couldn't be further from the truth. The fundamental difference is that you don't really control units in Settlers, instead you build the infrastructure and units get deployed and working automatically (if they can).
In this sense I would compare Settlers to Populous, not Warcraft.
The human characters art is very similar to Gobliins games. I checked the artists behind each and they are different. I guess the style was popular at that time.
That's amazing and an insane amount of work! I'm just as amazed at how Chris Sawyer wrote Transport Tycoon entirely in assembly as well though I don't believe he did it in the same amount of time as Wertich.
m68k is quite comfortable to write assembly for, with 8x GPRs (D0-D7) and 8x address registers (A0-A7), all 32 bit, and flat memory model.
8086 OTOH not so much. More like painful.
16 bits, few registers, many opcodes and addressing modes operate with specific registers, and the mess which is segments, needed because 16bit would otherwise only adress 64KB.
I loved this game so much, even keeping an Amiga operational into the 2000s specifically for this.
Each subsequent game released in the settlers series moved further away from the elegance of the original, trying to bring in elements that were more conventional Realtime-strategy based. While I like a good RTS, What settlers already had was also worth pursuing.
I might give WideLands a go. There's also Before We Leave from https://www.balancingmonkeygames.com/ which captures much of the aesthetic of the original settlers while being in a completely different setting (disclosure: I know the developer of BWL)
There was one very amusing bug. The author had clearly put huge effort into building a polished interface, but then added a new button at the last minute. That button is available if you have a flag right next to a straight road. If you pressed it, then the road would be cut in two and both cut ends attached to the flag. It would otherwise save a load of time clicking round destroying the road and rebuilding it.
The bug was that the game didn't check that the road was yours. So, if an enemy had a road running along their border, you could place a flag right next to it on your side of the border, then click the button, and you'd have a new road crossing the border, and the two independent road systems would be connected. And because all the goods were fungible and distributed on a supply/demand basis, your enemy could start supplying you stuff.
26 comments
[ 2.3 ms ] story [ 53.4 ms ] threadIf one mouse goes into the keyboard PS/2 keyboard connector (I think they were the same connector) then yes, very unusual magic.
MS-DOS made it much more difficult... using one mouse required that a mouse driver be resident in the 640k base memory and connected via COM or PS/2. Settlers had internal code to access a second serial based mouse but it wasn't straight-forward at all.
The DOS port of Lemmings didn't bother.
Basically, the mouse buttons were wired directly to pins - the same pins that joystick buttons would be wired to. Then also, the left/right and up/down steps would be indicated by a rising pulse on one pin with a direction indicated on another pin. The same pins that would be used for the left/right and up/down microswitches on a joystick. The way this was implemented by most early mice was to have two sensors on a sense wheel slightly out of phase, so as the sense wheel rotated it would produce a square wave on both wires. When one pin had a rising pulse, the other wire would be high if the wheel was going in one direction, and low if it was going in the other direction.
[1]: https://en.m.wikipedia.org/wiki/Rotary_encoder
I tested that at one point when one of the 6526's on my C64 broke. I don't think the reverse would work, as I think AmigaOS used the timers, but never tested.
(My parents were not amused that I opened the machines and swap chips around...)
In this sense I would compare Settlers to Populous, not Warcraft.
[0] https://www.widelands.org/
m68k is quite comfortable to write assembly for, with 8x GPRs (D0-D7) and 8x address registers (A0-A7), all 32 bit, and flat memory model.
8086 OTOH not so much. More like painful.
16 bits, few registers, many opcodes and addressing modes operate with specific registers, and the mess which is segments, needed because 16bit would otherwise only adress 64KB.
Each subsequent game released in the settlers series moved further away from the elegance of the original, trying to bring in elements that were more conventional Realtime-strategy based. While I like a good RTS, What settlers already had was also worth pursuing.
I might give WideLands a go. There's also Before We Leave from https://www.balancingmonkeygames.com/ which captures much of the aesthetic of the original settlers while being in a completely different setting (disclosure: I know the developer of BWL)
The bug was that the game didn't check that the road was yours. So, if an enemy had a road running along their border, you could place a flag right next to it on your side of the border, then click the button, and you'd have a new road crossing the border, and the two independent road systems would be connected. And because all the goods were fungible and distributed on a supply/demand basis, your enemy could start supplying you stuff.