Doing 3D games on the Oric ?
Greetings...
A quick note to state that Fabrice Frances has found why our disk code did not work on the real Telestrat.
After a phenomenal work (he is impressive as usual) he discovered a bug in the hardware of the Telestrat, so it was nothing related to the game's code. That is why we could not find a way to solve the issue.
I won't dig into it more here, but solving this is possible, though a bit tricky. Basically accessing a register in the controller should be made at an address which has bits 0 and 1 the same as the register address in page 3. I think this kind of allingment is not possible to automate in the sources, so something more elaborated must be done.
If this is not done results seemed quite unpredictable, making the code fail in the most unusual and funny ways you can imagine.
I will work in a solution on the next days and see if we can release a Telestrat-compatible version of 1337.
Cheers
A quick note to state that Fabrice Frances has found why our disk code did not work on the real Telestrat.
After a phenomenal work (he is impressive as usual) he discovered a bug in the hardware of the Telestrat, so it was nothing related to the game's code. That is why we could not find a way to solve the issue.
I won't dig into it more here, but solving this is possible, though a bit tricky. Basically accessing a register in the controller should be made at an address which has bits 0 and 1 the same as the register address in page 3. I think this kind of allingment is not possible to automate in the sources, so something more elaborated must be done.
If this is not done results seemed quite unpredictable, making the code fail in the most unusual and funny ways you can imagine.
I will work in a solution on the next days and see if we can release a Telestrat-compatible version of 1337.
Cheers
Not sure, Dbug. Did you rely on any Sedoric code inside the stratoric cartridge? Fabrice Broche modified it to have accesses to FDC registers correctly alligned, that is the next instruction's address should have bits 0 and 1 the same as the register address in page 3.
Anyway I found that using this directives placed before every access to $310-$313 seem to do the trick:
But not sure if I am correct. Sent the intro disk to Fabrice for testing...
Fingers crossed...
Anyway I found that using this directives placed before every access to $310-$313 seem to do the trick:
Code: Select all
.dsb (($0310&3)-((*+3)&3))&3,$ea
.dsb (($0311&3)-((*+3)&3))&3,$ea
.dsb (($0312&3)-((*+3)&3))&3,$ea
.dsb (($0313&3)-((*+3)&3))&3,$ea
Fingers crossed...
The trick worked!!!! The intro ran perfectly on a real Telestrat... so I have just modified the main game file and sent it to Fabrice for more testing...
If I did not break anything in the process, I think we will have a working version of 1337 on the Telestrat soon!
BTW: Anybody with a Telestrat could do further testing for me? I can send you the dsk image, the more people testing the better...
Cheers
If I did not break anything in the process, I think we will have a working version of 1337 on the Telestrat soon!
BTW: Anybody with a Telestrat could do further testing for me? I can send you the dsk image, the more people testing the better...
Cheers
Well I have an email from Fabrice with the proof of this bug and a document about how Fabrice Broches was aware of it, inserting some NOPs here and there in the Sedoric version which is included in the Stratoric cartridge. He may write something from the CEO-mag, not sure, but the main reason is:
I hope to have a better and more deep explanation soon, because it is interesting enough as to put it on the Wiki, as well as code that works both for Atmos+Microdisc and Telestrat+Stratoric
Cheers
So, unless the following instruction is placed at an address with the same two lowest significant bits than the register you want to access, code fails.Now my understanding is that there's a timing bug in the RE (Read), WR (Write) or CS (Chip Select) built by the ULAs, which drives the FDC 1793 chip. I think the timing is too long, so the signals still enable the FDC at the beginning of the next cpu cycle, which is the fetch of the [following] opcode. So the two LSB address lines (A0 and A1) of the [following] instruction are still selecting a register in the FDC.
I hope to have a better and more deep explanation soon, because it is interesting enough as to put it on the Wiki, as well as code that works both for Atmos+Microdisc and Telestrat+Stratoric
Cheers
Greetings again. The game now works when run on a real Telestrat... or nearly, as we are experiencing some issues with saved games.
Probably something hidden in that area of the code. Will study it, but anyway the intro works, the game is launched and works perfectly and tutorial missions (at least) are correctly loaded.
It is only that the saved game data seems to be corrupted somehow, so we are getting closer
As soon as we solve it (need to change things, send to Fabrice, he loads in his Telestrat and Atmos, checks and gets back, so it is a bit slow process), we will post yet a new version (1.20) Telestrat compatible
Cheers
Probably something hidden in that area of the code. Will study it, but anyway the intro works, the game is launched and works perfectly and tutorial missions (at least) are correctly loaded.
It is only that the saved game data seems to be corrupted somehow, so we are getting closer
As soon as we solve it (need to change things, send to Fabrice, he loads in his Telestrat and Atmos, checks and gets back, so it is a bit slow process), we will post yet a new version (1.20) Telestrat compatible
Cheers
Ok a quick note to state that 1337 is now Telestrat-compatible. The saving problem was a timing issue which has been corrected (thanks to Fabrice for all his help).
As soon as I bundle a new distribution it will be uploaded to defence-force and available through the 1337 website, as usual.
Meanwhile you might want to see the intro running on a real Telestrat:
http://www.youtube.com/watch?v=Xyr3nJ6FXBU
and on a real Atmos:
http://www.youtube.com/watch?v=QV6zV4gLsMU
Thanks again to Fabrice for the nice videos... isn't the loading speed nice?
As soon as I bundle a new distribution it will be uploaded to defence-force and available through the 1337 website, as usual.
Meanwhile you might want to see the intro running on a real Telestrat:
http://www.youtube.com/watch?v=Xyr3nJ6FXBU
and on a real Atmos:
http://www.youtube.com/watch?v=QV6zV4gLsMU
Thanks again to Fabrice for the nice videos... isn't the loading speed nice?
Version 1.20 of 1337 has been released and is ready for download on http://1337.defence-force.org.
Featuring some bug corrections, typos in the manual and this version is Telestrat compatible (with the stratoric cartridge), so you can test on your real machines.
Please if you do, let me know.
Happy playing!
Featuring some bug corrections, typos in the manual and this version is Telestrat compatible (with the stratoric cartridge), so you can test on your real machines.
Please if you do, let me know.
Happy playing!
Re: Doing 3D games on the Oric ?
While looking for information on 3d I discovered this thread and I read it entirely to find interesting things for my project, the magnificent work was long but interesting, thanks to Chema and Dbug, I will be inspired by Elite for code my routines.
Re: Doing 3D games on the Oric ?
You read it entirely? Good gracious!
What is most interesting, in my opinion, is the couple of articles in C=Hacking written by S. Judd, where he explains his engine. Remember I just adapted it.
And then, yes, the tons of little things that appeared and how so many people jumped in to help me optimize everything. That was a great experience indeed. Good memories...
What is most interesting, in my opinion, is the couple of articles in C=Hacking written by S. Judd, where he explains his engine. Remember I just adapted it.
And then, yes, the tons of little things that appeared and how so many people jumped in to help me optimize everything. That was a great experience indeed. Good memories...