After much help from Nick, I can safely say that the emulator is very usable now and almost ready to be considered a beta. There are some open items that need tending to, which I will get around to repairing as time permits (maybe a long time, but we'll see!):
-Sound timing code is choppy at best (sound pitch is correct at least)
-Keyboard special keys should be configurable (ALT-Fn combinations don't work well in x-windows)
-MMU during self test needs to be resolved
-Some issues with programs (Dazzle Draw hangs at title screen, Drol doesn't load)
-Prodos ordering needs to be implemented
All things in good time -- it's made a lot of progress with help from Nick!
-B
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I checked out your source into an Eclipse project, and tried to run
Emulator.java. It crashes due to being unable to find a root path for
ProdosVirtualDisk. It is looking for - String rootPath =
"/home/brobert/.jace";
Not sure what to do now, I don't actually have any HD files. Lots of .dsk
images though :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
For the time being, the virtual drive's root path is hard-coded in the
CardMassStorage path. The next goal is configuration management, so that when
you add the mass storage "card" to the configuration, you then configure this
root path to point somewhere on your own local system. As you can see, it's
hard-wired to somewhere in my home folder.
The folder doesn't have to be any particular place or have any special name,
but it must contain a file named "prodos.sys" and probably "basic.system" as
well.
Three letter extensions on physical files are mapped to known prodos types. So
for example "startup.bas" is a startup basic program. Putting a #hhhh suffix
allows you to specify auxtype information, so game.bin#0800 would be a bin
file that loads at $800. Ciderpress exports files in a similar name format,
with the exception that ciderpress exports with two digits indicating the main
type (bin == 06, sys = ff, basic = fc, etc), so you'll have to strip that off.
Also, if there is no # suffix, then the default load address is assumed. (sys
= 2000, bas = 801, etc)
I'll add a prodos folder to the project so you have a starting point.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
After much help from Nick, I can safely say that the emulator is very usable now and almost ready to be considered a beta. There are some open items that need tending to, which I will get around to repairing as time permits (maybe a long time, but we'll see!):
-Sound timing code is choppy at best (sound pitch is correct at least)
-Keyboard special keys should be configurable (ALT-Fn combinations don't work well in x-windows)
-MMU during self test needs to be resolved
-Some issues with programs (Dazzle Draw hangs at title screen, Drol doesn't load)
-Prodos ordering needs to be implemented
All things in good time -- it's made a lot of progress with help from Nick!
-B
Hi
I checked out your source into an Eclipse project, and tried to run
Emulator.java. It crashes due to being unable to find a root path for
ProdosVirtualDisk. It is looking for - String rootPath =
"/home/brobert/.jace";
Not sure what to do now, I don't actually have any HD files. Lots of .dsk
images though :)
For the time being, the virtual drive's root path is hard-coded in the
CardMassStorage path. The next goal is configuration management, so that when
you add the mass storage "card" to the configuration, you then configure this
root path to point somewhere on your own local system. As you can see, it's
hard-wired to somewhere in my home folder.
The folder doesn't have to be any particular place or have any special name,
but it must contain a file named "prodos.sys" and probably "basic.system" as
well.
Three letter extensions on physical files are mapped to known prodos types. So
for example "startup.bas" is a startup basic program. Putting a #hhhh suffix
allows you to specify auxtype information, so game.bin#0800 would be a bin
file that loads at $800. Ciderpress exports files in a similar name format,
with the exception that ciderpress exports with two digits indicating the main
type (bin == 06, sys = ff, basic = fc, etc), so you'll have to strip that off.
Also, if there is no # suffix, then the default load address is assumed. (sys
= 2000, bas = 801, etc)
I'll add a prodos folder to the project so you have a starting point.