BBC AGD Games

Post Reply
User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

BBC AGD Games

Post by oss003 » Tue Jul 16, 2019 7:28 pm

Ok guys,

time for a preview ....... 8)

I managed to convert Simons magnificent 'Robot, The Impossible Mission' game to a BBC version ........ :)
It uses some extra AGD features which are added to the BBC version now like SW RAM usage (thanks Kieran), Megablocks and Adventuremode.
You do need 16KB Sideways RAM to run the game.

robot.png

I still have to find a way to load a panel on the screen before starting the game........
The game has to look like this:

robot2.png

Greetings
Kees
Attachments
robot.ssd
(26 KiB) Downloaded 54 times

User avatar
tricky
Posts: 4794
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: BBC AGD Games

Post by tricky » Tue Jul 16, 2019 10:08 pm

Looking good, how do you load it on an Atom?

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Wed Jul 17, 2019 6:19 am

tricky wrote:
Tue Jul 16, 2019 10:08 pm
Looking good, how do you load it on an Atom?
You mean the panel?

On the Atom I have a Basic loader which loads the title screen and waits for a keypress. Then the panel is loaded in video memory and after that the game is loaded and ececuted.

In the BBC version, the video registers are tweaked to get the right resolution before the game starts so loading the panel has to be done in the game after the tweaking ...... but not every game has a panel ... I can however always load a panel and if no panel is needed, just load an empty panel...... :roll: or do the tweaking in Basic ..

Greetings
Kees
Last edited by oss003 on Wed Jul 17, 2019 6:23 am, edited 3 times in total.

User avatar
SimonSideburns
Posts: 576
Joined: Mon Aug 26, 2013 9:09 pm
Location: Purbrook, Hampshire
Contact:

Re: BBC AGD Games

Post by SimonSideburns » Wed Jul 17, 2019 9:34 am

Oh wow, I'm blown away. I thought I'd never see the day the game would run on the Beeb.

Now if only we had more memory for a higher colour mode. something to think about for nULA I guess.

As for calling the game magnificent, what can I say except thanks.
Just remember kids, Beeb spelled backwards is Beeb!

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Mon Sep 30, 2019 8:32 pm

Guys I have a question .......

I'm having problems with the keyboard read routine OSBYTE &79 checking for the '9' or the 'I' keys.
According to the Advanced User Guide, the internal keycode for '9' is &25 and for 'I' is &26 but when I test it in AGD it seems that both values need to be switched ......... so the '9' keycode is &26 and the 'I' is &25 ..... :roll:

Can somebody confirm this?

This is the code:

Code: Select all

;--------------------------------------------------------
; Keyboard test routine.
;
; Input:
;  A = key to read
;
; Output:
;  carry clr = key pressed
;  carry set = key not pressed
;--------------------------------------------------------

ktest:
	sta z80_a		; save key
	tya
	pha

; _BEEB keyboard read
	lda z80_a
	eor #$80		; _BEEB just look for this key
	tax

	lda #$79
	jsr OSBYTE

	txa
	bmi pressed 	; _BEEB X is negative if key is pressed

	sec			; key not pressed
	pla
	tay
	rts

pressed:
	clc			; key pressed
	pla
	tay
	rts
Greetings
Kees
Attachments
keycodes.png
Last edited by oss003 on Mon Sep 30, 2019 8:38 pm, edited 4 times in total.

User avatar
lurkio
Posts: 3037
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: BBC AGD Games

Post by lurkio » Mon Sep 30, 2019 8:39 pm

oss003 wrote:
Mon Sep 30, 2019 8:32 pm
According to the Advanced User Guide, the internal keycode for '9' is &25 and for 'I' is &26 but when I test it in AGD it seems that both values need to be switched ......... so the '9' the keycode is &26 and the 'I' is &25 ..... Can somebody confirm this?
Have you seen this?:
:?:

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Mon Sep 30, 2019 8:57 pm

lurkio wrote:
Mon Sep 30, 2019 8:39 pm
Have you seen this?:
:?:
No, but this confirms my findings ...... =D>
BTW these were the only 2 wrong keys in the table ......

Thanks ...

Greetings
Kees

soviet
Posts: 115
Joined: Tue Dec 04, 2018 10:05 pm
Location: Montevideo, Uruguay
Contact:

Re: BBC AGD Games

Post by soviet » Fri Dec 13, 2019 7:39 pm

do you got any new AGD games to run on the BBC :D

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Fri Dec 13, 2019 9:13 pm

soviet wrote:
Fri Dec 13, 2019 7:39 pm
do you got any new AGD games to run on the BBC :D
Yes, a lot of them are running now but a lot are using sideway RAM.
I even got WinAGD working to design your own games, please have a look at: viewtopic.php?f=57&t=17991&hilit=BBC+MPAGD

