[Coco] Pokes

Diego Barizo diegoba at adinet.com.uy
Tue Apr 5 20:51:34 EDT 2005


Here are "some" pokes that I've collected.
I haven't tested them all, and some coco1/2 won't work on a CoCo 3
Hope this helps

Diego


    * POKE 65497,0 on Coco 1 and 2

          double speed of RAM and ROM. It will cause your screen to fill 
with garbage, and sometimes causes memory to disappear. Printer, disk 
and cassette functions won't work.

    * POKE 65497,0 on Coco 3

          double speed of RAM and ROM. Printer, disk and cassette 
functions won't work.

    * POKE 65496,0

          puts machine from double speed ROM and RAM back to normal speed.

    * POKE 65495,0

          doubles speed of ROMs; Basic programs by 1 and a half. Does 
not work with all computers, or with disk, cassette or printer operations.

    * POKE 65494,0

          puts ROMs and Basic back to normal speed. Cassette, printer 
and disk works normally.

    * POKE 65315,54

          disables cartridge takeover, allows you to put in a Rompack 
without it starting up. NOTE: the use of this poke to put in a cartridge 
with the machine power on can cause damage to your computer. It's use is 
not recommended.

    * ?PEEK(487)*256+PEEK(488)

          start address of last machine language program loaded off of 
cassette

    * ?PEEK(126)*256+PEEK(127)

          end address of last machine language program loaded off of 
cassette

    * To put a 64K Coco into all RAM mode, where the ROM can be modified:

          RESTORE: FOR I=3584 TO 3584+24:READ A:POKE I,A:NEXT:EXEC 3584: 
DATA 26,80,142,128,0, 166,132,183,255,223,167,128, 
140,224,0,39,5,183,255,222,32, 239,28,175,57

POKE &HADEB,57
POKE &HD8A0,65 2nd side of drive 0 as drive 3
POKE &H95C9, &H57: POKE &HFF22, &H50 Coco 3 Green border
POKE &H95C9, &H17: POKE &HFF22, &150 coco 3 Black border
FOR X = 442368 TO 446225: POKE X,32: NEXT Forces lowercase on 32-column 
mode on the CoCo 3
POKE 149,4:POKE 150,88 Sets printer baud to 50
POKE 149,2:POKE 150,227 Sets printer baud to 75
POKE 149,1:POKE 150,246 Sets printer baud to 110
POKE 149,1:POKE 150,153 Sets printer baud to 134.5
POKE 149,1:POKE 150,110 Sets printer baud to 150
POKE 149,0:POKE 150,180 Sets printer baud to 300
POKE 149,0:POKE 150,87 Sets printer baud to 600
POKE 149,0:POKE 150,40 Sets printer baud to 1200
POKE 149,0:POKE 150,25 Sets printer baud to 1800
POKE 149,0:POKE 150,23 Sets printer baud to 2000
POKE 149,0:POKE 150,18 Sets printer baud to 2400
POKE 149,0:POKE 150,10 Sets printer baud to 3600
POKE 149,0:POKE 150,7 Sets printer baud to 4800
POKE 149,0:POKE 150,3 Sets printer baud to 7200
POKE 149,0:POKE 150,1 Sets printer baud to 9600
POKE 155,X (16,32,64,132,255) Sets printer width to X
POKE 111,254:DIR sends directory to printer
PEEK(65314) returns an even number if printer is on / odd if off
POKE 41382,188 generates a blinking cursor
POKE 41923,0 disables break key on INPUT/LINEINPUT, must be in all RAM
POKE 41923,3 restores break key operation, must be in all RAM
PEEK(25)*256+PEEK(26) basic program start address
PEEK(106) comma column width
PEEK(116) 127=32k computer, 63=64k computer
PEEK(170) 0 if trace flag on
PEEK(148) current cursor color, 1-11
PEEK(182) current PMODE, ECB only
PEEK(188) 14=disk system, 6=cassette system
PEEK(230) DLOAD baud rate
PEEK(282) 0 if in lowercase mode
PEEK(32768) 69=ECB computer
POKE 359,57 keeps the computer on the last SCREEN command
used, until another SCREEN command is used.
example: it will stay on the high-res screen
SCREEN 1,1 until SCREEN 0,1 is typed in
POKE 25,6:NEW PCLEAR 0 in extended Basic
POKE 25,14:POKE 3584,0:NEW Pclear 0 in Disk Extended Basic
POKE 65314,8 does a SCREEN 0,1 without Extended Basic
POKE 65314,0 does a SCREEN 0,0 without Extended Basic
POKE 178,X when put before graphics commands in Extended
Basic (Except PCLS) it will create different
colours and patterns.
POKE 186,X if X is an even number from 2 to 128, it will
move the pointer to the start of the Hi-res
screen, and allows viewing in 1/2 pages
POKE 45,0:POKE 46,0 disables the CONT function after BREAK
POKE 113,0 cold start when RESET is pressed
POKE 113,85 regular restart after POKE 113,0
POKE 148,0 stops flashing cursor for 3 seconds
POKE 175,79 same as TRON, ECB only
POKE 280,PEEK(275) true random numbers
POKE 282,0 enable lowercase
POKE 282,255 enable uppercase
POKE 283,X slows keyboard response, X=speed, 1 is fastest
POKE 283,4 normal keyboard response
POKE 293,0 disable ECB and CB commands
POKE 293,20 reverses POKE 293,0
POKE 65313,0 motor on
POKE 65313,52 motor off


