Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Reboot routine question

18 views
Skip to first unread message

bloomer_au

unread,
Sep 11, 2010, 2:09:18 AM9/11/10
to
Hi all,

I'm adding a reboot routine to my game, and I wondered if there was a
call I could make from basic which would cause the Apple II to reboot
as if it had been turned on at the power point, leading to smart
scanning of the disk drives, etc.

The game is running in Applesoft under ProDOS 1.9. The issue is that
I'm looking for an easy, reliable reboot where I don't have to check
what model of Apple II a player is running it on, nor whether they are
running it from 5.25 inch disks or one 3.5 inch disk (the game comes
in both flavours), or from a 'smart' drive on an emulator, etc.

In the old days, I used to reboot from within my basic games by doing
a PR#6, but the relevant slot could now be five, six or seven(?).
Sweet16 mounts a .2mg in slot 7 by default as well, i.e. when on a
real IIGS you would put the 800k disc into slot 5.

I should also point out that the program only requires an enhanced
Apple IIE to run, so it could be running on that model or anything
higher.

- Wade

Toinet

unread,
Sep 11, 2010, 2:31:10 AM9/11/10
to
$FAA6 iirc,
av

Guillaume Tello

unread,
Sep 11, 2010, 3:04:18 AM9/11/10
to

You can use that code:

100 PRINT "Please reboot your system..."
110 IF INKEY$="" THEN GOTO 110

:-)))

Guillaume.

bloomer_au

unread,
Sep 11, 2010, 5:00:10 AM9/11/10
to
Thanks guys. Well, mostly Antoine ;)

- Wade

sicklittlemonkey

unread,
Sep 11, 2010, 5:15:09 AM9/11/10
to

If you're running under ProDOS you should use the quit call, or the
BYE command from BASIC.SYSTEM I think.

Cheers,
Nick.

bloomer_au

unread,
Sep 11, 2010, 5:26:11 AM9/11/10
to
> $FAA6 iirc,

Hm, CALL 64166 or CALL -1370 reboots on an Apple IIE, but on a IIGS
it's variable.

For instance, if you boot KEGS but don't put a disk in, typing
CALL-1370 at the prompt will reboot.

But after I booted a PRODOS disk to BASIC, CALL-1370 hangs the IIGS. I
also tried this on Sweet16 and the same thing happened.

- Wade

bloomer_au

unread,
Sep 11, 2010, 5:27:10 AM9/11/10
to
> If you're running under ProDOS you should use the quit call, or the
> BYE command from BASIC.SYSTEM I think.

Ah okay Nick I will look into that.

- Wade

bloomer_au

unread,
Sep 11, 2010, 5:29:16 AM9/11/10
to
Ugh, wait! BYE gives that horrible 'enter prefix' exit that has yet to
be useful to me in life :)

I just want a blind reboot.

bloomer_au

unread,
Sep 11, 2010, 7:33:08 AM9/11/10
to
Okay, I found this article online...

http://www.1000bit.it/support/manuali/apple/technotes/iigs/tn.iigs.049.html

...which said that the FAA6 routine would hang on a IIGS if Appletalk
interrupt sources were not shut down first.

There was a chunk of assembly there showing the correct way to do it
if you don't have GS/OS going.

I assembled the code as a BIN type file, executed it from within
Prodos 8 and it worked, it cold booted the IIGS. I feel quite chuffed.

Anyway, this will work because when the game first runs, it checks if
you're playing on a IIGS and remembers if you are. So I can just call
FAA6 to reboot if the player isn't on a IIGS, and execute the IIGS
routine if they are.

- Wade

sicklittlemonkey

unread,
Sep 11, 2010, 7:38:48 AM9/11/10
to

Search for Lazarus Long's installer for Bird's Better Bye to remedy
that. If the user wants to reboot they can use the three-finger
salute.

Cheers,
Nick.

bloomer_au

unread,
Sep 11, 2010, 7:47:07 AM9/11/10
to

Heh, I 'll explain why I'm interested in a real reboot.

A lot of people playing this game will be doing so on emulators, and
have no Apple II knowledge at all. If the game crashes, it's going to
be for an extreme reason anyway (IE it really shouldn't crash unless
you yank a disk out..) but if something does happen, I don't want to
leave any player hanging, or needing to know about disk prefixes, or
relying on knowing what they need to press to perform an Apple-Control-
Reset on their particular emulator. I give them the power to do a
clean reboot by just pressing R. I think the idea of fully rebooting
any system is comprehensible to people no matter what computer systems
they've used. That's why I feel like it's a good option in these
circumstances.

- Wade

Toinet

unread,
Sep 11, 2010, 8:10:11 AM9/11/10
to

