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

Switchable Startup-Sequence Code NEEDED!

196 views
Skip to first unread message

sl...@cc.usu.edu

unread,
May 21, 1992, 12:34:52 PM5/21/92
to

Hello all you excellent Amiga programmer dudes!

As I am somewhat illiterate on AmigaDOS commands, and need some help here.
I am writting a "startup-sequence selector" program whereas....

1. No mouse buttons pressed: Standard sequence executed.
2. Left mouse button pressed: Alternate sequence #1 executed.
3. Right mouse button pressed: Alternate sequence #2 executed.


How might one go about creating such a program? Right now I am going in
this direction:

Startup-Sequence checks for mouse buttons pressed and loads either
Standard, Alternate #1, or Alternate #2 sequences. Is this right?

Question: How might one check the mouse buttons?
Question: How can I transfer control to one of the Alternate sequences
and "endcli" the original?


Information: I have the "bare-bones" A3000-16/40 system.

Thanx,

- T. Carter

Kiernan Holland

unread,
May 21, 1992, 6:41:46 PM5/21/92
to
In article <1992May21.1...@cc.usu.edu> sl...@cc.usu.edu writes:
>
>
> Hello all you excellent Amiga programmer dudes!
>

Dudes?? Groovey!!!

> As I am somewhat illiterate on AmigaDOS commands, and need some help here.
> I am writting a "startup-sequence selector" program whereas....

I used to be, but actually I still am somewhat too.

>
> 1. No mouse buttons pressed: Standard sequence executed.
> 2. Left mouse button pressed: Alternate sequence #1 executed.
> 3. Right mouse button pressed: Alternate sequence #2 executed.
>
>
> How might one go about creating such a program? Right now I am going in
> this direction:
>
> Startup-Sequence checks for mouse buttons pressed and loads either
> Standard, Alternate #1, or Alternate #2 sequences. Is this right?
>
> Question: How might one check the mouse buttons?
> Question: How can I transfer control to one of the Alternate sequences
> and "endcli" the original?
>
>
> Information: I have the "bare-bones" A3000-16/40 system.

I have the same system, that should not matter. All Amiga's are pretty much
the same system, just different hardware additions.

This is my suggestion.
Well several. I have a program called Aquarium on my hard drive
that does global searches of the fred fish disk library.
If you are not familiar with the fred fish library, send mail
back to me and I'll give you more information on where to
get access. If you have FTP access and have some way of getting
the executables home (I get mine through NFS on the PC's at school,
or through the VT100 emulator over KERMIT protocol [a protocol like
Zmodem which is used primarily by UNIX systems as a way
of transferring binaries and text files]).

Here is the name of the FTP place:

ux1.cso.uiuc.edu

IP address: 128.174.5.59
Archives: amiga, fish, amicus, cucug

This is the place I shop when I go for new software. They have
all fish disks to 640, so you shouldn't have a hard time
finding a program. By the way, you can get full descriptions
of each disk in text form on the same FTP place.
However, the Aquarium (if you can get a copy of the program and its
library of disks) is so much easier.

Here is what I came up when I searched for "startup" in the
descriptions of the programs:

Fish: 242 CustReq - a special requester (spiffy) for your startup.
(these are not actual quotes, I don't want to run CMD,
but I guess I'll have to. The program only supports prints
to the printer, but you can redirect the output to a file
using a program that comes with Amigados called CMD [I think]).
(I am checking through the manual, I forgot how to use CMD alltogether.)


AHDM Fish# 319
Amiga Hard Disk Menu. When placed in your startup sequence,
AHDM offers a ten page menu, each page having up to ten
possible actions. By double clicking on an action, that
action will execute any legal AmigaDOS command, program,
or script file. This allows you to interactively select
which programs you wish to start or packages to install
at boot time. Version 1.1a, binary only, demo version
that only supports 2 pages of actions.
Author: Scott Meek

CustReq Fish# 412
A glorified ASK command for your startup-sequence. It
generates a requester with the specified text, positive
and negative gadgets either of which can be the default,
and an optional timeout value. This is version 4, an
update to the version on disk 242, binary only.
Author: Jonathan Potter

HDClick Fish# 439
A program selector, typically installed in the startup
sequence as the first command. Has user defined gadgets,
a configuration file, an iconify function, and works with
both NTSC and PAL systems. This is version 1.21, binary
only.
Author: Claude Mueller

