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
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.
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.