asm6n

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: asm6n

Post by lidnariq »

In the US, ` is just ... well, originally was just ... open quote. And ' was close quote, and you were expected to manually balance the quotation marks. (LATEX still works this way). You can look at the original DOS CP437 fonts.

` was pretty quickly adjusted outside of this market.

Now backtick is in this weird limbo, where the lack of accented characters in the US – especially accented characters that take a grave accent – mean that it's more or less unused for regular typography in the US. And so it gets used by unix shell programming, or markdown, because every other key on a US keyboard already has a meaning.
User avatar
Hamtaro126
Posts: 818
Joined: Thu Jan 19, 2006 5:08 pm

Re: asm6n

Post by Hamtaro126 »

This is great, But there still is one gripe with all current ASM6 forks:

There is still no support for non-ASCII string encoding support (i.e. support for fonts as seen in Super Mario, Zelda, Etc...)

Otherwise, it's fine!
AKA SmilyMZX/AtariHacker.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: asm6n

Post by tokumaru »

Hamtaro126 wrote:There is still no support for non-ASCII string encoding support
Well, you can "shift" character codes in a string by adding a number to it (e.g. .db "ABCD"+2 will output the bytes $43, $44, $45, $46), which helps with remapping ranges of characters, but I agree that a more complete mapping solution would work much better.
User avatar
Hamtaro126
Posts: 818
Joined: Thu Jan 19, 2006 5:08 pm

Re: asm6n

Post by Hamtaro126 »

tokumaru wrote:
Hamtaro126 wrote:There is still no support for non-ASCII string encoding support
Well, you can "shift" character codes in a string by adding a number to it (e.g. .db "ABCD"+2 will output the bytes $43, $44, $45, $46), which helps with remapping ranges of characters, but I agree that a more complete mapping solution would work much better.
That is what I want, Remapping Characters similar to CA65 without having to use CA65... This would be a gamechanger if it's done! Even adding support for table files (.TAB files) would suffice.
AKA SmilyMZX/AtariHacker.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: asm6n

Post by tokumaru »

That doesn't sound hard to add at all... but what do I know? :lol:
User avatar
Hamtaro126
Posts: 818
Joined: Thu Jan 19, 2006 5:08 pm

Re: asm6n

Post by Hamtaro126 »

tokumaru wrote:That doesn't sound hard to add at all... but what do I know? :lol:
Heh, You have a point there, Tokumaru! :wink:
AKA SmilyMZX/AtariHacker.
User avatar
koitsu
Posts: 4201
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: asm6n

Post by koitsu »

Because character set support is literally one of the most complicated and *horrible* things to implement into anything. I cannot stress with words how horrible it is to implement. You didn't specify what character set either, so for all I know you want a combination of UTF-8, SJIS and/or EUC, ISO-8859-1, and ASCII. Yikes.

Also, are you aware of any assembler that properly works with such things? I've never encountered one.

You may, however, be interested in Atlas, which is not an assembler but rather a script/table inserter of sorts. It's mainly intended for romhacking but I'm certain it could be used for actually generating your own stuff. It *does* have support for UTF-8. The idea would be that you'd make your ROM image with the necessary blank space for whatever you would insert via Atlas, and it'd be up to you to ensure the 6502 code would work properly with it. I've attached the PDF manual if you're curious. The examples are often for SNES, but it's general-purpose.
Attachments
Atlas.pdf
(70.39 KiB) Downloaded 282 times
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: asm6n

Post by tokumaru »

Surely you don't need real character set support in an 8-bit console with access to 256 tiles at a time... A simple "this character is encoded as this byte" solution should suffice.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: asm6n

Post by FrankenGraphics »

Agreeing. I tend to put hud/text tiles on top of my chr table when doing things by myself. A value of 128 or over (N flag) will escape from normal text output to some formatting task (and naturally, don't take that value as a tile to lay down). Exactly what letters/symbols and in what order/offset may differ.

Best'd (imo) be to have a separate string to ID association table the user can text edit since the needs may differ from project to project, but maybe that goes against asm6:s one-file portability philosophy. On the other hand, a readme is also always included.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: asm6n

Post by tepples »

tokumaru wrote:Surely you don't need real character set support in an 8-bit console with access to 256 tiles at a time
But not necessarily the same 256 tiles at the same time. Some games are known to use CHR RAM for variable-width or ideographic fonts.
tokumaru wrote:... A simple "this character is encoded as this byte" solution should suffice.
True, but "this character" may be above U+007F, or even above U+FFFF. My NES port of 240p Test Suite has a couple BIRD (U+1F426) emoji to represent a contributor's handle on Twitter. (I can't exhibit it here because the tables haven't been upgraded to utf8mb4.)
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: asm6n

Post by FrankenGraphics »

Hence the suggestion - Keep a list of associations between symbol ID:s and tile ID:s in a separate xml file or something like that. If a user prefer something other than UTF-8, they can "simply" replace ID:s on the input side of the table. A little iffy, but the effort is decentralized and on a when-there's-need basis rather than a just-in-case one. The user is more importantly free to associate any symbol with any tileID; even mapping several symbols to the tile.
User avatar
never-obsolete
Posts: 411
Joined: Wed Sep 07, 2005 9:55 am
Location: Phoenix, AZ
Contact:

Re: asm6n

Post by never-obsolete »

Posted an update that has ! forcing ABS/X/Y and ? retrieving a bank number from a label.
. That's just like, your opinion, man .
User avatar
never-obsolete
Posts: 411
Joined: Wed Sep 07, 2005 9:55 am
Location: Phoenix, AZ
Contact:

Re: asm6n

Post by never-obsolete »

First post updated with version 1.7.3 and a list of changes. The biggest change being the ability to patch over a rom.
. That's just like, your opinion, man .
Post Reply