Bravo Guillaume, très drôle !
antoine

Michael J. Mahon

unread,
Sep 11, 2010, 5:26:53 PM9/11/10
to
bloomer_au wrote:
> Ugh, wait! BYE gives that horrible 'enter prefix' exit that has yet to
> be useful to me in life :)

On later versions of ProDOS, BYE quits to Bird's Better Bye, or a
good lookalike. If your earliest target is the Enhanced //e, you
should be using ProDOS 2.0.3, which has the enhanced quit.

-michael

NadaNet and AppleCrate II: parallel computing for Apple II computers!
Home page: http://home.comcast.net/~mjmahon

"The wastebasket is our most important design
tool--and it's seriously underused."

bloomer_au

unread,
Sep 12, 2010, 5:17:40 AM9/12/10
to
On Sep 12, 7:26 am, "Michael J. Mahon" <mjma...@aol.com> wrote:
ye, or a

> If your earliest target is the Enhanced //e, you
> should be using ProDOS 2.0.3, which has the enhanced quit.
>
> -michael

It's funny how one piece of fact checking leads to another.

In terms of deciding the minimum machine for the game, I'd always
thought it would be an Apple II plus with 64k, because that would run
BASIC and ProDOS.

What I forgot about (over a year of development) is that the Apple II
plus can't display lowercase characters in 40 columns, which this game
requires. I'd forgotten that the 80 column card in the 2+ my family
used until 1990 only showed lower case in 80 columns.

And I was only prompted to rediscover this fact when I looked into the
issue of forcing different models of Apple II to completely reboot,
and made this topic the other day.

So actually my minimum machine doesn't necessarily have to be an
enhanced Apple II E, but just a regular one (because all IIes have
lower case in 40 columns, right?) Otherwise I don't think I'm using
any 65c02 opcodes or features.

Michael briefly lured me with the siren song of using ProDOS 2, but
that was before my realisations. So since this game can run on a 6502
Apple II E, I should probably make sure that it continues to be able
to do so by sticking with ProDOS 1.9. Which is a shame, as it was
irrationally exciting to move to a newer OS for a day, plus I got a
whopping one extra free byte of memory in the process :)

-Wade

D Finnigan

unread,
Sep 12, 2010, 11:32:43 AM9/12/10
to
bloomer_au wrote:
>
> So actually my minimum machine doesn't necessarily have to be an
> enhanced Apple II E, but just a regular one (because all IIes have
> lower case in 40 columns, right?)

Right.

Oliver Schmidt

unread,
Sep 19, 2010, 4:07:18 PM9/19/10
to
Hi Wade,

>So actually my minimum machine doesn't necessarily have to be an
>enhanced Apple II E, but just a regular one (because all IIes have
>lower case in 40 columns, right?) Otherwise I don't think I'm using
>any 65c02 opcodes or features.
>
>Michael briefly lured me with the siren song of using ProDOS 2, but
>that was before my realisations. So since this game can run on a 6502
>Apple II E, I should probably make sure that it continues to be able
>to do so by sticking with ProDOS 1.9. Which is a shame, as it was
>irrationally exciting to move to a newer OS for a day, plus I got a
>whopping one extra free byte of memory in the process :)

Maybe I'm missing the point, but if you want "full" lower case support
(i.e. including inverse lower case) then your minimal machine is an
'enhanced Apple //e' - without the need for an (extended) 80 column
board. But that machine *has* a 65c02. And the 65c02 is the only thing
necessary for running ProDOS 2.0.3. So after all I can't see why
you're not moving to that ProDOS version. If you call the QUIT command
on that ProDOS version you'll get a nice menu that every
non-Apple2-insider understands.

BTW: People running ProDOS 8 programs from GS/OS aren't that happy if
the ProDOS 8 program reboots instead of returning to GS/OS. If you
call the QUIT command then that scenario works-out-of-the-box too...

Just my two cents,
Oliver

bloomer_au

unread,
Sep 19, 2010, 10:40:54 PM9/19/10
to

Thanks for these point-outs. I actually don't use any inverse
lowercase, so something attracts me about staying 6502 IIe compatible,
simply because it's possible. Part of the context of the idea of this
game is to run a very ambitious game on as simple a setup as possible.
But going 'simple-simple' (that is a 6502 IIe, as opposed to a 65c02
IIe) is probably a point only I and a few Apple II heads will
appreciate. The people playing this game on an emulator won't care
about that. So you've got me leaning back towards Prodos 2.

- Wade

bloomer_au

unread,
Sep 19, 2010, 11:20:59 PM9/19/10
to
On Sep 20, 6:07 am, ol...@web.de (Oliver Schmidt) wrote:

