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.