What is your process for creating graphics for the SNES?

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Oziphantom
Posts: 1080
Joined: Tue Feb 07, 2017 2:03 am

Re: What is your process for creating graphics for the SNES?

Post by Oziphantom » Tue Feb 02, 2021 11:15 pm

well Game Freak made 2 NES games and where a self published game magazine. They fit into the guys at the back of the shop category ;)
Being as Quinty was 89, that means they could have had MSX2 or even MSX2+ which point the graphics out do a NES easily and you could use it as a graphics tool. Prototyping with Family BASIC probably the only real way to get something running on the NES without having the official docs to drive the machine.
There was also the dev that used a trackball on the "Twin Famicom" to code.
Nasir used an Apple ][ with "mini assembler" to make his square games.

Yeah games dev was not taught at Uni until the late 90s/2000s. And going to uni to learn to program in the late 70s would teach you how to use a hole punch ;) If it was modern it would teach you usable skills like FORTH, FORTRAN or COBAL.

Mini Computers would have been up to say 87 after that the mini computer market was mostly dead as Personal Computers got a lot cheaper and lot more powerful and the concept of "workstations" was invented. By 1985 the Atari ST and Amiga 1000 and the 386 are on the market, by 1987 VGA cards exist. Hard drives are now cheap enough to put one in each machine, BASE-T10 networks are common. So if you want to run an expanding company adding each new machine for $1000~3000 is better than paying 25,000 for a machine to does 6 people sharing 2 cpus and then needing to get another one. Unless you are a big company that buying more of the 25,000 computers to get the extra benefits helps. Or if you hire somebody will in order to know how to program must actually have a computer so they can BYO and save you money that way. (that being said I did work with a programmer who didn't have a computer at home and this was in the 2000s)
By 95 DOS has won and SVGA is "standard", you have Pentiums ( Starfox was developed on a P60 ). And you have AGA Amiga 4000s for graphics. Home computers are basically more powerful that the consoles. But also development systems got more elaborate. the NES you can't debug, the SNES people started to make debuggers for it and custom dev kits. By the PS1 era it was part of the design and CPUs had the silicon to dedicate to it. So you don't need to emulate a PS1 gpu or cpu to debug the game you can single step the hardware. This means the requirements for the machine you are using are a lot lower. While you get the HP64000 because it has a 6502 ICE for your programmers to use so you programmers don't need to be God Tier Immortals like Nasir.

Light pens you touch to the screen see https://en.wikipedia.org/wiki/Light_pen ... iv1969.jpg

Pokun
Posts: 1760
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: What is your process for creating graphics for the SNES?

Post by Pokun » Wed Feb 03, 2021 3:19 pm

It isn't clear from the interviews I've read, but it almost sounded like they used the Family BASIC keyboard with custom hardware in some way to make Quinty in the beginning. But it could just be that they made a prototype in Family BASIC (they do mentioning using Mario as a replacement sprite). They bought cheap games and soldered EPROMs to make development carts. In the end they did get an Apple ][ like Nasir though. I've no idea how they learned the hardware though, as the Family BASIC manual doesn't explain that much and I'm not sure how much info you could get from Nintendo. Maybe their publisher shared their knowledge with them, or there were books about the Famicom hardware.

Game Freak were hardcore indies indeed, but there were apparently a lot of developers that didn't have much better tools than they had despite working for companies. Some mentions coding in machine language because he wasn't provided an assembler by the company, and yeah I think it was Masahiro Sakurai that programmed part of Kirby for Game Boy with just the Hori trackball, believing that this was they way programming was normally done, and a Twin Famicom with a custom cartridge as a computer.
Enix was a publishing company with no knowledge of game development, so their developers like Koichi Nakamura and Yuji Horii were recruited like freelancers that established their own companies (Chunsoft, Armor Project etc).

Since games was smaller back then, these kind of manual labor and indipendent work was doable I guess.


Yeah ICE is mentioned a lot, I guess this was the closest thing to debug with. Nintendo's Intelligent System also made some development system ICE for the Famicom and the disk system.


Yeah of course pens must touch the surface. The Lightphaser and the Nintendo Scope are light pens in the sense that they can detect the position of the electron gun in the CRT (aided by electron gun tracking hardware in the video chip) like light pens do, and unlike the Zapper.

Esns68
Posts: 31
Joined: Tue Jan 07, 2020 2:03 pm

Re: What is your process for creating graphics for the SNES?

Post by Esns68 » Wed Feb 03, 2021 6:26 pm

Oziphantom wrote:
Mon Feb 01, 2021 4:14 am
Capcom X68000s
Most others seemed to use PC-88. Nintendo's official developement systems used SONY NEWS ( basically a Japanese clone of Sun Microsystems - starts out Dual 68K series then went to MIPS RISC, run BSD V or IV can't remember off the top of my head)
SquareSoft from some reason used Macintosh's.
I had no doubt the Sharp x68000 had to have been one of them. I love that thing, it is a beauty.
Especially with that amazing Castlevania game on it.
Happen to know any specific graphics editors (or any dev related program) used on that or those other machines?
(Unless somebody might of mentioned)
OP if you are interested in knowing more about how Japanese developers made games back then there are lots of translated interviews at Shmuplations. I read them now and then and they are often very interesting.
Ok I will totally do that. Konami (The "Old" Konami) is my favorite developer, so hopefully I'll find some of their development stories around there too. Thanks!