-----------------------------------------------------------------------------------
 From Stuart Wyss-Gallifent,  swyss at voicenet.com   www.voicenet.com/~swyss
-----------------------------------------------------------------------------------

*****   SPECIAL!!!!  PATCHES AND BUG-FIXES TO THE COCO 3 ROMS !!!!   *****

POKE 62861,189:POKE 62862,244            fixes the HDRAW bug

POKE &HE649,&H10                                fixes the RGB and BMP 
commands

POKE 55180,18:POKE 55181,18:POKE 55182,18    turns of disk drive moter 
faster

POKE 38543,33:POKE 38563,33            fixes PCLEAR 0 error.  Now you can
                                                PCLEAR 0 and get 28941 
bytes of free
                                                MEM!!

POKE &HF670,18:POKE &HF671,18            prevents a WIDTH command from 
clearing
                                                the screen

POKE &HA1C1,&H39:FOR F=&HA1CA to &HA1C1
STEP -1:READA:POKE F,A:NEXT F:DATA 121,39,
72,67,0,255,182,2,255,127                       put as the first line of 
your program
                                                it will speed up your 
computer by about
                                                15%!!  It patches the 
keyboard scan routine

FOR I=&H8000 to &H8013:READ B$:POKE I,VAL
("&H"+B$):NEXT I:POKE &H85CB,&HBD:POKE
&H85CC,&H80:POKE &H85CD,0:DATA 86,21,BD,
A2,82,A6,84,BD,A2,82,86,21,BD,A2,82,BD,85,
D1,5A,39                                        patches the D command 
during EDIT to
                                                show the character being 
deleted!

FOR I=&H8014 TO &H8022:READ B$:POKE I,VAL
("&H"+B$):NEXT I:POKE &HAB85,&H80:POKE
&HAB86,&H14:DATA 10,27,2D,CC,BD,AF,67,BD,
AD,01,9E,47,7E,AD,E6                patches the RESTORE command so you can
                                                restore to any line 
number.  For example,
                                                RESTORE 40 restores any 
DATA from line 40
                                                on, but no DATA prior to 
line 40.  A plain
                                                old RESTORE still 
restores every DATA
                                                statement

---------------------------------------------------------------------------------------
COCO 3 POKES, PEEKS, and EXECS


MEMORY MAPPING AND THE 8K BLOCKS
                                                  DECIMAL VALUES
MMU Address         Mapped to               Usually is      Hi-Res-Mode
&HFFA0        &H0000 - &H1FFF            56        56
&HFFA1        &H2000 - &H3FFF            57        48
&HFFA2        &H4000 - &H5FFF            58        49
&HFFA3        &H6000 - &H7FFF            59        50
&HFFA4        &H8000 - &H9FFF            60        51
&HFFA5        &HA000 - &HBFFF            61        61
&HFFA6        &HC000 - &HDFFF            62        53
&HFFA7        &HE000 - &HFFFF            63        63

Blocks 48 to 63 (&H30 to &H3F) are available on both 128k and 512k CoCos.
They can also be numbered 112 to 127 (&H70 to &H7F).  Blocks 0 to 47
(&H00 to &H2F) are available ONLY on the 512k CoCo.  They can also be
numbered 64 to 111 (&H40 to &H6F)  The numbers can be used interchangeably
because the blocks are "shadowed".  Block &H3F is the same block as &H7F.
On a ONE MEG CoCo, though, the blocks are NOT shadowed, and the numbers
represent different blocks.  See diagram further down.

WHAT ARE THE BLOCKS USED FOR?

Decimal        Hex             Function
112        &H70        first quarter of HSCREEN
113        &H71        second quarter
114        &H72        third quarter
115        &H73        fourth quarter
116        &H74        HGET/HPUT buffer (default)
117        &H75        The Stack
118        &H76        Hi-Res Text Screen (40 and 80 column)
119        &H77        unused
120        &H78        Program storage
121        &H79        Program storage
122        &H7A        Program storage
123        &H7B        Program storage
124        &H7C        Extended Color BASIC (in RAM)
125        &H7D        Color BASIC (in RAM)
126        &H7E        Cartridge Address
127        &H7F        CoCo 3 Super Extended BASIC, and I/O

