Air Fortress (Mar 3, 1989 prototype)

From Hidden Palace
Jump to navigation Jump to search
Title Screen
Air Fortress (Mar 3, 1989 prototype)
Build date Mar 3, 1989
Dump status Released
Dumped by Armageddon Potato
Released by Hidden Palace
File release date January 1, 2025
Origin EPROM cartridge
EPROMs 2x
Labels AIR FORTRESS PROG 3/3
Game Air Fortress
System NES
Genre Shoot 'em up/Platformer
Release date JP Aug 17, 1987
US Sep 1989
EU 1990
Download Air Fortress (Mar 3, 1989 prototype) (info)
Error: The download file provided does not exist, please upload it or fix the file name if it's incorrect.

A prototype of Air Fortress for the NES.

Notes

Contains some source code fragments at 0x3C4E. First chunk:

BYT	160
	.BYT	XXBARA
	.BYT	$80
;
	.WORD	$020		;XY
	.BYT	161
	.BYT	XXRRB
	.BYT	$80
;
	.WORD	$0B8		;XY
	.BYT	162
	.BYT	XXRB
	.BYT	$80
;
	.WORD	$070		;XY
	.BYT	163
	.BYT	XXBIBI
	.BYT	$20
;
	.WORD	$090		;XY
	.BYT	8
	.BYT	XXHIJO
	.BYT	$C0
;
	.WORD	$220
	.BYT	81
	.BYT	XXHIJO
	.BYT	$C0
;
	.WORD	$490
	.BYT	220
	.BYT	XXHIJO
	.BYT	$20
;
	.WORD	$520
	.BYT	221
	.BYT	XXHIJO
	.BYT	$20
;
F6ENEV7
;
	.END
;

Second chunk:

#8
	STA	SRPX
	BCC	FWAA01
	INC	SRPX+1
FWAA01	JSR	WALCHK
	BCC	FWAA11
;
FWAA10	JMP	FSHINI
;
FWAA11	RTS
;
;
; =============
;
;	ファイター死に
;
; =============
;
FSHINI
	LDA	SHINIF		; 既に死んでいる?
	BNE	FSHI10		; はい
	LDA	#1
	STA	SHINIF
	LDA	#SNBFSI		; ファイター爆発音
	JMP	SBIOS
FSHI10	RTS
;
;
	.END
;

Third chunk:

	.BYT	36
	.BYT	XXRB
	.BYT	$70
;
	.WORD	$3A0		;XY
	.BYT	37
	.BYT	XXRRB
	.BYT	$70
;
F2ENEV8
;
;
	.END
;

Contains part of a HEX file at 0x7C10 and 0x17C10 (the same part is repeated twice):

8FA50F1F1FF06028B
:18BD6800F050F0F1FF0750F2FC6060FF0E50FEFEF7070607F260F306EF
:18BD80000C0809080B06F160FF0207060607060706060606F006070ADD
:18BD98000909080DF7F006070706FF0250F4F00C0BF50505F1F0070632
:18BDB000F007070607051F1F05F060F00C09080909080BF460FF035000
:18BDC80007070606056263F150F3FF01500660525360F0F750F4FEFF68
:18BDE0000E50FEF20505FF070607F306F8F5FF0150F4F206F605505023
:18BDF800FB50F0F8FF0108F1F8FF0106F1FB05F0F06060FF0105F1057D
:18BE1000F0060607F03435FF0129F7F8500505F1F06060FF0150F2FF6A
:18BE28000350F02425FAFF0E50FE060505F80606070606060505F406F0
:18BE400006F1F1060607F207F35005F10A0D05050C0BF35050F10607F4
:18BE580006060706F3F0FF020809080809FF03080BF0FF02060706068C
:18BE700007FF04065005F10C0B05050A0DF10C080606F107FF025007CB
:18BE8800F1070CF1050550F250F2070605055050F45050F1FF0150F89B
:18BEA000FF0150FEFF0E50FE0606FCF0FF0A06F0FEF0FF0850F2FEF2C3
:18BEB800FF0606F2FE0808F00808FF0650F0FA6060F00606F0FF050672
:13BED000293435F00650FC50F1FF06506060F0FA2425F012
:0000000000

Contains a partial symbol table and some source code fragments at 0x19816. Symbol table:

