OpenBCM V1.07b12 (Linux)

Packet Radio Mailbox

DB0FHN

[JN59NK Nuernberg]

 Login: GUEST





  
G0FTD  > PSION    22.03.03 01:47l 307 Lines 5739 Bytes #999 (0) @ WW
BID : 720698G0FTD
Read: GUEST DB0FHN
Subj: QBASIC RTTY PC/Psion
Path: DB0FHN<DB0ZWI<DB0HDF<DB0HOT<DB0MRW<DB0RGB<OK0PPL<RZ6HXA<SP7MGD<WB0TAX<
      IK1ZNW<GB7CRV<GB7CIP<GB7SXE
Sent: 030321/1816Z @:GB7SXE.#38.GBR.EU #:13329 [Hastings] FBB7.00i $:720698G0FT
From: G0FTD@GB7SXE.#38.GBR.EU
To  : PSION@WW


From the archives comes this. It appears to have been sent/written by 
G8XDM. I must admit I have only just found it so I have'nt tried it yet.

It would be interesting to try it on a Psion Revo when using the 
XTM PC emulator (available as a shareware download).

Now I have my null modem adapter sorted out for my Revo for packet etc,
I could plug in my old Hamcomm modem etc.

I'd be interested if anyone gets it going on the Revo.

To run this program, save this message and edit out all my rubbish
leaving just the QBASIC source code. Save as rtty.bas and go.

For Win9x users, look at your Windows install CD and you'll find under
\oldmsdos (or similar) directory there will be QBASIC which you can 
copy over and use just like the good old days :-) 

Anyway, credit to G8XDM for this one. 

----------------------------------------------------------------------

REM                    RTTY DECODER (RECEIVE ONLY)


DIM baudot(0 TO 63) AS INTEGER

   DATA 00,69,00,65,32,83,73,85,13
   REM  _  E  lf A  sp S  I  U  cr

   DATA 68,82,74,78,70,67,75,84
   REM  D  J  R  N  F  C  K  T

   DATA 90,76,87,72,89,80,81,79
   REM  Z  L  W  H  Y  P  Q  O

   DATA 66,71,00,77,88,86,00,00
   REM  B  G  fs M  X  V  ls _

   DATA 51,00,45,32,39,56,55,13
   REM  3  lf -  sp '  8  7  cr

   DATA 42,52,33,44,37,58,40,53
   REM wru 4  bel , %  :  (  5

   DATA 43,41,50,156,54,48,49,57
   REM  +  )  2  œ   6  0  1  9

   DATA 63,64,00,46,47,61,00
   REM  ?  @  fS .  /  =  ls

  FOR i = 0 TO 63
  READ baudot(i)
  NEXT i

REM CHANGE BELOW TO COM1 OR COM2

port$ = "com1:"

  IF port$ = "com2" THEN
   IER = 761
   LINECTL = 763
   DIVLSB = 760
   DIVMSB = 761
   MODCTL = 764
   LINSTS = 765
   p = 2
  END IF
  
  IF port$ = "com1:" THEN
   IER = 1017
   LINECTL = 1019
   DIVLSB = 1016
   DIVMSB = 1017
   MODCTL = 1020
   LINSTS = 1021
   p = 1
  END IF

port$ = port$ + "1200,n,7,1,ds0,cs0,cd0"

REM THE FOLLOWING STATEMENT ONLY OPENS THE PORT AS #1 
REM THE SPEED ETC ARE ACADEMIC AT THE MOMENT

OPEN port$ FOR RANDOM AS #1

OPEN "RTTY.CAP" FOR APPEND AS #2

ON ERROR GOTO errorproc                   '   TRAP FRAMING ERRORS ETC
CLS
GOSUB SHOWKEYS2
LOCATE 1, 1, 1, 5, 7
REM                                           SET INITIAL SPEED
GOSUB F1SPEED
GOSUB showtime

ON KEY(10) GOSUB ENDPROG
KEY(10) ON

ON KEY(1) GOSUB F1SPEED
KEY(1) ON

ON KEY(2) GOSUB F2SPEED
KEY(2) ON

ON KEY(3) GOSUB F3SPEED
KEY(3) ON

ON KEY(4) GOSUB F4SPEED
KEY(4) ON

ON KEY(5) GOSUB F5SPEED
KEY(5) ON

ON KEY(7) GOSUB LOGTOG
KEY(7) ON

ON KEY(8) GOSUB UOSTOG
KEY(8) ON

ON KEY(9) GOSUB UNSHIFT
KEY(9) ON

ON TIMER(59) GOSUB showtime
TIMER ON

SHIFT = 0               '   START OFF IN LETTER SHIFT
LOGFLAG = 0             '   LOGGING OFF
UOS = 0                 '   UNSHIFT ON SPACE OFF