Oziphantom
Posts: 1080
Joined: Tue Feb 07, 2017 2:03 am

Re: What is your process for creating graphics for the SNES?

Post by Oziphantom » Wed Feb 03, 2021 9:59 pm

Pokun wrote:
Wed Feb 03, 2021 3:19 pm
It isn't clear from the interviews I've read, but it almost sounded like they used the Family BASIC keyboard with custom hardware in some way to make Quinty in the beginning. But it could just be that they made a prototype in Family BASIC (they do mentioning using Mario as a replacement sprite). They bought cheap games and soldered EPROMs to make development carts. In the end they did get an Apple ][ like Nasir though. I've no idea how they learned the hardware though, as the Family BASIC manual doesn't explain that much and I'm not sure how much info you could get from Nintendo. Maybe their publisher shared their knowledge with them, or there were books about the Famicom hardware.
Well you can POKE registers and see what happens. You can also probably write some code to peek the BASIC ROM and disassemble parts of it. Its a real trojan horse ;)
Game Freak were hardcore indies indeed, but there were apparently a lot of developers that didn't have much better tools than they had despite working for companies. Some mentions coding in machine language because he wasn't provided an assembler by the company, and yeah I think it was Masahiro Sakurai that programmed part of Kirby for Game Boy with just the Hori trackball, believing that this was they way programming was normally done, and a Twin Famicom with a custom cartridge as a computer.
lots of games back in the early days where written in machine language. The Mini Assembler on the apple ][ is barely better, and I would think that Nasir at some points probably did just bash out hex, it's a lot faster. Coding in the monitor was a "valid technique", lots of old C64 demos where coded with an Action Replay Cart.
Enix was a publishing company with no knowledge of game development, so their developers like Koichi Nakamura and Yuji Horii were recruited like freelancers that established their own companies (Chunsoft, Armor Project etc).

Since games was smaller back then, these kind of manual labor and indipendent work was doable I guess.
when your whole game is 40K, and 28K of it is data yeah. However Nasir did 512K games. Also the rewards were a lot higher, back then if a game did "ok" you still raked it in, now the margin is razor thing and mostly negative.

Yeah ICE is mentioned a lot, I guess this was the closest thing to debug with. Nintendo's Intelligent System also made some development system ICE for the Famicom and the disk system.
Well its not the closet, its the only. You can single step a real 6502, but not a NES CPU. The C64 also lacks the pin, but apparently Commodore did make some DEBUG 6510s that had the extra pin brought out for early developers to use. However tools such as the PDS system use to transfer each command to the C64, run the command in isolation, get the results and report back to the host PC. Which is as fast as you imagine it to be. But a lot faster than printing the code/writing it down and stepping it "by hand".

Oziphantom
Posts: 1080
Joined: Tue Feb 07, 2017 2:03 am

Re: What is your process for creating graphics for the SNES?

Post by Oziphantom » Wed Feb 03, 2021 10:03 pm

Esns68 wrote:
Wed Feb 03, 2021 6:26 pm
Oziphantom wrote:
Mon Feb 01, 2021 4:14 am
Capcom X68000s
Most others seemed to use PC-88. Nintendo's official developement systems used SONY NEWS ( basically a Japanese clone of Sun Microsystems - starts out Dual 68K series then went to MIPS RISC, run BSD V or IV can't remember off the top of my head)
SquareSoft from some reason used Macintosh's.
I had no doubt the Sharp x68000 had to have been one of them. I love that thing, it is a beauty.
Especially with that amazing Castlevania game on it.
Happen to know any specific graphics editors (or any dev related program) used on that or those other machines?
(Unless somebody might of mentioned)
Probably all in house custom tools, but there may have been some "common" ones used. But you would have to ask people from the industry from the day to find out. These things don't get documented very often. Games dev houses treat everything as "mission critical secrets" and "you are not allowed to say". Japan really stuck to its guns with this mentality and in the PS3 era it finally caught up to them and whooped them good.

