flat assembler
Message board for the users of flat assembler.
  
|  Index
      > Projects and Ideas > Writing a NES emulator... | 
| Author | 
 | 
| Mat Quasar 17 Feb 2025, 12:44 Quote: 
 I also want to write NES emulator, using FASM. I found it will emulate 8-bit 6502 CPU, and Quote: 
 Quote: 
 Quote: 
 Quote: 
 I think I will also need to read the ROM in iNES format. People using SDL for rendering input, video and audio. But I wish to learn from x86matthew, using native Windows GDI API functions! I might drop the support of audio since I heard it is complicated to emulate or implement. Does anyone have any resources to share? The nesdev website seems unreachable. BTW, there is already a CHIP-8 emulator done by FASM member, you can search for it. | |||
|  17 Feb 2025, 12:44 | 
 | 
| wizgogo 17 Feb 2025, 13:44 You know @nocash?
 He is an emulator developer, hacker and expert in reverse engineering. All his emulators are made using pure 100% Assembly Language. I read he is using TASM to program those emulators but the homebrew game he made Magic Floor is purely made using his own assembler named, A22i Assembler. Right now he is busy working on documentating the 3DS and of course making a 3DS emulator. He also fixes some bugs in his no$psx emulator but didn't release it yet. This is his website you can also see the documentations there. http://problemkaputt.de/ But you can also visit him on forums like nesdev and psxdev. http://forums.nesdev.org/memberlist.php?mode=viewprofile&u=5211 http://www.psxdev.net/forum/memberlist.php?mode=viewprofile&u=181 | |||
|  17 Feb 2025, 13:44 | 
 | 
| Mat Quasar 17 Feb 2025, 13:56 
 | |||||||||||
|  17 Feb 2025, 13:56 | 
 | 
| Ali.Z 20 Feb 2025, 16:21 _________________ Asm For Wise Humans | |||
|  20 Feb 2025, 16:21 | 
 | 
| Mat Quasar 24 Feb 2025, 14:30 I was referencing the nesdev website as nesdev.com which is wrong, it should be nesdev.org.
 I seem to prefer the Nocash version of NES specification. For example, Nocash's version: ( http://problemkaputt.de/everynes.htm#cpu65xxmicroprocessor ) Code: Register/Immeditate to Register Transfer Opcode Flags Clk Native Nocash Expl. A8 nz---- 2 TAY MOV Y,A ;Y=A ...which is short and simple to understand, it even has "Nocash's instruction" version. And the official Nesdev wiki is: ( https://www.nesdev.org/wiki/Instruction_reference#TAY ) Code: TAY - Transfer A to Y Y = A TAY copies the accumulator value to the Y register. ...which I found is hard to browse. I prefer it is sorted in list by category. Total 56 instruction in NMOS 6502 CPU. This is no kidding, a huge project for me! It is like doing a 6502 disassembler. This is the ROM emulator test, step-by-step, from ROM for CPU tests to ROM for PPU tests. https://www.nesdev.org/wiki/Emulator_tests I might be using Nocash's NO$NES to debug my project, since his Famicom NES emulator came with debugger and disassembler. 
 Last edited by Mat Quasar on 24 Feb 2025, 15:43; edited 1 time in total | ||||||||||
|  24 Feb 2025, 14:30 | 
 | |||||||||
| Mat Quasar 24 Feb 2025, 14:31 Ali.Z wrote: https://github.com/pubby/nesfab It will take time for me to find out interesting part of it, after I have some progress in my project. | |||
|  24 Feb 2025, 14:31 | 
 | 
| Mаt Quasar 06 Jul 2025, 10:34 | |||
|  06 Jul 2025, 10:34 | 
 | 
| Mаt Quasar 27 Oct 2025, 01:35 Does anyone know why GDI+ doesn't have SetPixel function? Only old GDI has SetPixel function. | |||
|  27 Oct 2025, 01:35 | 
 | 
| bitRAKE 27 Oct 2025, 10:38 It a function of the Bitmap object. Assuming the code needs to write many pixels in a loop, you'd get better performance by managing the bitmap yourself and then blitting onto the graphics surface with Graphics::DrawImage. _________________ ¯\(°_o)/¯ AI may [not] have aided with the above reply. | |||
|  27 Oct 2025, 10:38 | 
 | 
| Mаt Quasar 28 Oct 2025, 01:20 Thanks @bitRAKE for answer. | |||
|  28 Oct 2025, 01:20 | 
 | 
| < Last Thread | Next Thread > | 
| Forum Rules: 
 | 
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.