Page 3 of 9

Re: Flagon Bird

Posted: Fri Jul 04, 2014 5:04 pm
by robcfg
Tested today the rom version on the Multicartridge, and works flawlessly!

I'm going to surprise some friends of mine this weekend, hehe :mrgreen:

Re: Flagon Bird

Posted: Fri Jul 04, 2014 8:30 pm
by Bosco
robcfg wrote:Tested today the rom version on the Multicartridge, and works flawlessly!
That's great news! Hope you have fun with it. :D

BTW. Spotted a nice mention here http://www.retrovideogamer.co.uk/index.php?topic=4293.0

Re: Flagon Bird

Posted: Fri Jul 04, 2014 10:41 pm
by Alastair
The flying brick with a deathwish (my best score is a lowly eight) doesn't like it when a DASM/DEMON cartridge is inserted in the computer. I've verified this on real hardware, as well as with XRoar, so I'm wondering if Flagon Bird uses any of the addresses between $600 and $900, as this is the address space used and/or reserved by DEMON.

Re: Flagon Bird

Posted: Fri Jul 04, 2014 11:37 pm
by Bosco
Alastair wrote:I'm wondering if Flagon Bird uses any of the addresses between $600 and $900, as this is the address space used and/or reserved by DEMON
Yes, $600 is the base address of the screen. I can move it if you'd like?

Re: Flagon Bird

Posted: Sat Jul 05, 2014 12:02 am
by zephyr
For some reason (bug?) DEMON always sets bit 2 of $FF03 (IRQ on LO to HI instead of the default IRQ on HI to LO) when the computer is first switched on or cold reset. Enter POKE65283,PEEK(65283)AND253 to clear bit 2 before EXECing the game.

Re: Flagon Bird

Posted: Sat Jul 05, 2014 12:21 am
by Alastair
zephyr wrote:For some reason (bug?) DEMON always sets bit 2 of $FF03 (IRQ on LO to HI instead of the default IRQ on HI to LO) when the computer is first switched on or cold reset. Enter POKE65283,PEEK(65283)AND253 to clear bit 2 before EXECing the game.
Thanks, this works. If it is a bug did Compusense ever correct it? (The release version I have is 1.1.6, does a later version of DEMON exist?)

Re: Flagon Bird

Posted: Sat Jul 05, 2014 12:31 am
by zephyr
Alastair wrote:If it is a bug did Compusense ever correct it?
I don't know, but it can easily corrected by changing the value at $C042 from 3 to 1.


@Bosco: Adding the following code to the start of your game will prevent these problems by making sure that that the hardware is always correctly set up and IRQ enabled. It will also restart the game if the reset button is pressed.

Code: Select all

         LDD     #$557E    * Default EXEC address
         LDX     #RESET
         STA     <$71
         STX     <$72
         LDX     #FIRQ
         STB     $010F
         STX     $0110
         JMP     [$FFFE]
FIRQ     PSHS    A
         LDA     $FF23
         ANDA    #$FE
         STA     $FF23
         LDA     $FF22   
         PULS    A
         RTI
RESET    NOP
         ORCC    #$50
         LDS     #$02D8     * Cartridge ROM entry address
         LDA     $FF03
         ORA     #$01
         STA     $FF03
         ANDCC   #$EF
@Robcfg and Rolo: If Bosco decides to use this code, your routine should jump to the "Cartridge ROM entry address" when converting the game to run from cartridge.

Re: Flagon Bird

Posted: Sat Jul 05, 2014 2:29 pm
by Bosco
Thanks zephyr, sounds like a great idea. :)

I'll add your code to v1.1.

BTW. I'm assuming this is CoCo safe?

Re: Flagon Bird

Posted: Sat Jul 05, 2014 5:54 pm
by zephyr
Bosco wrote:BTW. I'm assuming this is CoCo safe?
Yes. Safe for all CoCo models.

Re: Flagon Bird

Posted: Sun Jul 06, 2014 12:40 am
by zephyr
You could make your game compatible with all 16K CoCo 1/2 models if you changed the ORG address from $4000 to $1E00.