This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

Typewriter-style text rendering on NES (Like in Zelda)

Typewriter-style text rendering on NES (Like in Zelda)
by on (#43289)
Does anyone know how the text is auto-typeing in Typewriter-style while playing Zelda 1? And maybe make it type faster than Zelda 1.

This is for my ''Project 2'' (an Improvement SMB hack with new graphics and levels). This will be used with the ''Rescue Princess/Mushroom Retainer'' text routines

Until SNESdev grows more and WLADX's lable problem is fixed: SMB1-SNES's status is ''Frozen Indefinately''

by on (#43290)
Um... One character is written to the BG every 15 or so frames?

by on (#43291)
Please learn how to program before taking on more projects. If you cannot figure out Zelda's "effect" of type writer text display, how can you possibly accomplish anything? As Celius pointed out, you use a timer to direct updates and you track through the string until completed. It's not hard to figure out at all.

by on (#43293)
I made something like this once with a table of varying frame delays for more of a typing effect.

by on (#43300)
You could probably just calculate a hash from the character, then use it as the delay (so a particular character always delays the same). Or just randomly delay, as the player will probably not notice. Many games make a sound only for non-space characters, and some even add delays as a more dramatic punctuation (probably embedded with an escape code in the string).

by on (#43314)
Hamtaro, have you published any of the hacks you've done?

by on (#43319)
MottZilla wrote:
Please learn how to program before taking on more projects. If you cannot figure out Zelda's "effect" of type writer text display, how can you possibly accomplish anything? As Celius pointed out, you use a timer to direct updates and you track through the string until completed. It's not hard to figure out at all.


This is the exact sort of attitude that drove me away from nesdev in the first place. Nice to see it's still going strong.

by on (#43320)
MottZilla wrote:
Please learn how to program before taking on more projects.

IMHO, a nicer way to put it is "Have you done the effect before on the PC?"

by on (#43321)
To the hypothetical situation of a person repeatedly ignoring advice given, what is the appropriate response? Keep giving the same advice? Give different advice? Chastise him? For a great example of the situation and the result of being polite, see Bill Cunningham's postings on comp.lang.c.

by on (#43322)
koitsu wrote:
MottZilla wrote:
Please learn how to program before taking on more projects. If you cannot figure out Zelda's "effect" of type writer text display, how can you possibly accomplish anything? As Celius pointed out, you use a timer to direct updates and you track through the string until completed. It's not hard to figure out at all.


This is the exact sort of attitude that drove me away from nesdev in the first place. Nice to see it's still going strong.


Hamtaro is not some newbie. I would not say the same thing to someone that just showed up. He is a fixture here. He's always asking strange things expecting some magical answer of some sort. This is a special case.

by on (#43324)
Not the best person to comment on this prob. But I'll have to agree with the above statement. At first I thought it was kinda harsh.....but then I saw it was hamtaro.

by on (#43327)
I honestly agree that after being here for 3 years, he should have tried to learn 6502 and how the NES works by at least making a few demos. Sure, it took me a while before really understanding it all, but I took the time to learn it. And trust me, I've jumped into projects without the knowledge; it went NO where.

by on (#43328)
koitsu wrote:
This is the exact sort of attitude that drove me away from nesdev in the first place. Nice to see it's still going strong.


I think this case is different but I cannot confirm what happened before so I cannot properly judge it. People are usually nice with new comers on nesdev. If they show any willingness of learning and it asked in a proper way, they get a proper answer.

In that case, this is a "special user" that as been here for a while, always asking questions that sometime make no sense. Not because it's not asked in a proper way, he's just asking for something that is impossible or request that you should code the program that he need, jumping from one project to another, mixing technologies for no apparent goal etc. So it's hard to know if he's serious or not.

If he just came to nesdev, I guess that would have been quite a harsh thread and would agree with you but this not the case. He's just being his usual self so you shouldn't worry too much about it. After a while it can get irritating. Usually I'm quite cool with that and ignore those messages, just snapped once and wrote something that I could consider harsh (not too proud of it).

Just hope someday that we can see something he did so we can confirm how serious he is.

by on (#43329)
Celius wrote:
I honestly agree that after being here for 3 years, he should have tried to learn 6502 and how the NES works by at least making a few demos.

But one might argue that if you make a demo, you have to draw your own CHR, and that's a whole separate set of talents. I'd guess that's part of why some people stick to hacking commercial roms.

by on (#43330)
Dont need alot of graphics to make a simple demo/game. (pong)

by on (#43331)
tepples wrote:
Celius wrote:
I honestly agree that after being here for 3 years, he should have tried to learn 6502 and how the NES works by at least making a few demos.

But one might argue that if you make a demo, you have to draw your own CHR, and that's a whole separate set of talents. I'd guess that's part of why some people stick to hacking commercial roms.


You can always rip graphics from other sources or draw really primative/place holder type things. Alternatively you may have artistic friends you can ask for help.

by on (#43332)
tepples wrote:
Celius wrote:
I honestly agree that after being here for 3 years, he should have tried to learn 6502 and how the NES works by at least making a few demos.

But one might argue that if you make a demo, you have to draw your own CHR, and that's a whole separate set of talents. I'd guess that's part of why some people stick to hacking commercial roms.


I'm talking about moving a sprite, writing a hello world demo, experimenting with the sound regs. I'm sorry, it takes almost no talent to at least scribble something in a tile for a sprite demo, and like MottZilla said, you can rip a font from a commercial game. I'm pretty sure that's what I did, even knowing next to nothing about NESDev.

And besides, is drawing CHR really that hard so you have to resort to hacking commercial games? I could understand if you ripped the graphics from one because you're lazy, but seriously, it's not hard to quick draw something.

by on (#43333)
The thing is that Most 6502 tutorials, Even when applied to stuff NES-Specific, Are not really that great. I tried every tutorial known here.

And About 6502 books: They are hard to buy nowadays for me. If there is one gripe about them, The price is ranging from $100-$200. And does not actually cover ''Programming the NES PPU and APU''

I will try the tutorials one last time. If I could not see anything after that, I should not have done anything about NESDev.

by on (#43334)
But really whats there to know about programming the 6502? You gotta know a few registers and how to acces them. Then its pretty much knowing a bunch of instructions.

by on (#43335)
To learn something like this, you have to enjoy the basics. I do that by exploring them thoroughly, aiming to understand them in every respect. Doing something well is enjoyable. I agree that most tutorials aren't very good, perhaps because good ones are hard to write.

by on (#43336)
Quote:
And About 6502 books: They are hard to buy nowadays for me. If there is one gripe about them, The price is ranging from $100-$200.


You can read really good stuff about the 6502 online for free: link, link, link, and link.

by on (#43344)
The 6502 is indeed a very simple processor, and I feel that the online information is more than enough to cover all aspects of it. In fact, I was able to gather much more (accurate) information from the web than from the couple of 6502 books I could get my hands on.

Sometimes people seem to think books are magical things that can teach you anything. Personally, I think the internet is way more powerful than any book, probably because it's searchable, while it's easy to get lost in huge books. I've learned thousands of things from articles and tutorials on the web, but very little from paper books.

Anyway, I too think it's a bit annoying how Hamtaro126 comes here every other week asking questions that are completely unrelated to the previous one, expecting some sort of magical simple answer that will fix all his problems.

Now, I can understand jumping from one project to another like you change your underwear (I used to be like that too, but I'm glad to say I'm a lot more focused nowadays), but one has to pick projects that are doable. Picking a project you have no idea how to accomplish is not going to take you anywhere, as you are not going to magically learn everything in the process.

My advice to Hamtaro126 is to start with simpler projects that requires knowledge you already have. Don't be so ambitious, and increase the complexity a bit from project to project. That way you'll have a chance of actually learning something (as well as practicing something you already know), instead of being lost all the time and never getting remotely close to finishing anything.

If you actually want to learn 6502 ASM and PPU/APU coding (not because someone told you to), there's nothing stopping you. Many people on this board came here with zero knowledge of these things (me included), and are now very decent NES coders. You just gotta start from the bottom, like everyone else. There are no shortcuts. As Celius said, the first few steps are the boring/simple sprite/controller/sound demos. Those are not exactly projects (in fact, people would want to hurt the ones releasing that kind of crappy tests, so it's just better to keep them private), but are necessary in order for one to understand how to talk to the system.

by on (#43347)
Hamtaro126 wrote:
The thing is that Most 6502 tutorials, Even when applied to stuff NES-Specific, Are not really that great. I tried every tutorial known here.


It depends on your background too. Do you have any computer science background? If not, some tutorial may be more difficult because you may be confused by the basics like variables, loops, stack etc.

What kind of other language you know? If you don't know any other, it could be a good thing (but not required) to learn the basic in less cryptic one like C or even basic would be fine.

Basics are important to be able to understand how to program. Without the basics, you will get lost. I think this comment is quite general for anything you learn.

by on (#43551)
I suggest taking a look at bunnyboy's Nerdy Night tutorials at NintendoAGE.com. I went in knowing nothing about any programming languages at all and now I can get by doing a thing or two. :)

Here's a link to the tutorials.

http://www.nintendoage.com/forum/messag ... eadid=7155

by on (#43562)
Banshaku wrote:
Hamtaro126 wrote:
The thing is that Most 6502 tutorials, Even when applied to stuff NES-Specific, Are not really that great. I tried every tutorial known here.


It depends on your background too. Do you have any computer science background? If not, some tutorial may be more difficult because you may be confused by the basics like variables, loops, stack etc.

What kind of other language you know? If you don't know any other, it could be a good thing (but not required) to learn the basic in less cryptic one like C or even basic would be fine.

Basics are important to be able to understand how to program. Without the basics, you will get lost. I think this comment is quite general for anything you learn.


I currently know ZZT and some MZX, But they are ''Unrelated, Fake languages'', and I know how to use a computer and everything, But I am not a Programmer yet.

For one thing, But I am a In-between (Beginner and/or Novice) ROM hacker. For Another, I know how to ROM hack a tiny bit of ASM. and mostly use a disassembly of any sorts if there is one

But BASIC or above is a problem to learn, Especially with the stuff that makes it harder than the original interpeter/compiler.

My Last Words before going to sleep:
I wish there was a ''(Clickteam's) Games factory'' for creating Rom Hacking Utilities like level editors.