Fortress Scrolling
Fortress Scrolling
Just been playing Fortress a classic bbc micro game. Is the diagonal scrolling technique used in Fortress similar to Firetracks. How does the Fortress scrolling work ?
I haven't played this in years and can hardly remember what happens at the end. However, there are two secrets to completing it. Firstly, remember where enemies are positioned. Secondly, the way to get through the force fields is to keep firing at them as soon as they appear, aiming for the gap. Adjust your height until you see the shots getting through. This means you are at the correct height to fly safely through them. This trick also works on the Zaxxon arcade game, which Fortress is apparently based on.
- Cybershark
- Posts: 736
- Joined: Wed Jun 14, 2006 11:16 pm
- Contact:
heheh, you got the skills there.
this one always sticks in my mind because it was the only non-educational game we had out our primary school and also because it was the first game i saw that interrupted a hard or soft break meaning you had to reset the machine via the on/off switch.
and there was a bit further to go after that forcefield
eventually you'd finish it and it'd come up with a MODE7 teletext thumbs-up and say something like "NICE ONE! (now do it again)". second time around was actually a different level but after that it would just repeat.
this one always sticks in my mind because it was the only non-educational game we had out our primary school and also because it was the first game i saw that interrupted a hard or soft break meaning you had to reset the machine via the on/off switch.
and there was a bit further to go after that forcefield
eventually you'd finish it and it'd come up with a MODE7 teletext thumbs-up and say something like "NICE ONE! (now do it again)". second time around was actually a different level but after that it would just repeat.
- b_b_c_m_i_c_r_o_2
- Posts: 336
- Joined: Sun Jun 25, 2006 11:15 pm
- Contact:
scroll code
I made a quick scrolling demo with a listing
Its not complete. It scrolls a big yellow square across a blue background.
It only scrolls properly left to right. As is it will scroll diagonally but needs fixing to reset the position when the square scrolls off the top of the screen and reenters from the bottom.
For Left to right motion you will need to set line
540 LDA #&01
560 JSR sub
Its not complete. It scrolls a big yellow square across a blue background.
It only scrolls properly left to right. As is it will scroll diagonally but needs fixing to reset the position when the square scrolls off the top of the screen and reenters from the bottom.
For Left to right motion you will need to set line
540 LDA #&01
560 JSR sub
- b_b_c_m_i_c_r_o_2
- Posts: 336
- Joined: Sun Jun 25, 2006 11:15 pm
- Contact:
This link to scroll.ssd works. You might still be dissapointed though. Forgot to mention the code is based around code from Stephensons Advanced Machine Code Techniques.
- Rich Talbot-Watkins
- Posts: 2054
- Joined: Thu Jan 13, 2005 5:20 pm
- Location: Palma, Mallorca
- Contact:
Yes, you would lose half the screen.
I think Fortress sets itself up as a 16k MODE 5, using only half the screen lines.
I haven't looked, but it's possible that the unused screen memory could be used to store sprite data, interleaved with the screen. This would work quite well as a sprite routine would most likely plot 4 line 'chunks' of sprite at a time, so it'd be trivial to make it 'skip over' lines of screen data when retrieving sprite definitions.
I think Fortress sets itself up as a 16k MODE 5, using only half the screen lines.
I haven't looked, but it's possible that the unused screen memory could be used to store sprite data, interleaved with the screen. This would work quite well as a sprite routine would most likely plot 4 line 'chunks' of sprite at a time, so it'd be trivial to make it 'skip over' lines of screen data when retrieving sprite definitions.
Re:
I always wondered what would happen if you programmed CRTC to <8 scan lines per character row, just hadn't got around to trying it. Nice that you've come back to the forum BTW - what do you fancy disassembling next?BeebInC wrote:From what I remember instead of nomally having character rows of 8 scan lines per character, Fortress simply reprograms the CRTC to have 4 scanlines per character row. To get the diagonal effect, it then simply hardware scrolls down 1 "character" and left 1 "character".
Bitshifters Collective | Retro Code & Demos for BBC Micro & Acorn computers | https://bitshifters.github.io/
Re: Fortress Scrolling
Oh I did quite a few including:
Chuckie egg (you can find this on bagshot row)
Citadel
Galaforce (I even rewrote this in c#/opengl - completely works - pixel perfect conversion, just no sound)
Knightlore
Jetpac
Wizadore
If I feel generous I may even stick them online one day
Chuckie egg (you can find this on bagshot row)
Citadel
Galaforce (I even rewrote this in c#/opengl - completely works - pixel perfect conversion, just no sound)
Knightlore
Jetpac
Wizadore
If I feel generous I may even stick them online one day
Re: Fortress Scrolling
Where have you been hiding for the last five years?!
Being ex-Rare I'd be most curious about Knightlore & Jetpac. My old colleagues shipped Rare Replay last year, admittedly none of the Beeb versions!
Being ex-Rare I'd be most curious about Knightlore & Jetpac. My old colleagues shipped Rare Replay last year, admittedly none of the Beeb versions!
Bitshifters Collective | Retro Code & Demos for BBC Micro & Acorn computers | https://bitshifters.github.io/
Re: Fortress Scrolling
I sent Kevin Edwards a pm on here, if he gives his blessing, I will post the Galaforce disassembly...