Dragons Hobbies Forum

Gaming => Video Games => Topic started by: Dragon on October 16, 2025, 23:50:21

Title: EmuDevz
Post by: Dragon 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)
Title: Re: EmuDevz
Post by: Dragon 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