Advanced Programming Techniques For Your Atari - Files
======================================================

Unlike most Atari programming books that claim to cover advanced topics and only
cover a few things or quickly gloss over the advanced areas, this one covers 
quite a few advanced topics in some depth.

In particular, many chapters cover creating custom disk and cassette boot images.
As such, I've included sample images for all of them in case you run into 
problems. Unfortunately there are many serious errors in this book requiring
advanced programming knowledge to fix. All of these listings have been fully
debugged and run as described.

All programs have been tested both on real Atari hardware & the Atari800Win
Emulator. Any fully 100% Atari compatible emulator will be able to run these
programs. Atari emulators that are not fully hardware compatible will likely
have problems with some of the programs.

Below is a listing of the files contained in this archive and an explanation of
what it is used for. Further on a listing will be given for the individual
program listings contained on the main disk images.

* ReadMe.txt
  This file =^.^=

* Advanced Programming Techniques For Your Atari - Including Graphics & Voice
  Programs.atr
  Disk image containing all the program listings for Chapters 1 through 12.

* Advanced Programming Techniques For Your Atari - Chapters 13 & 14 (Disk &
  Cassette).atr
  Disk image containing all the program listings for Chapters 13 through 14.

* AUTORUN.SYS disk (custom to experiment).atr
  This disk image is for you to experiment with creating boot disks.

* AUTORUN.SYS disk.atr
  This disk image is your master copy of an example boot disk in case you mess
  up your experiment image.

* Calendar disk.atr
  Data disk for the Calendar program (Listing 13-3)

* Tape Boot Test #1.cas
  I've never been able to get these to autoboot on the emulator I use. Since I
  really have no use for cassette images at all I don't have a problem with
  this. =^.^=;;

  However, by playing them back in APE SIO2PC on my 800XL I've got this image to
  run by booting to Atari BASIC and pressing the space bar when it beeps. It
  will then (very slowly) playback the image and load and run the carousel
  listing.

  You will get a boot screen telling you that it is loading the program and then
  it will run the carousel program. This program takes quite a while to load.
  When it runs it will quickly draw a carousel (minus the animated horses). I
  would have used the animated version, but it was too large and took far too
  long to run. You can of course try this with other programs if you wish. =^.^=

* Tape Test #2 (immediate mode).cas
  There may be something wrong with this image. I get a checksum error when I
  try to run this one. The data is there, but it seems to hang on loading the
  ML routine. Someone with a real Atari cassette drive might be able get this to
  load. It's been so long since I tested these that I can't recall how it was
  made. It doesn't seem to be in the book. Sorry. =^.^=;;

* Test disk - enhanced density.atr
* Test disk - single density.atr
  These are just blank MyDOS 4.5 images for your convenience for testing disk
  handling programs.

================================================================================

Advanced Programming Techniques For Your Atari - Including Graphics & Voice
Programs.atr