Maybe I'll convert some games in my vacation starting soon ....

Greetings
Kees

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Sat Mar 21, 2020 8:41 pm

Hi guys ... I have a question about BeebAsm ...
For AGD I want to create a discimage which can be auto-booted.
These are the lines in my batch file to do this:

Code: Select all

REM Use BeebAsm to make a BBC disc image

 IF NOT EXIST Output/%1.bin goto error
 echo PUTFILE "Output/%1.bin", "AGDGAME", $1200, $1200 > disc.asm
 echo PUTFILE "B-em/LOADER.BAS", "LOADER", $1900, $8023 >> disc.asm
 echo PUTFILE "B-em/TITLE.SCR", "TITLE", $5800, $5800 >> disc.asm
 beebasm.exe -i disc.asm -do Discs\%1.ssd -boot AGDGAME
This works fine but !BOOT executes *BASIC and *RUN AGDGAME and what I want is *BASIC and CH."LOADER"
Is this possible?

Greetings
Kees

User avatar
tricky
Posts: 4794
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: BBC AGD Games

Post by tricky » Sat Mar 21, 2020 10:25 pm

-opt N
Has the same effect as
*OPT 4,N
Where I think the default is 3, *exec
I write the !boot from beebasm and only -opt, not-boot iirc
You can also give it an image as a template.

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Sun Mar 22, 2020 10:01 am

Tricky, if I use

Code: Select all

beebasm.exe -i disc.asm -do Discs\%1.ssd -opt
then a parameter error is generated.
Is there a way to start a Basic program with *RUN?

opt.png

I also tried to create a !BOOT file with the PUTTEXT command, that doesn't generate an error but doesn't create the file !BOOT on the image .....

Code: Select all

 echo PUTTEXT "B-em/BOOT", "!BOOT", $0000, $FFFF >> disc.asm
boot.png
boot.png (18.78 KiB) Viewed 1411 times

User avatar
tricky
Posts: 4794
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: BBC AGD Games

Post by tricky » Sun Mar 22, 2020 10:43 am

I use:

Code: Select all

ORG &C000
EQUS "B%=&" : HEX4 MAIN : EQUS 13
EQUS "CH.", 34, "MOON", 34, 13
save "!BOOT", &C000, P%, 0, 0
The first line is because I *LOAD the game in the basic loader and then CALL B% to start it.
I'm sure that there are better ways to do this and to write my MACROs, but this is what I use:

Code: Select all

MACRO HEX1 v
	d = v AND &F
	IF d<10
		EQUB '0'+d
	ELSE
		EQUB 'A'+d-10
	ENDIF
ENDMACRO
MACRO HEX2 v
	HEX1 v DIV &10
	HEX1 v
ENDMACRO
MACRO HEX4 v
	HEX2 v DIV &100
	HEX2 v
ENDMACRO
PS And I build the final image with:

Code: Select all

..\tools\beebasm.exe -w -vc -i build.asm -do MoonPatrol.ssd -opt 3 -title "MoonPatrol"

User avatar
CMcDougall
Posts: 7048
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: BBC AGD Games

Post by CMcDougall » Sun Mar 22, 2020 1:19 pm

oss003 wrote:
Sun Mar 22, 2020 10:01 am
Is there a way to start a Basic program with *RUN?
I did have a program from The Micro User, but can't find it :x

this also does it for a small program :
Attachments
basic to RUN.ssd
ssd
(1.25 KiB) Downloaded 26 times
ImageImageImage

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Sun Mar 22, 2020 3:56 pm

Ok, got it working now ......... my mistake .... #-o
I manually added !BOOT ...... at the wrong place.
This works for me:

Code: Select all

REM Use BeebAsm to make a BBC disc image

 IF NOT EXIST Output/%1.bin goto error
 echo PUTFILE "Output/%1.bin", "AGDGAME", $1200, $1200 > disc.asm
 if exist "screens/titles/%1.SCR" (
   echo PUTFILE "screens/titles/%1.SCR", "TITLE", $5800, $5800 >> disc.asm
 )
 if exist "screens/panels/%1.PAN" (
   echo PUTFILE "screens/LOADERPAN.BAS", "LOADER", $1900, $8023 >> disc.asm
   echo PUTFILE "screens/panels/%1.PAN", "PANEL", $6800, $6800 >> disc.asm
 ) else (
   echo PUTFILE "screens/LOADER.BAS", "LOADER", $1900, $8023 >> disc.asm
 )
 echo PUTFILE "screens/BOOT", "!BOOT", $0000, $FFFF >> disc.asm
I also expanded it to add a titlescreen and a panelscreen if they exist.

boot.png
boot.png (18.78 KiB) Viewed 1372 times

Greetings
Kees

User avatar
daveejhitchins
Posts: 6004
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: BBC AGD Games

