Instrument Editor in NT2

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Instrument Editor in NT2
by on (#3570)
I can't seem to figure out how to get to the instrument editor in NerdTracker 2. I'm guessing this is what it looks like...

http://nesdev.com/nt2/tips-dpcm.htm

I'm not finding a screen set-up like that anywhere. I can't find anything in the .txt file with it, either (besides the ASCII diagram of those pics). How do I get to that :?

by on (#3571)
That's the DPCM instrument editor, you can get to it by pressing shift+* or shift+F3

by on (#3655)
Okay, when I have Hold Note and Envelope Fix in the 'On' position, it affects the noise channel as well. It makes everything repeat alot. I'm not sure how to get around that so I can have just a basic - Bass, Snare, Bass, Snare beat. Am I doing something wrong here?

Also, if I don't have those two set to 'On,' I hear nothing on playback. I have the instrument volume set at 6 as well.

by on (#3659)
That's because if you don't have Hold note or that on, you need to set the instrument time length before you start placing notes down. If you have it on 0, it will likewise, have 0 timelength. If you put it on 1, it will be a very stacatto, short sound. You probably want it on like 5 if you don't want hold note. And if you don't have vdmsound, go get it. It really helps. Just google vdmsound, and you'll find it. It's really good for making DOS output good sound. though it makes the instruments sound slightly flat, it doesn't make them that way when you make it into an NSF. I'm done talking. :)

by on (#3660)
Envelope Fix needs to be on, it's from a feature in the earlier NT2 versions that was made obsolete (NES's hardware volume envelopes - useless).

If you have Hold Note off, then you have to set the Time Length value to something non-zero. None of this will have any effect on the DPCM channel though.
Laptop key to switch from pattern to instrument editor
by on (#4645)
I can't seem to find the appropriate key that will allow me to shift between the different editors. I don't have a numerical pad because I'm using a laptop. Any suggestions?

by on (#4647)
Purchase and connect a desktop computer keyboard, or otherwise see if you can hold Fn+something to get Keypad*.

by on (#4761)
I have a question that kind of has something to do with this forum, so I will ask it. How do you jump back really far in NT2? Like at the end of a song, if you're at block 0F, and you want to jump back to block 06, or something, how do you do that? I know you can just do this kind of stuff:
Code:
C-4 01 C08|--- -- DFF|


That DFF will take you 256 notes past the beggining, I believe, and you can't just like jump to the middle of the song. I think if you go on the NT2 page, you can download the CV2 NED, and somehow at the end, they jump back right to the middle, and I looked at it, and I really don't know how they did it, it looks like this:
Code:
C-5 03 C30|--- -- D00|


and with that segment, it carries them back to the middle somehow. Anyone know how this is possible???

by on (#4764)
In my tests, I have found only D00 to be reliable for moving to the first row of the next section.

If you want the song to loop back to a specific section once it reaches the end, go to the order view (keypad *), move to the section you want the loop to start at, and press the space bar.

by on (#4768)
Yeah, use the space bar like tepples said. The loop point doesn't get marked visually though.

Another obscure D00 trick is to use that effect in more than one channel at once, it'll skip several patterns ahead. Rarely useful though.

by on (#4770)
Thanks! I have my song loop back to where I want it to :)!

by on (#5043)
I have a question, it was answered in some forum, or it was some FAQ that had to do with NT2, but I can't find it. anyways, I was wondering how many things you could have in NT2, or an NSF? And be things I mean these, up in the left corner:

__________________
|00 00 01 00 01 00 |
....

Those lines, those blocks of the song! how many can you have in a row? does it only go up to 0F? Is it okay for a song to go beyond that? because it lets you keep editing in NT2 after 0F, and I was wondering if that was either laziness in developing the program, or if you can actually go beyond that point. Can you?

by on (#5044)
Yeah, NT2's editor reflects it's replay code limits for this. Wouldn't be too fun to write a song then not be able to play it. :)

So yeah, you can use as many as NT2 will allow. Which is up to 32 ($1F) unique patterns for each channel, and I think 128 rows in the order editor (which could make for quite a long and repititive song). One of Chibi-Tech's NSFs surpasses the pattern limit by simply switching NEDs automatically once certain rows are reached in the order.

NSF format is just a container, the only limit it has is allowing "only" 256 different songs per NSF.

by on (#5047)
Memblers wrote:
So yeah, you can use as many as NT2 will allow. Which is up to 32 ($1F) unique patterns for each channel, and I think 128 rows in the order editor

In the first half of 2001, I ran into a problem where I couldn't use more than 28 rows in the order table (00-1B) with the NT2 replay code. I investigated it in the code and it looked like a problem with carrying in the address calculations, but I didn't have time to dig into it back then. Has this been fixed since then?

Quote:
(which could make for quite a long and repititive song).

Shinin', shinin', shinin', shinin', shinin'... If Mondo Grosso can get away with it in a Mizuguchi game...

by on (#5049)
tepples wrote:
In the first half of 2001, I ran into a problem where I couldn't use more than 28 rows in the order table (00-1B) with the NT2 replay code. I investigated it in the code and it looked like a problem with carrying in the address calculations, but I didn't have time to dig into it back then. Has this been fixed since then?


Yeah, that had been fixed back around that time, 2001 or so. Actually I'm not sure how high up it'll go now, but I'm sure it's at least up to $3F.

by on (#5068)
I have this STUPID STUPID problem! I have an NSF of the main world map theme from FFVII that I made in NT2, and it has about 1A tracks in a row. I saved it, and I have it loop back to where I want, and I press enter to make it make that temp file. I put it in my NSF, and right at the end, there was an extra track. I open the NED, and see that there's another track at the end. I delete, save, and press enter, and make the NSF. I listen again, and it's still there! I open the NED, It's still there! It's another bug! WHY!? IT'S SO STUPID! AND I CAN'T FIX IT! WHY!??? I've come to a conclusion. NT2 is a very low class program! But very useful... Any idea what's wrong and how to fix it?

by on (#5070)
You have to change all the channels to use pattern 0 before you can delete it from the order list (only if it's the last order).

by on (#5072)
...I am making the most digusted face right now, because that is the most retarded thing I've ever heard. Well, thanks for the info. Yeah, it was just the last thing. Oh, I hated listening to my NSF which was really slow, and really long, and not exciting to just hear the end and see if it's all screwed up, and oh, it was, so I got to go try fix it, and listen to it again to see if it works, and it didn't. But no, after you told me that, I got it fixed. So thanks! :)

by on (#5075)
The answer is simple, don't use NT2. I think it isn't good at all because of all it's bug and lazy non-features. Making my own replay code has been so much fun and is so much reliable, and it wastes so much less ROM (however it uses more RAM than NT2, but who cares ?)
FFVII music on the NES, that should really rock 8)

by on (#5090)
Quote:
FFVII music on the NES... That should rock 8)


YES! I didn't think I would ever hear anyone say that! I have hear an NSF with 7 songs on it, and 1 sound effect for the Cure 2 spell. And I also have made some graphics if you'd like to see:

www.freewebs.com/the_bott/Celius' FFVII music.zip
www.freewebs.com/the_bott/Celius' FFVII graphics.zip

Please don't steal any of these files I have made. I will be very angry! And yes, I'm doing what you think I'm doing, and please don't steal my wonderful idea, I will be very upset! I wasn't going to tell anyone here, because I didn't think they'd think I'd be able to do it, but I don't care anymore! I'm doing it! Sorry, due to stupid difficulties, you must copy and paste the url into a new tab or something... And please, tell me what you think! I know it needs some touching up, like the FFVII world map theme, at the end, it gliches, and there's a horrid fuzz out sound on one of the notes.

by on (#5091)
Please, calm down !
I suspected that scince months (with your problems loading a FFVII title screen). I think that you had a good idea, so you decided to learn programming, right ? If so that's not bad at all, but you probably shouldn't hoping do it alone. I think it would be better to get some allies to get things faster and better. It's up to you to determinate anyway.
Definitely, NT2 should NOT be used in a such project. If you were juse making FFVII music to entertain, it would be okay, but if you plan to actually programm a NES version of FFVII you would have a lot of trouble incorporing NT2 engine in it and to make it working with sound effects, etc... It would just be a shame. I think you or someone else should write a better engine to handle high-quality sound and SFX, so the game won't be disgraded.
Your links you posed are unusable, I didn't get the ' thing. Please post a valid filename, I would be interessed to see how it looks.
I hope for you that your project won't be shutted down by Square-Enix, Sony nor Ninendo and that you won't go in prison for violating intellectual propritety.
Finally, you should put more effort to make light-and-shadow effects on Cloud's face. That would look better. On the NES you can use a combination of BG and sprites to reach such graphics, this is perfectly doable in the menu, I guess.

by on (#5095)
Okay, I didn't mean to seem angry. and you must copy and paste the whole url, even the part that isn't highlited in yellow. It wouldn't let me do a whole url of that, so I just said to copy and paste it into another tab on firefox, or whatever browser you have. Okay, about the portraits. Since the NES can only use 4 sprite palletes, it's hard to do portraits. I am proud of the result of them. I plan to use the same method FF2 did to load the portraits. Load them as sprites intead of BG tiles. And since you can only have 3 characters at a time in your party, you'd be able to pull off using 3 palletes for the portraits, and 1 pallete for the hand, and icons, and such. And when you have to have all portraits on the screen while changing party members, you'd just use the hand pallete for characters that aren't in your party, so their portraits would be in grayscale. It's kind of confusing if you don't look at the chr file, so you can see what I mean if you look at it. I've been really selfish about this project in the past, but I was going to ask you, would you like to work on this with me? You're pretty much the only hardcore FF fan that knows NESdev, that I know of. So I'd really like for you to work on this with me. Do you accept?

by on (#5097)
Of course.
I successed loading the files and watched the graphics, that looks pretty good, especially the faces, but that could be better, if you see what I mean. It is very important than luminosity does 90% of graphics and color does 10%
However, portraits needs a bunch of colorness to be cool. I think you should make some sprites overlaps some others to have more color, or simply comine background and sprites. For example, Megaman is made of five colors, black, dark blue, light blue, yellow and white. How's that possible, the nes only have 3 ? There is the "armor" sprite, that's black, blue and light bluw, and the "face" sprite, that is black, yellow and white.
I'd really like to work on the music. Because I LOVED write the only (simple) NES sound engine I wrote, and I'm pretty much inspired to write a more advanced one. I happened to convert more than a half of FF7 music to MIDI format, just by listening the CD, step by step, and rewrite all notes. That was my best plasure, before I was dealing with programming, heh. I think I really should write a sound engine and input all data in it for music. I did already a half of the work with MIDIs, and actually I havent trough that I was doing that for any use before. If my work could be used, that would be cool.
Just tell me what mapper and what size you have in mind for the total project. If I do that, I would need bankswitching, so I would need how bankswitched the game is. You're most probably gonna to use save games, so I think MMC1 would be just fine. (SNROM, SKROM (in function of if you want CHROM or CHRAM, this doesn't affect music in any way anyway (hehe, english can be fun sometimes) ), or SOROM to have more SRAM or SUROM to have more PRG). Or do you plan to use MMC5 with ultra-powerfull graphics ? In that case I can dispose of more advanced bankswitching, and even have RAM in PRG space. I think MMC1 would be enough to make a powerfull sound engine, it's up to you the main programmer to determine.
I'm ready to help you in anyother domain, but you'll probably need more people to do a such project. I've suspended my RPG simply because I haven't enough programming skills, and because I needed friends and other people to work with me. But, to say it so, I had to already have done something, else nobody would belive it when I say "hey, do you want to join me to make a NES RPG ?". So I began my simpler action/adventure game I'm working right now.

by on (#5098)
Yeah I think MMC1 would be fine. That's what FF1+2 used right? Yeah, and I'd like to use CHR-RAM, but I've never really used it, so I should probably get familiar with using CHR-RAM. And I was thinking about making a good IDE that would have a map editor, and a text editor, and stuff. Though what it would to is it would have multiple tabs on it, like this:

_________________________
|Map Editor| Text Editor| Battle Editor|

and instead of making binary hibber jibberish, it would encode data into an asm file as you kept editing, and then you could assemble it to make your game! Do you think the IDE sounds good? And I'd like to hear a sample of your FFVII NES music. Perhaps you could make a ROM that plays a song from FFVII for me, and please make it not the prelude, if you do. With this IDE, I think it would be SO much faster, and alot less confusing. What do you think?

by on (#5099)
If I wanted to write my own music engine, should I just write a MIDI file interpreter in 6502 asm, or what kind of conversion would be best?

by on (#5100)
I was thinking about converting it manually, it just spare a lot of size, because MIDI is pretty much wasteless.
I also need to know wich assembler I should use. I'm now pretty much familiar with WLA-DX, but I think the whole project should be done with the same assembler. NESHLA maybe ?
Else, you could still incbin my file in your, and I will make a pratical vectors, so you just have to call $8000 to init and $8003 to play, and it's up to me with my separate assembler to do it.
Okay, I'll make a MMC1-bankswitched sound engine. I'll include fair pitch control (vibrato, detune, slide, portamento) and fair volume control (ADSR or something, with possible fade in and out, and master volume control for each track). Overall, a sample should be ready in several weeks. I will decide wich tunes I'll do this night (sleeping is good to take ideas). I think the rufus welcoming ceremony is cool and pretty easy to do.
I'll try to make my engine pretty efficiant in RAM and ROM, etc... Of course, I'll make sound effect playback possible, and easy to use for the main programmer. I think it's better to work on more than one people on a project. I really want to deal with the sound ;-)

by on (#5103)
I told some people on 1up about my FFVII project, and I said I'd do the Tech Demo pretty soon. So I think you should do the opening theme, and the bombing mission. I'm not exactly sure how I'll go about doing the opening sequence. It will be hard in 2 dimensions. I think I have an idea though. I don't know which assembler we should use. Neshla may be good, but I HATE setting things up. I've never really used Wla-DX too much. It was really confusing. To be honest, my current assembler is Nesasm. I was NOT planning on using it for FFVII, though. I'm not sure how to convert Nesasm to Wladx code. But I think we should use Wla-dx. But what do you think of my idea for the IDE? I think it could be good, but may be hard to make. I suck at C/C++, though, but I'm getting better. But yeah, before I make the IDE, I'll have to write the engine, and you can write the sound engine.

by on (#5116)
The IDE may be good, but you have to rely on something decent. I didn't get what exactly you mean, but have an editor for all data would be great, so you just have to do coding, and incbin your data files.
Having separate code for field, battle and menu would be a fair stating point. In your VBlank, you may check a flag to know if you are in battle, on field or in menu, and then jump to a different adress in function of that. Or maybe doing a RAM vector and use jmp (indirect) in your NMI, or use jump tables. Scince you have to update field tiles, and text box tiles on field, you'll probably need more advanced text box buffers in menu, and in battle, you'll have to upload stuff like monster and status bar.
About the oppening sequence, I think you'll need to make it much simpler than on the original game. Making a horizontal scrooling train with a town background (I mean changin the horizontal scroll value midframe), then make it stopping and make Cloud and Barret jump out of it would be the NES equivalent of what you see on the Play Station.
The bombing mission is my favorite, so I'll do it along with several simpler tunes.... However, scince the NES has 3 channels + noise for drums, it needs to be remixed a lot.

by on (#5124)
By the way, if you want some example of detailed face, check the Megaman games (Megaman 2-6, not the original one). I think they all use a combination of BG and sprites to make them. It is also possible to use a combination of sprites and sprite if you prefer. Megaman games can show the palettes of 8 different "mens" with the same palettes, why wouldn't the same be applicable for FF7 party members ?

by on (#5132)
I don't know. I'm trying to think what background palletes I'll be using for the menu screen. I think I'll be using about 1, and that will leave me with three blank palletes for the bg. I am using materia as sprites, you can see in the chr file I gave you. thankfully you'll only see 1 pallete on screen for the portrait when materia is visible. In the materia changing screen the sprite palletes will be like this:
$??,$??,$??
$29,$05,$28
$03,$22,$FF
$00,$10,$20

the question marks are whatever colors the character's portrait are colored with, and the middle ones are materia, and the last one is the pallete for the hand/icons. I know the BG pallete I'm going to use:
$3F,$01,$10,$30

so yeah, I could make it so there are 8 colors per portrait! if I have three left. What would I use the other palletes for? Okay. My IDE, I think I didn't explain well. It would have a map,battle,text etc. editor, but it wouldn't make a binary file to incbin in your code. It would make a binary file to get the current state of how all the maps look and stuff, but it wouldn't really have anything to do with the game itself. There would be a tap that says "asm file", and it would be the tab you click on to look at your asm file, of course. but what the IDE would do, is as you go along, it encodes data into your asm file. Like say there was a pallete editor, and you clicked on the tab that likewise, said pallete editor. there would be a screen with all the colors on it , and you click on which ones you want. Say I clicked on $3F,$30,$26, and $24. I would go back to my asm file tab, and there would be a segment that says:

pallete:
.db $3F,$30,$26,$24

Sound good? do you understand? it writes asm code for you, as you keep editing. and it would make a binary file that keeps your map/text etc. info, so when you open the IDE, your still at your current place, if you know what I mean. I'm sorry, I need to learn how to talk. Well, I hope you understand that, because I think that's what I'm going to use. I would of course write the engine to the game first, and then the data that's encoded into the asm file would be engine friendly, and work well with the engine. Tell me what you think.

by on (#5145)
About the menu graphics, I've got some fair recommendations to you.
You want to do magic materia (geen, $29), invocation materia (red, $05), talent materia (yellow $28), support materia (pink $03) and associative matteria (blue $22). But basically a materia is a colorfull sphere and reflects light. So, to have better graphics use some dots of different luminosity to have it looking spheric, not flat and make such palettes :
$29, $22, $30 <- green materias uses color 1 and 3, blue ones uses 2 and 3
$05, $28, $34 <- use this for red and yellow materias
$03, $xx, $30 <- uses this for pink matteria and possibly something else
$00, $10, $20 <- use this for you cursor

But, you can use theese palettes as well to draw cloud's face, for example the palette used for yellow materias could be used to draw his hair, and the palette for blue materias could draw his eyes, or his clothes.
Now, if you want more customness, you can make the cursor be another color than gray and use the palette of a materia or be drawn in BG. That wouldn't really change the game, and you can use a custom palette that would be different in function of the selected character.
Also, in the main menu, there would be room for three custom sprite palette, and the cursor could use the fourth one. If you prefer do fixed palettes (this is simpler to code), you can use the exact same palettes as on the materia screen to draw your faces.
If you also want a part of them to be drawn in BG, you can still also use either the custom mode (3 free BG palettes in main screen), and do the portraits in graysale mode, or do a fixed BG palette for all portrait, that would reduce the amount of possible color, but that won't forcely affect the quality of the faces, and that enables you to draw all portraits with their color in PHS screen. Else, you can just show the characters, not the faces, like in FF6.
Finally you can have 4 palette techniques : fixed BG and fixed sprites, fixed BG and custom sprites, custom BG and fixed sprites, or custom BG and custom sprites. The only restriction is that you cannot use the gray color as you like for the cusor on materia screen if you use custom sprite palette.

About the IDE, I don't exacly see any advante on generating a binary file to be .incbin'ed. I think that you had problems earlier while inbin'ing a binary file, but that doesn't meak that this method sucks, scicne it's the EXACT equivalent of using .db
I think that if you use correctly .incbin, there should be no problem. But delete NESASM and pick up a better assembler, you'll have more features and less troubles (even if you need to learn how its directives works).

by on (#5149)
Okay, my IDE doesn't make an bin file to incbin. it's like the easy freewebs builder that allows you to build your site, and actually have fun with it, and it does the HTML for you. I'm going to make my IDE so I can edit the map and stuff, but it will do the asm code for me, so I don't have to really do asm too much. And sorry to do this on such short notice, but I think we should use NESHLA. I'm sorry, if you wrote the sound engine in WLADX, it won't be too hard to convert to NESHLA, will it? Sorry about that, I can't really use WlaDx. I like NESHLA, because it's C freindly, and it has many features. But I'm going to send you a private message with my email, so we can be in contact, and send eachother code and stuff. I will most likely reply within the day, because I read my email every day, and usually respond immediatly.

by on (#5152)
Okay, let's go for NES HLA.... I just have to learn how it's works, so you can count arround the end of the week until I understant proprely how it works.
Generating ASM code like HTML is simply not possible. It is a nonsense to me. Genertaing data is possible, yes, so it would do .db $xx, $xx, etc...
In that case it is the EXACT equivelent of a single .incbin, and I can't see any adventages on simply .incbin'ing a file. If you had trouble with the .incbin earlier, that doesn't mean that it suck like you said it before, it is because NESASM suck and possibly because your code threating the data itself.
Eventually, modifing your binary file via an hex editor or a cusom home made editor is not harder than modifing .db $xx
I really can't see why you're mad at .incbin

by on (#5158)
Okay, I don't see what is very hard about this to understand, Maybe I'm just explaining it wrong. Okay, it would be like this:

_____________________________
|Map Editor|Pallete editor|Asm file|

okay, that's what it looks like on top, because it has those tabs. Okay you click on the Asm file tab:
________
|Asm file|
| ; there's a bunch of code here in the asm file tab |
| ; you can edit your asm file here. |
| ; but if you want to make a map or something, just|
| ; click where you want the asm code to go |

There'll be nothing where you clicked on in the asm file tab. Go to the map editor. Make a map. Click on save map, or whatever will be there. You'll go back to the Asm file tab, there'll be map data done in asm for you. Do you understand? Is there anything you don't get? It will be the same for pallete editor, text editor, etc. Forget I ever said anything about any binary file.

by on (#5159)
And aslo, neshla would be good because it's C/6502, and I really really like C, and neshla allows macros, and it's just pretty high level, and I like that, and it will be good for my IDE. Once I make my IDE, I'll send it to you, and you can see how it works for yourself.

by on (#5177)
Thanks, I understand it better now, but this doesn't answer to my exact question, because I can't see why you would mean "generating asm file", you mean generating data, right ? It wouldn't generate code, or would it ?
If so, it would probably insert :
.db $0f, $11, $21, $30 for an example of a palette. This is okay, but let's say you're encoding 256 maps for your games, each one having a hundred of .dbs.... It's pretty crazy to do it like this, scince doing it via an .incbin and pass trogh an external .dat file would be more clear, proper, etc....
Aside of that I think a such thing would be very good for make things more confortable, but wouldn't it be pretty hard to do (I mean make a win32 application run correcly isn't a piece of cake, is it ?)

by on (#5180)
Pffff... NESHLA is somewhat difficult to get how it works, I just tried to make my own macros to write to MMC1 regs and to make a main code that inits all NES regs and that would init the MMC1... I spent more than one hour on it and now that all compiling errors are removed, it outputs a file with invalid vectors and gabrage bank organizazion, and all stuff even the unused one are binary present in the file (aka the macro to write to the MMC1 reg 1 and 2 for CHR bankswitching)

by on (#5182)
The example pallete thing you said, yes, that's what would happen. I don't know how I want to do the levels. I could do it the db way, and I could do it the incbin way, but still I don't know how I could load all that data! I could do a loop like this:

ldy #?
ldx #0

loadmap:
lda map,x
sta $2007
inx
dey
bne loadmap

but the x and y regs only go up to ff, and that sucks! otherwise, it would be fairly easy to do this. and I have to think about collision. I hate dealing with collision code! I still am rough with collision detection. Oh, I could probably study the .nam file load, and figure out a good way to load map data, because I also agree that all those dbs would pile up, and there'd be like a million! But I don't know how I could do collision if I do the binary files. Do you know how I could?

by on (#5200)
Celius wrote:
but the x and y regs only go up to ff, and that sucks!

Try the (zero page),y addressing mode:
Code:
  lda #<base_addr
  sta 0
  lda #>base_addr
  sta 1
  lda #>length  ; number of 256 byte pages of data
  sta 2
  ldy #0
loop:
  lda (0),y
  ; omit: do something with A
  iny
  bne loop
  ; we've crossed a page so update the high byte and length
  inc 1
  dec 2
  bne loop


Clear enough?

Quote:
and I have to think about collision. I hate dealing with collision code! I still am rough with collision detection.

Try getting your collision algorithm working in C on a PC, and then reduce it to something the 6502 can handle. Use a GBA project as an intermediate step if you must.

Quote:
Oh, I could probably study the .nam file load, and figure out a good way to load map data

If you're going to do scrolling maps, then .nam is usually not the way to do it. Best is to design your own custom format that decompresses into a buffer, and then blast that buffer to VRAM during vblank time. The maps in the original Super Mario Bros. were a marvel of data compression.

by on (#5201)
Yeah, I learned how to do it inderect indexed with y, i think its called. I did that to use CHR RAM instead of ROM. And by the way, this is kind of a tricky question I have. How would I make the concept of random with 6502? because say the buster sword does about 80-249 damage, and you randomly pick one in there. Maybe NESHLA has a random() type thing in it. I'm currently writing the engine for our awesome game. It will be great! It's gonna take a long time to write the engine though...

by on (#5204)
The easiest sort of pseudorandom number generator to implement on a 6502 is the linear feedback shift register (LFSR), which basically involves taking a CRC of a seed followed by a whole bunch of zero bits. Every time you cycle the LFSR you get one bit. Cycle it enough times to get a random number whenever you need one. The smallest practical LFSR is an 8-bit one discussed in this post to the Stella (Atari 2600) mailing list.

For more information, ask Google.

by on (#5215)
To do maps, you'll HAVE to make your own format.
I think that the metatile thing is good (so you have one number, that can access different group of 2x2 tiles, and each one would have it's own color and collision). When decoding a map, put all the metatiles of the current map in RAM (or rather SRAM because it's larger), and decode the one you need, when it's time to write them to the name table, you should have provisions of code to write them column per column and line per line, including attributes. When the player or a NPC is moving, you should get the metatile collision before allow him to move, so it will move only on a walkable field. Doing some more complex collision is probably needed (to make your character able to be hidden behind the background, etc...)

With this methods, your maps will probalby have an enormus size. So you'll need to compress them with RLE, or by creating larger groups of 2x2 metatiles (so 4x4 tiles), or something. Use your imagination.

by on (#5220)
Wow, talk about thread hijacking.

by on (#5225)
Yeah, I was about to say, we totally hijacked this thread, sorry....