Foreword
So, for starters, I would like to note that although I write in the sandbox, this is not my first text on Habré. Once I wrote how to for the blog of foreign retro gamers, and since they are foreign, the articles had to be translated into English. And I was a little surprised to find here an article about debugging games for NES , translated back into Russian .
In general, I am very interested in the history of arcade machines, consoles, games, and a little bit of programming. About how they program for the NES these days, I wrote in another "making of" article, which was also published on Habré.
Today I would like to try to post the material myself, and we will talk about all of the above at once, and about arcade machines, and about the NES and about retro games and their debugging.
Slot machines
The history of arcade machines goes back almost 60 years, their evolution was bright, albeit short-lived. From mechanical, electromechanical and discrete logic, to serious devices on serious microprocessors. Many arcade games, in addition to being officially ported to other platforms, have become a source of inspiration for other game creators, both home computer enthusiasts and professionals.
, ZX Spectrum 0010, , . (. Zuma Deluxe Popcap games – Puzz Loop). , , ( Space invaders, ). , , , . , . , , .
. . , «» , . MAME, . , — , . ZX Spectrum Z80, ZX, , , , , , , , — , cpu, , 6809. — , , , , , — , , , . ZX Spectrum, — , , « ». NES, , — , . — , , .
Dendy
« »: 30 . , Dendy , , . , 6502 , PPU, 13 «», Dendy «» . , , Nintendo, «». Dendy , , « » «NES». , , , , .
NES (Contra, Battle city), .
Balloon Fight
Balloon fight , NES, ( , ) . «» , .
, Balloon fight . , . , , , .
, NES . Game & Watch, (Gamecube, PC-88, MSX). , 1984 VS system NES. « », «», , . , , . , , «». , ( ) , , .
, VS system « »: , 4 6502, . dual : Balloon fight Wrecking crew. «» Super Mario Z80.
, , . , , , , , «» («Battle city»), , . , DIP , ( ), 1984 .
NES , NES, . , , , , , NES.
NES VS SYSTEM:
NES , , 2D , , — Battle city. NES .
, , .
VS system PPU 8 . , Super Mario 2 Battle city 8 .
, , NES.
«» (NROM) NES , CNROM , 4 . , . PRG ( ) — 32 .
PPU ( , NES) VRAM, PPU, « » NES. VRAM, .
«end» .
NES , , , , .
. .
« » . . , , , () , . .
«Balloon trip», . , , , PRG , «trip» .
, ( -), .
«Balloon fight» , . . NES () , . NES , . , NES . NES «game over», , , /, .
, , , . , MAME - , - , «» , . Balloon fight, Wrecking crew . , , .
, «» , , , .
DIP :
, ;
;
;
;
, .
() (), , , , , , , , . DIP , , . , , .
, ( «») . , on/off .
, DIP 3 . — . DIP’, ( DIP’) . select.
«A/B mode». , A B. Turbo , Dendy, , NES, , . , NES, «rapid» . .
DIP , .
, , , .
, , , , NES. , , , . , , , CNROM.
, . ROM’ , , , . , ? «» . , , .
, VS system dual . CPU, PPU , , , . , .
, , . « » . : , .
, , . , , $ff .
select.
, , . . (BPL) . BNE, CNROM , , , .
The music / sound engine of the game is quite simple, and stores melodies in the form of arrays of notes and additional parameters for them.
In conclusion, I will once again briefly give a list of changes in the game after the port from the arcade machine to the NES.
Access to DIP switches in the ported version has been moved to a different location.
The game has become exclusively single-player.
Added the ability to "autorepeat" one of the joystick buttons to make it easier to play on the console.
Added an additional sound for the popping of bonus soap bubbles.
You can find this and much more in the source and compiled ROM file in my github repositories.