Fortress Scrolling

reminisce about classic bbc micro and acorn electron games here
Related forum: adventures


Post Reply
User avatar
JIM
Posts: 109
Joined: Sun Jan 28, 2001 10:20 pm
Contact:

Fortress Scrolling

Post by JIM »

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 ?
BeebInC
Posts: 118
Joined: Sun Mar 19, 2006 11:58 am
Contact:

Post by BeebInC »

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".
Moist_Mog
Posts: 76
Joined: Sun Dec 11, 2005 7:46 am
Contact:

Post by Moist_Mog »

Going a bit off-topic, did anyone ever get to the end of Fortress? I never got past that buzzing gate thingy... always wondered if that was the entrance to the fortress itself and the end of the game...? :)
User avatar
Beeby
Posts: 79
Joined: Sat Jun 10, 2006 7:37 pm
Location: Scotland, UK
Contact:

Post by Beeby »

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.
User avatar
Cybershark
Posts: 736
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Post by Cybershark »

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 :wink:
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.
User avatar
b_b_c_m_i_c_r_o_2
Posts: 336
Joined: Sun Jun 25, 2006 11:15 pm
Contact:

scroll code

Post by b_b_c_m_i_c_r_o_2 »

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
User avatar
sorvad
Posts: 2190
Joined: Wed Aug 24, 2005 1:13 pm
Location: Back of beyond
Contact:

Post by sorvad »

That links not working, just get an html page/file.
User avatar
b_b_c_m_i_c_r_o_2
Posts: 336
Joined: Sun Jun 25, 2006 11:15 pm
Contact:

Post by b_b_c_m_i_c_r_o_2 »

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.
User avatar
JIM
Posts: 109
Joined: Sun Jan 28, 2001 10:20 pm
Contact:

Post by JIM »

If you are programming a 4 pixel charator row does this mean you loose half the screen, has any body got any sample code for the 4 pixel scroll ?
User avatar
Rich Talbot-Watkins
Posts: 2054
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca
Contact:

Post by Rich Talbot-Watkins »

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.
User avatar
kieranhj
Posts: 1103
Joined: Sat Sep 19, 2015 11:11 pm
Location: Farnham, Surrey, UK
Contact:

Re:

Post by kieranhj »

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".
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? :)
Bitshifters Collective | Retro Code & Demos for BBC Micro & Acorn computers | https://bitshifters.github.io/
BeebInC
Posts: 118
Joined: Sun Mar 19, 2006 11:58 am
Contact:

Re: Fortress Scrolling

Post by BeebInC »

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 :)
User avatar
kieranhj
Posts: 1103
Joined: Sat Sep 19, 2015 11:11 pm
Location: Farnham, Surrey, UK
Contact:

Re: Fortress Scrolling

Post by kieranhj »

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!
Bitshifters Collective | Retro Code & Demos for BBC Micro & Acorn computers | https://bitshifters.github.io/
BeebInC
Posts: 118
Joined: Sun Mar 19, 2006 11:58 am
Contact:

Re: Fortress Scrolling

Post by BeebInC »

I sent Kevin Edwards a pm on here, if he gives his blessing, I will post the Galaforce disassembly...
Post Reply

Return to “8-bit acorn software: classic games”