Super FX Assembler

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Super FX Assembler
by on (#160097)
Hi,

I was looking through a source code package for Star Fox 2, and found what I believe to be the Argonaut Super FX assembler. It was in the same folder as the alpha version of Star Fox 2 that has been floating around the Internet since 2000. Anyways, I'd like to get this to work so I can attempt to assemble binaries for the other two source packages I have. When I ran it in DOSBOX, it gave an error stating that it doesn't work under DOS mode. It is entirely possible that development was done on OS/2 rather than Windows, so maybe that is part of the problem. I've attached the assembler here if anyone wants to have a look.
Re: Super FX Assembler
by on (#160099)
running "file" on the enclosed EXE gives: "ARGOS2.EXE: MS-DOS executable, NE for OS/2 1.x" so it's highly likely.
Re: Super FX Assembler
by on (#160100)
I wonder if it'd be easier to implement the assembler as a ca65 macro pack the way blargg did for SPC700, rather than try to get a working copy of OS/2 up and running.
Re: Super FX Assembler
by on (#160102)
tepples wrote:
I wonder if it'd be easier to implement the assembler as a ca65 macro pack the way blargg did for SPC700, rather than try to get a working copy of OS/2 up and running.

https://github.com/ARM9/casfx
Re: Super FX Assembler
by on (#160104)
It is an OS/2 program. I just checked with the unix 'file' utility, and it's an OS/2 program in NE format.
Code:
$ file ARGOS2.EXE
ARGOS2.EXE: MS-DOS executable, NE for OS/2 1.x


I installed Windows 2000 in a virtual machine because it has some level of OS/2 compatibility, and the assembler looks to run fine.

Image
Re: Super FX Assembler
by on (#160106)
Ok, that is good to know there is a way for it to work.

I've attached the makefile that was in the code package. Unless I am mistaken, the executable isn't the actual assembler, but some file called "ARGSFXX". It might not be possible to use this to assemble the code. :(


Edit: looks like the guy who originally had the source code was also looking for the assembler. Some info in the comments section here:

http://dailly.blogspot.jp/2008/06/tg16-fun.html
Re: Super FX Assembler
by on (#160126)
wyatt8740 wrote:
I installed Windows 2000 in a virtual machine because it has some level of OS/2 compatibility


Woah, I didn't know this. Cool!
Re: Super FX Assembler
by on (#160298)
wyatt8740 wrote:
I installed Windows 2000 in a virtual machine because it has some level of OS/2 compatibility, and the assembler looks to run fine.
Image

That doesn't look like the output from the assembler, It should print something similar to this:
Code:
ArgSfx-OS/2 v1.35 Copyright (c) Argonaut Software Ltd. 1992
Usage: ARGOS2 [options] sourcefile
 Options are:
Btw, IIRC argos2 is the assembler and argfxx the linker

I tried assembling some example code from some of the sfx patents on a virtual os2warp4 machine but without success, I just got empty output files.
I know the source code for some sfx games are out there somewhere but I haven't been able get hold of any and debugging without it is a PITA.
Re: Super FX Assembler
by on (#160330)
I'll try to set up a virtual machine on my own end and give it a go.
Re: Super FX Assembler
by on (#164596)
wyatt8740 wrote:
I installed Windows 2000 in a virtual machine because it has some level of OS/2 compatibility, and the assembler looks to run fine.


Are you sure it wasn't Windows NT? OS/2 was effectively dead by the time Windows 2000 was released. And, there is a lot of material about how Microsoft created the NT kernel based on the info taken from OS/2.

Here's the quotes from Wikipedia:
"Microsoft decided to recast NT OS/2 3.0 as Windows NT"
"Windows NT's OS/2 heritage can be seen in its initial support for the HPFS filesystem, text mode OS/2 1.x applications..."

https://en.wikipedia.org/wiki/OS/2

The Windows NT wikipedia page says it's available in Windows NT 3.1:

https://en.wikipedia.org/wiki/Windows_NT
Re: Super FX Assembler
by on (#164598)
If it was in NT it's still possible for it to be there in 2000, even if just because removing it could have broken way more than it should have (Windows is known to have lots of now-useless code just in case removing it ends up backfiring)

Wouldn't it make more sense to just use OS/2 if you're going to use a VM anyway?
Re: Super FX Assembler
by on (#166680)
Is there any tutorial to start programming some stuff for the Super FX chip?
Re: Super FX Assembler
by on (#205028)
Luigiblood wrote a linker, so in theory you should be able to write Super FX programs with this. Confirmed to work with legit Star Fox 2 source code.

https://github.com/LuigiBlood/ARGLINK_REWRITE
Re: Super FX Assembler
by on (#205030)
I must say, the Argonaut SNES Linker rewrite may not be accurate, I tried the best I could. At least it produces working ROMs. :D
Re: Super FX Assembler
by on (#205059)
Searching for "Usage : OS2 /P <full path> /C <original CommandLine>"...

It's mentioned on several webpages. Most people seem to consider it as an "error message", as far as I understand it's complaining about spaces in the path/filename. If that's right then it might work in, for example, "C:\TEST" instead of "C:\Documents and Settings\..\My Documents".

Though it doesn't really look like an "errror message" to me. Sounds more as if it's asking you to use a workaround (possibly needed only if the path contains spaces), ie. maybe it wants you to type this (?)
OS2 /P "C:\Documents and Settings\..\My Documents" /C ARGOS2.EXE

Or, other idea, as you said that ARGSFXX might be the actual assembler, try sth like this:
ARGOS2 /P <whather path> /C ARGSFXX
Re: Super FX Assembler
by on (#208536)
Where can I download the StarFox 2 source code?
Re: Super FX Assembler
by on (#208618)
Not here. And generally I don't think it's floating around the internet. It could be out there but it can't be posted here for the same reason you can't post the ROM here.
Re: Super FX Assembler
by on (#208683)
It's not out there on the Internet. That's for certain.
Re: Super FX Assembler
by on (#213945)
Necroposting a bit:

This guy who's made a job of porting games to linux has written an OS/2 compatibility shim that he's called 2ine. I haven't tried running argonaut's tools using it yet, though.
Re: Super FX Assembler
by on (#214026)
I'll add a little more related info as well in case it's of interest. naken_asm supports Super FX assembly. I've been using naken_asm for STM8 assembly on windows & linux and have enjoyed it. Tinkered with 6502 a little as well, had a few discussions with Michael directly for bug fixes and he's been receptive and quick to help.
http://www.mikekohn.net/micro/naken_asm.php