Homebrew Development

Discussion in '3DS - Homebrew Development and Emulators' started by aliak11, Jan 16, 2014.

  1. ichichfly

    ichichfly GBAtemp Advanced Fan

    Member
    4
    Sep 23, 2009
    Gambia, The
    use
    u32 mcrVal=0x0;
    __asm__ ("mcr p15, 0, %[val], c7, c14, 4" :: [val] "r" (mcrVal)); //flush
    __asm__ ("mcr p15, 0, %[val], c7, c10, 4" :: [val] "r" (mcrVal)); //Data Synchronization Barrier Register


    after you wrote the buffer that should fix the problem + you need to sync to the frames (you can also swap the buffer manually with a GPU register (you can use the GPU register only on the arm11)) or write to both buffer

    well it only works on the arm9 what have you expected (you can use a static buffer in the mem to send data to the other processor)
     
    Coto likes this.
  2. voddy

    voddy No Title Available

    Member
    5
    Jul 14, 2013
    United States
    Wow, that link helped me out. Thanks for helping me solving this nasty bug. I wonder why they didnt include that easy bugfix in the new installer of python...
     
  3. nop90

    nop90 GBAtemp Advanced Maniac

    Member
    11
    Jan 11, 2014
    Italy
    Rome
    I don't full understand your hint, but I'll study on it. Thanks.

    I was tyrying to swap buffers writing to the register. I adapted the code from Smea examples, but it doesn't work or I did something wrong.

    Anyway I don't need to write to both buffer, an solved the problem of the bad pixels writing always on the back buffers than copying to front buffers with a memcopy.

    Using the ARM11 jump by Kane, I don't have anymore control on ARM9. Too less time and too little knowledge to modify Kane work.

    Thank you.
     
  4. ichichfly

    ichichfly GBAtemp Advanced Fan

    Member
    4
    Sep 23, 2009
    Gambia, The
    You can not use IPC after you have used the exploit you have to write to the GPU register directly. Or restore the arm9 IPC stuff + swap to arm11 system mode
     
  5. st4rk

    st4rk nah

    Member
    6
    Feb 11, 2014
    Brazil
    Dartz150 likes this.
  6. YoshiInAVoid

    YoshiInAVoid GBAtemp Advanced Fan

    Banned
    4
    Jan 10, 2011
    What is the filename of the NES ROM that it boots? You should also mention that your Launcher is unencrypted.
     
  7. st4rk

    st4rk nah

    Member
    6
    Feb 11, 2014
    Brazil
    The ROM is a .h :P

    (Or the name of ROM ?)
     
  8. YoshiInAVoid

    YoshiInAVoid GBAtemp Advanced Fan

    Banned
    4
    Jan 10, 2011
    Oh it's embedded. I just get a black screen when launching it though.

    EDIT: Got it working.
     
  9. nop90

    nop90 GBAtemp Advanced Maniac

    Member
    11
    Jan 11, 2014
    Italy
    Rome
    Good work st4rk. If you need help let me know. I should have some free time in the next weeks.

    I'm working on an emulator too, but it's in an early stage yet to make anticipations ;)
     
    st4rk likes this.
  10. st4rk

    st4rk nah

    Member
    6
    Feb 11, 2014
    Brazil
    nop, my problem is with the lagg and screen(the blackscreen bug), if you know how fix it, send me pm please :P
     
  11. Kane49

    Kane49 GBAtemp Fan

    Member
    3
    Nov 4, 2013
    Gambia, The
    ARM11 and ARM9 have two different address systems
     
    st4rk likes this.
  12. st4rk

    st4rk nah

    Member
    6
    Feb 11, 2014
    Brazil

    Because of this the Joypad address change, right ?
     
  13. nop90

    nop90 GBAtemp Advanced Maniac

    Member
    11
    Jan 11, 2014
    Italy
    Rome
    Lag can be solved optimizing the code.

    For the black sscreen bug, don't know exatly which is. At the moemnt I solved all my problems with screens and ARM11 is considerably faster to avoiding buffer switching (... using some tricks!).
     
    st4rk likes this.
  14. st4rk

    st4rk nah

    Member
    6
    Feb 11, 2014
    Brazil
    The right screen black :c
     
  15. Kane49

    Kane49 GBAtemp Fan

    Member
    3
    Nov 4, 2013
    Gambia, The

    http://3dbrew.org/wiki/Memory_layout

    Code:
    E8000000 - E8600000: mapped VRAM (18000000 - 18600000)
     
    EFF00000 - F0000000: mapped Internal memory (1FF00000 - 20000000)
    F0000000 - F8000000: mapped Main memory
     
    FF401000 - FF402000: mapped ? (27FC7000 - 27FC8000)
     
    FF403000 - FF404000: mapped ? (27FC2000 - 27FC3000)
     
    FF405000 - FF406000: mapped ? (27FBB000 - 27FBC000)
     
    FF407000 - FF408000: mapped ? (27FB3000 - 27FB4000)
     
    FF409000 - FF40A000: mapped ? (27F8E000 - 27F8F000)
     
    FFF00000 - FFF45000: mapped SlabHeap
     
    FFF60000 - FFF8B000: mapped Kernel code
     
    FFFCC000 - FFFCD000: mapped IO I2C second bus (10144000 - 10145000)
     
    FFFCE000 - FFFCF000: mapped IO PDC(LCD) (10400000 - 10401000)
     
    FFFD0000 - FFFD1000: mapped IO PDN (10141000 - 10142000)
     
    FFFD2000 - FFFD3000: mapped IO PXI (10163000 - 10164000)
     
    FFFD4000 - FFFD5000: mapped IO PAD (10146000 - 10147000)
     
    FFFD6000 - FFFD7000: mapped IO LCD (10202000 - 10203000)
     
    FFFD8000 - FFFD9000: mapped IO DSP (10140000 - 10141000)
     
    FFFDA000 - FFFDB000: mapped IO XDMA (10200000 - 10201000)
     
    FFFDC000 - FFFE0000: mapped ? (1FFF8000 - 1FFFC000)
     
    FFFE1000 - FFFE2000: mapped ? (1FFF0000 - 1FFF1000)
     
    FFFE3000 - FFFE4000: mapped ? (1FFF2000 - 1FFF3000)
     
    FFFE5000 - FFFE9000: mapped L1 MMU table for VA xxx00000
     
    FFFEA000 - FFFEB000: mapped ? (1FFF1000 - 1FFF2000)
     
    FFFEC000 - FFFED000: mapped ? (1FFF3000 - 1FFF4000)
     
    FFFEE000 - FFFF0000: mapped IO IRQ (17E00000 - 17E02000)
     
    FFFF0000 - FFFF1000: mapped Exception vectors
     
    FFFF2000 - FFFF6000: mapped L1 MMU table for VA xxx00000
     
    FFFF7000 - FFFF8000: mapped ? (1FFF1000 - 1FFF2000)
     
    FFFF9000 - FFFFA000: mapped ? (1FFF3000 - 1FFF4000)
     
    FFFFB000 - FFFFE000: mapped L2 MMU tables (1FFF5000 - 1FFF8000)
     
    st4rk likes this.
  16. nop90

    nop90 GBAtemp Advanced Maniac

    Member
    11
    Jan 11, 2014
    Italy
    Rome
    Are you still using the addresses listed in thr code of your CHIP8-ARM11?

    Code:
    #define TOP_LEFT_FRAME1 0xF0184E60
    #define TOP_LEFT_FRAME2 0xF01CB370
    #define TOP_LEFT_FRAME3 0x20184E60
    #define TOP_LEFT_FRAME4 0x201CB370
    #define TOP_RIGHT_FRAME1 0x20282160
    #define TOP_RIGHT_FRAME2 0x202C8670
    #define SUB_FRAME1 0x202118E0
    #define SUB_FRAME2 0x20249CF0 //539039968
    
    Try using these (simply replace the first 2 with a F)

    Code:
    #define TOP_LEFT_FRAME1 0xF0184E60
    #define TOP_LEFT_FRAME2 0xF01CB370
    #define TOP_RIGHT_FRAME1 0xF0282160
    #define TOP_RIGHT_FRAME2 0xF02C8670
    #define SUB_FRAME1 0xF02118E0
    #define SUB_FRAME2 0xF0249CF0
     
    SLiV3R and st4rk like this.
  17. Flame

    Flame Me > You

    Moderator
    15
    GBAtemp Patron
    Flame is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jul 15, 2008
    Just installed ROP installer on my 4.5 3DS so i can use st4rk NES homebrew and some how ROP installer got corrupted. the problem is, it made my DS flashcart stop working... and made me not enter the DS profile of the 3DS. it made the 3DS "Limbo"..


    the way i had to Fix this was by formating my 3DS.


    for future reference if anybody has this problem too.
     
  18. st4rk

    st4rk nah

    Member
    6
    Feb 11, 2014
    Brazil
    Install the Stable ROP Loader, you can find it in this topic
     
  19. Flame

    Flame Me > You

    Moderator
    15
    GBAtemp Patron
    Flame is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jul 15, 2008
  20. st4rk

    st4rk nah

    Member
    6
    Feb 11, 2014
    Brazil
    Don't use it, search for other ROP, a guy send me link some time ago, search in this topic =P
     
Loading...