RDOS: Supplies for SSI Wargamers!
RDOS, of course, is the infamous OS employed
by Strategic Simulations
to aid in copy protecting many an Apple II game, including a large
collection
of wargaming classics.
Though RDOS-based games have been out of print
for eons; they
continue to challenge and entertain Apple II strategists. Thanks to
deprotection,
they are available to A2 emulator users, too.
One snag in the enjoyment of many SSI wargames
on emulators has
been the difficulty in getting 'blank' images usable for doing game
Saves.
On an actual Apple II the Save disk creation program works; on an
emulator, the result is a mess.
Sage advice posted by MDRipley37 on comp.emulators.apple2
led to
the Apple Emulator's Wargame Pages and the beginnings of a solution.
The
trick suggested there is pretty clever. (You copy the game .dsk, rename
the
copy, and delete most of the files.) The resulting .dsk seems to work
like a
real Save disk except that things hang after the save.
Another problem with deleting files to make
space is that RDOS saves files
and allocates 'blocks' in sequence, like Pascal. Deleting a file does
not
change space allocation-- i.e. you get a bunch of variously sized "unused"
slots.
Most of the marked out "unused" slots are too
small for the 25k part of a
game save; so, following the method suggested on AEWP seems to be good
for
just one Saved game.
M.M. McFadden's info on RDOS (ref: Computist
#52 and rdos11.shk from
ACN Tarnover) helped in finding a way around the problem. You copy
the game
disk and wipe the CATALOG sectors except for a copy of the first entry
which
identifies the disk as a Save disk-- easy to do on an Apple II+ using
Disk
Muncher and Copy II+. Since the disk has nearly no allocated space,
RDOS can
create correctly sized slots as games are saved.
The resulting blank Save diskette was converted
to a .dsk and moved to PC.
On the AppleWin emu playing North Atlantic 86 it seems to work just
like the
original using diskettes on the Apple II+. (So, I guess it's okay.)
When playing around with RDOS files on an emu,
it's convenient to have a
dsk which boots RDOS and leaves you in BASIC able to use RDOS commands.
A copy of the North Atlantic 86 game dsk was diddled to allow this.
The file RDOSstuff.zip includes ...
1- a 'blank' SSI wargame Save .dsk image file
2- a bootable RDOS .dsk disk image file
3- a Text file copy of this document
Use WinZip or a similar utility to unZip RDOSstuff.zip .
'Blank' SSI wargame Save disk
ref: SSIsave.dsk
This is a nearly blank disk for saving games
created
using info from the Apple Emulator's Wargame Pages and
M.M. McFadden.
Bootable RDOS disk
ref: RDOSboot.dsk
This disk boots RDOS and permits using standard
RDOS
commands listed below. Issuing a 'reset' puts you in the
monitor. (Control-C gets you back to BASIC.)
SSI RDOS Information
from: Apple Emulator's Wargame Pages
http://home.earthlink.net/~evin1/a2war/help.htm
RDOS 2.1
. RDOS 2.1 is one version of SSI's customized operating system by Roland GustafsonThere are 17 RDOS commands available:
&CAT : catalogs a disk. The actual code is read from
block 25
(track 1, sector 12)
of the RDOS disk.
&LOAD "filename" {,addr} : loads a BASIC program. You may
specify a
different load location (formerly poke 103,lo:
poke 104,hi) for it.
&RUN "filename" {,addr} : executes a BASIC program.
&GOTO "filename" {,addr} : "chains" programs. Variables
are saved, the
new program is loaded, variables are
restored, and the program is executed.
&SAVE "filename" : saves the current BASIC program.
&STORE "filename", addr, len : BSAVES a file. The DOS
3.3 command
BSAVE SPUDS, A$300,
L$200 would be
&STORE"SPUDS",
768, 512.
&RECALL "filename" {,addr} : BLOADS a file.
&DEF "filename", size : creates a text file SIZE blocks long.
Because
RDOS uses a contiguous file system (like UCSD
Pascal), it is necessary to determine the size
of the file before it is written.
&PRINT "filename" : writes (appends) a text file.
&READ "filename" : reads a text file.
&END : terminates reading or writing of text file by printing
ASCII
character $00 (nul).
&DEL "filename" : deletes a file.
&LEN : prints the start location and size of the BASIC program
in memory,
and prints the current
lomem value
&D#, nxtcom : changes the drive number. Must be used
in conjuction with
another command (i.e., &D2, CAT)
&S#, nxtcom : changes the slot number. See above.
&NEW : erase the current program, reset himem, and coldstart
basic (like
DOS 3.3 "FP").
&USR addr : If a command is not intercepted by RDOS, it is
passed on to
the routine at ADDR. Do not use a comma.
Filenames, addresses, and slot/drive numbers can be variables. It is
perfectly legal to write statments like:
150 &RECALL "SEGMENT" + STR$(SG) + "A", LOC + 5
More RDOS Stuff!
Andy McFadden writes ...
From Phoenyx
Phoenyx did an adaption of the original P8
RDOS by MM McFadden.
It is enhanced with Extra Variables and some code re-organization plus
a
few other features. You can find RDOSPLUS on a ShrinkIt whole-disk
archive (.sdk) file along with a Text info file in the Phoenyx collection
on
Ground at http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/Collections/Phoenyx/
.
Rubywand