Memory Block Map

&H00 to &H3F        64 8k blocks in 1 MEG CoCos (I think)
&H40 to &H6F        48 8k blocks in a 512k CoCo  (48x8k=384k)
&H70 to &H7F        16 8k blocks in all CoCo 3s  (16x8k=128k)
&H80 to &HFF        128 8k blocks in 2 MEG CoCos (I think)

In summary, ALL CoCo 3s have blocks &H70 to &H7F available.  In a 512k 
CoCo 3,
you have &H40 to &H7F available.  In a 1 MEG CoCo 3, you have &H00 to &H7F,
and in a 2 MEG CoCo 3, you have &H00 to &HFF available.

&HFFB0 to &HFFBF    contain the palette registers.  PEEK and POKE to 
these to
                    set the 16 palettes.  Values range from 0 to 63.

POKE 63372,x      controls the cursor blink rate in the 40/80 screen.  The
                  default is 11.  0=fast, 255=slow

POKE 63381,0     stops the cursor blinking in 40/80 screens
POKE 63381,1    starts it blinking again

POKE &HF7A3,x    x is from 0 to 255, it sets the shape of the cursor in 
40/80 screens

PEEK(487)*256+PEEK(488)        the start address of an ML program
PEEK(126)*256+PEEK(127)        the end address of an ML program
PEEK(157)*256+PEEK(158)        the EXEC address of the program

POKE &HFF21,&H3C    immediately turns on the cassette relay (MOTOR ON)
POKE &HFF21,&H34    immediately turns off the relay (MOTOR OFF, but no 
delay)

&HE654 to &HE663    storage of the default CMP palette values
&HE664 to &HE673    storage of the default RGB palette values
&HE674 to &HE687    storage of current palette values

POKE 150,x        set printer baud rate.  87=600, 41=1200, 18=2400, 
7=4800, 1=9600
            if running in high speed (1.8mhz) baud is doubled also!

POKE &HFFBC,x           POKE here to set the width 32 foreground color
POKE &HFFBD,x           POKE here to set the width 32 background color

EXEC 44539        pauses and waits for any key press (except 
BREAK/SHIFT/ESC)

POKE 65497,0            1.8mhz speed POKE for the CoCo 3 (no effect with 
emulator)
POKE 65496,0            normal speed POKE (.89mhz) for CoCo 3

POKE &HE6C6,33          VERY USEFUL - This disables the automatic 
clearing of the
            HSCREEN.  Usually, when you do an HSCREEN command, the CoCo
            automatically clears the HSCREEN.  This POKE prevents that.

POKE 282,255            set keyboard to uppercase
POKE 282,0        set keyboard to lowercase

&HF09D to &HF39C    location of data for the HPRINT character set (8 
bytes per
            character, 96 characters).  You can modify the HPRINT font
            by changing these values.  If you're not using HPRINT, this
            is available space for ML programs. (768 bytes, 3/4K)

POKE 186,msb
POKE 187,lsb            set the start address for the PMODE 3/4 screen

POKE 113,0:EXEC &H8C1B       \
POKE 113,0:DLOAD              |--  three different ways to cold-start a 
CoCo 3
POKE 113,0 <press RESET>     /

POKE 111,254:DIR    forces a disk directory to be printed on the printer

if you PEEK(&H00E7)     you can tell what the WIDTH is (0=32, 1=40, 2=80)

&HE0D4,&HE3A3, &HE50B           poke these with an 8k block number for 
HGET/HPUT
                the default is &H74

PEEK(41)*256+PEEK(42)    the line number to continue after a STOP command

PEEK(49)*256+PEEK(50)    the line number of the next DATA statement to 
be read

PEEK(135)        the ASCII code of the most recently pressed key
            can be used with EXEC 44539 instead of INKEY$

POKE 175,0        turn tracer on  (TRON)
POKE 175,1        turn tracer off (TROFF)

decimal 338 to 345    the keyboard rollover tables - values change based 
on what keys
            are being held down

if PEEK(341)=191, then the ALT key is being pressed
if PEEK(342)=191, then the CTRL key is being pressed
if PEEK(343)=191, then F1 is being pressed (F11 on the emulator)
if peek(344)=191, then F2 is being pressed (F12 on the emulator)

PEEKs 474 to 481 contain ASCII values of most recently used FILENAME (8 
characters)
PEEK(482) contains file type (0=BASIC, 1=DATA, 2=BINARY)

