> Aha. I never stop learning. That was completly new for me...
> For Acorn emulation I currently use Beeb. Just requested from the authors to
> have a binary PC file import and export-function for one of the next
> versions, like Sim Coupé. I have never heard about your emulator. Is there a
> Acorn Electron screen interpreter/viewer available? I should test the export
> of my screen converter, how it works on a emulator, but without binary
> import it is a bit hard.

Oh, my emulator is ElectrEm, at http://electrem.acornelectron.co.uk,
though it doesn't import or export binary files at present. That's
probably a more startling revelation if I also reveal that it does
import and export ASCII text format BASIC programs. I've been doing
some work to it in the last few days anyway, to improve printer
emulation (I catch and interpret Epson FX80 typographic codes but so
far haven't been doing graphics) and to fix up some bugs that have
crept in while I was adding various other improvements, so I'll look
into that.

In the meantime, I can provide a little assembly sourcefile compatible
with BeebAsm (roughly analogous to JAM or pyz80 in that it assembles
code directly to an emulator-friendly media image — see
http://www.retrosoftware.co.uk/wiki/index.php/BeebAsm) that will use
the contents of a binary file to assemble such that when you run the
resulting DFS it just puts the contents on screen. So you'd just have
to put the binary output of RetroX with the asm, run the assembler,
then launch the emulator to test.

I'm clueless about the BBC hardware (apart from the CPU, the Electron
shares nothing with the BBC on a component level), but hopefully
there's a BBC emulator that does the binary loading/saving you want.

> BTW. Do you use API calls in your emulator? I'm looking for a reference of
> Linux and Mac API calls online. There are a lot of Windows API calls
> documented, but no Linux and Mac calls. I looking for example for the
> eqivalent of GetAsyncKeyState(). There is a demand for Retro-X on Mac and
> Linux...

There are some direct Cocoa API calls, but it's very limited. ElectrEm
is primarily built around SDL, and uses that for the main display
window, for reading the keyboard and for outputting sound. On the
Windows version I run a bit of code after the SDL window has been
created to add a menubar and catch all incoming messages as a result
of that.

On OS X, I load a custom menubar before the SDL window is created,
then I've got everything wired up in Interface Builder so that the
various things in the menu trigger other dialogues. Cocoa isn't like
an MFC-on-top-of-Win32 type thing where an invisible C interface runs
some message map stuff and maps that to a C++ interface, it's a full
Objective-C system. Objective-C is 'bound' (i.e. linked) at runtime,
not compile time so you put the names of the methods that you want the
various GUI elements to call directly into the graphically created
interface, and if you've actually implemented methods with those names
then they end up being called. It's all an automatic part of the
language, not a cleanliness hack. I think this is partly why Apple
have stuck with Objective C even though C++ became the defacto object
oriented variant of C, because it binds at runtime it avoids all the
ABI compatibility problems that partly contribute to the DLL hell of
Windows past.

There are a few places where I've used Cocoa methods to launch the
standard file open/save dialogue, get the path to the application
bundle's resources folder, etc, but it really is just a few hundred
lines of the most basic GUI programming stuff while all the more
demanding game stuff is through SDL.

I think SDL itself might still be using some of the libraries that OS
X inherited from all the OSs before it, which are all deprecated now
and generally not a good idea.
http://developer.apple.com/documentation/Cocoa/ is probably the best
reference resource, but I wouldn't describe myself as an unadulterated
fan.

> Thats right... I also use ithe Internet to do some research about graphics
> formats and image preprocessing. Asking people to help, helping other
> people... In the 80 my programs are just simple and small games, and
> Utilitys, in the 90 I learned to code better games and used first time my
> own graphics converter that I wrote on Amiga. And now with PC I'm stick to
> internet having not much free time to finish coding my projects.

I don't know if I even had a computer in the 80s... I think probably
not. I was only born in 1980, so I guess my parents wanted me running
around outside instead, which I did and seem to remember very much
enjoying. I had a secondhand Electron for about a year before my Sam,
then skipped the 16 bits entirely to go PC and then Mac. The internet,
which I think we first got a link to in 1996 or 1997, was a
revelation.

I think the only thing of any length I ever wrote on my real Sam was
an Outwrite clone in BASIC. It was very slow indeed, and couldn't
print.

Reply via email to