Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 612 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
612
Dung lượng
11,06 MB
Nội dung
Programming the Raeto Collin West 22Me~!~[E,ublications/lnc • Greensboro, North Carolina Copyright Level Limited, October 1984 All rights reserved Reproduction or translation of any part of this work beyond that permitted by Sections 107 and 108 of the United States Copyright Act without the permission of the copyright owner is unlawful Printed in the United States of America ISBN 0-942386-52-3 10 76 Published by COMPUTE! Publications, Inc., Post Office Box 5406, Greensboro, NC 27403, (919) 2759809 COMPUTE! Publications is one of the ABC Publishing Companies and is not associated with any manufacturer of personal computers VIC-20 is a trademark of Commodore Electronics Limited Contents Foreword v Chapter Introduction Chapter Getting to Know Your VIC-20 Chapter BASIC Reference Guide 13 Chapter Effective Programming in BASIC 69 Chapter VIC-20 Architecture 97 Chapter Beyond VIC-BASIC 153 Chapter 6502 Machine Language 227 Chapter ML Methods Specific to the VIC-20 263 Chapter Mixing BASIC with Machine Language 293 Chapter 10 Vocabulary of the 6502 Chip 301 Chapter 11 VIC-20 ROM Guide 345 Chapter 12 Graphics 371 Chapter 13 Sound 453 Chapter 14 Tape 467 Chapter 15 Using the Commodore Disk Drive 489 Chapter 16 The Games Port 533 Chapter 17 Major Peripherals 547 Appendices: Appendix A A Beginner's Guide to Typing In Programs 569 Appendix B How to Type In Programs 571 Appendix C The Automatic Proofreader Charles Brannon 573 Appendix D Screen Location Table 576 Appendix E Screen Color Memory Table 577 Appendix F Screen Color Codes 578 Appendix G Usable Graphics and Screen Combinations 578 Appendix H Screen and Border Colors 580 Appendix I ASCII Codes 581 Appendix J Screen Codes 585 Appendix K VIC Chip Registers 587 Appendix L Device Numbers 588 Appendix M Decimal-Hexadecimal Interconversion Table 589 Appendix N Opcodes in Detail 590 Appendix Table of 6502 Opcodes 592 Appendix P 6502 Quasi-Opcodes 593 Appendix Q Interconverting VIC-20, Commodore 64, and CBM Programs 595 Index 599 Foreword Programming the VIC picks up where other programming guides leave off It covers virtually every aspect of the VIC-20, from simple BASIC commands to complex machine language techniques, and every explanation is written with clarity and style The result? A comprehensive book, easy to read and understand, that thoroughly reveals the VIC and demonstrates its capabilities BASIC programmers, for example, will make frequent reference to the detailed, annotated listing of every VIC BASIC command Machine language enthusiasts will be especially interested in the ROM maps and in the listings of Kernal routines Several simple but worthwhile hardware modification techniques have also been included for those with the necessary aptitudes and skills, and every VIC userregardless of experience-will find the numerous program examples both useful and informative This book begins with a brief introduction to VIC-20 BASIC and BASIC programming It moves on to discuss more advanced programming, including machine language techniques, and also considers specialized applications in the realm of sound and graphics Chapters are also devoted to disk and tape storage, to memory expansion, and to the selection and use of various peripheral devices Author Raeto Collin West, one of the world's foremost authorities on Commodore computers, has distilled years of experience into the pages of Programming the VIC Beginners will discover new information on every page, while more advanced VIC users will appreciate the sophisticated programming techniques herein This is the first book to thoroughly cover every aspect of VIC programming, and it is certain to become the definitive work in its field v Appendix N Opcodes in Detail Table of Opcodes and Their Functions, Hexadecimal Values, Timing, and Processor Flags Opcode Description Flags N V ADC AND ASL Add memory with carry to accumulator Logical AND memory with accumulator Shift memory or accumulator one bit left ~~ Branch if carrLpit £le'