Sunteți pe pagina 1din 211
IMPOSSIBLE ROUTINES hits COMMODORE 64 ___ KEVIN BERGIN __ Impossible Routines for the Commodore 64 Kevin Bergin Zé Duckworth First published in 1984 by Gerald Duckworth & Co. Ltd. The Old Piano Factory 43 Gloucester Crescent, London NW1 ©1984 by Kevin Bergin All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the publisher. ISBN 0 7156 1806 7 British Library Cataloguing in Publication Data Bergin, Kevin Impossible routines for the Commodore 64. 1. Commodore 64 (Computer) L. Title 001.64'04 QA76.8.C64 ISBN 0-7156-1806-7 Typeset by The Electronic Village, Richmond from text stored on a Commodore 64 Printed in Great Britain by Redwood Burn Ltd., Trowbridge and bound by Pegasus Bookbinding, Melksham Contents Preface Introduction Symbol Chart . Supermon 64 Entering Supermon Testing Supermon Saving Supermon Using Supermon Supermon colours Instructions . Protection A trick of the trade? Internal protection Disabling run/stop & restore Other vectors Moving Basic Scrambling programs Screen and character set A faster version! 31 37 37 41 42 Other forms of protection Protected software Auto-run A limited auto-run . Printer, Disk, Tape and Other Utilities Hard copy Old for new Some disk routines Disk error display Disk commands Disk error messages Disk directory Disk directory and auto-load Tape control Tape search Word proccessor Sell that 1540 Dumping the screen More memory Merging and appending programs Merge Append 4. New Commands and Interrupts 81 Interrupts 81 Using charget to add commands 85 5. Kernal Routines 89 Kernal and ROM routines 93 Error codes 115 Other Kernal and ROM routines 115 Vectors 119 6. 64 to FX-80 123 Downloading the character set 123 7. General Utilities, Hints and Tips 127 Reserved words 127 Customising Basic 128 Both sides! 131 Joysticks 131 Input routine 132 Cursor control 133 String memory 135 Hex to Dec 135 Code to Basic 137 Hi-res 139 Borders Basic border Code border Colour border Basic graph Appendices: . 64 memory map revisited . Key values . Basic tokens . Machine code instruction set moo @ > Screen display codes m Ascii values G. Basic error messages Further Reading Index 149 150 150 153 207 210 Preface This book was written using the Commodore 64, a 1541 disk drive and an Epson FX-80 (oh! and a TV with me pushing the keys occasionally). The programs were formatted using the Epson’s facilities. The book was largely inspired by my sleepless nights huddled over my Vic and later my 64 trying to get commercial software to work. So my thanks go to the incompetent software houses for their blunders and to Jim Butterfield for his excellent Supermon 64. Thanks are also due to many friends and colleagues including Nick Hampshire for the job, and especially to my publishers for supporting and indulging me. The programs and information in this book expose areas of the 64 not often talked about and offer different ways of tackling the problems this presents. All the routines are fully explained, including parts of the 64's operating system. I have included some utility routines which should also prove useful. The end result for the reader should be a more understandable 64. K.B. | dedicate this book and the leaves within to all those who are ‘locked in’ and don’t know, also to Mary Smythe who resides with the dust now, but knew what it was like to be here. 10 Introduction My career as a programmer started at Middlesex Polytechnic, where | was studying to become a primary school teacher. One day | spotted anotice labelled ‘Terminal room’, and having determined that it wasn’t aplace in which overwrought students were disposed of, lasked about this curious room full of odd objects and tense humans. It turned out to be the college’s computer system, a Dec 10, which was spread over five colleges and had 120 people using the system at any one time. | was not scheduled to use the system for some two years, so | nagged for permission to ‘challenge’ the machine until | was eventually given a number. The following three months saw me in the computer room for two hours every day with a ragged and inadequate manual, trying to discover if | was telling the machine what to do or the reverse. Having managed to come to grips with Basic by spending too much of my study time on it, | invested in a Vic-20 and spent all of my time and money on that, often to the exclusion of sleep. At this point | decided that | had better make micros my career. | be- gan work on Commodore Computing International, where | carried on with my obsession. This book is probably more a result of the past four years than any other writing | have done, and | hope that you enjoy it. The title of the book refers to those moments when everything you want to do or try to do with the 64 seems impossible. It also refers to those particular routines and techniques which are at certain levels impossible. In general, Impossible Routines is intended to be a very usable guide to those tricky and lesser-known areas of the 64. | hope that you will be able to use it in this way and enjoy the process. 11 Symbol Chart Included here is a chart of the abbreviations used in the listings to in- dicate the 64’s control characters. This should avoid any confusion. [CD} = CURSOR DOWN [CR] = CURSOR RIGHT [CL] = CURSOR LEFT [CU] = CURSOR UP [CLR] = SHIFT AND CLR/HOME [HME] = CLR/HOME [Fi] —[F8] = FUNCTION KEYS {BLK} = CTRL&1 {WHT] = CTRL&2 [RED] = CTRL&3 [CYN] = CTRL&4 [PUR] = CTRL &5 [GRN} = CTRL&6 {BLU] = CTRL&7 {YEL] = CTRL&8 [SH] = SHIFT (with character following) [LO] = LOGO (with character following) The shift and logo keys are used for the graphics and any numbers inside the square brackets indicate the number of characters. 12 1. Supermon 64 I have included a copy of Jim Butterfield’s excellent Supermon, which you will definitely need. This kind of utility is usually placed at the back of books. It was decided in this case to place Supermon at the front as it will be in constant use. Unfortunately Supermon is rather a large program. It occupies the ad- dresses from 2048 decimal $0800 hex to 4591 decimal $11 EF hex, some 2543 bytes. In order to make entering Supermon as smooth as possible and avoid previous confusions, it is presented here as a Basic program with a checksum; a memory dump is also included as you may well want to see it. A disassembly would have been too long and untidy. Entering Supermon In order to enter Supermon we must first leave enough room for it by moving the beginning of Basic, so before you start tapping away enter the following in direct mode: POKE 8192,0:POKE 44,32 This leaves enough room for us to enter Supermon. Now start the laborious task of entering the program with all the data statements exactly as shown. It is best to keep track of your position by marking it with a pencil when you have (eventually) finished. Then save the program onto tape or disk in the normal way. Testing Supermon Now that you have a copy of the Basic program, RUN the program. There will be a pause and a message will tell you when Supermon has been entered. If you got it right first time, congratulations. If you didn’t it's back to the drawing board to discover the error. If you make any corrections don’t forget to re-save the program before trying again. 13 1@ POKES3280, 2+POKES3281,@:PRINT"PLEASE WAIT..... . 20 MEM = 2048:COUNT = @ 3@ READ NUM:IF NUM =-1 THEN6® 4@ POKE MEM,NUMSMEM = MEM +1:COUNT = COUNT + NUM 5@ GOTOSa 6@ IF CO <> 283598 OR ME <> 4591 THEN PRINT"DATA ERROR SHOULD BE 283598 "3" NOT"; CO:END 7@ PRINT" DATA ENTERED OK NOW ENTER FINAL POKES" 80 END 9@ DATAG, 26,8, 180,8, 153,34, 147,18,27,29,297,29,83, 85,88 108 DATA69 ,82,32,54,52,45,77,79,78,0,49,8,118,0,1 53,34 118 DATAL7, 32,32, 32,32, 32,32, 32,32,32,32,32,32,32 132,32 120 DATAQ,75,8,120,0,153,34,17,32,46,46,74,73,77, 32,66 130 DATABS,84,84,67,82,78,73,69,76,68,2,102,8, 130 2,158 140 DATAS@,194,40,52,51,41,170,50,53,54,172,194,4 @,52,52,41 150 DATA17@,49,52,55,41 ,8,8,8,170, 17,170, 178,178 1170,17@, 178 16@ DATAL7O, 172,170,170, 170,178,170, 17, 170,17844 7@, 17,178,178, 178,178 17@ DATA165, 45, 133,34, 165,46, 133,35, 165,55, 133,36 7165,56,133,37 162 DATA140,@,165,34,206,2,198,35,198,34,177,34,2 08, 60,165,34 19@ DATAZ@B,2, 198,35, 198,34, 177,34,240,33,133,38, 165,34, 208,2 208 DATA19B,35,198,34,177,34,24,101,36,178, 165,38 3101,37,72,165 210 DATASS,208,2,198,56,198,55,104,145,55,138,72, 165,55,208,2 228 DATA196,56, 198,55, 104,145,55,24,144,182,201,7 9,208, 237,165,55 238 DATAIS3,51, 145,56, 133,52, 108, 55,0, 79,79, 77 977 3173,230, 255 240 DATAQ,141,22,3, 173,231,255 ,0,141,23,3,1469,128 732,144,255 258 DATAG,Q,216, 104,141 ,62,2,184,141,61,2, 104,141 768,2,104 268 DATA141,59,2, 104,178,104, 168,56,138,233,2,141 »58,2,152,233 27@ DATAG,@,141,57,2,186,142,63,2,32,87,253,8,162 766,169 280 DATA42,32,87,250,0, 149,82, 208,52, 230,193,208, 6,230, 194,208 29 DATAZ,230,38,96,32,207,255,201,13,208,248, 104 14 104,167, 158,32 30 DATAZI@, 255, 169,0,0, 135,358,162, 15,169 ,46,32,8 7 ,258,0,169 31a DATAISB, 32,210,255, 52,62, 248,0,201 46,240,249 201, 32,240,245 320 DATALG2, 14,221, 183,255 ,0,208,12,136,18,170,18 9,199,255, 0,72 330 DATAIG?, 198,255 0,72, 76,202, 16,236,76,237 , 250 78,165,193, 141 3aO DATASB,2, 165,194, 141,57, 2,76, 169 ,8, 135,27, 160 1@,O,32 350 DATAB4,253,0,177,193,32,72,250,0,32,51,248,0, 198,297,288 3bQ DATAZAL 96,32, 156, 250,2,144,11, 162,850, 129,17 3,193,193, 248 330 DATAS, 76,237 , 250 ,O,32,51 5248, 2, 198,29, 96,169, 59,133,193 BAB DATALGT, 25133, 194, 16945, 76,152, 724352 ,87 255,08 7184, 162,46 390 DATATé ,87, 258,08, 169, 158,52,218,255,162,2,0,18 9,234,255,0 400 DATASZ 210, 255,232,224 22,208,245, 160,57,32y1 94,248,0,173,57 ALB DATAZ, 32472, 250 ,Q, 173,58, 2,32, 72,250, 0,32, 185 »248,0 420 DATASZ, 141,248, 0,240, 92,32,62,248,0,32,121,25 @,0,144,51 43@ DATAS2, 105,252 ,@,32,62,248,0,32,121,250,0,144 140,32, 185 44a DATAZSO,@, 149, 158,32, 210,255,352, 225,255,240,6 @, 166,38, 208,56 GSO DATALOS, 195,197 5193, 165,196,229, 194,144, 46,16 0,58,32,194,248,2 440 DATASZ, 65,258 , 0,32, 137,248, 0,248,224, 76,237 42 5@,0,32,121 478 DATAZSO,Q,144,3,32, 128,248, 0,32, 183,248 ,2, 208 732,121 Aad DATAZSO, 0,144,235, 169,8, 153,29, 32,62, 248,0,32 7161,248,8 490 DATAZ@B,248,76,71,248,0,32,207 , 255, 201,15,248 112,201 ,32,208 Soa DATAZG? , 32,121 ,250,0,144,3,32,128,248,0,169,1 58,32,210,255 S10 DATAL74,63 2,154,120, 173,57 ,24 724173 58,2, 724 173,59,2 520" DATA7Z, 173,60 ,2,174,61 24 172,624 2,64, 167, 158, 32,210,255 B30 DATAI74, 43,2154, 108,2, 160,160, 1,132, 186,132, 185,136,132, 183 S40 DATA132, 144, 132, 147, 169,64, 133,187, 167,2,133, 188,32,207,255,201 15 55Q DATAS2, 240,249,201, 13,240,56, 201 ,34,208,20,32 1207, 255, 201,34 560 DATAZ4O, 16,201, 13,240,41,145, 187,230, 183,200, 192,146,208, 236,76 570 DATAZ37,250,0,32, 207,255,201, 13,240,22,201,44 1208, 220,32, 136 S8Q DATAZSO, 0,41, 15,240,233, 201,3,240,229, 133,186 132,207,255, 201 592 DATAI3,76, 108,48, 3, 188, 50,3,32,150,249,0,208, 212,169,158 608 DATAS2, 210,255, 167,0,0,32,239,249,0,165,144,4 1,416,208, 196 618 DATA76,71,248,0,32, 150,249,0,201,44,208,186,3 2,121,250,0 $20 DATA32, 1@5,250,0,32,207,255,201,44,208,173,32 121, 250,0, 165 432 DATAL9S, 133,174,165, 194,133,175, 32,105, 250,2, 32,207, 255,201,13 648 DATAZ@B, 152,169, 158,32,210,255,32,242,249 0,7 6,71,248,0,165 50 DATAI94,32,72,250,0,165,193,72,74,74,74,74,32 196,258,8 S68 DATAL70,104,41,15,32,96,250,0,72,138,32,210,2 55,104,76,210 678 DATAZSS,9, 48,201 ,58,144,2,105,6,96,162,2, 181, 192,72, 181 680 DATA194, 149,192,104, 149,194,202, 208,243,96,32 7136,250,0,144,2 698 DATAL33, 194,32, 136,250,8,144,2, 133,193, 96,169 1,8, 133,42 702 DATAS2,62,248,0,201 ,32,208,9,32,62,248,0,201, 32,208,14 718 DATA24,976,32,175,250,0,10,10,10,10,133,42,32, 62,248,0 728 DATASZ,175,250,0,5,42,56,96,201,58,144,2,105, 841,15 730 DATAI6,162,2,44,162,0,0, 180,193, 208,8, 180,194 1208,2,230 74 DATASG, 214,194,214, 193, 96,32,62,248,0,201 ,32, 240, 249,96, 169 750 DATAG,@,141,0,0,1,32,204,250,0,32,143,250,0,3 2,124 768 DATAZSO,O,144,9,96,32,62,248,8,32,121,250,0,1 76,222,174 77@ DATASS, 2,154,149, 158,32, 210,255, 169,63, 32,218 7255,76,71,248 782 DATA®,32,84,253,0, 202,208,250, 96,230,195, 208, 2,230, 196,96 79 DATAL62,2, 1681, 192,72, 181,39, 149,192, 104,149,5 9,202,208, 243,96 BBO DATALES, 195, 164, 196,56, 23324176, 14,136, 14451 16 1,165,4@, 164,41 B1@ DATA7é, 51, 251,0, 165,195, 164,196,56,227, 193,15 3,30, 152,229,194 822 DATAIGB, 5,30, 96,32, 212,250 ,0,32,105,250,8,32, 229, 250,0 @3O DATASZ, 12,251 ,@, 32,227,250 , 8, 32,47, 251, 8,32,1 @5,252,0 840 DATAL44, 21, 166,38,208,100,32,40,251,0,144,95, 161,193,129, 195 85a DATA32,5,251,0,32,51,248,0,208,235,32,40,251, 0,24, 165 B6Q DATASO, 101,195,133, 195, 152,101,196, 133, 196,32 712,251,0, 166,38 87@ DATAZ@G, 41, 161,193,129, 195,32, 40,251 ,0,176,52 932, 184,250,2 880 DATAS2, 187, 250,0, 76,125,251 ,O,32,212,258,0,32 7105,250,8 890 DATAS2, 229, 250,0,32,105,250,0,32,462,248,8,32, 134,250,0 FOO DATA144, 20,133,297, 166,38, 208,17,32,47,251,0,1 44,12, 165,29 918 DATA129, 193,32 ,51 ,248,0,208,238,76,237,250,0, 76,71,248,8 920 DATASZ, 212, 250,0,32,105,250,0,32,229,250,0,32 105,250, 930 DATASZ,62,248,0,162,0,0,32,62,248,0,201,39,28 8,20,32 948 DATAGZ, 248,0, 157, 16,2,232,32,207,255,201,13,2 40,34,224,32 950 DATAZQB,241,240,28,142,0,0,1,32,143,258,0,144 1198, 157,16 968 DATAZ, 232,32, 207,255,201, 13,240,9,32,136,258, @,144,182,224 97@ DATA3Z, 208,236,134, 28,169,158, 32,210,255,352,8 7, 253,0,162,8 BQ DATA, 160,0,0, 177,193,221, 16,2, 208,12, 288,232 1228,28,288 990 DATAZ43, 32, 65,250 ,0,32,84,253,0,32,51,248,0,1 66,38,208 1@0@ DATA141 ,32,47,251,0,176,221,76,71,248,0,32,2 12,258,0,133 1810 DATASZ, 165,194, 133,33, 142,0,0,134,40,169,147 732,210,255, 169 1020 DATA152,32, 218,255, 169,22, 133, 27,32, 106,252, @,32,202,252,0 1030 DATA133, 193,132,194, 198,29,208,242,169,145,3 2,210,255,76,71,248 1840 DATAQ, 162,44 ,32,194,248,0,32,84,253,0,32,45, 250,0,32 1050 DATAB4,253,0,162,0,0,161,193,32,217,252,0,72 932,31, 253 17 104 DATA, 104,32,53,253,0,162,6,224,3,208, 16,164 31, 240,14 107@ DATA165, 42,201 , 232,177,193, 176,28,32, 194,252 1@, 136,208,242, 1880 DATASZ, 144,14, 189,42, 255, 0,32, 145,253,0,189, 48,255,0,240 1890 DATAS, 32,165, 253,0, 202,208, 213,96, 32,205,252 18,170,232, 288 1108 DATAL , 208, 152,32,194,252,0, 138,134,28,32,72, 250,0,146,28 1118 DATA9G, 165, 31,56, 164,194,170, 16,1,1356, 101,19 3,144,1,200,96 1128 DATALGB, 74,144, 11,74, 176,23, 201,354,240, 19,41 97494128, 74 1130 DATAL7O, 189,217,254 ,Q,176,4,74574, 74574541 51 5,208,4, 160 1148 DATA1Z8,169,0,0,170, 189,29, 255,0,133,42,41,3 7133, 31,152 1150 DATA41, 143,170,152, 140,3,224,138,240,11,74,1 44,8,74,74,9 1148 DATASZ, 136,208, 250,200, 136, 208,242, 76,177, 19 332,194, 252,0,162 1170 DATAL ,32,254,250,0,196,31,200,144,241,162,3, 192, 4,144,242 1182 DATAGS, 148, 185,55, 255,08, 133,40, 185,119,255,0 9133,41,169,8 1192 DATA®,160,5,6,41,38, 40,42, 136,208,248, 185,463 132,210,255 120 DATAZ@2, 208,236, 169,32,44,169,13,76,210,255, 32,212,250 ,0,32 1218 DATAI@S, 250,,32,229,250,0,32,105,258,0,162, @,2,134,48 1220 DATAI49, 158,32,210,255,32,87,253,0,32,114,25 2,@,32,202,252 1230 DATAQ, 133,193,132, 194,32, 225,255, 240,5,32,47 »251,0,176,233 1240 DATA74,71,248,@,32,212,250,0,169,3, 133,27, 32 762,248,8 125@ DATASZ, 161 ,248,0,208,248, 165,32, 133,193,165, 33,133,194,76,78 1248 DATAZS2,@,197,48,240,3,32,210,255,96,32,212, 250,0,32,105 1278 DATAZSO,@,142,17,2, 162, 3,32, 204,250,0,72,202 5208,249, 162 128 DATAS, 104,56,233,63,160,5,74, 118,172,118, 16 92,136,208 1298 DATAZ46, 202 , 208,237, 162,2,32,207, 255,201,135, 240,30,201 ,32,240 132 DATAZ4S, 32,208,254, 0,176, 15,32, 156,258,0,164 9193 ,132, 194,133 1310 DATA193, 169, 48,157, 16,2, 232,157, 16,2,232, 208 18 1219,134,40,162 1320 DATAG,@, 134,38, 240,4,230,38,240,117,162,0,2, 134,29,165 1330 DATASG,32,217,252,0,166,42,134, 41,170, 188,55 9255,0,189,119 1348 DATAZ55,@,32,185,254,@,208,227,162,6,224,3,2 8, 25,164,314 1350 DATAZ4Q,21, 165,42, 201,232, 169,48, 176,33, 32,1 91,254, 8,208,204 1368 DATASZ,193,254,0,208, 199,136,208, 235,6,42,14 4,11, 188, 48,255 1378 DATAQ, 189, 42,255, 0,32,185,254, 0,208, 181,202, 208, 209,240,128 1388 DATAS2Z, 164, 254,0,208,171,32,184,254,0,208,16 6,165, 40, 197,29 139@ DATAZ@B, 160,32, 105,250,0,164,31,248,48,165,4 1,201 ,157,208,26 1408 DATA3S2, 28,251 ,0,144,18,152,208,4,145,30,16,1 0, 76,237,250 1410 DATA®, 208, 208,250, 165,30, 16,246,144,31,288,3 7185,194,8,2 1428 DATAL45, 193, 136,208, 248, 165, 38,145,193, 32,28 2,252,8,133, 193,132 143 DATAI94, 169,158, 32,210,255, 160,45,32,194,248 18, 32,84,253,2 1442 DATASZ, 65,250,0,32,84,253,0,169,158,32,210,2 55,76,176,253 145@ DATAQ, 148,32,191,254,0,208,17,152,240,14,134 928,166,297, 221 1468 DATA16,2,6,232, 134,29, 166,28, 40,96,201 , 48,14 4,3,201,71 1470 DATA76, 56,96 46442467, 5,208 8,64, 7, 48,34 ,6755 1,208 1488 DATAB,64,9,64,2,67,51 ,208,8,64,7, 64,249,179 »208 1490 DATAS, 64,9,0,0,34, 68,51, 208,140,68,0,8,17,34 68 : 15@@ DATAS1 ,208,140,68,154,16,34,68,51,208,6,64,9 716,34,68 151@ DATAS1,208,8,64,9,98, 197,120,167, 8,0,33, 12941 30,0,0 1520 DATA®,@,89,77, 145,146, 134,74, 133,157 ,44,41,4 4,35,48,36 1530 DATA? ,@,0,88,36,36,0,8,28,138,28,35,95,139, 27,161 1540 DATA1S7,138,29,35, 157,139,297, 161,8,0,41,25,1 74,105, 168,25 1550 DATASS 34,83, 27,35,36,83,25,161,8,0,26,91 91 7165, 105 1540 DATA34, 36,174,174, 168,173, 41,0,0,124,08,0,21, 156,109,156 19 1578 DATA165, 105, 41,83, 132,19,52,17,165,105,35,16 @,216,98,98,72 1580 DATA3B, 98,148,136,84, 68,200 ,84,104,68,252,14 8,8,0,180,8 1598 DATAI32, 116,180,40,118,116,244,204,74,114,24 2,164,138,8, a, 178 1400 DaTALs2, ie2, 116,116,116, 114,68, 104,178,580, 17 8,0,8,34,0,8 1418 DATAZ, 26,38, 38,114,114,136,208,196,202,38,7 2,68,68,162, 200 1420 DATASS, 59,82,77,71,88,76,83,84,70,72,68,08,4 4,65,66 1430 DATAZ49 ,0,53,247,0,204,248,0,247,248,0,86,24 9,0,137,249 1648 pataa 9244, 249 ,8,12,250,0,62,251,0,146,251,0, 192,251,8 1650 DATASA, 252,8,91,253,0,138,253,8,172,253,2,78 7248,8,255 1668 DATAz47, @, 237, 247,8,13,32,352,32,80,67,32,52, 83,82,32 1678 DaTAGS, 67 ,32,88,82,32,89,82,32,83,80,8,0,8,8 1688 DATA-1 READY. Be PC SR AC XR YR SP - 70888 38 OB 2B AB FS -10888 OB 1A BB 64 BB 99 22 935 -10888 12 1D 1D 1D 1D 53 55 5a -10818 45 52 20 36 34 2D 4D 4F 10818 4E @8 31 8 6E OO 99 22 10828 11 20 20 28 28 20 20 20 10828 28 28 20 20 20 20 20 20 -10838 @@ 4B O8 78 @8 99 22 11 10838 20 2E 2E 4A 49 4D 20 42 10840 55 54 54 45 52 46 49 45 -10@848 4C 44 @2 66 08 B2 BB FE -1@858 28 C2 28 34 33 29 AA 32 -1@858 35 36 AC C2 28 34 34 29 -28868 AA 31 32 37 29 OB OB 22 +2@868 AA AA AA AA AA AA AA AA 18878 AA AA AA AA AA AA AA AA 18878 AA AA AA AA AA AA AA AA 30888 - 10888 ~ 20898 - 20898 -308AR «1 O8AB «2 O8BO - ?06B8 .:88C0 -288C8 2@BD2 ~208D8 = 208E0 «8 O6EO « tQ8FO -:08F8 20980 -20988 80910 =20918 80928 «10928 = 88938 80938 «30948 -10948 - 18950 -10958 = 10968 18768 =18978 »10978 - 18988 -'0988 -18998 28998 = 1 BFAD = 189A8 »189BO -2Q9BS 28908 «889C8 ~309D8 «189D8 =: B9EO »309ES = 3B9FO -FO9FB = BAT - BAB =18A10 As AS AG cé Da FO cé 24 37 a cé 98 85 6D 8D BA aa e2 2A 34 82 @D D2 @D FE co BA BD £c 3A Fi a2 as oo ag 48 4c FF Aa o2 20 20 8s AS Bi cé as as e2 BA cé ce as 4F 16 os Da a2 @2 a2 8D 37 57 C1 26 Fa ag 2E D2 FO AA FF —D 3s 20 —D 1D a5 37 FA 48 FA Fea 22 24 22 22 23 26 26 cé 48 37 4F es Ag 68 8D 39 FD FA Da 68 ao 20 FF Fo B7 BD oo FA 1D Bl Fe 88 a1 FA 68 c2 FD ao Es c2 FA aa oa As B1 18 48 37 37 AS &é FF @2 98 42 52 c2 FF 9E 26 oa Fs FO pe cA c1 @2 48 1D c1 33 35 68 20 AD 3A Fe 26 23 25 23 22 22 @2 65 @2 18 37 37 FF FF 68 38 e? oF aa be co 28 AZ ar aa FS ac 48 18 60 FA OB FB Ci 98 2& D2 FS 3 a2 ) 21 ~28A1L8 + 2BA20 += 1@A28 + 28A3B -18A38 +1 8A40 +0048 +0050 + FBASB =F BACB =10A70 18078 -10A80 «10088 -3BA9B = t8A9B = 1 BAAS - 1@ABS «~10ABB « f@ACB «1 BACB = 1 BADD -1@ADB -1QAEQ »1QAEB -~tGAFS +2 QAFS = 10B20 » 8QBee = :0B10 .1QB16 + tOB28 -10B28 +: OB38 -:0B38 » §BB40 +10B48 +10B50 +8@B58 «1@B60 - 1 @B68 10878 +-1@B78 -?@BB8 10888 + £OB98 + 1QB98 «1 @BAR +: @BAB FS 28 20 FA £1 as 20 FO Fa 20 FA FF Di 80 AE 48 48 AE oL 84 Az? 28 22 Fa ES e—D FO FA Fo 20 20 Fo 4c ce? 28 2c 69 De F2 c2 4a 45 FF oo oF 79 FF c3 2€ a1 ea ea B7 ea Fe co 28 Fe oF @2 SF 98 e2 Fe 1@ B7 Fa 16 eo 96 D2 ao 47 2c oF De 65 FA 98 Fo 20 4a BA a7 20 FA FA aA? FO cs Aa FA 4c 970 Fe Fe 4c @D 79 vA 3c 40 @2 BA 64 as Fo 14 co ca oo co Fo FF as Fa Da FA aD AE ao 48 29 20 3a A2 79 aa 9E c1 ea ED as ao EB 47 FO FA Aga oA a2 a2 aga oA a4 93 c? aD ca 20 OF aa Ar 98 aa AS 28 FE FA 4a D2 co @2 FA 28 98 AS AS 208 28 FA 20 a? 20 Fe oo 9E 78 48 AE FE BS Ag CF FO 18 De Fa as 29 28 28 20 79 cr 20 47 oo FF ao 3€ 28 D2 26 C4 c2 8B 8a a7 al ao co 98 20 AD 3D 20 48 FO FF 29 FF oc Eg 6c D4 18 96 79 CF FA 85 FF D2 Fe As 68 98 ca Fe 20 FE eS FS FS 20 FS 20 85 FS 20 Os D2 39 3 o2 D2 Aa FF 38 91 EC co ce FF ag Fo FA FF ea FF c1 FA FA 48 33 6? 20 38 c2 2a 79 79 1D aa FF e2 FF ) B7 BB co co BB 4c @D @s co EF c4 c? As 20 @D 20 As 48 oo D2 69 BS BOSSSSSSISATHSBRE SELES SASS sags SORBSSSPAGSISSRRMANTASRU SEIU CETR SE AGsR Hse iaearcs SSaR sea Ss Ss q we NESSRSHSSSASLSSRARTSRRAGAGe AG SPSORRSSSASSISS s N s 8 SSaRSSSSSalusssa < irs n u OESSSSERBSINTEST SSPE SAS SRS OM RARAA TAL OL SRIRARSL IAAT BESTSSESSRRTSRSSSETACRSRSSSBSSSSAHSRBSoHSssssnesse sessroseteg NegRec cern eHsrsanwcan sePe Reece eon aqqqo oO nO wanton DQLUNDuUresovu momgecruon ON@TMULELOLNLLUEL PSN SHHSSESIRASSSESRS REASBSBOSSSHCSSASSASAAGHAASEAGS NP ORS ROPSESTLEST ISAS SSI SLUSH ERASER anGaLN RRSRSSRRA s npeostsosaoan nesosnagensea oa sousosg0su0soas Seg beauuas Sana WnRno eee aeedee fees sos Bae gesesecceseese SBECEREEGeSuueecesesesesees BD 4a Ag? es @F OB 88 Bi 20 FL 77 2a 4a pa ci FE AZ BI FF FE 29 98 98 FA 28 FA as 37 SRBSSaRTE ce FF as De BD es es 4A 88 Fc c4 a4 oe 29 a4 a4 1D 1F Ea 4a Da iF aa 4a FF ag F2 ca F2 28 «18EEQ 02 AB BS Bb 29 26 28 2A ~!@EE8 86 D@ FS 69 SF 28 D2 FF «1@EF@ CA DB EC AP 28 2C AP AD oo +21878 +21888 +1088 «11890 «11898 «110AG -118A8 -118B0 ~110BB #1208 +1008 +11BD0 «11008 -110E0 11058 -210F6 «t10F8 21188 +21188 #81118 221118 21128 81128 281138 -21138 221140 221148 #21158 «11158 -21168 21168 #1178 11178 «21188 «11188 =21198 11198 »811A0 2 11As -t11BO +511B8 81108 81108 -211D0 +211D6 -811E8 -211E8 AB Fa 68 38 40 4a pe ae 9D BA ao 24 24 7 69 69 44 74 A2 32 1A cA 3B FB F4 as FC 43 Ss 2a 28 GE oe co 6a a9 er ar a4 eo 5? 2c ao ic 1D 29 aa 29 23 94 Es F2 74 B2 26 26 48 33 Fo 92 FD —D 43 20 5a D2 BF ee 38 42 40 aa 44 21 4D 29 se 23 23 19 1B 10 AE 53 Ao a8 94 28 aa 74 ao 26 48 4D 44 Fo 56 oo FB SB eo F7 20 58 oo FF FE 1c a6 22 a2 20a A el 91 24 SD 9D 23 SB a8 15 pe 54 8A 74 72 a4 47 50 eo Fo FD 46 ao S2 4c AG 1D 45 45 45 45 22 11 18 18 62 92 23 24 6B 8B 6? 24 SB 13 42 44 ae 74 72 22 72 44 58 2c aa FA ce aa FB S3 aa Saving Supermon When your Basic program has successfully entered the data, you will need to save the machine code version of Supermon. To do this, enter the following in direct mode: POKE 44,8:POKE 45,235+POKE 46,17:CLR You now have a working copy of Supermon in memory, and a normal save to tape or disk will save it for you. Using Supermon To load Supermon use a normal load and run. This will load and initialise Supermon. It is advisable to exit the monitor at this point (see exit command) and new the Basic area. To re-enter Supermon enter $1 8 in direct mode: this command will always take you back to the monitor unless run/stop and restore has been pressed. Supermon colours Anyone familiar with Supermon 64 will be aware that the colours are none too good on an ordinary television (I must buy a real monitor), so using the advice Jim gave in an article for those of us who don’t like the colour combination | changed them! You may not like my choice, so | will explain how to change the colours. Load Supermon and run it. This will put you into the monitor with the colours | set. To change the colours temporarily enter the following command: .HO7ED SFFF AS 98 20 D2 FF This should give you one or possibly two locations. Change the 98 to the ASCII code for the colour you require. Now you will need to change the other colours. Enter the following command: -HO7ED 9FFF AS 9E 2@ D2 FF 27 This will give you about thirteen locations. Change the 9E (ASCII code for yellow) to the colour you require. This will only give temporary changes; to make permanent changes you will need to make the hunt from the beginning of Basic: .H @808 11EF... Instructions Below is a full list of Supermon 64 instructions. The left-hand column gives the command, the middle column contains the syntax, and the right-hand column the action. Command Syntax Action Simple Assembler .A C@O@ LDK #$22 starts assembly at $C000 hex. Disassembler -D Caad disassembles from $C000 hex onwards Printing P Cod C102 disassembles to Disassembler printer once engaged with OPEN4,4: CMD4:SYS8. Fill memory F Cea@ C188 AA fills memory from C000 to C100 with the hex byte AA. Go run G Cees jumps to $C000 hex and executes program there. Hunt memory H CQ@@ C102 STAR hunts through memory $C000 to $C100 hex for the ASCII string STAR. Load -L"filename", 28 loads a program from disk into memory. Memory display Register status Save Transfer memory Exit to Basic MH CaQ8 Ca28 -S"nn" 88, COae, C108 .T COMO C1a8 C280 displays memory from C000 to C020 hex. displays current register values. saves memory from C000 to C100 hex onto disk and calls it nn. transfers contents of memory in the range C000 to C100 hex to new start address of C200 hex return to Basic and perform a CLR before doing anything else

S-ar putea să vă placă și