Oricutron 1.0 (EDIT: Now 1.2)
Re: Oricutron 1.0 (EDIT: Now 1.2)
About the old bug: I think it's fixed, at least I don't have any error messages.
Attached is updated version of STORE/RECALL progs - now the generated MATRIZ.tap file is 145 bytes - exactly as in your post but there is difference in tap header '$05 $4D' vs. '$FF $FF' Please, try with Oricutron built from last git sources. About The Quill: I can confirm - saving doesn't work in Oricutron for me too.
Euphoric (v.1020) works and attached are saved immediately after program load Database file and Adventure file.
Attached is updated version of STORE/RECALL progs - now the generated MATRIZ.tap file is 145 bytes - exactly as in your post but there is difference in tap header '$05 $4D' vs. '$FF $FF' Please, try with Oricutron built from last git sources. About The Quill: I can confirm - saving doesn't work in Oricutron for me too.
Euphoric (v.1020) works and attached are saved immediately after program load Database file and Adventure file.
Re: Oricutron 1.0 (EDIT: Now 1.2)
Thanks iss, so it is a bug in Oricutron that Euphoric does not suffer. Interesting. Probably it is due to how it saves data... Xeron surely knows.
Is there any chance that recent changes result in a new release so I can just download it and NOT recompile it?
As a lateral two cents I miss a quick way to "insert a blank tape".
Is there any chance that recent changes result in a new release so I can just download it and NOT recompile it?
As a lateral two cents I miss a quick way to "insert a blank tape".
Re: Oricutron 1.0 (EDIT: Now 1.2)
Hello all,
Here: http://iss.sandacite.com/oricutron/
you can find fresh Oricutron builds for macOS, Windows and Linux.
This builds are unofficial and are intended mainly for developers.
I plan to keep them permanently updated to latest github sources.
Please, try them and let me know if something is not working.
All binaries are cross-compiled and tested on real target OS: macOS High Sierra, Windows 10, Linux Fedora 27.
Here: http://iss.sandacite.com/oricutron/
you can find fresh Oricutron builds for macOS, Windows and Linux.
This builds are unofficial and are intended mainly for developers.
I plan to keep them permanently updated to latest github sources.
Please, try them and let me know if something is not working.
All binaries are cross-compiled and tested on real target OS: macOS High Sierra, Windows 10, Linux Fedora 27.
Re: Oricutron 1.0 (EDIT: Now 1.2)
I am afraid, it is not the only bug, but it seems related to the Oric rom itself.
It concerns the two other bytes, those located just to the right of those highlited by iss on his screenshot.
iss bytes represent the memory address of the array in the BASIC stack at the moment they were saved.
Those are not very important since when you do a "RECALL" from another program for example, the destination array will not be at the same address in oric memory.
The big concern is either the 2 following bytes, or the data themselves.
- According to "L'Oric à nu" (which is totally wrong on many points), this value must correspond th the ending address of the array.
- According, to other books, (Geof Phillips, Bertin), we should have the same.
The Oric saving routine is supposed to copy to the tape 9 specific memory location.
In fact, instead, those two bytes give the length of the data that follow instead.
But it is not exactly true, because it gives the length plus a delta (6, 8, ...) which is not always the same.
For many details about the tap format, see my joined pdf)
This among that :
- the slow/fast flag is never set by Oricutron (the 9th header byte).
- in "L'Oric à nu", bytes are show in the wrong order, as stated by Geof Phillips in his book, the header bytes are written to the tape in reverse order.
It concerns the two other bytes, those located just to the right of those highlited by iss on his screenshot.
iss bytes represent the memory address of the array in the BASIC stack at the moment they were saved.
Those are not very important since when you do a "RECALL" from another program for example, the destination array will not be at the same address in oric memory.
The big concern is either the 2 following bytes, or the data themselves.
- According to "L'Oric à nu" (which is totally wrong on many points), this value must correspond th the ending address of the array.
- According, to other books, (Geof Phillips, Bertin), we should have the same.
The Oric saving routine is supposed to copy to the tape 9 specific memory location.
In fact, instead, those two bytes give the length of the data that follow instead.
But it is not exactly true, because it gives the length plus a delta (6, 8, ...) which is not always the same.
For many details about the tap format, see my joined pdf)
This among that :
- the slow/fast flag is never set by Oricutron (the 9th header byte).
- in "L'Oric à nu", bytes are show in the wrong order, as stated by Geof Phillips in his book, the header bytes are written to the tape in reverse order.
- Attachments
-
- Oric tap file format.pdf
- (217.07 KiB) Downloaded 510 times
Re: Oricutron 1.0 (EDIT: Now 1.2)
Question to the Oricutron people
The current "Official" version is still 1.2, dated from 2014.
Would it make sense to make some official new version?
Basically I'm trying to update the OSDK documentation with an article about profiling, I wanted to add the section from ISS about the Cycle Counter reset parameter... but this feature was added apparently in 2016, so it's not in Oricutron 1.2, and I'd rather not advertise the use of features that are not available in an official build.
If a new version appears, I'll update the OSDK with it (after some testing obviously).
The current "Official" version is still 1.2, dated from 2014.
Would it make sense to make some official new version?
Basically I'm trying to update the OSDK documentation with an article about profiling, I wanted to add the section from ISS about the Cycle Counter reset parameter... but this feature was added apparently in 2016, so it's not in Oricutron 1.2, and I'd rather not advertise the use of features that are not available in an official build.
If a new version appears, I'll update the OSDK with it (after some testing obviously).
Re: Oricutron 1.0 (EDIT: Now 1.2)
In my humble opinion, the current status of Oricutron's sources is quite stable and there is no critical issues reported. That being said I think it's really time for new release. I'm ready to help where is needed!
BTW, I will be very happy if before release all sources are passed trough a code formatter, so tabs/spaces, indentation, the look of () and {}, etc. are consistent everywhere.
BTW, I will be very happy if before release all sources are passed trough a code formatter, so tabs/spaces, indentation, the look of () and {}, etc. are consistent everywhere.
- ibisum
- Wing Commander
- Posts: 1652
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Oricutron 1.0 (EDIT: Now 1.2)
>>code formatter
Yes, this.
Yes, this.
Re: Oricutron 1.0 (EDIT: Now 1.2)
mmmm... still the bug with saving and loading of data statements (STORE/RECALL) is unsolved, I think. Not sure about Telestrat emulation in the official binary version.
And some of the latest additions (some of which, as Dbug said, are very interesting) are not in, either.
And some of the latest additions (some of which, as Dbug said, are very interesting) are not in, either.
Re: Oricutron 1.0 (EDIT: Now 1.2)
When I "paste from clipboard" some basic code in Oricutron (1.2) it goes in "monitor mode" without any reasons at different stages. If I paste the same lines twice the bug may not happen at the same point but unfortunately happens 100% when doing so.
Re: Oricutron 1.0 (EDIT: Now 1.2)
Well you should be really motivated to get something working on the oric
Since I can't paste my basic stuff in Oricutron (see above) I decided to use txt2bas to have a bas file. I then use oric-dsk manager to put it in a dsk file and then load this in Oricutron (harware/microdisk mode/dir is ok file is there) and as soon as I enter the load"myfile.bas Oricutron goes into monitor mode. F2 has no other effect than skipping to the next address but not exiting the monitor mode.
Since I can't paste my basic stuff in Oricutron (see above) I decided to use txt2bas to have a bas file. I then use oric-dsk manager to put it in a dsk file and then load this in Oricutron (harware/microdisk mode/dir is ok file is there) and as soon as I enter the load"myfile.bas Oricutron goes into monitor mode. F2 has no other effect than skipping to the next address but not exiting the monitor mode.
Last edited by romualdl on Tue Nov 27, 2018 1:57 pm, edited 1 time in total.
Re: Oricutron 1.0 (EDIT: Now 1.2)
Ok downloaded Oricutron_win32-20181004 and the result is the same.
Monitor mode at different stages of the "paste" of basic lines
Monitor mode when trying to load the .bas file from the dsk created by the dsk manager
Monitor mode at different stages of the "paste" of basic lines
Monitor mode when trying to load the .bas file from the dsk created by the dsk manager
Re: Oricutron 1.0 (EDIT: Now 1.2)
Can you attach the basic or dsk image? I can have a look.. seems to be an illegal instruction.
Re: Oricutron 1.0 (EDIT: Now 1.2)
"paste" put the text in a queue buffer which is used by ay_ticktock() in file 8912.c.
If the queue buffer isn't empty, the CheckKbd routine in ROM is not really executed but simulated by Oricutron.
I think there is a bug in function ay_ticktock() when the IRQ is raised while the 6502 executes a JMP CheckKbd.
I opened an issue on GitHub.
Regarding the other issue, probably something wrong in the .bas file
If the queue buffer isn't empty, the CheckKbd routine in ROM is not really executed but simulated by Oricutron.
I think there is a bug in function ay_ticktock() when the IRQ is raised while the 6502 executes a JMP CheckKbd.
I opened an issue on GitHub.
Regarding the other issue, probably something wrong in the .bas file
Re: Oricutron 1.0 (EDIT: Now 1.2)
Good find, christian!
I've committed to github your bug fix. It works for me well!
EDIT: Development builds updated here.
Available for download are:
Oricutron_lin64-20181128.zip
Oricutron_sdl2_macOS_i64-20181128.zip
Oricutron_sdl_macOS_i64-20181128.zip
Oricutron_win32-20181128.zip
Oricutron_win64-20181128.zip
Oricutron_android-20181006-1.apk
I've committed to github your bug fix. It works for me well!
EDIT: Development builds updated here.
Available for download are:
Oricutron_lin64-20181128.zip
Oricutron_sdl2_macOS_i64-20181128.zip
Oricutron_sdl_macOS_i64-20181128.zip
Oricutron_win32-20181128.zip
Oricutron_win64-20181128.zip
Oricutron_android-20181006-1.apk