Control the submarine "=" by the arrow keys while avoiding the octopus "M" and the walls "-". Download the first version http://www.atari2600land.com/oric/gosuboric.tap. And a quick question: How big in Ks can an Oric tape be? Because I was going to design several more levels than just this one that repeats over and over again.

(Admitelly, you want to do that using DATA/READ, not by POKEing one by one).

Would make the game a lot more attracting visually speaking !

Some other neat trick, is to write some of the characters on screen using the video inverse. Doing that you can easly have four colors on screen, two for the background/landscape, and two others for the players or sprites.

To do inverse video, you just need to add 128 to the code of the caracter you are displaying:

What you have to know about your oric memory, is that it is a bunch of 8-bits boxes numbered from 0 to 65535 (In other words, in hexadecimal, it is numbered from #0000 to #FFFF). Those numbers are called addresses : just think about letter boxes in a street, numbered for the post officers.

The principle is that you should be able to retrieve or modifie any of those 65535 values.
In BASIC, there is a direct method wich is the use of POKE and PEEK (and also DEEK and DOKE).

If you want to retrieve a value :value=PEEK(address)

If you want to change a value :POKE address,value

Now, in you Oric memory, there are some set of boxes that contain your programs, some other nothing, some other some well known values (for instance, some squares represent the screen, some other the graphics of each caracter)

Starting at address #B400, you will find all the graphics of letters, numbers and special symbols.
For each letter, number or symbol, the graphics are defined with 8 lines of 6 pixels wide, in memory it means that each letter is coded with 8 contigous bytes (1 byte=8 bits=(6 usefull pixels+2 bits never used), 8 bytes=8 lines).

Starting from #B400, the graphics are also ordered in the ASCII value order, starting from caracter wich has the 0 ASCII value and finishing with graphics for the caracter wich has the ASCII value 127.

So for letter 'A', the address of graphics will start at #B400+(8*65) , 65 is the ASCII value of A, and will finish at address #B400+(8*65)+7.

It means that if you "POKE" at address #B400+(8*65), you change the graphics of letter A.
For B, graphics will start at address #B400+(8*66) , and will finish at address #B400+(8*66)+7.

The general formula to get the address of the graphics will start at :
#B400+(8*ASCII_VALUE)+0

More generally, we use some data statements, a loop, and a POKE in order to modify graphics :