File            Listing Number & Name
--------------------------------------------------------------------------------
CONVERT.BAS     1-1  Conversions
MIXDMODE.BAS    2-1  Mixed Modes Program
ANTIC3.BAS      2-2  ANTIC 3
ANTIC4_5.BAS    2-3  ANTIC 4 & 5
ARTIFACT.BAS    2-4  Color Artifacting
DATA4EX.BAS     3-1  Data for Exclamation Point
CHRSETED.BAS    3-2  Character Set Editor
TEST.CHB        Test Character Set for the Editor w/Ctrl-T changed to a smiley.
MULTICHR.BAS    3-3  Multicolor Characters (Start key toggles circuit =^.^=)
SIMPANIM.BAS    4-1  Simple Animation (1-8 play tones w/rising note)
SIMPANM2.BAS    4-2  Simple Animation - Second Method
ANIMTEXT.BAS    4-3  Animation in the Text Mode
CAROUSEL.BAS    4-4  Carousel
CAROSELA.BAS    4-5  Carousel - Animated
BIRDS.BAS       4-6  The Birds (Works best with OS A/B. Some XL/XE may crash)
VNAMETBL.BAS    5-1  BASIC Tables - Variable Name Table
VARTABLS.BAS    5-1A BASIC Tables - Variable Value Table
STRAREA.BAS     5-1B BASIC Tables - String-Array Area
BUFFER.BAS      5-1C BASIC Tables - Buffer
STATEMNT.BAS    5-1D BASIC Tables - Statement Table
PUZZLE.BAS      6-1  The Farmer & the Duck, Fox & Grain Puzzle
MOVECHAR.BAS    6-2  Move Character Set
MOVEPMGR.BAS    6-3  Move Player/Missile Up/Down
PMSTRING.BAS    6-4  Player/Missile Strings
COLRSRVC.BAS    7-1  Color Service Routine
DBLCHARS.BAS    7-2  Double Character Sets
MIRROR.BAS      7-3  Mirror Images Routine
PRECISE1.BAS    7-4  Precise Timing
PRECISE2.BAS    7-4A Precise Timing - Second Method
MOVINGPM.BAS    7-5  Moving Players
CVSCROLL.BAS    8-1  Course Vertical Scroll
CHSCROLL.BAS    8-2  Course Horizontal Scroll
FVSCROLL.BAS    8-3  Fine Vertical Scroll
FVSCROLD.BAS    8-4  Fine Vertical Scroll: Down
FHSCROLL.BAS    8-5  Fine Horizontal Scroll
FHSCROL2.BAS    8-5A Fine Horizontal Scroll - Second Method
SCRNFLIP.BAS    9-1  Screen Flipping
SIMPFLIP.BAS    9-2  Simple Page Flipping: Two Different Modes
SPGFLIP1.BAS    9-3  Simultaneous Page Flipping - In BASIC
SPGFLIP2.BAS    9-4  Simultaneous Page Flipping - Two Modes
SPGFLIP3.BAS    9-5  Simultaneous Page Flipping: Machine Language Routine
SPGFLIP4.BAS    9-5A Simultaneous Page Flipping: ML Routine - Horiontal Blank
SPGFLIP5.BAS    9-5B Simultaneous Page Flipping: ML Routine - Vertical Blank
SLIDEDIT.BAS    9-6  Slide Editor
SLIDESHO.BAS    9-7  Slide Show (Press START to advance)
PIC1            Slide #1 for Slide Show
PIC2            Slide #2 for Slide Show
PIC3            Slide #3 for Slide Show
SOUND1.BAS      10-1 Sounds      
SOUND2.BAS      10-2 Sounds with Attack & Decay
SOUND3.BAS      10-3 Sounds with Attack & Decay - Vibrations
SOUND4.BAS      10-4 Variations on Tones
SOUND5.BAS      10-5 Music: Machine Language Subroutine
READKEYB.BAS    11-1 Read the Keyboard
TILES.BAS       11-2 Tiles
KEYBCONV.BAS    11-3 Keyboard Conversion (will not run properly on XL/XE ROMs)
LETRATAK.BAS    11-4 Letter Attack (will not run properly on XL/XE ROMs)
LOCATEPP.BAS    12-1 Locate, Poke & Peek
PRNCNTRL.BAS    12-2 Printing Control Characters

================================================================================

Advanced Programming Techniques For Your Atari - Chapters 13 & 14 (Disk &
Cassette).atr

File            Listing Number & Name
--------------------------------------------------------------------------------
DIRLIST.BAS     13-1 Directory Listing
PRNTDISK.BAS    13-2 Print from Disk
LISTING.LST     Program Listing for the "Print from Disk" Program to format.
CALENDAR.BAS    13-3 Calendar (4/1 & 10/12 for test dates on data disk =^.^=;;)
DISPSECT.BAS    13-4 Displaying Sectors (Only works on Single & Enhanced Density)
AUTORUN.BAS     13-5 AUTORUN.SYS
TAPEBOOT.BAS    14-1 BASIC Boot Load
LISNSPEL.BAS    14-2 Listen & Spell