65FB BWDLY         	65FC BWCTR         	65FD FADFLG        	65FE ITMCTR        	
65FF GRVITY        	6601 EBMAX2        	6602 EBMAY1        	6603 EBMAY2        	
0010 ZWIDTH        	000F ZHIGHT        	6604 LSTBUF        	6614 LNEBUF        	
6624 MLNCNT        	6625 EBMSX         	6627 EBMSY         	6629 ETCHX         	
662A ETCHY         	662B ENETCH        	663F FWACNT        	6640 FPTCH         	
6644 SAFCTR        	6645 DKMDRC        	6646 HFMCTR        	6647 VFMCTR        	
6648 HFMSPD        	664A VFMSPD        	664C HFMLMT        	664E VFMLMT        	
6650 HFMACL        	6652 VFMACL        	6654 HFMBRK        	6656 VFMGRV        	
6658 FMVDRC        	6659 FWKDLY        	665A FWKCTR        	665B FUNCTR        	
665C DMXCMP        	665D DMYCMP        	665E ELVDRC        	665F EXITHV        	
6660 ELVCND        	6661 ELVCTR        	6662 ELVX          	6663 ELVY          	
6664 VAJVAL        	6666 ELVYKS        	6668 FELVAJ        	6669 ELVNO         	
666A CELVNO        	666B IBDSAV        	666C IBDCTR        	666D FMVMOD        	
666E BASTAF        	666F SCRNXL        	6670 MMVSPD        	6672 FOFDLY        	
6673 FOFCTR        	6674 SIVACL        	6675 SIVMAX        	6676 SHINIF        	
6677 SHINIC        	6678 SHINID        	6679 DLY_SAFETY    	667A CTR_SAFETY    	
667B STT_APPEAR    	667C RNDNMB        	667D TOBCTR        	667E TOBDLY        	
667F LX            	6681 LY            	6683 RX            	6685 RY            	
6687 STODLY        	6688 STOY          	6689 STOFLG        	668A TTLCND        	
668B DISCRF        	668C STACON        	668D PASSX         	668E OLDKSV        	
668F KREPCT        	6000 STOXSZ        	6001 STOYSZ        	6002 STODAT        	
6690 FORBUF        	6690 PALET         	66B0 MAPL          	66B2 MAPH          	
66B4 HHABA         	66B5 VHABA         	66B6 MPSIZE        	66B7 ENEHD         	
66B9 EDEND         	66B9 ENEVD         	66BB ENTX          	66BB SPEHD         	
66BD ENTY          	66BD SPEVD         	66BF ENTOTD        	66C1 SVFTRX        	
66C3 SVFTRY        	66C5 SVELVA        	66C6 SVELVY        	66C7 BIGRCV        	
66C8 SVCBNK        	66CA MAPDAT        	0200 OBJFTR        	0210 OBJFBM        	
0076 OBJNX         	0075 OBJNY         	0074 OBJNK         	0080 KMASKA        	
0040 KMASKB        	0020 KMSKSL        	0010 KMSKST        	0008 KMASKU        	
0004 KMASKD        	0002 KMASKL        	0001 KMASKR        	C097 RESE90        	
C14B W2PART        	C252 MMOVR         	C26B MMOVL         	C2BA MMOVD         	
C2D7 MMOVU         	C328 SXYFDM        	C349 DSPMAP        	C3CF IMDATH        	
C3D6 IMDATV        	C4B5 SIRAPA        	C4DA RQPOS         	C4FF PUTPRT        	
C60E SEBPOS        	C661 SEFDRC        	C679 SEBDRC        	C761 EBMSSB        	
C76E EBMSET        	C778 EBMS20        	C797 LBMSET        	C7A7 EFBSET        	
C7B4 CBMSET        	C7E1 BBMSET        	C7F8 MVEBM         	C9E9 WEBM          	
CA96 MVFBM         	CAC0 WFBM          	CAEC SETPLT        	CB9A SETPOBJRAM    	
CBBB WPOSE         	CC25 NOMOREOBJ     	CC48 PAUSE         	CC67 WNUMBER       	
CC9E DSPEGY        	CD78 EGYADD        	CDA3 EGYSUB        	CDC5 MAXADD        	
CDD5 MAXSUB        	CDF0 FADIN         	CDF2 FADINK        	CE27 FADOUT        	
CE29 FADOUK        	CE65 BASINI        	CEB5 FORINI        	CF23 BASGAME       	
CF31 FORGAME       	CF3C GAMEOVR       	CF44 GOEND         	CF4C ALLLFT        	
CF8F ALLRGT        	CFBF ALLDWN        	D000 ALLUP         	D043 EVLONE        	
D045 EVLON0        	D079 EVRONE        	D07B EVRON0        	D09B EVDONE        	
D09D EVDON0        	D0BD EVUONE        	D0BF EVUON0        	D0E1 CMVSUB        	
D168 WSHUTR        	D2F9 QUAK90        	D391 DNMI          	D39B ENMI          	
D3A1 SYNC          	D3BC WRMMC0        	D3D0 WRMMC1        	D3EB WRMMC2        	
D406 WRMMC3        	D421 SETH          	D426 SETV          	D42B DISSCR        	
D436 ENASCR        	D43E VADRS         	D492 FILVRM        	D498 WVRMP1        	
D49E WRTVRM        	D6BB CLROBJ        	D70C SBIOS         	D7F6 BSBIOS        	
0000 BS_XOPENING   	0001 BS_XRDSTART   	0002 BS_XAIRBASE   	0003 BS_XFORTRESS  	
0004 BS_XJISHIN    	0005 BS_XBIGBANG   	0006 BS_XESCAPE    	0007 BS_XENDING    	
0000 FS_XENEDAMG   	0001 FS_XGONDORA   	0002 FS_XEXPLO1    	0003 FS_XEXPLO2    	
0004 FS_XBOMB      	0005 FS_XSHOT      	0006 FS_XDAMAGE    	0007 FS_XGATE      	
0008 FS_XWARP      	0009 FS_XINRYOKU   	000A FS_XUFO       	000B FS_XBACULA    	
000C FS_XDEAD      	000D FS_XEXPLO3    	000E FS_XITEM      	000F FS_XALLCRASH  	
0010 FS_XELEVATOR  	0011 FS_XEFIGHTER  	0012 FS_XRIDEON    	0013 FS_XPASSWORD  	
0014 FS_XCUBE      	0000 XXRB          	0001 XXRRB         	0002 XXLS          	
0003 XXRLS         	0004 XXIRIS        	0005 XXBIBI        	0006 XXSGON        	
0007 XXFGON        	0008 XXSNCU        	0009 XXNCUB        	000A XXSSCU        	
000B XXSCUB        	000C XXEFT1        	000D XXEFT2        	000E XXEFT3        	
000F XXEFT4        	0010 XXUFO         	0011 XXFLY         	0012 XXBFLY        	
0013 XXGFLY        	0014 XXLEG         	0015 XXBALL        	0016 XXSLIM        	
0017 XXBIG         	0018 XXEXIT        	0019 XXHIJO        	001A XXITME        	
001B XXITMB        	001C XXBARA        	001D XXRBAR        	001E XXGRAV        	
001F XXAHO         	0020 XXRAHO        	0021 XXRBTY        	0022 XXRTBM        	
0000 PAKND1        	0040 PAKND2        	0050 PAKND3        	0070 PAKND4        	
00B0 PAKND5        	001E PASLIM        	001F PASPC         	0044 PATOGE        	
0048 PAGRAV        	0062 PAENTL        	0063 PAENTR        	0000 PNZBM         	
8000 TEST          	8070 TEST06        	8145 TEST00        	814D TEST02        	
8154 TEST03        	815E TEST04        	81A0 TEST01        	81CE TEST05        	
81D4 TEST10        	81D8 TEST12        	81E0 TEST13        	81F8 TEST50        	
8203 TEST52        	8212 TEST51        	8215 ENTOTU        	8229 ENTO00        	
823A ENTO10        	8247 ENTO11        	8254 ENTO12        	8270 ENTO20        	
828D ENTO21        	829A ENTO22        	82DD ENTO30        	82E7 ENTO32        	
82EF ENTO23        	82FF ENTO31        	8311 ENTO33        	8316 ENTO24        	
831D MGLOOP        	832D MGLO00        	834A MGLO02        	8373 MGLO01        	
837A MGLO10        	8390 SHINI         	83C4 SHIN10        	83C9 SHIN11        	
83D8 SHIN12        	83F0 TIMEUP        	83FB OVER          	8403 WAIT          	
8406 WAIT00        	8412 BIGBAN        	8426 BIGB10        	8440 BIGB11        	
844B HEHEHE        	845B HEHE00        	845C HEHE90        	8475 HEHE91        	
8486 HEHE92        	849C HEHEA0        	84A1 HEHEA1        	84A6 ENESET        	
84D4 ENES01        	84D9 ENES00        	84EF ENES03        	84FA ENES02        	
8505 ENES04        	8507 ENES10        	850B ENES11        	851A ENES12        	
851D ENES13        	8522 ENES20        	8529 ENES21        	8558 ENES25        	
855A ENES22        	8566 ENES23        	856B ENES24        	8575 ENES30        	
85A9 ENES31        	85C1 ENES40        	85CF ENES41        	85D3 ENES42        	
85D5 ENES43        	85E6 ENES44        	85EA ENES45        	85EC ENES46        	
85F5 ENES90        	85FD ENES91        	8601 ENES92        	8605 ENEINI        	
8638 SEMPXY        	866A SEMP11        	8675 SEMP12        	8683 SEMP13        	
8684 ETCHPA        	8689 ETCHP0        	869E ETCH10        	86B4 ETCH11        	
86BE ETCH12        	86CF ETCH13        	86D2 ETCH14        	86DC ETCH15        	
86E4 ETCH16        	86EB ETCH17        	86FB ETCH90        	0000 CNROBO        	
0001 CNRROB        	0002 CNGOND        	0003 CNNCUB        	0004 CNSCUB        	
0008 CNEFTR        	000C CNUFO         	000E CNLEG         	0012 CNSLIM        	
0016 CNRBTY        	0018 CNRTBM        	8714 ETCH91        	872D CDROBO        	
8736 CDRROB        	873F CDGOND        	8744 CDNCUB        	8747 CDSCU1        	
874E CDSCU2        	8755 CDSCU3        	875C CDSCU4        	8763 CDEFT1        	
876E CDEFT2        	8779 CDEFT3        	8784 CDEFT4        	878F CDUFO1        	
8792 CDUFO2        	8795 CDLEG1        	879C CDLEG2        	87A3 CDLEG3        	
87AA CDLEG4        	87B1 CDSLM1        	87B4 CDSLM2        	87B7 CDSLM3        	
87BA CDSLM4        	87BD CDRBT1        	87C6 CDRBT2        	87CF CDRTBM        	
87D2 ENEEXP        	880E ENEE03        	881C ENEE05        	8820 ENEE04        	
882A ENEE02        	882F ENEE01        	8836 ENEE00        	8848 ENEE10        	
884B ENEE20        	886C ENEE22        	886F ENEE90        	8874 ENEE91        	
8879 ENEE92        	887D ENEE96        	8882 ENEE97        	8887 DELENE        	
88A2 DELE90        	88AA ENEMOV        	88BE ENEM15        	88C4 ENEM10        	
88CF ENEM11        	88DC ENEM12        	88E6 ENEM16        	88EC ENEM13        	
88F7 ENEM14        	88FB ENEM00        	890A ENEM02        	894F ENEM01        	
8953 ENEM80        	8956 ENEM90        	899C EMROBO        	89A6 EMRO00        	
89B5 EMRO01        	89D8 EMRO10        	89E0 EMRO16        	89E1 EMRO11        	
8A27 EMRO20        	8A35 EMRO30        	8A3E EMRO32        	8A41 EMRO90        	
8A45 EMRO91        	8A4D E

