Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


6502 Processor Emulator



  • anthem2112anthem2112 Member Posts: 39
    : James, wasn't this the same 6502 that was in Amiga and Apple II?

    Unfortunately I'm not quite old enough to have lived the glory days of those computers, nor do I know much about them. But certainly it may be the same 6502.

    If you (or anyone, for that matter) would like a copy of my emulator/debugger, email me and I'd be happy to oblige. My email address should be given above.

  • blipblip Member Posts: 756
    Hi people, here's a good page, the C64 programming one. Find the chapter on machine language programming.

    Here's some other pages:

    I've got a C64 at home (with a 6510 processor), so I could test some code for you (but it's tedious because I must use POKEs in BASIC). E-mail me any code at

    Here's a loader for a game called DEFENDER I hand-disassembled included with the hex dump in the comments, real comments are after pipes:
    ;Load at address $02A8:
    sei ;78
    lda $01,zp ;A5 01 | Use zero-page addressing.
    and #$FE ;29 FE | Clear bit0.
    sta $01,zp ;85 01 | Use zero-page addressing.
    lda #08 ;A9 08 | This load the logical file number (file handle).
    ldx #08 ;A2 08 | Device #8, the first floppy drive.
    ldy #$FF ;A0 FF | Secondary addr on serial bus, $FF if none specified.
    jsr $FFBA ;20 BA FF | SETLFS: Set First and Second Logical Address.
    lda #03 ;A9 03 | Length of the filename, not zero-based.
    ldx #C9 ;A2 C9 | Point Y:X to the file name, at $02C9.
    ldy #02 ;A0 02
    jsr $FFBD ;20 BD FF | SETNAM: Set Filename
    lda #00 ;A9 00 | 0=Load, 1=Verify
    jsr $FFD5 ;20 D5 FF | LOAD: Load RAM from device.
    jmp $8009 ;Jump to code.
    .db "DD*" ;This loads the defender program, this is at address $02C9.
  • vpvpvpvp Member Posts: 55
    This post has been deleted.
  • vpvpvpvp Member Posts: 55
    This post has been deleted.
Sign In or Register to comment.