How to run the Dragon at double speed

Hardware Hacking, Programming and Game Solutions/Cheats
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

How to run the Dragon at double speed

Post by zephyr »

The double speed pokes are explained here for people who are new to the Tandy CoCo, and Dragon computers.

POKE65495,0 or POKE&HFFD7,0 - Double speed for all code in ROM (BASIC/Cartridge), and I/O operations.
POKE65494,0 or POKE&HFFD6,0 - Resets to normal speed.

POKE65497,0 or POKE&HFFD9,0 - Double speed for all code in RAM, ROM, and I/O operations. Unfortunately, the hardware RAM refresh, and video display are disabled in this mode.
POKE65496,0 or POKE&HFFD8,0 - Resets to normal, or if you have previouly used POKE65495,0, it will return to that mode.


Notes:
1. Due mainly to the fitting of poor quality ROM and/or RAM chips, some Dragons will crash when these pokes are used.
2. If you accidentally save a cassette program in 65495 mode, you can only load it back in 65497 mode.
prime
Posts: 266
Joined: Fri Apr 10, 2009 1:40 am

Re: How to run the Dragon at double speed

Post by prime »

These of course also work on the CoCo 1 and 2 not sure about the CoCo 3.

Pressing reset will also cancel them and return the machine to it's default slow mode.

Phill.
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: How to run the Dragon at double speed

Post by zephyr »

The CoCo 3 is designed to work in 65497 mode with fully operational RAM refresh, and video display. I could be wrong, but I don't think POKE65495 would work, because the BASIC operating system is copied to RAM at startup.

EDIT: It has now been confirmed that POKE65495,0 has no effect on the CoCo 3. The same applies even when operating in ROM (MAP 0) mode. My thanks to Ciaran Anscomb (sixxie) for testing POKE65495,0 on his real CoCo 3.
Last edited by zephyr on Fri Jan 25, 2013 1:04 pm, edited 5 times in total.
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: How to run the Dragon at double speed

Post by zephyr »

Listed below are some of the programs I like to use for testing Dragons and CoCos at double speed:

This should run OK on any Dragon that can handle the double speed (POKE65497,0) poke.

Code: Select all

POKE65495,0:POKE65497,0:PLAY"C":POKE65496,0:POKE65494,0
This will also run OK on most Dragon's.

Code: Select all

POKE65495,0:POKE65497,0:PLAY"CDE":POKE65496,0:POKE65494,0
The code listed from here-on gets progressively tougher and will run OK only on selected Dragons.

Code: Select all

POKE65495,0:POKE65497,0:PLAY"CDEFGAB":POKE65496,0:POKE65494,0

Code: Select all

POKE65495,0:POKE65497,0:SOUND1,50:POKE65496,0:POKE65494,0

Code: Select all

POKE65495,0:POKE65497,0:SOUND1,100:POKE65496,0:POKE65494,0

Code: Select all

POKE65495,0:POKE65497,0:SOUND1,150:POKE65496,0:POKE65494,0

Code: Select all

POKE65495,0:POKE65497,0:SOUND1,200:POKE65496,0:POKE65494,0
You can consider your Dragon to be pretty much bullet-proof if it survives this one without crashing. :)

Code: Select all

POKE65495,0:POKE65497,0:SOUND1,255:POKE65496,0:POKE65494,0
I like to use the following code for testing the durability of Dragons and CoCos at double speed over long periods.

Code: Select all

10 POKE65495,0
20 POKE65497,0:FOR I=0 TO 32767:X=PEEK(I):NEXT:POKE65496,0
30 FOR I=1 TO 500:IF INKEY$<>"Q" THEN NEXT:GOTO20
40 POKE65494,0
EDIT: Make sure to let your Dragon run for at least 30 minutes at normal speed before trying the above tests.
Last edited by zephyr on Wed Dec 24, 2014 10:15 pm, edited 6 times in total.
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: How to run the Dragon at double speed

Post by zephyr »

If you have a Dragon that won't handle the double speed pokes, try replacing the 6809E processor with a Hitachi HD68B09E, HD63B09E or HD63C09E. If that doesn't fix the problem, replace the two BASIC ROMs (IC17 and IC18). If the BASIC ROMs you fitted are undamaged and of decent spec, you should now own a Dragon that can handle the address dependent double speed (POKE65495,0) mode. If you have decent spec RAM fitted, it should also be able to handle true double speed (POKE65497,0) mode.

Brand new HD68BO9E CPU's can currently be picked-up for less than five pounds via eBay. Also, look out for a cheap Dragon advertised for "Spares or Repair" on aBay to salvage the BASIC ROMs.
Alastair
Posts: 669
Joined: Fri Jul 18, 2008 11:33 pm

Re: How to run the Dragon at double speed

Post by Alastair »

Steve, you should add that you need to let the Dragon warm up first, say half-an-hour. My anything but bullet-proof Dragon passes the POKE65495,0:POKE65497,0:SOUND1,255:POKE65496,0:POKE65494,0 test when cold ;)
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: How to run the Dragon at double speed

Post by zephyr »

Alastair wrote:Steve, you should add that you need to let the Dragon warm up first, say half-an-hour. My anything but bullet-proof Dragon passes the POKE65495,0:POKE65497,0:SOUND1,255:POKE65496,0:POKE65494,0 test when cold ;)
Yes, I forgot to mention about allowing the Dragon to warm-up first. Thanks Alastair! :)
User avatar
JCCyC
Posts: 26
Joined: Mon Dec 03, 2012 2:54 pm
Location: Rio de Janeiro, Brazil
Contact:

Re: How to run the Dragon at double speed

Post by JCCyC »

zephyr wrote:Brand new HD68BO9E CPU's
Whoa, whoa! Is THERE such a thing? Somebody is actually making 6809's in this day and age?? Which manufacturer???
zephyr
Posts: 1474
Joined: Mon Jul 21, 2008 1:18 am

Re: How to run the Dragon at double speed

Post by zephyr »

As far as I'm aware, no-one is manufacturing 6809e (or 63x09e) processors these days. Although the ones for sale are brand new, they are old stock.

e.g.
http://www.ebay.com/itm/1PCS-MC6809EP-8 ... 337a4599c2

http://www.ebay.com/itm/MC6809EP-Manu-M ... 19d1ff5688

http://www.ebay.com/itm/HD63B09EP-Hitac ... 3367bcfad2

http://www.ebay.com/itm/3-pcs-HD63B09E- ... 2eb74a33d4
User avatar
Dantyr
Posts: 52
Joined: Mon Dec 03, 2012 11:37 am

Re: How to run the Dragon at double speed

Post by Dantyr »

Nice!

Tested on the Color64 and follow the results:

POKE65495,0:POKE65497,0:PLAY"C":POKE65496,0:POKE65494,0 : Ok

POKE65495,0:POKE65497,0:PLAY"CDE":POKE65496,0:POKE65494,0 : OK

POKE65495,0:POKE65497,0:PLAY"CDEFGAB":POKE65496,0:POKE65494,0 : Come back, but the screen get poluted o some places with some strange characters.

POKE65495,0:POKE65497,0:SOUND1,50":POKE65496,0:POKE65494,0 : Come back, but the screen get poluted o some places with some strange characters.

POKE65495,0:POKE65497,0:SOUND1,100":POKE65496,0:POKE65494,0 : Screen garbled after execution have finished.
.
.
.
POKE65495,0:POKE65497,0:SOUND1,255":POKE65496,0:POKE65494,0 : Screen garbled after execution have finished.

Have yet to test on the Dragon.

Daniel
Post Reply