Author Topic: RDOFF details?  (Read 6415 times)

Peter Wiehe

  • Guest
RDOFF details?
« on: January 22, 2005, 11:48:44 PM »
I am looking for details about RDOFF's internal format.

I know so far the following info-sources:
- the rdoff info page in nasm source
- reading nasm's (or rdoff-tools') source
- wotsit.org

The trouble is:

* the info page is outrageously incomplete.
For example it even doesn't tell the header magic value.

* wotsit ("RDOFF1"/"RDOFF",1) doesn't fit to newest NASM's output ("RDOFF2")

* Having to read source just for finding that info is a tedious taks and takes away the simplicity of RDOFF. Or?

1. Is there some other info-source?

2. Is the info on wotsit.org wrong? ("RDOFF1"/ "RDOFF",1)

(3. Anything else to know about RDOFF development in NASM?
For example: not much interest, often changing, happens
on website XY, all done by one person, RDOFF alerady used by anything other than NASM)

Peter Wiehe

Offline Frank Kotler

  • NASM Developer
  • Hero Member
  • *****
  • Posts: 2373
  • Country: us
Re: RDOFF details?
« Reply #1 on: January 23, 2005, 04:40:39 AM »
> By: peterwiehe

Hello Peter!

First, let me thank you for your recent contributions to this forum! There are a few other contributors (my thanks to them, also), but I often feel that if *I* don't answer a question, it will get no answer at all. This often results in answers like "I don't know, but try this...". This place is supposed to be a "discussion", not a "dialog". I *really* appreciate the people who make this so!

I'm afraid that RDOFF is one of those "I don't know" subjects, but I'll tell ya what little I know...

> I am looking for details about RDOFF's internal format.
>
> I know so far the following info-sources:
> - the rdoff info page in nasm source
> - reading nasm's (or rdoff-tools') source
> - wotsit.org
>
> The trouble is:
>
> * the info page is outrageously incomplete.
> For example it even doesn't tell the header magic value.

Sorry 'bout that - it's what we've got. If anyone knows something that should go into the docs, send it to me - "plain text" is fine - and I'll try to stuff it into "nasmdoc.src" format. This will allow production of multiple doc formats. The only documentation I'm aware of for this format is in the comments in the Perl script (if you care to try it yourself). "info-only" format is less useful..

> * wotsit ("RDOFF1"/"RDOFF",1) doesn't fit to newest NASM's output ("RDOFF2")

I wasn't aware that wotsit had anything on this - shouldn't be surprised, wotsit knows *everything*! Well, not quite... RDOFF1 is obsolete. In fact, it was *intended* that it be completely removed from Nasm, several versions ago, but it appears to have slipped back in. I would advise against using RDOFF1 - it's "deprecated" and will disappear soon... maybe.

Perhaps a submission to wotsit documenting the new format would be in order. Any volunteers to do that? Wotsit is a great resource, and AFAIK they depend on their users for information - as does Nasm - if we don't tell 'em, they're not going to know...

> * Having to read source just for finding that info is a tedious taks and takes
> away the simplicity of RDOFF. Or?

The source code is the "ultimate authority" on how Nasm works. Be thankful it's available! But I agree that it's a tedious method, and we *shouldn't* have to resort to it.

> 1. Is there some other info-source?

Not that I'm aware of.

> 2. Is the info on wotsit.org wrong? ("RDOFF1"/ "RDOFF",1)

Obsolete. Honestly, I don't know just what the differences are between RDOFF1 and RDOFF2, but I think they're pretty incompatible.

> (3. Anything else to know about RDOFF development in NASM?
> For example: not much interest, often changing, happens
> on website XY, all done by one person, RDOFF alerady used by anything other
> than NASM)

Pretty much a "one man show", AFAIK. Julian Hall, one of the "original authors" was involved at one time. He's still the nominal "maintainer" of Nasm, I think, but has become "inactive" lately.

The person who's currently responsible for all development of RDOFF(2) is Yuri Zaporogets. I think his SF name is "yuriz", and he can be reached - as can any SF account holder - "at" users.sf.net. His OS - RadiOS - uses RDOFF, and it's hosted on SF - http://radios.sf.net That should at least provide some examples of how it can be used. I'm not aware of any other app using RDOFF... If you know of one - or are making one - send us a link!

Sorry I don't know more, but that's pretty much "it"...

Best,
Frank

Peter Wiehe

  • Guest
Re: RDOFF details?
« Reply #2 on: January 23, 2005, 02:46:25 PM »
Sorry, unfortunately I will probably leave You alone again soon, as my interest in NASM is focussed on something very specific:
I'm trying to develop a 16 bit OS and/or 16/32 bit multiboot bootloader.
Trying to do so, I have a problem that (to my surprise) hits You, the developers of NASM, too:
When I want to write a 16bit kernel or bootloader, I can't get C and Asm files to be linked together to a flatbin.
And, yes, I tried many different C compilers and linkers, all I could find.
Now I'm trying to fix it with some unusual solution.
I try to write my own C compiler who produces NASM source. (Too early to show results.)
I originally wanted to produce RDOFF with this compiler and write my own RDOFF linker that can produce a flatbin (in contrast to Your rdfld).
But I droppped that idea because of the KISS principle. But that was the reason for my keen interest in RDOFF.

You could write into the docu, what You said (if I understood You right):
The header contains "RDOFF2" or sometimes still the outdated "RDOFF1" or "RDOFF" and then binary 1.
If You know that currently only the endianess of x86 is supported, You could write that, too.

Thanks for the interesting background info.

Regards
Peter Wiehe

Offline Frank Kotler

  • NASM Developer
  • Hero Member
  • *****
  • Posts: 2373
  • Country: us
Re: RDOFF details?
« Reply #3 on: January 24, 2005, 06:21:05 AM »
Hate to see you go. It's been fun.

David Lindauer's "cc386" emits Nasm syntax (with a command line switch - defaults to Tasm, IIRC)

http://members.tripod.com/~ladsoft (from memory)

I'll have a chat with Yuri and see if we can improve the documentation for RDOFF. It occurs to me that unless you've got 0.98.39 (*just* released), you won't see whatever I added to the manual... (or Yuri's latest changes, either!) There's a BUFFER OVERFLOW in previous versions, so I hope everyone *will* upgrade!

Thanks for the feedback, Peter!

Best,
Frank