> BTW: People running ProDOS 8 programs from GS/OS aren't that happy if
> the ProDOS 8 program reboots instead of returning to GS/OS. If you
> call the QUIT command then that scenario works-out-of-the-box too...

When you say QUIT, do you mean BYE?

For my purposes, I still don't like that BYE offers no reboot. For a
non Apple II-er playing this game (or even for an Apple IIer), if I
call BYE, you go to an admittedly nice menu where you can choose a
program. But Joe won't know which of about 16 files to pick to get the
game going anew.

- Wade

bloomer_au

unread,
Sep 20, 2010, 12:08:54 AM9/20/10
to
To make all manner of user happy, I added a little 'press 1 to reboot
or 2 to quit to prodos' menu before BYE. I didn't like adding 40 more
bytes to the BASIC part of the program but I've now covered all bases.
And I will go to Prodos 2.

- Wade

sicklittlemonkey

unread,
Sep 20, 2010, 12:42:44 AM9/20/10
to
On Sep 20, 3:20 pm, bloomer_au <bloo...@iprimus.com.au> wrote:
> For my purposes, I still don't like that BYE offers no reboot.

Yes, BYE does a ProDOS quit.

Some apps offer both options: reboot or exit to ProDOS (quit), but I
just did a quick google and it seems David Empson wrote an enhanced
Bird's Better Bye installed by his QUITTER.SYSTEM which has a reboot
option (and even works in 40 cols). See here:
http://groups.google.co.nz/group/comp.sys.apple2/browse_frm/thread/b33d46b8e59bccf5/18e1ec9384d95af1?hl=en&lnk=gst&q=quitter+bbb#18e1ec9384d95af1

I'm glad Oliver mentioned the quit back to GS/OS too.

Cheers,
Nick.

David Empson

unread,
Sep 20, 2010, 2:05:17 AM9/20/10
to
sicklittlemonkey <nick.w...@gmail.com> wrote:

> On Sep 20, 3:20 pm, bloomer_au <bloo...@iprimus.com.au> wrote:
> > For my purposes, I still don't like that BYE offers no reboot.
>
> Yes, BYE does a ProDOS quit.
>
> Some apps offer both options: reboot or exit to ProDOS (quit), but I
> just did a quick google and it seems David Empson wrote an enhanced
> Bird's Better Bye installed by his QUITTER.SYSTEM which has a reboot
> option (and even works in 40 cols). See here:
> http://groups.google.co.nz/group/comp.sys.apple2/browse_frm/thread/
> b33d46b8e59bccf5/18e1ec9384d95af1?hl=en&lnk=gst&q=quitter+bbb#18e1ec9384d95af1

Not exactly. QUITTER.SYSTEM presents a one page menu including commands
to reboot, boot from a specified slot or return to GS/OS.

It can also install (in memory) and invoke my enhanced Birds Better Bye.
My enhancements include two columns of filenames and a keyboard shortcut
to refresh a drive or jump back to the root directory of the current
drive.

You would need to invoke QUITTER.SYSTEM from the Birds Better Bye
program selector menu to gain access to the commands for reboot, etc.

I normally have QUITTER.SYSTEM as the first .SYSTEM file on most of my
boot disks, so it will be used if I boot directly into ProDOS-8, and I
launch QUITTER.SYSTEM from Finder if I'm intending to stay in ProDOS-8
through several P8 applications before eventually returning to GS/OS (by
launching QUITTER.SYSTEM again).

--
David Empson
dem...@actrix.gen.nz

Oliver Schmidt

unread,
Sep 21, 2010, 9:30:37 AM9/21/10
to
Hi Wade,

>Thanks for these point-outs.

You're welcome :-)

Regards,
Oliver

Steve Nickolas

unread,
Sep 23, 2010, 10:15:21 PM9/23/10
to

Here's what I usually do.

reboot: lda #$00
sta $03F2
sta $03F3
sta $03F4
jmp ($FFFC) ; 6502 reset vector

this should work even with wacky clones like the Laser, for which the CALL
-1370 trick doesn't work.

-uso.

Steve Nickolas

unread,
Sep 23, 2010, 10:18:45 PM9/23/10
to
bloomer_au wrote:
> Thanks for these point-outs. I actually don't use any inverse
> lowercase, so something attracts me about staying 6502 IIe compatible,
> simply because it's possible. Part of the context of the idea of this
> game is to run a very ambitious game on as simple a setup as possible.
> But going 'simple-simple' (that is a 6502 IIe, as opposed to a 65c02
> IIe) is probably a point only I and a few Apple II heads will
> appreciate. The people playing this game on an emulator won't care
> about that. So you've got me leaning back towards Prodos 2.
>
> - Wade
>

1.9's got the menu too.

-uso.

0 new messages