Doing 3D games on the Oric ?
I've finally managed to read all 24 pages, and just want to say this thread alone
is very interesting for me (of course I was to lazy to write down some useful technical stuff
so I have to read it all again...
I admire how you can motivate yourself over such a long time, and hope you will finish it someday!
Never played Elite much myself, can't remember why, I like those kind of games...
is very interesting for me (of course I was to lazy to write down some useful technical stuff
so I have to read it all again...
I admire how you can motivate yourself over such a long time, and hope you will finish it someday!
Never played Elite much myself, can't remember why, I like those kind of games...
Hi guys.
Haven't worked on this baby for the last days Work has become a bit stressfull...
To be honest I am suffering of a bit of lack of motivation, but I promise I will put all my energy into this, so it gets finished... with more or less advanced missions, with or without intro and with or without working out more nice effects...
Haven't worked on this baby for the last days Work has become a bit stressfull...
To be honest I am suffering of a bit of lack of motivation, but I promise I will put all my energy into this, so it gets finished... with more or less advanced missions, with or without intro and with or without working out more nice effects...
Really finishing a game is always the hardest part. But when its finally done, you will feel great.Chema wrote:To be honest I am suffering of a bit of lack of motivation, but I promise I will put all my energy into this, so it gets finished... with more or less advanced missions, with or without intro and with or without working out more nice effects...
Have fun!
thrust26
thrust26
Well I usualy finish what I start... so I will have to find motivation somewhere
Anyway I have killed more bugs already. The current alpha version is quite playable and (I think) stable. I have decided to update it from time to time to the svn, so anybody interested can download it or have a look at the manuals.
It is here:
http://miniserve.defence-force.org/svn/users/chema/1337
Of course it is still an alpha, so there are things to be done and tweaked (the manuals have dozens of typos and outdated screenshots, but the info is quite accurate), and also there are some 'extras' in the code for my testing.
And just some test missions, completely unusable and probably non-working, but those should not be accessible easily unless you load the hardcoded saved slot.
Put the disk on your oric drive (virtualy or physicaly if you are lucky and you have a Microdisc unit) and boot from it to load the game.
Have fun.
Anyway I have killed more bugs already. The current alpha version is quite playable and (I think) stable. I have decided to update it from time to time to the svn, so anybody interested can download it or have a look at the manuals.
It is here:
http://miniserve.defence-force.org/svn/users/chema/1337
Of course it is still an alpha, so there are things to be done and tweaked (the manuals have dozens of typos and outdated screenshots, but the info is quite accurate), and also there are some 'extras' in the code for my testing.
And just some test missions, completely unusable and probably non-working, but those should not be accessible easily unless you load the hardcoded saved slot.
Put the disk on your oric drive (virtualy or physicaly if you are lucky and you have a Microdisc unit) and boot from it to load the game.
Have fun.
Hi everyone,
Just a quick post to let you know that we are experiencing problems when trying to run 1337 on real hardware (Fabrice is testing this).
We are not sure yet if the problem is related to keyboard reading (again ) but so it seems...
I hope I can come up with a solution soon. I have increased the waiting time before reading the keypress but it does not seem to help.
The only thing I can think of is a comment made by Fabrice back when testing Space:1999...
He states he did not see in my code any initialization of the ACR register (which defines how ports work) nor of the DDRB register which defines which pins are inputs and which pins are outputs.
Besides, he stated:
I am not sure if this is the problem, but will have a look at how to correcly initialize them when the program starts, and make some more tests (well ask Fabrice to do them, as I don't have real hardware).
Anayway it is quite strange, as in his hardware, the program boots, the initial screen is shown (with the rotating ships) and the music plays. Then you can press SPACE, which works, but the program seems to halt in the status screen.
Overlay is active from the begining and this does not change at all. The ISR routine is changed after pressing SPACE, so it points to a stripped down version of the routine which avoids playing music and runs at 25 HZ, instead of 100Hz, but the actual keyboard routine is the same.
Nothing strange is done, which could be the reason of this behaviour, I think, so this will be a tough one
Stay tuned, and post here if you have any ideas that could help with this issue, please.
Just a quick post to let you know that we are experiencing problems when trying to run 1337 on real hardware (Fabrice is testing this).
We are not sure yet if the problem is related to keyboard reading (again ) but so it seems...
I hope I can come up with a solution soon. I have increased the waiting time before reading the keypress but it does not seem to help.
The only thing I can think of is a comment made by Fabrice back when testing Space:1999...
He states he did not see in my code any initialization of the ACR register (which defines how ports work) nor of the DDRB register which defines which pins are inputs and which pins are outputs.
Besides, he stated:
I am clearly relying on the correct values being setup at boot time. Well I am just using a modified version of Twilgihte's routines, and never saw these initializations being done.. I was not even aware that they were neededI guess that you defined PB0-2 as outputs of course, but be sure to have PB3 as an input.
If you define it as an output, the value of PB3 you will read on viaportb will actually be the value of the bit you wrote on it, not the level sensed on the line...
I am not sure if this is the problem, but will have a look at how to correcly initialize them when the program starts, and make some more tests (well ask Fabrice to do them, as I don't have real hardware).
Anayway it is quite strange, as in his hardware, the program boots, the initial screen is shown (with the rotating ships) and the music plays. Then you can press SPACE, which works, but the program seems to halt in the status screen.
Overlay is active from the begining and this does not change at all. The ISR routine is changed after pressing SPACE, so it points to a stripped down version of the routine which avoids playing music and runs at 25 HZ, instead of 100Hz, but the actual keyboard routine is the same.
Nothing strange is done, which could be the reason of this behaviour, I think, so this will be a tough one
Stay tuned, and post here if you have any ideas that could help with this issue, please.
Ok, managed to get online again today. Chema it could be lots of things.. but i doubt 6522 initialisation because you mention it getting a good distance into the game before it crashes.
I wonder if it is related to the switchoing out of ROM. I seem to remember some code does the switch then reads the switch to make sure the operation took place.
like
But i guess it still could be 6522 initialisation, especially if DDRB or ACR is never set during a machine boot.
But then DDRA should also be set. Not got my notes here but i think Dbug may be able to help with the initial values to set the 16 registers of 6522 to.
I wonder if it is related to the switchoing out of ROM. I seem to remember some code does the switch then reads the switch to make sure the operation took place.
like
Code: Select all
loop LDA #1
STA Hardwareswitch
LDA Hardwareswitch
CMP #1
BNE loop
But then DDRA should also be set. Not got my notes here but i think Dbug may be able to help with the initial values to set the 16 registers of 6522 to.
Thanks for your input Twilighte (and welcome back). I doubt it is either of the two things.
Overlay is active from the very begining of the game (models, music, text... is stored there), so if switching failed, it should fail from the start.
I never switch the rom in again.
Initialization of the VIA... well could be, specially with Fabrice's odd hardware, but as you said it also should fail from the start, unless some operation (for instance with the PSG or with the VIA timers) conflicts with it.
However I will peek in the emulator the values for the DDRA and DDRB as well as the ACR and initialize them inside the program... just to be sure.
I am starting to think again about the waiting time. I put quite a lot (more than 10 cycles in one place and 10 in another), but I guess something else could be wrong there with real hardware.
Overlay is active from the very begining of the game (models, music, text... is stored there), so if switching failed, it should fail from the start.
I never switch the rom in again.
Initialization of the VIA... well could be, specially with Fabrice's odd hardware, but as you said it also should fail from the start, unless some operation (for instance with the PSG or with the VIA timers) conflicts with it.
However I will peek in the emulator the values for the DDRA and DDRB as well as the ACR and initialize them inside the program... just to be sure.
I am starting to think again about the waiting time. I put quite a lot (more than 10 cycles in one place and 10 in another), but I guess something else could be wrong there with real hardware.
The only reason I can think of to test if the ROM switch took place is if you aren't sure you have a disk interface... in which case this would fail.Twilighte wrote:Ok, managed to get online again today. Chema it could be lots of things.. but i doubt 6522 initialisation because you mention it getting a good distance into the game before it crashes.
I wonder if it is related to the switchoing out of ROM. I seem to remember some code does the switch then reads the switch to make sure the operation took place.
like
Code: Select all
loop LDA #1 STA Hardwareswitch LDA Hardwareswitch CMP #1 BNE loop
If the hardware is there it should work every time.