KeyMenu Fish# 528
An alternative to Intuition's method of menu selection via
the keyboard. Uses one key to activate the menu for the
currently active window, the cursor keys to move through
the menu as you choose, and the return key to select the
desired menu item or escape key to abort selection. Works
with AmigaDOS 2.0 mouse accelerator and has option to blank
Intuition's pointer. Version 1.05, an update to version
1.03 on disk 470. Includes assembly source.
Author: Ken Lowther

BatchMaster Fish# 521
A program that makes creation of interactive command
scripts a lot easier. It works as commands ASK, IF and
SKIP together, only better. You can have up to four
options to skip to, and select them with a mouse, as
BatchMaster has an Intuition interface. This is version
1.27. Requires arp.library. Binary only.
Author: Janne Pelkonen


JMenu Fish# 460
This program allows an AmigaDOS script to display a menu,
wait for the user to make a selection either with the mouse
or the keyboard, and return the selection back to the script
through an environment variable. It can also immediately
execute any valid AmigaDOS command based upon the menu
selection. The maximum size of the menu is based on the
screen resolution and font size, up to a maximum of 26
selections of a maximum of 80 characters each and an optional
title area of up to 4 lines. Version 1.1, binary only.
Author: James Collins

BatchRequester Fish# 436
A simple program which opens an Arp filerequester and
writes the result to an environment variable. Very useful
if used in batchfiles. Version 1.1, source code in Oberon.
Author: Christoph Teuber


Satisfied???

If not, you can always use the typical

ask "do you want program #1??"
if warn
echo "here is #1"
program1
else
echo "here is #2"
program2
endif

;-) I guess not.

Olav Gimmestad

unread,
May 22, 1992, 3:03:00 PM5/22/92
to
In article <1992May21.1...@cc.usu.edu> sl...@cc.usu.edu writes:

> As I am somewhat illiterate on AmigaDOS commands, and need some help here.
> I am writting a "startup-sequence selector" program

I have already written a utility which will make you able to
select between many different startup-sequences so you won't
need to do it :)

It will start a default startup-sequence if no gadgets are
pressed within 10 secs.

it's called fastmenu2_ver1_1b.lzh and you can find it

on amiga.physik.unizh.ch in the amiga/util catalog

It also offers some nice utility functions.

Will run under any kickstart>1.1 and any
prosessor (680x0 :) You should have a hard drive.

filesize: 7.5k

The 1.1 version is already there, i will upload version 1.1b now.

ok :)

Olav Gimmestad

John Veldthuis

unread,
May 22, 1992, 7:34:17 AM5/22/92
to
Quoted from <1992May21.1...@cc.usu.edu> by sl...@cc.usu.edu:

>
> Question: How might one check the mouse buttons?
> Question: How can I transfer control to one of the Alternate sequences
> and "endcli" the original?
>

Here's a little assembley program to check the Left Mouse button. It simply
sets the return code to 5 on exit if button down.
In your startup-sequence or other simply call this program and act on the
result. It should not be to hard to add the right mouse button as well.
Here is a script I use

CheckLMB ;program below
if warn
execute s:startup-sequence2
endcli
endif
execute s:startup-sequence1
endcli

*** Program to test left mouse button ***

btst #6,($BFE001).l
beq.b .buttondown
moveq #0,d0
rts
.buttondown
moveq #5,d0
rts
--
*** John Veldthuis, Taranaki Amiga Users Group, jo...@tower.actrix.gen.nz ***

Francesco

unread,
May 23, 1992, 9:09:56 AM5/23/92
to
> Hello all you excellent Amiga programmer dudes!
>
> As I am somewhat illiterate on AmigaDOS commands, and need some help here.
> I am writting a "startup-sequence selector" program whereas....
>
> 1. No mouse buttons pressed: Standard sequence executed.
> 2. Left mouse button pressed: Alternate sequence #1 executed.
> 3. Right mouse button pressed: Alternate sequence #2 executed.
>
> - T. Carter

When I used to have KS1.3 I used to use zkick to boot into WB2.0
I had a small program which tested the mouse and returned a value in
d0 which the startup-sequence counld read and decide whether to boot
into 2.0.

But a better thing to test is the keyboard. Because of the way it is
designed there is a register which holds the code of the last key
pressed. Thus any time after the computer is switched on I could
press a key and the startup-sequence would run a small program to
test this. If you use the mous buttons for the selection it will mean
you have to hold them down for the entire startup sequence because you
never know for sure when you testing routine will run.