User avatar
Gilbert
Posts: 454
Joined: Sun Dec 12, 2010 10:27 pm
Location: Hong Kong
Contact:

Re: What is your process for creating graphics for the SNES?

Post by Gilbert » Wed Feb 03, 2021 11:13 pm

For Hudson soft, the 1st 3rd party developer of the Famicom, there were some info out there on what they used.
Basically, after developing Family Basic, they asked Nintendo to become a 3rd party developer and the big N didn't know what to do initially as they never expected to accept 3rd party developers for the system, and Hudson knew Nintendo's own development tools sucked, so they made their own tools.

Brief summary of what Hudson used:
1. They made their own ROM emulator on a Famicom dev cart, using a 8522 board connected via parallel port to transfer data.
2. For the 6502 assembler, they used ACT65 on some expensive CP/M80 workstation (now I know why people would buy the M$ Z80 card for their Apple ][...), with its BIOS patched to be able to use a HDD instead of just floppy disks. They later moved to use NEC's PC9801VM and used the 8080 emulation mode in a VM to run CP/M and then run ACT65(yeah...). Later they wrote their own assembler AS and linker LK.
3. For graphics they wrote custom tools themselves, which at the end integrated into PE (for editing whole picture) and DF (for tiles and sprites).
4. Then they designed the PC-Engine and expanded all the above tools (AS, LK and DF at least) to support both Famicom and the PCE. So yes, they just used the very same tools in their dev kits in the two systems. To avoid confusions, they crippled the Famicom part of these tools when they shipped the official PCE dev kit to other developers, so that these developers won't ask WTF did the dev tools for the PCE also worked for Famicom games. These tools were presumably all compiled for the PC98 (as the original dev system of the PCE was a PC98) but were later also compiled for IBM-PC, probably for foreign developers where the PC98 was never common (and you can find them if you look hard enough inside a certain PCE game, provided you're not distracted by the source codes of the original Neo Geo game).

It was claimed that DF was a very robust graphics editor, that it was copied around and used by many developers, without even knowing where it came from. There was once reported an instance that some developers used it to develop Mega Drive games but didn't know what the "OUT" function in it did (it output the graphics to an actual TV screen for the artists to check when used with the original PCE dev system).

I don't know about their SFC games. Maybe they used similar tools.

(Note that it seems there're some problem with Iwasaka's blog ATM, in which some of the above pages may or may not load and sometimes with broken images).

Pokun
Posts: 1760
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: What is your process for creating graphics for the SNES?

Post by Pokun » Thu Feb 04, 2021 6:40 am

Heh that's pretty funny.
I think that AS might be the same AS mentioned in the Develo Box manual, a homebrew development kit for PC Engine that Hudson sold. It came with AS and probably some of the other tools (like LK and also a BASIC interpreter) for both PC-98 and MSX. I think the IBM-PC version was an unofficial port and not included in the Develo kit though, so it's probably not made by Hudson.

