[HN Gopher] Pinball Fantasies assembly source code
___________________________________________________________________
Pinball Fantasies assembly source code
Author : velmu
Score : 82 points
Date : 2021-09-27 07:12 UTC (15 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| Radim wrote:
| Developed 30 years ago and in Sweden, judging by the code
| comments :)
|
| https://github.com/historicalsource/pinballfantasies/blob/ma...
| geon wrote:
| > FELHANTERINGEN CP! (TMINSTONE OUT OF MEM)
|
| The error handling is retarded! (At least out of mem)
|
| > TONINGEN SKA INTE SLUTA P BAJSBRUNT UTAN P SVART!
|
| The fade should not stop on poop-brown, but on black!
| mcraiha wrote:
| It also seems that there are some text conversion issues in
| comments, since e.g. "anv,,nd" is not a word, but "anvand" is.
| Delk wrote:
| Looks like it might be encoded in code page 850, which was
| commonly used in DOS at the time for non-English locales, at
| least in parts of Europe.
|
| On another note, it's interesting to see what appear to be
| some kinds of todo items or task assignments in the comments
| of fantasie.asm: things like testing on different kinds of
| displays and computers. I guess the project management
| toolbox was a bit less refined at the time.
| egypturnash wrote:
| The whole set of credits for the original Amiga version is
| less than ten people: two programmers, one artist, one
| musician, and a couple of producers. This port was done by
| "FrontLine Design", who seemed to be three more people,
| according to the text in intro.asm.
|
| I'm not sure you _need_ a complex project management
| toolbox for a team that size.
|
| (Digital Illusions grew into DICE, who certainly does need
| complex project management tools; I wonder how many of the
| original members are still there.)
| tpmx wrote:
| "FrontLine Design" was also known as The Space Pigs in
| the early PC demo scene (90-93).
| hipnoizz wrote:
| I remember reading about the development of Baldur's Gate
| II - around 2000 I suppose, a rather big game, especially
| for its times - and they supposedly tracked all bugs using
| some kind of physical board and paper notes. I'm not sure
| if that is true of course.
|
| Pinball Fantasies was likely developed probably around
| 1991-1992, so 8 years earlier. We are really rather spoiled
| by nowadays tools (when we are not complaining about Jira
| etc. of course). I also still remember rather horrible
| crudeness of tools like Bugzilla or Mantis which were one
| of the first tools in this area I worked with.
| ftrobro wrote:
| Project managing in assembler code, I love it. One of
| Gabriels assignments is that he should test if the game
| runs well on his dad's laptop.
| TonyTrapp wrote:
| The "conversion issue" is merely a display issue on GitHub -
| I myself appreciate that the source files were uploaded as-is
| and not converted to UTF-8. They are true relics of their
| time and will look correct when viewed in the programs they
| were intended to be used with.
| krautsourced wrote:
| For reference: https://www.youtube.com/watch?v=S-VT8Hs3OhY
|
| It is so obvious from the style and music that a demo group (The
| Silents) were behind this game. I'm still loving it to this day.
| Missing getting boxes of demo discs :)
|
| Also: https://www.youtube.com/watch?v=o96I_UfSdIU Man, Jesper Kyd
| was great back then already...
| snvzz wrote:
| Great news, even if it's not the Amiga version, which is the one
| I'd really love to read the sources for.
| lukego wrote:
| Yeah I was really excited expecting to see m68k Amiga code. Oh
| well, maybe next time!
| doublerabbit wrote:
| How are the graphics created? Were they actually encoded as
| bitmap values, or were they binary type files shipped with the
| game?
| TonyTrapp wrote:
| They don't seem to be part of the repository. In the final
| game, they were part of the individual tables' exectuables, my
| guess would be that commands like `INCLUDELIB STONES.LIB` are
| responsible for linking the graphics into the executable.
| delusional wrote:
| It's really a shame since that means you can't compile this
| to a functional executable without significant effort.
| banana_giraffe wrote:
| This is cute: DB " HI HACKER! PLEASE DON'T
| CRACK THIS PROGRAM! IT WAS MADE BY" DB " THE DEMO GROUP
| TSP. WE NEED THE MONEY TO BE ABLE TO KEEP ON" DB " CODING
| GAMES FOR THE PC! THIS PROGRAM ISN'T HARD TO CRACK, SO"
| DB " MAKE A DEMO INSTEAD TO PROVE YOUR SKILLS... IF YOU CRACK IT"
| DB " WE WILL HATE YOU 4EVER! HAVE A NICE DAY! :-) "
|
| I remember back in the day I always loved seeing these little
| messages in hexdumps of programs I was trying to understand.
| TonyTrapp wrote:
| I always particularly loved the tech scroller shown in-game:
| TECHSCROLL DB 21 dup(1),'YEAH YOU ARE PROBABLY WONDERING
| HOW IT IS POSSIBLE TO MAKE A GAME LIKE THIS ON THE PC'
| DB ' FIRST OF ALL THE GAME IS CODED IN
| 100 PERCENT ASSEMBLER LANGUAGE ' DB '
| WE RUN IN A SPECIAL VGA 320 X 240 OR 360 X 350 IN 256
| COLOR MODE HARDWARE IS USED FOR
| SCROLLING THE TABLE ' DB ' THE
| FLIPPERS AND DOT MATRIX SCOREPANEL ARE DELTA ANIMATED AND TO
| MAKE THE GRAPHICS RUN FLICKER FREE WE ARE USING RASTER
| INTERRUPTS THE PALETTE IS USED FOR
| FLASHING THE LIGHTS ' DB '
| THE MUSIC ROUTINE HAS FEATURES SUCH AS SOFT CLIPPING AND
| INTERPOLATIVE MIXING ' DB '
| ALTOGETHER THIS MAKES THE GAME POSSIBLE TO RUN ON A 12 MHZ 286
| WITH SOUNDBLASTER MUSIC AT 16KHZ IN EACH FRAME' DB 21
| DUP (1),255
| Jare wrote:
| TSP = The Silents PC?
| TonyTrapp wrote:
| The Space Pigs, known for this demo among others
| https://www.pouet.net/prod.php?which=3972
| conradfr wrote:
| I played that game a lot as a kid. Especially Party Land ...
| because I liked the colors and the music.
|
| And I wasn't that good.
| hipnoizz wrote:
| Pinball Dreams and Pinball Fantasies were my favourite pinballs
| games on Amiga (and then Psycho Pinball on PC). I know that
| nowadays e.g. Pinball FX3 provides so many bells and whistles and
| boards... but I often find all these boards to be kind of
| overloaded and so busy with animations, sounds and flashing
| lights... Maybe it is like with football games - I understand
| that FIFA or PES are much more complete games but the arcade
| charm of Sensible Soccer makes it a winner for me.
|
| This or just a nostalgia factor...
| tomc1985 wrote:
| Pinball FX3 is so hostile to regular gamers too. The level
| select screen makes it really hard to see which tables you own
| and which you don't (to incentivize you to buy more), until you
| go and find them and add them to favorites column. There is no
| way to filter the list by tables you own. I am so sick of this
| upsell bullshit when I have already given them my money, and
| even worse most of the list is licensed franchise bullshit for
| properties I do not care about.
|
| Also their ball physics feel weird. It has gotten better from
| FX -> FX2 -> FX3, but still feels off. Their remakes of actual
| tables seem to have a different physics model and ball
| interactions feel a lot more plausible
| legohead wrote:
| the nostalgia factor for Dreams & Fantasies for me is mostly
| the music & sfx. the game was fun, but the atmosphere from the
| music brought it to a new level.
|
| I still hear the laughing from Haunted Mansion [1] in my head
| quite often.
|
| [1] https://youtu.be/y6xfzwO8GdA?t=933
| squarefoot wrote:
| Same here, I loved those two games, graphics was excellent,
| music too, and motion was incredibly fluid for a 8MHz machine.
| The linked .asm code however seems rather x86 than M68K to me,
| it's probably a late x86 DOS port. The PC port of the above
| games was not bad, but it lacked the same smoothness of the
| Amiga version and, if memory serves, music was a lot worse.
|
| > but the arcade charm of Sensible Soccer makes it a winner for
| me
|
| +1. It was damn fun, as Kick Off had been a couple years
| before. I have great memories of tournaments with friends; good
| old times.
| Narishma wrote:
| I've never played the Amiga version but the PC version was
| very smooth even on my old 286.
| moepstar wrote:
| >but I often find all these boards to be kind of overloaded and
| so busy with animations, sounds and flashing lights
|
| No, i think you're quite right - especially tables that don't
| have a "real world counterpart" often don't make a lot of sense
| to me, rules wise and also, have way too much going on, too
| many gimmicks etc...
|
| Real world emulations on the other hand most of the time have
| really well thought out gameplay and lots and lots of replay
| value.
|
| I miss the days being able to go to an arcade or some random
| pub and play a few balls...
| hipnoizz wrote:
| Which of the boards in Pinball FX3 you think are not
| overloaded? Triggered by my recent visit in some pinball
| 'museum' (me and my family spent like 3 hours playing on
| various tables) I did a quick research about available
| pinball games, then I played a little a bit those 2 tables
| available for free in Pinball FX3 and demoed a couple of
| others. But it was easier to achieve some 'competence' and
| understanding and select favourite ones when you had 4 boards
| in Pinball Dreams/Fantasies then in FX3 when you had few
| dozens of them...
| nthitz wrote:
| https://pinballmap.com/ is a great resource for finding games
| in your area though it's mostly US based
| thewakalix wrote:
| > (ILLEGAL SPARNING?)
| aliswe wrote:
| 1984!
| flatiron wrote:
| So weird. Todays ModernVintageGamer episode features this game
| and then this pops up!
| zxcvbn4038 wrote:
| I was not familiar with this one -
| https://www.youtube.com/watch?v=o3mQqdvm6lI
| pavlov wrote:
| The subroutine "set_360x350" (in fantasie.asm) brings me back to
| teenage VGA hacking.
|
| It starts with the standard 320x200x256c MCGA mode (13h), then
| proceeds to tweak a few dozen video card registers into a
| combination that produces a 360*350 frame buffer.
|
| Just don't fry your CRT while trying to come up with the magic
| register combo!
| wpietri wrote:
| Ooh, this is neat. Long time since I've had to read assembler.
| The first thing that jumps to mind is wanting to read the tests
| for this, which of course don't exist. In retrospect, creating
| this seems herculean; there's so much knowledge about how it
| should work that lives only in somebody's head, and only as long
| as they can hold it all there.
| jonny_eh wrote:
| The nice thing about game development (at least back then) is
| that once you ship the game, you can expunge all that info from
| your brain. So as long as the game works when you ship it, no
| need for tests to catch regressions.
| pavlov wrote:
| This model of development also meant cross-platform ports
| were practically rewrites.
|
| In practice it wasn't really possible to reuse code unless
| the target platform had the same CPU and at least equal
| graphics features (as was the case with e.g. porting from
| Atari ST to Amiga). So every port started from scratch.
| degenerate wrote:
| That is, until your boss says " _Great job everyone! Time to
| get started on Pinball Fantasies 2_ "
| jonny_eh wrote:
| Better hope it fails :D
___________________________________________________________________
(page generated 2021-09-27 23:01 UTC)