overview components memorymap downloads possibilities contact
 
schematics firmware resources
The Amélie project
Downloads - Resources

6502 assembler (6502asm described in detail)

There are numerous 6502 assemblers available; however having grown up on the BBC micro and RISC OS machines, I always use the ampersand ('&') to denote hex numbers, and I tend to use EQU commands for inserting bytes. None of the other assemblers can do this, and I didn't fancy booting up my BBC micro (or an emulation) in order to assemble code. Therefore, it made sense that I'd "roll my own"...

My assembler, in action.

The assembler is simple to use, and the internals (if you are interested in codey things) are equally simple. Part of the design philosophy of Amélie, remember? You can read some in-depth information .

Note that at this time the assembler only supports the original NMOS instruction set. The instructions are loaded from a table file so you can alter or alias instructions if you prefer, for example, to use "ADD" instead of "ADC"...

    • 6502asm - NOT YET AVAILABLE
      This is the 6502 assembler, and documentation.
       
    • 6502asm - NOT YET AVAILABLE
      This is the 6502 assembler, and documentation.
       
    • 6502asm source code  - NOT YET AVAILABLE
      This is the source code for the assembler.
      The project (*.prj) file is for Borland Visual C++ v1.00; and the MakeFile (if present) is for the Acorn/Norcroft C compiler, to be 26/32bit neutral.
       
    • http://www.6502.org/
      You'll find lots of information on the 6502 processor, and the 65xx family, here.

 

AmélieEm (AmélieEm described in detail)

AmélieEm (or AmEm under MS-DOS) is a complete software implementation of the Amélie system. It has been designed to allow the firmware to be designed and tested without the need to program a new EPROM for each little modification.

AmélieEm features a powerful tracing mode (called "Tracey"!) which allows single-stepping, modification of registers and/or memory, disassembly, etc etc...

Starting AmélieEm takes you into Tracey...

Because of the screen handling and keyboard reading within Tracey, AmélieEm is only available for MS-DOS at this time.
You can read some in-depth information .

    • AmélieEm - NOT YET AVAILABLE
      This is the emulation software, a copy of the standard EPROM image, and documentation.
       
    • AmélieEm source code  - NOT YET AVAILABLE
      This is the source code for AmélieEm, it compiles under Borland TurboC++ v1.00.
      To compile it under other software (lcc or OpenWatcom for example), you will need to find suitable DOS.H and CONIO.H replacements, and amend the #ifdef lines that perform these tests.
       
    • AmélieEm assembler speed tweaks for RISC OS - NOT YET AVAILABLE
      These nuggets of ARM assembler can be used to speed up certain aspects of AmélieEm if compiled under RISC OS, by optimising code that is called a lot. This code is 26/32bit neutral, and it is expected that you will know what to do with it...

The emulation within AmélieEm is missing the following:

  • Very very loose support for NMIs. Amélie doesn't use them.
  • No support (whatsoever) for the BCD maths features of the 6502. This shouldn't be hard to add though...
  • No support for the advanced features of the 6522 VIA (serial shifting, handshaking, Timer2, IRQs on non-CA/CB interrupts).
  • Other stuff (just to cover the hiccups of my troubled mind... :-) ).

  • Currently - there is no VIA or ACIA implementation (this includes IIC interfacing).
    The VIA core exists, but it doesn't do an awful lot right now.
    AmélieEm may be fun to play with in Tracey, but not a lot else can be seen to happen at this time...
© 2005 Rick Murray