Oziphantom
Posts: 1080
Joined: Tue Feb 07, 2017 2:03 am

Re: What is your process for creating graphics for the SNES?

Post by Oziphantom » Thu Feb 04, 2021 6:57 am

Gilbert wrote:
Wed Feb 03, 2021 11:13 pm

Brief summary of what Hudson used:
1. They made their own ROM emulator on a Famicom dev cart, using a 8522 board connected via parallel port to transfer data.
2. For the 6502 assembler, they used ACT65 on some expensive CP/M80 workstation (now I know why people would buy the M$ Z80 card for their Apple ][...), with its BIOS patched to be able to use a HDD instead of just floppy disks. They later moved to use NEC's PC9801VM and used the 8080 emulation mode in a VM to run CP/M and then run ACT65(yeah...). Later they wrote their own assembler AS and linker LK.
Looking at the japanese page linked through google translate the expensive CP/M comptuer was a Sharp X1, which is about $2300AUD in todays money, so par for the course. The V30 is a NEC CPU that is 8086 compatible. The 8086 is assembly compatible with the 8080 but not binary compatible , the V30 fixes this and adds an internal extra Instruction table to make it binary compatible with the 8080. So there would be no slow down for the user its not a real VM, in fact the V30 is a lot faster than the original 8080 so it would have been a vast speed increase over the original X1 and then it had a higher clock ;)

User avatar
Gilbert
Posts: 454
Joined: Sun Dec 12, 2010 10:27 pm
Location: Hong Kong
Contact:

Re: What is your process for creating graphics for the SNES?

Post by Gilbert » Thu Feb 04, 2021 10:45 am

Pokun wrote:
Thu Feb 04, 2021 6:40 am
lI think the IBM-PC version was an unofficial port and not included in the Develo kit though, so it's probably not made by Hudson.
I don't remember whether the IBM-PC version of AS and LK are included in the strayed data of Art of Fighting, but CE is definitely included(CE was just DF with Famicom support removed, so each letter went back one place, not unlike what HAL had done to IBM) so it should be official (and I remember the OUT function is missing as well since it probably only worked in the original PC98 based HU7 system). I think since early to mid 60s the IBM-PC became popular so they compiled IBM-PC version of the tools as an alternative solution, especially to foreign developers who didn't even know what a PC98 was.

User avatar
Gilbert
Posts: 454
Joined: Sun Dec 12, 2010 10:27 pm
Location: Hong Kong
Contact:

Re: What is your process for creating graphics for the SNES?

Post by Gilbert » Thu Feb 04, 2021 10:45 am

Pokun wrote:
Thu Feb 04, 2021 6:40 am
lI think the IBM-PC version was an unofficial port and not included in the Develo kit though, so it's probably not made by Hudson.
I don't remember whether the IBM-PC version of AS and LK are included in the strayed data of Art of Fighting, but CE is definitely included(CE was just DF with Famicom support removed, so each letter went back one place, not unlike what HAL had done to IBM) so it should be official (and I remember the OUT function is missing as well since it probably only worked in the original PC98 based HU7 system). I think since early to mid 90s the IBM-PC became popular so they compiled IBM-PC version of the tools as an alternative solution, especially to foreign developers who didn't even know what a PC98 was.

Edited:
Fixed a glaring mistake though somehow no one noticed. :roll:
I typed 'early to mid 60s' instead of 90s. I just blamed it on how easy to leave mistakes unnoticed when typing with a smartphone. :oops:
Last edited by Gilbert on Thu Feb 04, 2021 7:31 pm, edited 1 time in total.

Pokun
Posts: 1760
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: What is your process for creating graphics for the SNES?

Post by Pokun » Thu Feb 04, 2021 12:26 pm

I guess you are right. I just read somewhere that someone (possibly unofficially) converted a bunch of PC-98 tools used for Develo Box to IBM-PC. Considering they where used by developers for several systems unrelated to PC-Engine and Develo Box, it could very well be officially done.

Edit: Heh I noticed it and thought it was odd that IBM-PCs was popular in Japan already in the 60s. :)

Post Reply