Post by daveejhitchins » Sun Mar 22, 2020 4:04 pm

oss003 wrote:
Sun Mar 22, 2020 10:01 am
Is there a way to start a Basic program with *RUN?
You should be able to modify this quite easily . . .
Transfer.ssd
(26.25 KiB) Downloaded 28 times
Dave H :D

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Fri Nov 13, 2020 9:45 am

Hi guys, I was wondering if it is possible to change the screenaddress to &A800 (in sideways RAM).
This is the idea to have a much free RAM for AGD as possible:

Is this possible?

Greetings
Kees

mem.png
mem.png (7.57 KiB) Viewed 254 times

User avatar
hoglet
Posts: 9617
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: BBC AGD Games

Post by hoglet » Fri Nov 13, 2020 9:49 am

oss003 wrote:
Fri Nov 13, 2020 9:45 am
Is this possible?
In a word, no!

Sorry...

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Fri Nov 13, 2020 9:51 am

And the screen from &0E00-&2600?

User avatar
tricky
Posts: 4794
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: BBC AGD Games

Post by tricky » Fri Nov 13, 2020 2:19 pm

Yep, that is fine.
R12=HI(scr_addr/8)
R13=LO(scr_addr/8)

Apart from &E00-&1900 is probably owned by DFS with &1100+ usually free if not using file handling other than *LOAD/*RUN.

PS If you don't need the disc after loading, I think it is safe to *TAPE and then use it anyway, exiting with a psudo power on reset but it probably isn't "legal".

User avatar
kieranhj
Posts: 923
Joined: Sat Sep 19, 2015 11:11 pm
Location: Farnham, Surrey, UK
Contact:

Re: BBC AGD Games

Post by kieranhj » Sat Nov 14, 2020 12:51 pm

I figure I should just share this here, rather than leave it languishing on my PC. Although I'm no longer actively helping with the development of BBC AGD, I did have some success a while back converting Foggy's Quest by Dethmunk into MODE 1 to give it a bit of colour (the Spectrum version looks gorgeous!) It's hardcoded for the BBC Master I'm afraid as this was just WIP.
Attachments
foggy.ssd
Foggy's Quest by Dethmunk
(26.5 KiB) Downloaded 8 times
Last edited by kieranhj on Sat Nov 14, 2020 2:14 pm, edited 1 time in total.
Bitshifters Collective | Retro Code & Demos for BBC Micro & Acorn computers | https://bitshifters.github.io/

User avatar
lurkio
Posts: 3037
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: BBC AGD Games

Post by lurkio » Sat Nov 14, 2020 1:25 pm

kieranhj wrote:
Sat Nov 14, 2020 12:51 pm
I figure I should just share this here, rather than leave it languishing on my PC. Although I'm no longer actively helping with the development of BBC AGD, I did have some success a while converting Foggy's Quest by Dethmunk into MODE 1 to give it a bit of colour (the Spectrum version looks gorgeous!) It's hardcoded for the BBC Master I'm afraid as this was just WIP.
Oh, this is very good, for heaven's sake! Brilliant work! Please don't give up on this..! [-o<

Are there any other AGD games for the Beeb that are in progress or already complete?

The only one I know of is ROBOT - The Impossible Mission

:?:

User avatar
oss003
Posts: 3400
Joined: Tue Jul 14, 2009 12:57 pm
Location: Netherlands
Contact:

Re: BBC AGD Games

Post by oss003 » Sat Nov 14, 2020 1:38 pm

kieranhj wrote:
Sat Nov 14, 2020 12:51 pm
I figure I should just share this here, rather than leave it languishing on my PC.
Hi Kieran,

I want to update this version to be compatible with the mode4 version as soon as I have time. Also implementing INK and PAPER is on my list to create coloured text foreground and background like the Atom version.
First I want to get MPAGD working with the new memory map so that you have one block for the game.
To be continued ...

Greetings
Kees

User avatar
SimonSideburns
Posts: 576
Joined: Mon Aug 26, 2013 9:09 pm
Location: Purbrook, Hampshire
Contact:

Re: BBC AGD Games

Post by SimonSideburns » Sat Nov 14, 2020 8:27 pm

lurkio wrote:
Sat Nov 14, 2020 1:25 pm
The only one I know of is ROBOT - The Impossible Mission
I just played through ROBOT - The Impossible Mission on the web based emulator and managed to complete it on Medium difficulty level with two lives remaining, and there were some quite odd glitches with sprites. It seems like sprites were picking up the first frame of the next sprite on one of the frames for the current sprite. This wasn't an issue on the original Spectrum version.

I wonder what's going on with that.
Just remember kids, Beeb spelled backwards is Beeb!

Post Reply

Return to “miscellaneous new bbc and electron games”