Author Topic: EmuDevz  (Read 1194 times)

Dragon

  • Administrator
  • Platinum Level
  • *****
  • Posts: 4894
  • Have you played my board game?
    • Rival Troops
EmuDevz
« on: October 16, 2025, 23:50:21 »
Today I came across an article mentioning an educational game about developing game software.

https://hackaday.com/2025/10/16/emudevz-is-literally-a-software-game/

EmuDevz, a game in which you develop an 8-bit emulator by [Rodrigo Alfonso].

https://afska.github.io/emudevz/#/

I've never done anything with Assembly language before, so it's been an interesting experience. My progress today... 

Intro
 * Introduction (https://afska.github.io/emudevz/#/levels/getting-started-introduction?r=19)
 * Quick Tutorial
 * Architecture
Assembly
 * Example Program
 * Now It's Your Turn
 * Reading From Memory
 * Flags
 * Branching (https://afska.github.io/emudevz/#/levels/assembly-addressing-modes-1-3?r=18)
"Gee Brain, what are we gonna do tonight?" "The same thing we do every night, try to take over the world!" --Pinky and the Brain

Dragon

  • Administrator
  • Platinum Level
  • *****
  • Posts: 4894
  • Have you played my board game?
    • Rival Troops
Re: EmuDevz
« Reply #1 on: November 04, 2025, 22:26:08 »
"Scream through the memory addresses...." AAAAAAAAAAA  ;D  (https://afska.github.io/emudevz/#/levels/assembly-addressing-modes-2-3?r=31)

It took a while for me to get this to work because I was jumping back to the wrong spot. It had also been a couple weeks since doing anything with this, so I had forgotten some things. Fortunately, the "help" command will show all the instructions that have been taught so far.   

Code: [Select]
LDA #$AA ; Load AA into [A] (Accumulator Register)
BNE @write ; branch aka jump to write

@write:
  STA $4080,X ; Write the value of [A] into address 4080+[X]
  INX ; Increment X by 1
  CPX #$40 ; Compare [X] to the stopping point, 64 places (40 hexidecimal) and store the result in [Z]
  BEQ @end ; If [Z] is equal to 1, jump to the end
  JMP $4024 ; Otherwise, jump to the beginning of the loop

@end:
  INY ; Increment Y just to show it's done

Next up... https://afska.github.io/emudevz/#/levels/assembly-addressing-modes-3-3?r=32
« Last Edit: November 04, 2025, 22:41:58 by Dragon »
"Gee Brain, what are we gonna do tonight?" "The same thing we do every night, try to take over the world!" --Pinky and the Brain