![]() |
|
Programming Discussion Thread - Printable Version +- Dolphin, the GameCube and Wii emulator - Forums (https://forums.dolphin-emu.org) +-- Forum: Offtopic (https://forums.dolphin-emu.org/Forum-offtopic) +--- Forum: Delfino Plaza (https://forums.dolphin-emu.org/Forum-delfino-plaza) +--- Thread: Programming Discussion Thread (/Thread-programming-discussion-thread) |
RE: Programming Discussion Thread - garrlker - 02-03-2014 It depends on what application and hardware for a system but C++ is usually the best bet if you're wanting to optimize it and get quick code execution IIRC. RE: Programming Discussion Thread - delroth - 02-04-2014 Unless you have a very constrained device (either ROM/RAM bound), C++ will usually provide better opportunities for optimization if you know what you're doing. What do you need to optimize? RE: Programming Discussion Thread - AnyOldName3 - 02-04-2014 I thought android was pretty much locked to assembly or a modified version of Java, and iOS to Objective C. That's most of mobile devices down by number, as very little uses anything else any more. RE: Programming Discussion Thread - DatKid20 - 02-04-2014 I was thinking of making little 2d game and progressing to 3d games using my Nexus 5 to test them. You can code in C++ on Android and IOS. Dolphin is coded in C++ and the UI is in Java. RE: Programming Discussion Thread - delroth - 02-04-2014 You don't need C++ to do either "little 2D games" nor "little 3D games", especially not on a Nexus 5. Android supports languages that compile to an ARM binary as first class citizens via the NDK (Native Development Kit). RE: Programming Discussion Thread - DatKid20 - 02-04-2014 (02-04-2014, 09:35 AM)delroth Wrote: You don't need C++ to do either "little 2D games" nor "little 3D games", especially not on a Nexus 5. I'm using C++ to get better at using it. I'm not going to release these games on Google Play. RE: Programming Discussion Thread - Shonumi - 02-05-2014 Yes! I finally got the GB noise channel (or at least a prototype of it) working correctly </tearsofjoy> Took me like 3 weeks of on-and-off head scratching. Once this is done and my APU branch is merged, I only have to do custom sprites, fix some issues, then it's a 1.0 release for my GB emulator in 2014 Q2.
RE: Programming Discussion Thread - garrlker - 02-05-2014 Great Job Shonumi! RE: Programming Discussion Thread - SimonStreakio - 02-13-2014 C++ is litterally the best programming language out there. Javascript is the best scripting. I want to help work on dolphin emulator but I don't know where to start on how to make a emulating program. RE: Programming Discussion Thread - garrlker - 02-13-2014 I asked Shonumi about this a while back, he gave me a ton of great information: http://imrannazar.com/Programming http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/ Tips from Shonumi: "Now for some pro-tips, i.e. how to avoid major PITA moments: When doing input, you should never return zero when reading from P1 (0xFF00). This can cause a variety of graphical glitches. You should instead return 0xFF, which means no input is being entered on the P1 register. The LCD renders per-scanline, so on each HBlank, you'll need to determine which line needs to be draw using which pixels Opcodes 0x07, 0x0F, 0x17, and 0x1F require you to set Bit 7 of the Flag Register, unlike the extended opcodes (0xCB07, 0xCB0F, etc) with the same mnemonic name. The GB compares two registers (LY and LYC) to determine if a STAT interrupt should occur. You should compare LY and LYC after you update LY. LY represents the current scanline, so when you enter into an HBlank, update LY by one first, then compare LY and LYC to see if you should raise a STAT interrupt." |