Exploring Sid Meier's Pirates! - BASIC Code, Quirks, Bugs on Commodore 64

preview_player
Показать описание
We take a look at the original Sid Meier's Pirates! which was programmed on the Commodore 64 in BASIC, in large part. We take a look at some bugs and quirks in the game, and find evidence of abandoned features and scenarios in the source code. Thanks to TheFatman for his discovery of the SID diagnostic screen in C-64 Pirates!

To support 8-Bit Show And Tell:

Index:
0:00 Some history and info about Pirates! and Sid Meier
3:51 Pirates! gameplay
10:35 Bug: forward bow cannon fire
11:38 Silver Train Ignorance: A Rather Unpromising Start
16:35 Broken SID Detection & Effect
22:12 Gold overflow bug
25:12 Crashing Pirates! to BASIC
27:05 Using "OLD" to cleanly see Pirates!' BASIC code
29:25 Pirates of the Spanish Main!!
32:40 The Pirates of Tortuga: Lost Scenario
37:15 Broken SID Detection Code
42:45 Side 2 MAIN listing, and Nostalgia shout-out
44:41 Thanks
Рекомендации по теме
Комментарии
Автор

Updates/Corrections: Version 132x02 appears to also be an officially released version of Pirates (probably a PAL region release?), not a change by Nostalgia in their release. Thanks to Jason Compton for the info.

_Bit
Автор

The game of my childhood. It's hard to believe that a child's imagination can make a real Caribbean out of these few pixels.
The best game ever!

Olesmir
Автор

Must have put a 1, 000 hours into this game! Had the map up on the wall with various coloured pins in it, like a professional! :) I own every Sid Meier's game for the C64 and DOS!

gamingtonight
Автор

I loved this game so much as a kid, and it's the reason why I still know a lot of city names in the Caribbean :D

cryptc
Автор

Huge props to the programmer to have the foresight to check the RNG quality from the SID and produce an error if it's not good. That's really cool.

JimLeonard
Автор

I love this game ... Back in the days I played "Pirates!" so often, that I could find most treasures with one part of a map. I remember being very proud of that. 😊

pufaxx
Автор

It is mainly the text screens that are programmed in BASIC. The battles are all in machine code, including the sword battles, the ship sailing and the ship battles, the drawing of the terrain and the men walking on the land; basically anything that involved reading the joystick input and displaying sprites is all programmed in machine code and are called by SYS routines from BASIC.
I spend many hours exploring the code and hacking the game by changing variables and memory locations.

Pandamad
Автор

I loved the game. Used to start as Dutch, because they had only a few places. Conquered the Spanish cities for them, then switched alliances to French and conquered the same cities a second time, but now for the French. :)

derkernspalter
Автор

Would be great if Sid himself would do a reaction-video to your video! Maybe he could explain some more of the code!

pandarmy
Автор

What I also found remarkable is the use of a few 3-character variable names, like CTY or CLN, for important, probably often recurring properties. Mind that Commodore BASIC uses only 2 significant characters for variable names. The third character essentially assisted Sid's brain, but also wasted some significant amount of memory! — I've heard of the time vs space trade-off in game programing, but rather infrequently about a brain cells vs memory cells trade-off. ;-)

noland
Автор

I remember the game map was so good I would compare the treasure maps against our large Readers Digest Atlas to find the locations of the treasure

RaymondBarbour
Автор

I think the most impressive thing about this sort of thing that someone was able to keep track of all of those short variables.

MichaelDoornbos
Автор

Nice video! One of my favourite games for the C64. I fell victim to the gold bug and lost a lot of gold! Made me determined to hack the game and get it back. Quick tip though = once you force the game to crash, you just need to re-enable the run/stop key by typing Poke 808, 237. Then the program lists correctly. One of the lines of code near the beginning of the program disables it with Poke 808, 234, replace the 234 with 237 and you can break back into thev program whenever you want so long as you are not in a machine code routine ie sailing etc. Interesting there is a random bug in the tape version where it would randomly crash if you got promoted.... you always had to save the game before you visited the governor if you were likely to get promoted!

gmacaffer
Автор

Every beginner programmer is like "I'm going to learn how to code and then write a game myself." Then finds a video like this and makes them stick to microservices

vladimirdanov
Автор

It figures that Sid would verify the SID chip.

hueyiroquois
Автор

Bizarrely fascinating. This finally solved the mystery for me of why my pirated version of Pirates! had no background graphics in defiance of all the screenshots - cassette version. Still absolutely loved it though. That BASIC stuff though is just wild. Who would have thought such an in-depth and detailed game could have got away with using so much BASIC. And that SID exception-handler is so unexpected.

thecaveofthedead
Автор

I simply cannot imagine keep track of all that code, just using the C64 and its limited screen. I'd like to imagine Sid used a C128 with 80 column support to at least give him some more real estate. Perhaps we've all become too used to all the modern comforts as programmers. But Sid must have kept some sort of outline or a system of notes keeping track of everything. Imagine having to find and fix a bug. Or what about having to renumber the code because you have to fit something in! Boggles the mind.

TheHighlander
Автор

Would like to see more of these! That is breakdowns of C64 games, at present there are only three on your channel.

NomadColossus
Автор

I owned an original copy of the game and I hated its RapidLock protection scheme; I had to invest another $30 to get the KrackerJax copier and I'm glad I DID!!! ...
I played this game so much that my 1541 read head wore out track 18 (directory track) of five copies into oblivion!

entropiahelper
Автор

I played the Amiga version of this; so many good memories. I've re-bought the PC version on GoG, but it's not the same as when I was sitting in my moms basement trying to match map-pieces with the larger physical map.

DonPidgeon