Following in the line of this question How can you measure time using BASIC on Atari XL computers?
I'd like to ask how can you do the same (measuring time, with a resolution of frames or better if possible, on an Oric Atmos 48K. There is no TIME or TIMER function as I can see, and I haven't had much luck finding a list of system variables.
So I tried reading the Oric ROM disassmbly searching for clues (available here: http://www.defence-force.org/ftp/oric/documentation/v1.1_rom_disassembly.pdf ), and I've reached this:
EDFC 29 7F AND #$7F This section sets up the 6522 EDFE 09 40 ORA #$40 to generate interrupts from EE00 8D 0B 03 STA $030B timer 1 every 10mS (in its EE03 A9 C0 LDA #$C0 free running mode).
A while after, in a code section titled as "IRQ handler", I've come to this code:
EE39 A0 00 LDY #$00 This section decrements each EE3B B9 72 02 LDA $0272,Y of the three 16 bit counters EE3E 38 SEC in page 2 by 1. EE3F E9 01 SBC #$01 EE41 99 72 02 STA $0272,Y EE44 C8 INY EE45 B9 72 02 LDA $0272,Y EE48 E9 00 SBC #$00 EE4A 99 72 02 STA $0272,Y EE4D C8 INY EE4E C0 06 CPY #$06 EE50 D0 E9 BNE $EE3B
So I thought there was a 10ms free running timer which caused a 16-bit counter located at
$0272 to decrement by 1. I tried to
PEEK that location (
626 in decimal) to see if it changes, but it doesn't. It may be a hardware counter located in a CIA or something. I'm not sure.
After all this, I'm in the same point as I started, so... does anyone know how to measure time from BASIC in a Oric Atmos 48K? Thanks!