Here is a small program you could use:

move.b $bfec01,d0
not.b d0
ror.b #1,d0

cmp.b #$50,d0 ;code for function key 2
beq.s func1

cmp.s #$51,d0 ;code for function key 2
beq.s func2

moveq #0,d0
rts

func1: moveq #1,d0
rts

func2: moveq #2,d0
rts

AmigaDOS can then test the value returned in d0 (treating it as
an error code)

If there are any errors in the above code I sure EVERYONE will say so.

Francesco


Francesco

unread,
May 23, 1992, 9:23:47 AM5/23/92
to
Does there exist a speech program or version of narrator.device that does
not speak with an American accent?
No offense to Americans but I can't stand it.
KS1.3's narrator.device sounded like arnold swarztzenegger (sp?) and
while KS2.0 is a big improvement it still sounds American?

Any chance of an English accent?
And perhaps German, French...

Brian Coutinho

unread,
May 24, 1992, 4:00:46 AM5/24/92
to
In article <1992May23.1...@comp.vuw.ac.nz>, Francesc...@comp.vuw.ac.nz (Francesco) writes:

[ complaints of the narrator.device sounding like Americians deleted ]

>Any chance of an English accent?
>And perhaps German, French...
>

How about a one with that female voice from the old video game Hyper Olympics
;-) ?

Seriously, what ever happened to the patch that I heard about that would let
the narrator.device use the 'acustics' [I forget the real term I should use]
from someone's own sampled voice? Ie. the amiga would sound similar to
yourself ? CAn anyone enlighten us on this?

Brian

Francesco

unread,
May 24, 1992, 7:03:14 PM5/24/92
to

Posted for:

From m...@porsche.boltz.cs.cmu.edu Mon May 25 01:40:09 1992
Date: Sun, 24 May 92 09:39:29 -0400

It's more the translator which sounds american than the narrator. The narrator
can be persuaded to sound a little less american by 1. choosing the correct
phonemes for the word (i.e. don't use the translator library, use the
Oxford English Dictionary to find the phonetic realisations for your words.
However, it'll still sound somewhat american. The other things that are
important to sounding less American are stress (numbers in the phoneme string)
and directly setting the centralise and centphon values in the narrator_rb
structure. All this information is on page 131.. of the new 2.0x RKM Devices volume.


zuc...@uni2a.unige.ch

unread,
May 25, 1992, 5:29:23 AM5/25/92
to

that's fine, but still does not help with French or German or Swedish or...
What's required to build
a) another translator & narrator
b) a language- independent speech subsystem ? (neat!)

I realize that you Americans care little about other countries and languages
but even in the U.S. Spanish is widespread. English *is not* the most widely
spoken language by far! Just think about China, with it's +/- 1 BILLION people
or India (700M). I'll admit English is the most frequently use language in
business or scientific circles, but we've got at those markets already. Don't
tell me that these people can't afford computers, the problem mostly is they
can't understand them! Therefore, speech is a HUGE advantage to help
communication between man & machine.

Ever heard a Frenchman in the US ? Now think about how people laugh at an
Amiga trying to pronounce French speech! it's hilarious. Now do we want the
Amiga to be recognized as a serious machine or an expensive Sega console ????

greetings
Eric

p.s. I'll be glad to help build a language- independent translator & narrator
anyone interested ?

p.p.s. Congratulations to C= for WB2.1 and locale ! That's a breakthrough.
let's keep them coming.

Dr Peter Kittel Germany

unread,
May 25, 1992, 4:41:06 AM5/25/92
to
In article <1992May23.1...@comp.vuw.ac.nz> Francesc...@comp.vuw.ac.nz (Francesco) writes:
>Does there exist a speech program or version of narrator.device that does
>not speak with an American accent?

No, sorry.

>No offense to Americans but I can't stand it.

:-)

>KS1.3's narrator.device sounded like arnold swarztzenegger (sp?) and
>while KS2.0 is a big improvement it still sounds American?

Well, I'm amazed. *I* always had the impression that the old 1.3 narrator
still sounded a bit English, but that the new 2.0 one really has an extreme
american accent. Read, it's nearly unusable for other languages, where we
could at least achieve some degree of understandability (of German) with
the old one. For us, things have gotten definitely worse.
And they have also destroyed some phonemes that are needed, like the CH.

>And perhaps German, French...

Don't lose your hope. This is an issue that was discussed inside Commodore
from the very first day. And this discussion never died...

