User Tools

Site Tools


oric:telestrat

Telestrat

Operating system

Telestrat works with stratsed and telemon. Telemon contains a lot of primitives (graphics, sounds, math and minitel function).

Stratsed load in overlay ram and provide operation for floppy disks.

There is many keyboard shortcut in telemon bank

* Where can i have source code of telemon ? https://github.com/jedeoric/telemon

Keyboard shortcut (telemon)

  • CTRL+A : produce a tab (add 8 spaces)
  • CTRL+C : break
  • CTRL+G : produce a sound (oups)
  • CTRL+H : move cursor one space left
  • CTRL+I : XX
  • CTRL+J : XX
  • CTRL+K : move cursor one space up
  • CTRL+L : clear the window
  • CTRL+N : Delete current line
  • CTRL+Q : Switch on videotex cursor
  • CTRL+R : echo on (sends data also on printer)
  • CTRL+S : Launch hard copy (printer)
  • CTRL+T : Switch off video tex cursor
  • CTRL+X : Delete the end of the line (after sur cursor)

How to code on Oricutron with telemon

Tutorial

The famous Hello world ! with telemon and crossdevel

At this step, you have in oric folder, an osdk folder

At this step, you have in oric folder, an osdk and oricutron folder

  • create in oric folder a directory “projects”
  • in this folder (projects), create a folder “hello_telemon”
  • in this folder (hello_telemon), create a folder “include”
  • in hello_telemon folder, create a file “hello.asm” and open it in an editor. Copy and paste this :
 #define XWSTR0 $14 
 #define BRK_TELEMON(value)\
.byt 00,value;\
 *=$1000
 lda #<str_hello_world
 ldy #>str_hello_world
 BRK_TELEMON(XWSTR0) 
 rts
 str_hello_world
 .asc "Hello world !",0
  • at this step, you have to build with assembler : open a command line window (cmd.exe)
  • go to your project directory (oric/projects/hello_world) and execute xa :
 ..\..\osdk\bin\xa.exe hello_world.asm

..\..\osdk\bin\header.exe -a1 a.o65 hello.tap

  • you have now hello.tap file. Now we need to put it on disk !
  • use tap2dsk from osdk to generate the disk
  • use old2mfm to convert .dsk file into new format
  • insert stratsed.dsk into telestrat start Oricutron
  • insert your new disk genetated in oricutron, runs your code.

mouse and joysticks

For information on the Telestrat mouse and joystick ports go here.

How to write code compatible with Telemon and the Atmos

The same source code can be used to generate a Telestrat and Atmos executable by detect the machine at runtime.

It is useful to know that:

  • Telemon uses different IRQ vectors than the Atmos OS (Atmos: $244/$245/$246, Telemon: $2fa,$2fb,$fc).
  • Hires routines live at different addresses on both OSes (Atmos: jsr $ec33, Telemon: brk $1a).
  • If the IRQ vectors used by Telemon are redirected (where?) brk calls will cease to work since they rely on these vectors to have their original values. Thus, the IRQ vectors must be restored before calling any Telemon ROM routines.
  • Zero page : in order for Telemon to be functional after program exit, you should use “#define VARAPL $D0” to use all zero page bytes (44) after $d0.
  • via6522 : Telemon initializes the VIA1 differently than the Atmos OS. For example, the T2 timer is enabled. If you execute this instruction in your code : “lda VIA_T1CL” , you should also execute “lda VIA_T2CL” : You can also disable T2 timer.

Example program:


#ifdef TARGET_TELEMON24
#define	SYS_IRQLO			$2fb
#define	SYS_IRQHI			$2fc
#define SWITCH_HIRES\
.byt $00,$1a
#else
; atmos 
#define SWITCH_HIRES\
jsr $ec33;
#define	SYS_IRQLO			$245
#define	SYS_IRQHI			$246
#endif

How to switch over banks

Used it if you want to do a bit crap

     #define MYBANK 3
     _switchBank
     sei
     lda #MYBANK
     and $321
     sta $321
     ; SET IRQ vectors
     cli
     rts

You can do it better with telemon routines.

oric/telestrat.txt · Last modified: 2019/07/11 03:04 by nekoniaow