First source code chunk:

XXGFLY
	.BYT	$50
;
	.WORD	$320
	.BYT	66
	.BYT	XXGFLY
	.BYT	$A0
;
	.WORD	$110		;XY
	.BYT	70
	.BYT	XXHIJO
	.BYT	$C0
;
F3ENEV5
;
	.END
;

Second source code chunk:

BASEQU
	.LIB	BASENEQU
;
;
	.LIB	Opening
	.LIB	IROIRO
;
;
	.LIB	BASTEST
	.LIB	BasEnemy
	.LIB	BASETC
	.LIB	BIKE
	.LIB	BASPOSE
	.LIB	BASPARTS
;
;
	.END
;

Third source code chunk:

	$08,$12,$FF,$02,$50,$F0,$FF,$08
	.BYTE	$50,$F4,$FE
;
;
	.END
;

Fourth source code chunk:

,$44,$F2,$F1,$05,$06
	.BYTE	$06,$0C,$08,$0D,$06,$05,$05,$44
	.BYTE	$F1,$F1,$06,$F0,$07,$06,$07,$06
	.BYTE	$06,$06,$05,$F1,$F1,$50,$F2,$60
	.BYTE	$F1,$06,$F1,$F2,$50,$F0,$FF,$01
	.BYTE	$50,$F4,$F2,$60,$08,$09,$60,$50
	.BYTE	$60,$08,$08,$0D,$F1,$F2,$06,$06
	.BYTE	$07,$06,$50,$50,$06,$06,$07,$06
	.BYTE	$F0,$F8,$50,$06,$0A,$08,$F0,$FA
	.BYTE	$06,$06,$F0,$F1,$06,$F1,$50,$F3
	.BYTE	$50,$F0,$FE,$FE
;
;	F6MP Data No 64
;
F6MP64
	.BYTE	$FE,$FE,$FE,$FE,$FE,$FE,$FE,$FE
	.BYTE	$FE,$FE,$FE,$FE,$FE,$FE,$FE
;
;
	.END

Origin

Acknowledgments

A huge thanks to Armageddon Potato for this bountiful lot as well as togemet2 for documenting and analyzing parts of the lot!

See also