MAIN:
DO
 IF LOC(1) <> 0 THEN
  INDATA$ = INPUT$(1, #1)
  rxdat = ASC(INDATA$)
  rxdat = rxdat AND 31
  IF rxdat = 4 THEN
   IF UOS = 1 THEN SHIFT = 0
  END IF
  IF rxdat = 27 THEN SHIFT = 32
  IF rxdat = 31 THEN SHIFT = 0
  ASCIIDAT$ = CHR$(baudot(rxdat + SHIFT))
  IF ASCIIDAT$ <> CHR$(0) THEN
   PRINT ASCIIDAT$;
   IF LOGFLAG = 1 THEN
    PRINT #2, ASCIIDAT$;
    IF ASCIIDAT$ = CHR$(13) THEN PRINT #2, CHR$(10);
   END IF
  END IF
 END IF
 x$ = INKEY$
LOOP
END           '   PROGRAM NEVER GETS HERE !!!! THE ONLY WAY OUT IS F10

SHOWKEYS:
p = POS(0)
c = CSRLIN
LOCATE 25, 1
COLOR 15, 4
PRINT " F1-45 F2-50 F3-75 F4-100 F5-110";
RETURN

SHOWKEYS2:
p = POS(0)
c = CSRLIN
LOCATE 25, 48
IF LOGFLAG = 1 THEN COLOR 10, 4 ELSE COLOR 15, 4
PRINT " F7-LOG";

IF UOS = 1 THEN COLOR 10, 4 ELSE COLOR 15, 4
PRINT " F8-UOS";
COLOR 15, 4
PRINT " F9-SHIFT F10-EXIT ";
COLOR 14, 8
LOCATE c, p
RETURN

F1SPEED:
REM SET SPEED TO 45 BAUD
GOSUB SHOWKEYS
LO = 227
HI = 9
COLOR 10, 4
LOCATE 25, 2
PRINT "F1-45";
GOSUB SETSPEED
RETURN

F2SPEED:
REM SET SPEED TO 50 BAUD
GOSUB SHOWKEYS
LO = 0
HI = 9
COLOR 10, 4
LOCATE 25, 8
PRINT "F2-50";
GOSUB SETSPEED
RETURN

F3SPEED:
REM SET SPEED TO 75 BAUD
GOSUB SHOWKEYS
LO = 0
HI = 6
COLOR 10, 4
LOCATE 25, 14
PRINT "F3-75";
GOSUB SETSPEED
RETURN

F4SPEED:
REM SET SPEED TO 100 BAUD
GOSUB SHOWKEYS
LO = 128
HI = 4
COLOR 10, 4
LOCATE 25, 20
PRINT "F4-100";
GOSUB SETSPEED
RETURN

F5SPEED:
REM SET SPEED TO 110 BAUD
GOSUB SHOWKEYS
LO = 23
HI = 4
COLOR 10, 4
LOCATE 25, 27
PRINT "F5-110";
GOSUB SETSPEED
RETURN

SETSPEED:
REM                      SET UP UART REGISTERS for REQUIRED SPEED
OUT MODCTL, 8
IERSAVE = INP(IER)
OUT IER, 0
OUT LINECTL, INP(LINECTL) OR &H80
OUT DIVLSB, LO
OUT DIVMSB, HI
OUT LINECTL, &H4
OUT IER, IERSAVE
COLOR 14, 8
LOCATE c, p
RETURN

LOGTOG:
IF LOGFLAG = 0 THEN LOGFLAG = 1 ELSE LOGFLAG = 0
GOSUB SHOWKEYS2
RETURN

UOSTOG:
IF UOS = 0 THEN UOS = 1 ELSE UOS = 0
GOSUB SHOWKEYS2
RETURN

UNSHIFT:
IF SHIFT = 0 THEN SHIFT = 32 ELSE SHIFT = 0
RETURN

showtime:
p = POS(0)
c = CSRLIN
COLOR 11, 4
LOCATE 25, 33
PRINT " "; MID$(DATE$, 4, 3); LEFT$(DATE$, 3); RIGHT$(DATE$, 2); " ";
PRINT LEFT$(TIME$, 5);
COLOR 14, 8
LOCATE c, p
RETURN

ENDPROG:
CLOSE #1
CLOSE #2
END

errorproc:
REM ONLY FRAMING ERRORS ETC SHOULD OCCUR, SO FLASH * ON STATUS LINE.
p = POS(0)
l = CSRLIN
LOCATE 25, 42
COLOR , 4
PRINT "*";
LOCATE 25, 42
COLOR 4
PRINT " ";
COLOR 14, 8
LOCATE l, p
RESUME NEXT

------------------------------------------------------------------------



                            ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
                            ³     73 - Andy      ³     
                            ³       G0FTD        ³    
                            ³  Psion Revo owner  ³    
                            ³Msg sent  21-03-2003³     
                            ³  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   ³    
                            ³  ³ Û           ³   ³    
                            ÀÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÙ     


Read previous mail | Read next mail


 18.05.2024 17:51:00lGo back Go up