It is currently Fri Jan 19, 2018 2:50 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 24 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: ASM6 templates
PostPosted: Fri Jul 24, 2015 4:06 am 
Offline

Joined: Sat Apr 12, 2014 12:11 pm
Posts: 120
Location: Gothenburg, Sweden
Deemar wrote:
I'm super new to Assembly, what are these templates for exactly? If it's a template for making a NES game, why is there more than one? Thanks.

A template is just something to help getting started with a project.

So, for example, let's say you want to make a small game, without any mapper:
Use nrom (the size of Super Mario Bros, Kung Fu, etc)

nrom is 32k (2x16) of code, 8k of chr rom. <-- start here :)

unrom allows you to add additional (in this case 8x16k) program memory and switch whenever you need to.

cnrom allows you to switch between 4 different chr rom banks in 8k sections.

_________________
I´ve got %01100011 problems but the BITs aint one.


Top
 Profile  
 
 Post subject: Re: ASM6 templates
PostPosted: Fri Jul 24, 2015 5:59 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10229
Location: Rio de Janeiro - Brazil
Yeah, these are just "skeletons" you can use to get started. They already generate .nes files in the correct format to be used with NES emulators. They don't have any code though, you have to write that part.

There are different templates because there are different types of NES cartridges, with different hardware configurations. These templates cover the most common configurations used by beginners.


Top
 Profile  
 
 Post subject: Re: ASM6 templates
PostPosted: Tue Mar 07, 2017 2:23 pm 
Offline
User avatar

Joined: Wed Apr 07, 2010 1:14 am
Posts: 484
Location: Iran
According to this topic I used .pad instead of .org
Is it ok?

TNROM Template :

Code:
; ASM6 TNROM Template (512KB PRG + 8KB VRAM + 8KB WRAM + Battery)
; Use Notepad++ for best view
;-----------------------------------------------------------------------------------
;iNES Header
  .db $4E, $45, $53, $1A, $20, $00, $42, $00, $00, $00, $00, $00, $00, $00, $00, $00
;-----------------------------------------------------------------------------------
;PRG Bank0 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank1 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank2 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank3 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank4 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank5 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank6 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank7 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank8 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank9 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank10 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank11 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank12 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank13 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank14 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank15 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank16 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank17 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank18 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank19 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank20 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank21 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank22 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank23 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank24 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank25 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank26 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank27 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank28 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank29 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank30 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank31 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank32 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank33 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank34 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank35 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank36 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank37 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank38 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank39 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank40 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank41 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank42 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank43 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank44 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank45 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank46 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank47 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank48 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank49 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank50 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank51 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank52 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank53 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank54 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank55 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank56 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank57 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank58 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank59 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000
;-----------------------------------------------------------------------------------
;PRG Bank60 $8000 ~ $9FFF
  .base $8000
  ;User Codes
  .pad $A000
;-----------------------------------------------------------------------------------
;PRG Bank61 $A000 ~ $BFFF
  .base $A000
  ;User Codes
  .pad $C000 
;-----------------------------------------------------------------------------------
;PRG Bank62 $C000 ~ $DFFF
  .base $C000
  ;User Codes
  .pad $E000
;-----------------------------------------------------------------------------------
;PRG Bank63 $E000 ~ $FFFF
  .base $E000
  ;User Codes

RESET:


NMI:
   RTI
 
IRQ:
   RTI
 
;Vectors
  .org $FFFA
  .dw NMI
  .dw RESET
  .dw IRQ


Top
 Profile  
 
 Post subject: Re: ASM6 templates
PostPosted: Tue Nov 28, 2017 9:56 pm 
Offline
User avatar

Joined: Sat Feb 23, 2013 4:16 pm
Posts: 63
Quote:
unrom allows you to add additional (in this case 8x16k) program memory and switch whenever you need to.


How much and how limit program memory can you put? As big as Dragon Quest [Around 1MB] or 10000000000000 times bigger than that? Or it's purely limited, to the point where you can't put like 6502KB anymore? I forgot which templates is the infinite memories and infinite sprites, graphics, and backgrounds.

_________________
I am thinking of requesting a tutor [free] to learn NES programming in 6502 Assembly, as I am still baffled on the Bunnyboy 6504 lessons. If anyone want to help, I'm happy.
Bear in mind I may act silly or have trouble understanding, so please bear with me.


Top
 Profile  
 
 Post subject: Re: ASM6 templates
PostPosted: Wed Nov 29, 2017 8:03 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19487
Location: NE Indiana, USA (NTSC)
The PowerPak is limited to 512 KiB PRG ROM and 512 KiB CHR ROM/RAM. So are 8-bit parallel flash ROMs designed for 5.0 V PCBs.

Going beyond that depends on whether or not you want to keep the execute-in-place (XIP) architecture. If you're willing to change it so that most of the program is loaded from NAND flash memory into RAM, with only a small "boot sector" stored in a ROM, you can go into the gigabytes.


Top
 Profile  
 
 Post subject: Re: ASM6 templates
PostPosted: Wed Nov 29, 2017 2:55 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1909
Location: DIGDUG
caramelpuffpuff wrote:
Quote:
unrom allows you to add additional (in this case 8x16k) program memory and switch whenever you need to.


How much and how limit program memory can you put? As big as Dragon Quest [Around 1MB] or 10000000000000 times bigger than that? Or it's purely limited, to the point where you can't put like 6502KB anymore? I forgot which templates is the infinite memories and infinite sprites, graphics, and backgrounds.



Dragon Quest 4 is 512k PRG ROM (and 8k CHR RAM, and 8k SRAM)

http://bootgod.dyndns.org:7777/profile.php?id=1276

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
 Post subject: Re: ASM6 templates
PostPosted: Wed Nov 29, 2017 3:00 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10229
Location: Rio de Janeiro - Brazil
Isn't Kirby's Adventure considered the largest licensed NES game?


Top
 Profile  
 
 Post subject: Re: ASM6 templates
PostPosted: Wed Nov 29, 2017 3:12 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1909
Location: DIGDUG
Bootgod says...

http://bootgod.dyndns.org:7777/profile.php?id=170

Kirbys Adventure
512 k PRG
256 k CHR

http://bootgod.dyndns.org:7777/profile.php?id=4733

Metal Slader Glory
512 k prg
512 k chr

http://bootgod.dyndns.org:7777/profile.php?id=1409

Just Breed
512 k prg
256 k chr

http://bootgod.dyndns.org:7777/profile.php?id=1161

Action 52
512 k prg x 3 !
512 k chr

Edit, added links.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
 Post subject: Re: ASM6 templates
PostPosted: Wed Nov 29, 2017 3:49 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10229
Location: Rio de Janeiro - Brazil
I guess Kirby gets the reputation of being the largest *NES* game because the others are Famicom only, and Action 52 is not even licensed.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 24 posts ]  Go to page Previous  1, 2

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group