Skip to content

Commit

Permalink
EZNSF version 1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
bbbradsmith committed Aug 11, 2018
0 parents commit 7aa01b6
Show file tree
Hide file tree
Showing 25 changed files with 2,203 additions and 0 deletions.
76 changes: 76 additions & 0 deletions album.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# EZNSF album description file

NSF debussy.nsf

# set NROM to 1 to attempt an NROM (non-banking) build,
# otherwise uses mapper 31
NROM 0

TITLE Suite Bergamasque
ARTIST bradsmith / Claude Debussy
COPYRIGHT 2011

# each TRACK has:
# time: either as a "minutes:seconds" or just "seconds" number
# song: the original number of the song in the NSF
# title: after the song number the rest of the line is a title for the track

TRACK 03:03 1 Prelude
TRACK 03:08 2 Menuet
TRACK 03:26 3 Clair de Lune
TRACK 03:33 4 Passepied

# text for the info screen

INFO Information:
INFO
INFO This ROM was built with the
INFO EZNSF music ROM tool,
INFO by Brad Smith, 2016.
INFO
INFO B - Play Track
INFO A - Play All
INFO START - Pause
INFO SELECT - Cancel
INFO
INFO http://rainwarrior.ca

# each SCREEN has:
# 1k nametable + attributes
# 4k background tiles (nametable)
# 4k foreground tiles (sprites)
# 16b background palette
# 16b foreground palette

SCREEN TITLE title.nam tiles.chr tiles.chr colors.pal colors.pal
SCREEN INFO info.nam tiles.chr tiles.chr colors.pal colors.pal
SCREEN TRACKS tracks.nam tiles.chr tiles.chr colors.pal colors.pal
SCREEN PLAY play.nam tiles.chr tiles.chr colors.pal colors.pal

# tile coordinates of text, or pixel coordinates of visual elements

COORD TITLE_TITLE 2 6
COORD TITLE_ARTIST 2 7
COORD TITLE_COPYRIGHT 2 8
COORD TITLE_START 16 128 # pixel position of start indicator
COORD TITLE_INFO 16 144 # pixel position of info indicator

COORD INFO 2 2 # subsequent lines start below this point

COORD TRACKS_TITLE 2 2
COORD TRACKS_ARTIST 2 3
COORD TRACKS_COPYRIGHT 2 4
COORD TRACKS_TRACK 4 6 # subsequent tracks on each line

COORD PLAY_TRACK 2 23 # tile position of track name
COORD PLAY_TIME 16 168 # pixel position of time indicator

# sprite tiles used

CONST SPRITE_CHOOSE 4
CONST SPRITE_PLAY 4
CONST SPRITE_PLAY_ALL 5
CONST SPRITE_PAUSE 6
CONST SPRITE_STOP 7
CONST SPRITE_ZERO 48
CONST SPRITE_COLON 58
74 changes: 74 additions & 0 deletions album_nrom.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# EZNSF album description file

NSF brahms.nsf

# set NROM to 1 to attempt an NROM (non-banking) build,
# otherwise uses mapper 31
NROM 1

TITLE Intermezzo
ARTIST bradsmith / Johannes Brahms
COPYRIGHT 2011

# each TRACK has:
# time: either as a "minutes:seconds" or just "seconds" number
# song: the original number of the song in the NSF
# title: after the song number the rest of the line is a title for the track

TRACK 02:50 1 Op. 75, No. 7
TRACK 05:09 2 Op. 119, No. 2

# text for the info screen

INFO Information:
INFO
INFO This ROM was built with the
INFO EZNSF music ROM tool,
INFO by Brad Smith, 2016.
INFO
INFO B - Play Track
INFO A - Play All
INFO START - Pause
INFO SELECT - Cancel
INFO
INFO http://rainwarrior.ca

# each SCREEN has:
# 1k nametable + attributes
# 4k background tiles (nametable)
# 4k foreground tiles (sprites)
# 16b background palette
# 16b foreground palette

SCREEN TITLE title.nam tiles.chr tiles.chr colors.pal colors.pal
SCREEN INFO info.nam tiles.chr tiles.chr colors.pal colors.pal
SCREEN TRACKS tracks.nam tiles.chr tiles.chr colors.pal colors.pal
SCREEN PLAY play.nam tiles.chr tiles.chr colors.pal colors.pal

# tile coordinates of text, or pixel coordinates of visual elements

COORD TITLE_TITLE 2 6
COORD TITLE_ARTIST 2 7
COORD TITLE_COPYRIGHT 2 8
COORD TITLE_START 16 128 # pixel position of start indicator
COORD TITLE_INFO 16 144 # pixel position of info indicator

COORD INFO 2 2 # subsequent lines start below this point

COORD TRACKS_TITLE 2 2
COORD TRACKS_ARTIST 2 3
COORD TRACKS_COPYRIGHT 2 4
COORD TRACKS_TRACK 4 6 # subsequent tracks on each line

COORD PLAY_TRACK 2 23 # tile position of track name
COORD PLAY_TIME 16 168 # pixel position of time indicator

# sprite tiles used

CONST SPRITE_CHOOSE 4
CONST SPRITE_PLAY 4
CONST SPRITE_PLAY_ALL 5
CONST SPRITE_PAUSE 6
CONST SPRITE_STOP 7
CONST SPRITE_ZERO 48
CONST SPRITE_COLON 58
Binary file added brahms.ftm
Binary file not shown.
Binary file added brahms.nsf
Binary file not shown.
Binary file added colors.pal
Binary file not shown.
Binary file added debussy.ftm
Binary file not shown.
Binary file added debussy.nsf
Binary file not shown.
2 changes: 2 additions & 0 deletions eznsf.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
python eznsf.py
pause
21 changes: 21 additions & 0 deletions eznsf.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MEMORY {
ZP: start = $00FC, size = $0004, type = rw, file = "";
RAM: start = $0600, size = $0100, type = rw, file = "";
OAM: start = $0700, size = $0100, type = rw, file = "";
HDR: start = $0000, size = $0010, type = ro, file = "", fill = yes, fillval = $00;
PRG: start = $F000, size = $1000, type = ro, file = %O, fill = yes, fillval = $00;
NSF: start = $F000, size = $1000, type = ro, file = "", fill = yes, fillval = $00;
}

SEGMENTS {
ZEROPAGE: load = ZP, type = zp, define = yes;
BSS: load = RAM, type = bss;
OAM: load = OAM, type = bss, align = 256;
HEADER: load = HDR, type = ro;
CODE: load = PRG, type = ro;
RAMCODE: load = PRG, run = RAM, type = ro, define = yes;
ALIGN: load = PRG, type = ro, align = 32, optional = yes;
VECTORS: load = PRG, type = ro, start = $FFFA;
NSF_F000: load = NSF, type = ro, start = $F000;
NSF_VECTORS: load = NSF, type = ro, START = $FFFA;
}
Loading

0 comments on commit 7aa01b6

Please sign in to comment.