--
Best regards, Dr. Peter Kittel // E-Mail to \\ Only my personal opinions...
Commodore Frankfurt, Germany \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk
or pet...@public.sub.org

Michael....@cs.cmu.edu

unread,
May 26, 1992, 4:03:05 PM5/26/92
to
> Excerpts from netnews.comp.sys.amiga.programmer: 25-May-92 language
> independence (Narr.. zuc...@uni2a.unige.ch (2070)

> I realize that you Americans

Well, that was posted in reply to something I wrote, so I would just
like to point out that I'm not an American.

> Excerpts from netnews.comp.sys.amiga.programmer: 25-May-92 language
> independence (Narr.. zuc...@uni2a.unige.ch (2070)

> What's required to build
> a) another translator & narrator
> b) a language- independent speech subsystem ? (neat!)

As an approximation to an answer, the narrator is a (probably parallel,
maybe serial) parallel formant speech synthesiser. I can't see any good
reason why it shouldn't be very easy to expand it to pronounce all
European languages, plus japanese. Lanuguages with Clicks (like Xhosa
etc) might be a bit more trouble, because you are adding a new sound
source (in addition to glottal pulses and the usual fricatives that are
modelled). Tonal languages should also be a bit complicated to include.
- I know of a few attempts to make language independent synthesisers
(and recognisers) for European languages, but, as far as I know, noone
has tried to make a completely language independent synthesiser, even
for research purposes.
If you wanted to hack up a replacement synthesiser, I think I'd think
about using a demisyllable (or diphone) synthesiser, perhaps using
backoff to sampled phones for rare syllables or diphones. Contrary to
the prejudice that has arisen against sample based synthesisers, diphone
synthesisers (c.f. phone ones) can produce extremely pleasant speech,
and demisyllables should be better still.

As far as replacing the translator is concerned, If you have enough
memory, then nothing could be simpler. A first approximation is just to
type in the
pronunciations from a dictionary. A better one is to include some
lexical class labels with the words and use a statistical homograph
resolution and phrase
boundary labelling scheme to set the stress pattern and pitch contour.
You might even want to try to model rate based phenomena and interword
coarticulation if you were ambitious.

In any case, It'd be a lot of fun to play around with trying to get
languge independence and localisation of the speech synthesis stuff. But
it isn't easy stuff to do. Speaking is hard, especially when you don't
have a mouth.

Michael
[All that not withstanding, I agree that a really useable speech
synthesis
system would be a marvellous addition to the Amiga, especially if
coupled with the holy grail- a useable speech recognition system!]

Peter Simons

unread,
May 27, 1992, 12:27:33 AM5/27/92
to

TC> Hello all you excellent Amiga programmer dudes!

