TIP: Click on subject to list as thread! ANSI
echo: aust_c_here
to: Paul Edwards
from: Michael Stapleton
date: 1995-10-29 03:42:00
subject: Devil Dialer

/*
 *	D E V I L S I M P L E 0
 *
 *  Simple Devil Dialer version 1.60
 *  Written by Paul Edwards, 1993.7.18, Fidonet 3:711/934
 *  Released to the Public Domain
 *  Updated on 1993.7.24 to fix timing problem
 *  Updated on 1994.5.1 to fix some control things.
 *  For full documentation for this script,
 *   FREQ "DEVIL" from 3:711/934{at}fidonet
 *
 *  Converted to ARexx by Michael Stapleton of Graphic Bits, 1995.10.7
 *
 *  You can find out more information from the telix documentation,
 *  SALT.DOC, available from almost any BBS.
 *
 *  NOT WORKING!!!
 *
 */

options results
address 'TERM'

'ACTIVATE'

/* See if there are any requests to process */
flist = getfiles('*.req')   /* All '.req' packets in our outbound directory */
flist = strip(flist, 'B')
if flist='' then do
    call prints('No file requests to process.')
    exit
end

'DIAL' '02-436-1785'  	    /* you must find out the bbs number yourself */

call prints('Sending Yoohoo - please wait 12 seconds')
call cputc('f1'x)   /* This is the Yoohoo character */
call delay(30)  	/* Unfortunately it could be a while before the BBS */
call cputc('f1'x)   /* actually is ready to receive it, so we send it a few */
call delay(30)  	/* times */
call cputc('f1'x)
call delay(30)
call cputc('f1'x)
call delay(30)
call cputc('f1'x)
call cgetct(50) 	/* I expect to get an ENQ character ('05'x) */
call delay(40)  	/* Assume I did */

call prints('sending Hello')
call cputc('1f'x) 	/* This character says that a 'hello' follows */
call cputc('6f'x) 	/* fixed as '006f'x */
call cputc('00'x) 	/*   in little-endian */
call cputc('01'x) 	/* fixed as '0001'x */
call cputc('00'x) 	/*   in little-endian */
call cputc('00'x) 	/* product code */
call cputc('00'x) 	/*   in little-endian */
call cputc('00'x) 	/* major revision */
call cputc('00'x) 	/*   in little-endian */
call cputc('00'x) 	/* minor revision */
call cputc('00'x) 	/*   in little-endian */
call cputs('Devil Dialer                                               ')

/* This should be your BBS name */
call cputc('00'x) 	/* null-terminate your BBS name */

call cputs('The Devil          ')  	/* This should be your name */
call cputc('00'x)  	/* null-terminate your name */

call cputc('9a'x)  	/* zone */
call cputc('02'x)  	/*   in little-endian */
call cputc('9a'x)  	/* net */
call cputc('02'x)  	/*   in little-endian */
call cputc('9a'x)  	/* node */
call cputc('02'x)  	/*   in little-endian */
call cputc('00'x)  	/* point number */
call cputc('00'x)  	/*   in little-endian */
call cputc('00'x)  	/* no password - so put out 8 NULs */
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)  	/* opus reserved - 8 NULs */
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('04'x)  	/* capability - and Telix doesn't support zedzap! */
call cputc('00'x)  	/*   in little-endian */
call cputc('00'x)  	/* 12 characters reserved */
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)
call cputc('00'x)

call cputc('c4'x)  	/* crc */
call cputc('fa'x)  	/*   in big-endian */
call cgetct(50)  	/* We're expecting to get a yoohoo from them */
call delay(40)  	/* Assume we did */
call cputc('05'x)  	/* Then we send an ENQ to ask for the hello structure */
call delay(40)  	/* we're likely to get it aren't we? */
call cputc('06'x)  	/* so we'd better ACK it! */
call delay(20)

'SENDFILE' flist
'RECEIVEFILE'

'HANGUP'

exit

/* * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *
 *  Function definitions:
 *  --------------------
 *
 *  cputc - send character to serial port
 *  delay - delay certain number of tenths of seconds
 *  cgetct - read a character from serial port,
 *   waiting a maximum of x tenths of a second
 *  cputs - send a string
 *
 */

/* Get file names that match fpat in upload dir */
getfiles: parse arg fpat
    'getattr' pathprefs field BINARYUPLOADPATH VAR path
    olddir = pragma('D', path)
    call filelist(fpat, st, 'F')
    flist = ''
    do i=1 to st.0;flist = flist st.i;end
    call pragma('D', olddir)
return flist

delay: parse arg t
    'DELAY SEC' t%10
return

prints: parse arg t
    'SEND LOCAL TEXT' t'\r\n'
return

cputs: parse arg t
    'SEND TEXT' t
return

cputc: parse arg t
    'SEND TEXT' t
return

/* Get a single char, with timeout t */
cgetct: parse arg t
    'TIMEOUT SEC' t%10
    'READ NUM 1'
    if rc~=0 then res=''
    else res=RESULT
    'TIMEOUT OFF'
return res

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

Also, the file produced by makereq is called 02C703A6.REQ.

Michael Stapleton of Graphic Bits.

 * AmyBW v2.10 *
... This tagline is encrypted
--- Blue Wave/RA v2.10 AmyBW
* Origin: The Three Amigas - better than two (3:713/615.0)
SEEN-BY: 50/99 620/243 623/630 711/401 409 410 413 430 510 807 808 809 932
SEEN-BY: 711/934 712/508 515 713/111 317 601 611 615 618 700 826 888 914
SEEN-BY: 714/906 800/1 7877/2809
@PATH: 713/615 888 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.