[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Game server and SSC
> > nice. I have an iPod that plays Doom and Tetris. Maybe we should have
> > coffee some time. :-D
> Sure. We are probably in the same hemisphere.
Given the frequency of my travel, you never know where I'll be the next
week. (e.g. I live in Austin, but have been in NYC during the weekdays
since March. And next, who knows?)
> > And then remove EVERYTHING from driver.txt (leave the file blank)
> > Since the apple is already running the driver, you can just skip ahead
> > to the fun part.
>
> Unfortunately I'm getting directly to the problem: beeps from Apple
> and "failure writing line" in java. Same as after a normal start.
> At this point the PC is sending a "3" byte over and over ($33) and gets $87
> (bell) back from the Apple. At 19200 baud.
if there's nothing in those files, it shouldn't be writing ANYTHING to
the apple. Unless, of course, it is not able to receive a response
from the driver, in which case it will try sending "300g" again to try
a last-ditch effort to start the driver again. That might be why you
see a "3". In this case, use "!echo false" to prevent it from checking
That's because the driver is running and it doesn't know what 3 means,
so it beeps. Perhaps you should press ctrl-reset first to reset the
i/o hooks and then try starting up the driver manually so that the bell
isn't sent back. Seems I underestimated the firmware.
> I can't figure out from the GenericHost source where the "3" is coming from.
That's because it's coming from the TransferHost, which is a subclass
of GenericHost. The GenericHost has all the standard I/O routines, but
if you look @ the next line in the stacktrace you'll see a reference to
the TransferHost class.
> For extra points, save the driver to disk (bsave
> > SOS,A$BEEF,L232) and just BRUN the file to save time in the future.
>
> I thought of that, but apparently something gets corrupted in DOS. Maybe
> zero page locations? The code at $BEEF should only overwrite the INIT in RWTS, but
> even CATALOG fails with an i/o error after loading the driver.
Oh yeah, that's because that overwrites the dos area where RWTS lives.
Once it is loaded, it blots out dos. I can make an alternate version
that loads into the language card, or maybe just below dos instead.
Some games are quite big though, which is why I moved it up as high as
I can in main memory (so it will still work on 48k machines if needed)
> Loading but not executing in the script. Even using ADT. But this is not my
> main problem as I can't get the server to run.
I think it is, but it's not detaching the i/o hooks properly. I was
working off the //c firmware when I built this thing, which is
aparently not exactly the same at all. Once we know how to get it to
work on your //e, I will know what needs to be fixed on the program
(and I know how to detect a //c in the code to branch to the right
code)
> > plan to make a disk image that contains this in track 0, sector 0.
> > (you can do this by making a 140kb file and just replace the first 232
> > bytes with the raw driver code -- should work in theory)
>
> Yes, but will load at $801. Need a bit more code to relocate to $BEEF.
> How about overwriting a portion of RWTS on a DOS image in the first 3
> sectors?
Nah, that would affect the boot 2 loader. It would be ugly.
Fortunately, the loader can be slimmed down and be relocated with the
firmware movemem function pretty cheaply with only 26 bytes of code.
I've restructured the driver so that it all fits well within the
256-byte limit of a sector. Want me to email it to you?
-B