;=============================================================================
;            A P P L I C A T I O N   C O D E   . . .
;-----------------------------------------------------------------------------


   ; Define our Page Zero locations
   ORG  &0080
   ; <nothing!>

   ; Define our Page Three locations
   ORG  &0300
   ; <nothing!>





   ORG  &E000
   BOT  &E000 FORCE ; and ensure we only save from this point onwards

.app_code_entry

   ; #################################################
   ; #                                               #
   ; #  THE APPLICATION-SPECIFIC CODE RESIDES HERE!  #
   ; #                                               #
   ; #################################################

   JMP  never_ending

   ; Output an ID string into the EPROM
   DCS  "\r\n\r\n"
   DCS  "##############################\r\n"
   DCS  "#  Amélie APPLICATION v0.01  #\r\n"
   DCS  "#     \" R I C K B O T \"      #\r\n"
   DCS  "#  dev. version - 2007/09/06 #\r\n"
   DCS  "#  (c) 2007 Rick Murray      #\r\n"
   DCS  "#  www.heyrick.co.uk/amelie/ #\r\n"
   DCS  "##############################\r\n\r\n"

.never_ending
   LDX  #0
   STX  watchdog      ; make sure watchdog is zeroed

   LDX  #%00000001    ; rightmost LED on ['scans' like KITT]
   STX  latch
   JSR  bios_nidelay
   ; we use "nidelay" as we do not care if the timing is
   ; not exact, and it is nicer on the system than
   ; repeatedly disabling interrupts for 1ms at a time,
   ; as is the case with "bios_delay".

   LDX  #%00000010    ; next rightmost LED on
   STX  latch
   JSR  bios_nidelay

   LDX  #%00000100    ; next leftmost LED on
   STX  latch
   JSR  bios_nidelay

   LDX  #%00001000    ; leftmost LED on
   STX  latch
   JSR  bios_nidelay

   LDX  #%00000100    ; next leftmost LED on
   STX  latch
   JSR  bios_nidelay

   LDX  #%00000010    ; next rightmost LED on
   STX  latch
   JSR  bios_nidelay

   JMP  never_ending  ; original, innit?

