Forum: Official SMS Forums - Forum for discussing SMS: Simple Media System player for the PS2.


The above video goes away if you are a member and logged in, so log in now!




 
Would you like to get all the new info from
PSX-Scene in your email each day?




Want to learn more about the team keeping you up to date with the latest scene news?

Read about them now!

Check out our Developer bios, too!

 


User Tag List

Thread: Compiling (Assembler) problems
  

Page 1 of 2 1 2 LastLast
Results 1 to 10 of 12
  1. #1 Compiling (Assembler) problems 
    KaylaKaze is offline ^^ Dreams in digital... Too much coding
    Join Date
    Nov 2003
    Location
    North Carolina
    Posts
    248
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    0
    Well, I updated my PS2SDK and tried to add the following to SMS:

    Code:
    case PAD_SELECT | PAD_CROSS : _handle_unmount();
    case PAD_SELECT | PAD_START : CDVD_Stop ();
    From a very quick look at the code, I think that'll refresh current directory on Select-X and stop disc spin on Select-Start. Anywaa, when I went to compile, I got a whole bunch of assembler "illegal operand" errors. Anyone have any ideas about those errors? Here's a small sample:

    Code:
    ee-gcc -DLOCK_QUEUES -DRESET_IOP=1 -DVB_SYNC -D_EE -O2 -G8192 -mgpopt -Wall -Iinclude/ -IC:/ps2dev/ps2sdk/ee/include -IC:/ps2dev/ps2sdk/common/include -IC:/ps2dev/ps2sdk/sbv/include -c src/SMS_MP3_MMI.S -o obj/SMS_MP3_MMI.o
    src/SMS_MP3_MMI.S: Assembler messages:
    src/SMS_MP3_MMI.S:136: Error: illegal operands `la $a3,COS0_n'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `lq $t0,0*4($a1)'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `lq $t1,28*4($a1)'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `pexew $t1,$t1'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `qfsrv $t1,$t1,$t1'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `psubw $t2,$t0,$t1'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `lq $t3,0*4($a3)'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `pextuw $t4,$zero,$t2'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `pextlw $t2,$zero,$t2'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `pextuw $t5,$zero,$t3'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `pextlw $t3,$zero,$t3'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `pmultw $t2,$t2,$t3'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `pmultw $t4,$t4,$t5'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `paddw $t0,$t0,$t1'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `sq $t0,0*4($a1)'
    src/SMS_MP3_MMI.S:137: Error: illegal operands `psraw $t2,$t2,15'
    Reply With Quote  

  2. #2  
    EEUG is offline Member
    Join Date
    Jul 2005
    Posts
    1,334
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    Likes Given
    0
    Likes Received
    0
    @KaylaKaze: hmmm, never seen it before. Maybe it has something to do with gcc version?
    Reply With Quote  

  3. #3  
    KaylaKaze is offline ^^ Dreams in digital... Too much coding
    Join Date
    Nov 2003
    Location
    North Carolina
    Posts
    248
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    0
    Code:
    Reading specs from /cygdrive/c/ps2dev/gcc/ee/bin/../lib/gcc-lib/ee/3.2.2/specs
    Configured with: ./configure --prefix=/usr/local/ps2dev/ee --target=ee --enable-
    languages=c,c++ --with-newlib --with-headers=/usr/local/ps2dev/ee/ee/include --e
    nable-cxx-flags=-G0
    Thread model: single
    gcc version 3.2.2
    Are you compiling with an older version or did I miss a new toolchain release?
    Reply With Quote  

  4. #4  
    EEUG is offline Member
    Join Date
    Jul 2005
    Posts
    1,334
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    Likes Given
    0
    Likes Received
    0
    Reading specs from /cygdrive/d/EUGENE/MY DOCUMENTS/PS2DEV/EE/BIN/../lib/gcc-lib/
    ee/3.2.2/specs
    Configured with: ../configure --prefix=/usr/local/ps2dev/ee --target=ee --enable
    -languages=c,c++ --with-newlib --with-headers=/usr/local/ps2dev/ee/ee/include --
    enable-cxx-flags=-G0
    Thread model: single
    gcc version 3.2.2

    looks exactly the same . Are you using Linux?

    EDIT: this is how it looks like here:


    D:\Eugene\My Documents\Temp\Projects\SMS\SMS_1_4_9\src>ee-gcc -c -v SMS_MP3_MMI.
    S
    Reading specs from /cygdrive/d/EUGENE/MY DOCUMENTS/PS2DEV/EE/BIN/../lib/gcc-lib/
    ee/3.2.2/specs
    Configured with: ../configure --prefix=/usr/local/ps2dev/ee --target=ee --enable
    -languages=c,c++ --with-newlib --with-headers=/usr/local/ps2dev/ee/ee/include --
    enable-cxx-flags=-G0
    Thread model: single
    gcc version 3.2.2
    /cygdrive/d/EUGENE/MY DOCUMENTS/PS2DEV/EE/BIN/../lib/gcc-lib/ee/3.2.2/cpp0.exe
    -lang-asm -v -iprefix /cygdrive/d/EUGENE/MY DOCUMENTS/PS2DEV/EE/BIN/../lib/gcc-l
    ib/ee/3.2.2/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=2 -D__GXX_ABI
    _VERSION=102 -D__ELF__ -Dmips -D_mips -D__mips -D__mips__ -DR5900 -D_R5900 -D__R
    5900 -D_EE -DR3000 -D_3000 -D__3000 -DMIPSEL -D_MIPSEL -D__MIPSEL -D__MIPSEL__ -
    D__ELF__ -D__mips__ -D__mips__ -D__mips -D__mips__ -D__R5900__ -D_R5900 -D__R590
    0 -D_EE -D__R3000__ -D__3000__ -D__3000 -D__MIPSEL__ -D_MIPSEL -D__MIPSEL -D__MI
    PSEL__ -D__mips -D__mips -D__R5900 -D__R3000 -D__3000 -D__MIPSEL -Acpu(mips) -Am
    achine(mips) -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D__LANGUAGE_ASSEMBLY -D_LANGUA
    GE_ASSEMBLY -DLANGUAGE_ASSEMBLY -D_MIPS_SZPTR=32 -D_MIPS_SZINT=32 -D__SIZE_TYPE_
    _=unsigned int -D__SSIZE_TYPE__=int -D__PTRDIFF_TYPE__=int -D_MIPS_SZLONG=64 -D_
    _mips_fpr=64 -D_MIPS_FPSET=32 -U__mips -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS3 -
    D__mips=3 -D__mips64 -D__mips_eabi -D__mips_single_float -D__LANGUAGE_ASSEMBLY__
    -DLANGUAGE_ASSEMBLY SMS_MP3_MMI.S -o /cygdrive/d/eugene/LOCALS~1/Temp/ccpw3RA9.
    s
    GNU CPP version 3.2.2 (cpplib) [AL 1.1, MM 40] (MIPSel R5900 ELF)
    ignoring nonexistent directory "/usr/local/ps2dev/ee/include"
    ignoring nonexistent directory "/usr/local/ps2dev/ee/lib/gcc-lib/ee/3.2.2/includ
    e"
    ignoring nonexistent directory "/usr/local/ps2dev/ee/lib/gcc-lib/ee/3.2.2/../../
    ../../ee/sys-include"
    ignoring nonexistent directory "/usr/local/ps2dev/ee/lib/gcc-lib/ee/3.2.2/../../
    ../../ee/include"
    #include "..." search starts here:
    #include <...> search starts here:
    /cygdrive/d/EUGENE/MY DOCUMENTS/PS2DEV/EE/lib/gcc-lib/ee/3.2.2/include
    /cygdrive/d/EUGENE/MY DOCUMENTS/PS2DEV/EE/ee/sys-include
    /cygdrive/d/EUGENE/MY DOCUMENTS/PS2DEV/EE/ee/include
    End of search list.
    /cygdrive/d/EUGENE/MY DOCUMENTS/PS2DEV/EE/BIN/../lib/gcc-lib/ee/3.2.2/../../../
    ../ee/bin/as.exe -v -mwarn-short-loop -march=r5900 -mips3 -mfp32 -mgp64 -mabi=ea
    bi -msingle-float -o SMS_MP3_MMI.o /cygdrive/d/eugene/LOCALS~1/Temp/ccpw3RA9.s
    GNU assembler version 2.14 (ee) using BFD version 2.14 20030612

    D:\Eugene\My Documents\Temp\Projects\SMS\SMS_1_4_9\src>
    Last edited by EEUG; 11-21-2005 at 03:44 AM.
    Reply With Quote  

  5. #5  
    KaylaKaze is offline ^^ Dreams in digital... Too much coding
    Join Date
    Nov 2003
    Location
    North Carolina
    Posts
    248
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    0
    I think I see it. My assembler version is 2.13.2.1 for some reason.

    Edit:
    I got the latest PS2 Environment setup and installed. That fixxed it. Thanks for the help.
    Last edited by KaylaKaze; 11-21-2005 at 04:19 AM.
    Reply With Quote  

  6. #6  
    EEUG is offline Member
    Join Date
    Jul 2005
    Posts
    1,334
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    Likes Given
    0
    Likes Received
    0
    ...Here you can find the same stuff I'm using (well, ps2sdk is a little bit outdated there, but SMS 1.4 (Rev.8) should work just fine with it)...
    Reply With Quote  

  7. #7  
    BraveDog's Avatar
    BraveDog is offline Member
    Join Date
    Dec 2002
    Location
    Cleveland
    Posts
    51
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    0
    Kayla,
    Also you need to put a break in the case statements.
    Without the break, it will do the unmount and keep going and stop the cd too.

    Code:
    case PAD_SELECT | PAD_CROSS : _handle_unmount(); break;
    case PAD_SELECT | PAD_START : CDVD_Stop (); break;
    Reply With Quote  

  8. #8  
    EEUG is offline Member
    Join Date
    Jul 2005
    Posts
    1,334
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    Likes Given
    0
    Likes Received
    0
    ...and if you want to have your code (and name ) be included in SVN, then don't hesitate to submit your updates after being sure that it works ...
    Reply With Quote  

  9. #9  
    KaylaKaze is offline ^^ Dreams in digital... Too much coding
    Join Date
    Nov 2003
    Location
    North Carolina
    Posts
    248
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Likes Given
    0
    Likes Received
    0
    I never did get a good grasp of switch/case. I could never figure out where and when breaks should be used. But the code doesn't work (well, the disc stopping does). I made some code that kinda works but not well enough. If I feel like doing some major work on it, I'm hoping changing the -DIOP_RESET=1 to 0 will allow me to debug without having to restart the PS2 everytime I make a change (and hopefully I can temporarily disable the HDD system without killing the program). And if I make any major changes, I'll let you know and get them into the SVN. Anyway, this should probably go in the programming thread anyway
    Reply With Quote  

  10. #10  
    EEUG is offline Member
    Join Date
    Jul 2005
    Posts
    1,334
    Downloads
    0
    Uploads
    0
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    Likes Given
    0
    Likes Received
    0
    ...my small suggestion: try to make a CDVD_FlushCache (); call in Browser.c (that big switch and case of GUI_EV_CDFS_MOUNT to see if swap trick will work )...

    Edit: sorry it was lie . The case of GUI_EV_DEV_SELECT and further:

    } else if ( lpDevice -> m_Flags == GUI_DF_CDFS || lpDevice -> m_Flags == GUI_DF_DVD ) {

    inside this "if". Then try to swap disk and select CD/DVD icon again...
    Last edited by EEUG; 11-21-2005 at 12:18 PM.
    Reply With Quote  

Page 1 of 2 1 2 LastLast
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •