
             TURBO PASCAL 6502 Instructions
             ------------------------------

    As the 6502 emulator processes the bottom 32K of memory,
    all accesses above 8000 hex must be handled by the PASCAL
    code. An include file must be written to emulate calls in
    the top 32K.

    I have written a couple of the BBC Micro's Operating System
    calls as an example in the include file SPECIAL.INC

    (These calls were all that were required to run the ACORNSOFT
    LISP interpreter on this 6502 emulator, without Disk access
    of course.)


***

  Commands can be enterd when the '-' prompt is on the screen.

  ALL VALUES ARE IN HEXADECIMAL.

  AC - Sets the contents of the Accumulator. E.g AC = FF
  AS - Start assembling code at specified memory location.
       E.g. AS 1000

       The specified address will appear on the next line
       ready for the 6502 code to be entered.  All addressing
       modes are catered for.
       Addressing modes on next screen.

   E   Edit Memory in Hex. Enter the Hex value and press SPACE to
       move to the next byte. Press RETURN to end. Press '-' to
       go back a byte.

***

   Addressing Modes :   Press RETURN alone to end assembling code

       #$nn    - Immediate                      E.g.  LDA #$0A
       $nnnn   - Absolute                       E.g.  STA $20A0
               - Relative                       E.g.  BCC $1000
       $nn     - Zero Page                      E.g.  ASL $00
       $nn,x   - Zero Page Indexed by X         E.g.  LDA $01,X
       $nn,y   - Zero Page Indexed by Y         E.g.  LDA $F0,Y
       ($nn),Y - Indirect Indexed               E.g.  ADC ($02),Y
       ($nn,X) - Indexed Indirect               E.g.  STA ($D0,X)
       $nnnn,X - Absolute Indexed               E.g.  LDA $3000,X
       $nnnn,Y - Absolute Indexed               E.g.  CMP $5676,Y
       ($nnnn) - Absolute Indirect              E.g.  JMP ($2010)
       A       - Accumulator                    E.g.  ASL A
       nul     - Implied                        E.g   CLC


***

   G   Start program execution from current PC.
       ESC will break into program without harming registers.

   L   Load memory from disk.
       E.g. L "MEM1"  will load the pre-saved memory.
            L "MEM1",1000 will force the load at 1000

   M   Display memory between two locations.
       E.g. M 1000,10FF displays memory between 1000 and 10FF

   PC  Sets the contents of the Program Counter  E.g. PC=1000
       The G command will start with the instruction at 1000,
       and so will the S command.

***

   Q   Quit 6502 emulator
       You are asked if you wnat to quit or not. Enter Y or N and
       press RETURN

   R   Display Register Contents.

   S   Process instruction at current PC only.
       This display Registers after the instruction has been
       performed.

   SP  Sets the contents of the stack pointer E.g. SP = FF
       The stack pointer is initially set to FF as it works
       down as bytes are added to the stack.

***

   SR  Sets the contents of the status register.

       The bits used are :-

       bit 7 = Negative         N
       bit 6 = Overflow         V
       bit 5 = Unused
       bit 4 = Break Flag       B
       bit 3 = Decimal Mode     D
       bit 2 = Interrupt Flag   I
       bit 1 = Zero Flag        Z
       bit 0 = Carry Flag       C

       E.g. SR = 00001000 sets BCD Mode and clears the rest

***

   U   Unassemble between two locations.

   W   Write chunk of memory. E.g. W "MEM1",1000,00FF saves
       00FF bytes starting at 1000. The current Program
       counter is also saved.

   XR  Sets the contents of the X register   E.g.  XR = FF

   YR  Sets the contents of the Y register   E.g.  YR = 45

***
+++
-----------------------------------------------------------------------
              MIND AND THOUGHT EMULATIONS ROUTINES
              ====================================

  IBM FORMAT DISKS ONLY !

  BBC ALPHA SOURCE ON 80 TRACK DISK ONLY !

  TURBO PASCAL VERSION 3.00 REQUIRED IF YOU WANT THE SOURCE CODE

  !!!    IF TOTAL ORDER EXCEEDS @ 12.50 JUST PAY @ 12.50     !!!

------------------------------------------------------------------------

  ALPHA source BBC BASIC ............... @ 5.00   :  : (1)  80 Track
               TURBO PASCAL ............ @ 6.00   :  : (2)

  Expert System (unresticted) .......... @ 5.00   :  : (3)
                BASIC source ........... @ 5.00   :  : (4)
                TURBO PASCAL source .... @ 7.50   :  : (5)

  LOGIPROG Unrestricted ................ @ 5.00   :  : (6)
           TURBO PASCAL source ......... @ 7.50   :  : (7)

  6502 Emulator Unrestricted ........... @ 5.00   :  : (8)
                TURBO PASCAL source .... @ 6.00   :  : (9)

  Sideways Printer TURBO PASCAL src .... @ 3.00   :  : (10)

  CONVERTING BASIC TO PASCAL ?

  Automatic Variable Location, BASIC
  function to PASCAL function conversion,
  and much more                          @ 5.00   :  : (11)


                                 Total = @             (@ 12.50 MAX)

------------------------------------------------------------------------

  Address Details ->

  My Name is    :________________________________________________:

  My Address is :________________________________________________:

                :________________________________________________:

                :________________________________________________:

                :________________________________________________:

  Post Code     :______________:

  My Machine is :________________________________________________:

------------------------------------------------------------------------