POKE &HD7C0,x:POKE &HD816,y    disk drive step rate (not for ADOS)
    x=3  y=23  for 30ms (default)
    x=2  y=22  for 20ms
    x=1  y=21  for 12ms
     x=0  y=20  for 6ms (most drives can do this, it's faster and quieter)

44014 to 44018          ASCII values used for the prompt "OK".  You can 
change the OK prompt
POKE 44014,0        no prompt at all, just a cursor

EXEC 43345        makes a click sound

POKE 41598,19:POKE 41591,95    the BREAK key now pauses (same as 
SHIFT-@) and
                                SHIFT-BREAK will act as the BREAK key

POKE &HE414,0:POKE &HE42A,0    disables the CoCo 3 BREAK key

A=RND(-TIMER)        use this to get "more-random" numbers from the RND 
statement
            similar to RANDOMIZE on other computers

POKE &HE79B,196:POKE &HE79C,x           where x is from 0 to 255.  This 
changes the HPAINT
                    command to paint a variety of patterns
POKE &HE79B,212:POKE &HE79C,181         the defaults for the HPAINT command

After POKE &HF6BC,255, you can CLS x    where x is from 0 to 255 to 
clear the 40/80
                                        screens with a variety of attributes

&H01DA to &H02D8    the old cassette buffer, which can be used for short 
ML programs
            it's 255 bytes long

POKE 41893,0        disables the CLEAR key
POKE 41893,129          enables the CLEAR key

POKE 41909,0        prevents SHIFT-BACK-ARROW from erasing the entire line
POKE 41909,21        enables the SHIFT-BACK-ARROW

POKE &HADEB,&H39    prevents SHIFT-@ from pausing programs, speeds up 
the program!

POKE &HFE04,x        where x is the column spacing you want (20,40,80,etc.)

POKE &HFF94,x        where x is from 0 to 255, controls the "blink" 
attribute blink rate
POKE &HFF94,126         the default "blink" attribute blink rate

POKE &HD762,x        where x is 1 to 255.  This controls how many times 
the disk drive
            tries to read a "problem" with the disk.  The default is 5, 
but if
            you set it to 1 or 2, the computer will try fewer times.  If 
you have
            ever accidentally typed, for example, DIR 1, but had no disk 
in the
            drive, the computer tries 5 times to read it.  By changing 
this value,
            it will return to the OK prompt sooner, or try longer, if 
you want.

POKE &Hf697,x        where x is from 0 to 255.  Default is 32.  When you 
CLS on a 40/80
            screen, this is the ASCII of the character used to clear the 
screen.




GAME CHEATS
===========
Replace X with number in range.

3D Brickaway POKE 13648,X (1-255) # of men
Astro Blast POKE 17351,X (1-255) # of men
Cashman POKE 28302,X (1-255) # of men for player A
Donkey King POKE 12914,X (1-255) # men in Normal game
POKE 12904,X (1-255) # men in Practice game
Dunkey Munkey POKE 15121,X (1-100) # of men
Electron POKE 14019,X (1-255) # of men
Food War POKE 10307,X (1-255) # of men
Fury POKE 13951,X (1-255) # of men
Galagon POKE 10250,X (0-255) speed of first wave
POKE 15621,X (0-255) speed of second wave
Ghost Gobbler POKE 9075,X (1-255) # of men
POKE 10860,0 9000 pt. bonus shape (v1.5 only)
POKE 10870,0 3 ghosts trapped (v1.5 only)
POKE 11678,255 black background
Grabber POKE 16018,10 255 men
Katerpillar Attack POKE 10793,X (1-255) # of men
Kron POKE 16902,4 255 men
LunarRover Patrol POKE 22369,X (1-255) # of men
Mr. Dig POKE 21561,X (1-255) # of men
Mudpies POKE 29679,X (1-100) # of men
Pac-Tac I POKE 9009,X (1-255) # of men
Planet Invasion POKE 7446,X (1-40) # of men
Protectors II POKE 8464,X (1-100) # of men
Space Race POKE 10605,X (1-100) # of men
The Frog POKE 12002,X (1-255) # of men
Trapfall POKE 11452,X (1-255) # of men
Tutankam POKE 17437,X (1-100) # of men
Whirlybird Run POKE 8312,X (1-255) # of men
Zaxxon POKE 25624,X (1-255) # of men
Zaksund POKE 16670,X (1-255) # of men

Pumpman $4A85,X X = number of men
Spacerace $298E,35 number of men
Downland $4147,8 number of men (loaded at $4000 from rompak)
Froggie $43C1,X X = number of men
Shock Trooper $3647,255 number of men
Polaris $4708,18 (loaded at $4000 from rompak)
$4709,18 no missile decrement
Rommel 3D $5EA6,57 constant shield
Gravitor $1CCA,X X = number of men
$28A5,57 no walls
$29F5,57 no timer



More information about the Coco mailing list