Ahhh, that`s me! :-))

TC> I am writting a "startup-sequence selector" program whereas....
TC>
TC> 1. No mouse buttons pressed: Standard sequence executed.
TC> 2. Left mouse button pressed: Alternate sequence #1 executed.
TC> 3. Right mouse button pressed: Alternate sequence #2 executed.
TC>
TC> How might one go about creating such a program?
TC>
TC> Question: How can I transfer control to one of the Alternate
TC> sequences and "endcli" the original?

Hmm, this is not a very big problem so I just wrote a small (228
Bytes) Executable that does all this stuff for you!

Just put this programm in your Startup-Sequence alone. Depending
on what combination of mouse-buttons is pressed, it will execute
a script-file in your S: diretory! (Make shure, all of them have
the S-Bit set!)

The following combinations are available: No Button, left/right
button and both buttons.

Here comes the source:

;***********************************************
; KickUp.asm
; written by Peter Simons
;***********************************************

;----------------- Exec ------------------------
_LVOOpenLibrary equ -$0228
_LVOCloseLibrary equ -$019E

;----------------- Dos -------------------------
_LVOExecute equ -$00DE

;----------------- Macros ----------------------
amove MACRO
lea \1(PC),a0
move.l a0,\2
ENDM

;**************** Mainprogram ******************

START lea doslib(PC),a1
move.l ($4).W,a6
moveq #0,d0
jsr _LVOOpenLibrary(a6)
move.l d0,a6

moveq #0,d0

btst #2,$dff016 ; right button
bne.s .Not
bset #0,d0

.Not btst #6,$bfe001 ; left button
bne.s .Execute
bset #1,d0

.Execute lea FileTab(PC),a0
lsl.w #2,d0
move.l (a0,d0.w),d1
moveq #0,d2
moveq #0,d3
jsr _LVOExecute(a6)

move.l a6,a1
move.l ($4).W,a6
jsr _LVOCloseLibrary(a6)

moveq #0,d0
rts

;----------------- Datas -----------------------
doslib dc.b 'dos.library',0

FileTab dc.l NoButton
dc.l RightButton
dc.l LeftButton
dc.l BothButtons

NoButton dc.b 'S:StartUp_NB',0
RightButton dc.b 'S:StartUp_RB',0
LeftButton dc.b 'S:StartUp_LB',0
BothButtons dc.b 'S:StartUp_BB',0

END

bye, Peter


--
Peter Simons FIDO-Net USE-Net
+49 (0)228-746061 Voice 2:241/5305.5 sim...@peti.GUN.de

Thaddeus P. Floryan

unread,
May 29, 1992, 8:28:27 AM5/29/92
to
In article <ab5...@peti.GUN.de> sim...@peti.GUN.de (Peter Simons) writes:
>
> TC> Hello all you excellent Amiga programmer dudes!
>
> Ahhh, that`s me! :-))
>
> TC> I am writting a "startup-sequence selector" program whereas....
> TC>
> TC> 1. No mouse buttons pressed: Standard sequence executed.
> TC> 2. Left mouse button pressed: Alternate sequence #1 executed.
> TC> 3. Right mouse button pressed: Alternate sequence #2 executed.
> TC>
> TC> How might one go about creating such a program?
> TC>
> TC> Question: How can I transfer control to one of the Alternate
> TC> sequences and "endcli" the original?
>
> Hmm, this is not a very big problem so I just wrote a small (228
> Bytes) Executable that does all this stuff for you!
>[...]

Hmmm, why are people re-inventing the wheel (so to speak)?

Enclosed is a copy of the ORIGINAL ``QMouse'' by Bob Rethemeyer (of
BTNtape fame).

Note the date on the file: 1986.

The sources can also be found on Fish Disk #49.

Thad Floryan [ th...@btr.com (OR) {decwrl, mips, fernwood}!btr!thad ]

-------------------- begin enclosure

**********************************************************************
* Program: QMOUSE - CLI "IF" test for mouse button
* Author: Robert Rethemeyer, Sunnyvale, CA
* Date: 10/05/86
* Status: RELEASED TO THE PUBLIC DOMAIN, "AS-IS"
**********************************************************************
* QMOUSE is a program to query the status of the left mouse button.
* It sets a return code of 0 if the button is NOT pressed,
* or a return code of 8 if it IS pressed. This return code can
* be used as a WARN condition in a CLI "execute" file.
*
* QMOUSE provides a way to optionally alter the way that
* "startup-sequence" operates when booting the machine.
* For example, some DOS 1.2 users load the most frequently used
* commands into RAM disk in the startup-sequence. Since that
* lessens the total memory available, some programs will not run.
* These users usually must keep a separate Workbench disk which
* does not load the RAM. Using QMOUSE and an IF statement in the
* startup-sequence, the loading of RAM can be conditionally skipped.
* Do nothing during the startup to load the RAM as usual; hold
* down the button to not load the RAM if extra RAM will be needed.
* Imaginative users may think of other uses for QMOUSE.
*
* When pressing the button, be sure the mouse pointer is off of the
* drag bar, otherwise the execution of the file pauses.
* Here is a basic example of how to use QMOUSE in the startup-sequence:
*
* echo "Workbench 1.2"
* ... etc....
* echo "<Hold down mouse-left for more RAM>"
* wait 1 sec
* QMouse
* IF NOT WARN
* echo "Loading RAM:C"
* makedir RAM:C
* path ....etc...
* copy c:dir to ram:c
* copy ....etc...
* ELSE
* echo "RAM:C not present"
* ENDIF
*
********************* Begin text of program **************************
NOLIST
INCLUDE "hardware/cia.i"
LIST
XREF _ciaa * location of 8520 chips
**********************************************************************
QMouse:
MOVEA.L #_ciaa,a3 * address of chip register
MOVE.B ciapra(a3),d0 * get register data
AND.L #CIAF_GAMEPORT0,d0 * mask out mouse button bit
EOR.B #CIAF_GAMEPORT0,d0 * invert it
LSR.B #3,d0 * shift to bit 3
RTS * return with bit as return code
END

-------------------- end enclosure

0 new messages