[MOD] Aladdin XBlast

Discussion in 'Xbox (Original console)' started by bennydiamond, Dec 29, 2014.

  1. Korn16ftl3

    Korn16ftl3 Robust Member

    Joined:
    Jun 26, 2017
    Messages:
    200
    Likes Received:
    19
    Hmmm I do not even see a pin for that wire on the programmer.
    20171104_002305.jpg

    Currently wired up like this (directly to the modchip)
    20171104_002746.jpg
    20171104_002944.jpg
     
    Last edited: Nov 4, 2017
  2. TriMesh

    TriMesh Site Supporter 2013-2017

    Joined:
    Jul 3, 2008
    Messages:
    2,188
    Likes Received:
    663
    OK, it looks like it's labelled "VCC" on that one, so that's not the problem.
     
  3. Korn16ftl3

    Korn16ftl3 Robust Member

    Joined:
    Jun 26, 2017
    Messages:
    200
    Likes Received:
    19
    ok i Think i got it sorted out.....but it only let me program it once then said it could not do it again ill paste what the log says, i dont know if the new CPLD program changes the JTAG pinout or not but it appears that it could not identify the pins after i programmed it. The solutions to my issue was i needed to add 3.3v and ground to the LPC female socket on the chip, I have changed my proto-board socket to reflect the changes i know have poer on it as well as a slot for the card to rest.......now maybe try a different chip as i have 9 others and see if i get the same issue? im going to install this into an xbox and see what happens if it works then good deal.

    thanks for all the ideas and help everyone much appreciated i would have ripped my hair out of my head without a little bit of direction

    Code:
            Lattice Semiconductor Corporation
            ispVMĀ® System V18.1
            Device Database V18.1.1
    
    
    System Information:
    -----------------------------------------------------
     Microsoft(R) Windows(R) XP(TM) Service Pack 3
     AMD A8-4500M APU with Radeon(tm) HD Graphics 1896MHz
    
    
    USB V2.0 detected.
    
    11/03/17 22:01:27
    Check configuration setup: Start.
    
    11/03/17 22:01:27
        Connection Error. Please check the JTAG signals connection.
    
    11/03/17 22:01:33
    Check configuration setup: Unsuccessful.
    (use diagnostic for more details).
    
    USB V2.0 detected.
    
    11/03/17 22:02:13
    Check configuration setup: Start.
    
    11/03/17 22:02:13
        Connection Error. Please check the JTAG signals connection.
    
    11/03/17 22:02:16
    Check configuration setup: Unsuccessful.
    (use diagnostic for more details).
    
    USB V2.0 detected.
    
    11/03/17 22:03:05  Failed to scan board (use diagnostic for more details).
    
    USB V2.0 detected.
    
    11/03/17 22:03:17
        Connection Error. Please check the JTAG signals connection.
    
    11/03/17 22:03:17
    Warning:
        The code can not pin-point the exact location of the problem
    but the following diagnostics should be able to help isolate the problem.
    
    
    11/03/17 22:03:42  Please select a device.
    
    11/03/17 22:03:53  Please select a device.
    
    error after flash.jpg
     
    Last edited: Nov 4, 2017
  4. KaosEngineer

    KaosEngineer Robust Member

    Joined:
    Jun 7, 2016
    Messages:
    210
    Likes Received:
    93
    The bench supply's positive (+) terminal (output voltage level set to 3.3Vdc) ties to both the programmer's Vcc (red) wire and the 3.3V (Vcc) pad of the Aladdin XT plus 2's JTAG port. Same goes for the negative (-) terminal of the bench supply, it connects to both the Lattice programmer's GND (black) wire and the JTAG port's GND pad on the modchip.

    The USB programmer senses that the device is powered via the Vcc (red) wire and you supply power to the device via the 3.3V pad on the Aladdin XT plus 2's JTAG port. To complete the circuit, both the programmer and modchip's JTAG GND connections are tied to the negative (-) terminal, ground, of the bench supply.

    From the log output, I'd say the device was not programmed. There was no data being received by the programmer from the CPLD via the JTAG port's TDO line.
     
    Last edited: Nov 4, 2017
  5. Bad_Ad84

    Bad_Ad84 The Tick

    Joined:
    May 26, 2011
    Messages:
    8,444
    Likes Received:
    1,169
    It does on the HW-USBN-2B
     
  6. KaosEngineer

    KaosEngineer Robust Member

    Joined:
    Jun 7, 2016
    Messages:
    210
    Likes Received:
    93
    I didn't read it that way from the UG48 - Programming Cable User's Guide.

    Page 3 states, "Your board design supplies the power for VCC." However, I do not own a HW-USBN-2B or any other Lattice programming cable.

    Yet, page 2 states, "System software is used to control the programming of devices directly on the PC board. No additional components are required to program a device."
     
  7. Korn16ftl3

    Korn16ftl3 Robust Member

    Joined:
    Jun 26, 2017
    Messages:
    200
    Likes Received:
    19
    Well....now I gotta figure out how the hell to turn the power in I guess.....ugh.....sorry for all the mess guys like I said...first time doing anything with a jtag programmer :-/

    Worst of all there dosent seem to be any youtube videos so I can get some kind of visual demonstration either

    @Bad_Ad84 unfortunately I'm using an HW-USBN-2A
     
    Last edited: Nov 4, 2017
  8. Bad_Ad84

    Bad_Ad84 The Tick

    Joined:
    May 26, 2011
    Messages:
    8,444
    Likes Received:
    1,169

    http://www.latticesemi.com/view_document?document_id=143
    Top of page 6.

    But seems odd it's only in the most recent version. I'm not used to dealing with most of these 1 brand programmers, as mine does everything (and supplies vcc if you enable it)
     
  9. obcd

    obcd Spirited Member

    Joined:
    Dec 14, 2009
    Messages:
    105
    Likes Received:
    34
    If the JTAG program is having 3V3 between it's VCC wire and it's GND wire, and it stays that way when the chip is connected, I see no reason to apply an external 3V3 power supply. If I remember JTAG, the programmer outputs data on it's TDO and expects it to come back in again on it's TDI. When that happens, it knows that all chips in the JTAG chain received the data. Maybe it's not seeing it's data coming back in at TDI and it assumes that the system isn't powered due to that. Might help if you could monitor the signals with a scope during a programming attempt. At least TCLK and TDO should show some activity when you attempt to program something. I am not familiar with that specific Lattice programmer. Just trying to give some generic fault finding tips.
     
  10. KaosEngineer

    KaosEngineer Robust Member

    Joined:
    Jun 7, 2016
    Messages:
    210
    Likes Received:
    93
    obcd, the Lattice Programmer User's Guide shows just the opposite. TDI sends data to the device and TDO receives data from the device.

    Programming cable pin: SDO/TDO
    Name: Test Data
    Programming Cable Pin Type: Input
    Description: Input Used to shift data out via the IEEE1149.1 (JTAG) programming standard.
    Wire color: Brown

    and

    Programming cable pin: SDI/TDI
    Name: Test Data Input
    Programming Cable Pin Type: Output
    Description: Used to shift data in via the IEEE1149.1 programming standard.
    Wire color: Orange
     
    Last edited: Nov 4, 2017
  11. obcd

    obcd Spirited Member

    Joined:
    Dec 14, 2009
    Messages:
    105
    Likes Received:
    34
    Makes sense. If TDO is an output on the chip with a JTAG interface, it has to be an input on the programmer. If TDI is an input on the chip, TDI has to be an output on the programmer. On the chips, TDO is connected to TDI of the next chip in the chain. (When multiple chips with JTAG interface are chained on the board.) Likely, the programmer can power one chip. If a board has several devices on it's 3V3 volt rail, it might consume multiple amps on the 3V3 rail. In such case, the board needs to be powered on it's own as the programmer can't deliver enough amps for that. It's unclear if the VCC connection is used to determine the operating voltage of the JTAG chain or if it's used to provide power to the chip for standalone programming. You should check this in the manual first. Every speculation you make is one to much.
    The programmer should be able to identify the chip. Trying to program it, bypassing the chip it's identification likely won't work.
    Even with a voltmeter, you might be able to detect activity when you run a programming cycle as likely the voltage will lower or rise a little for a fraction of a second.
     
  12. 1nick9

    1nick9 Member

    Joined:
    Jul 22, 2007
    Messages:
    9
    Likes Received:
    1
    hey man i just got the hw-usbn-2a off ebay cheap so most likely a clone as looks lot diff to urs. after while of scratching my head why wouldn't detect ic n messing bout with diff lattice soft decided to put multimeter on it finally (should have first off) and discovered no volts and also with the model300 soft wouldnt let me program after setting volts. so figured it doesnt supply pwr. so cut a usb cable and wired up a 3.3v reg i had (brought a lot of em when was playing with snes repos).

    any way wired up the 2nd gnd wire just to the gnd off usb cable going to reg and the output of 3.3v to the aladdin also connecting the vcc from the programmer. hooked it up and led changed, tried programming just as guide says and did it np.

    so seeing you got a psu make sure to hook that up like i have at 3.3v so vcc n ya psu + is both going to aladdin and just tap the - to the 2nd gnd wire from programmer (easier and they are bridge internally) and the other gnd from programmer to aladdin. rest just same and should work.

    hope helps, figure this programmer doesnt supply pwr and taps it from device.
     
  13. 1nick9

    1nick9 Member

    Joined:
    Jul 22, 2007
    Messages:
    9
    Likes Received:
    1
    oh and of course change ya cable io port settings in options. with it connected i just had to hit auto detect and set it to the usb then ok
     
  14. obcd

    obcd Spirited Member

    Joined:
    Dec 14, 2009
    Messages:
    105
    Likes Received:
    34
    Could you provide a link on ebay to the type of programmer you are using and is known as working now?
    There are a lot of clones and I don't want to end up with the wrong device.
     
  15. bennydiamond

    bennydiamond Gutsy Member

    Joined:
    Aug 24, 2011
    Messages:
    475
    Likes Received:
    177
    Yes, you must supply power to the target externally, as it's usually the case for most JTAG devices.

    As long as it is a JTAG programmer labeled to be used with lattice products you should be good to go honestly. If you want to be extra sure, make sure the description states it support 4000 series CPLD, sometimes labeled ispMACH 4000. There should also be a mention that it support ispVM (or ispLever software suite) and/or Lattice Diamond.
     
    Leang likes this.
  16. Leang

    Leang king solomon's Angkor Temple

    Joined:
    Sep 15, 2017
    Messages:
    79
    Likes Received:
    1
    Can you upload a picture of your home made jtag programmer of the bottom board?
     
  17. 1nick9

    1nick9 Member

    Joined:
    Jul 22, 2007
    Messages:
    9
    Likes Received:
    1
    this is the programmer i brought
    https://www.ebay.com.au/itm/USB-ISP...e=STRK:MEBIDX:IT&_trksid=p2060353.m2749.l2649

    like i said after while of scratching my head and it not working and also looking on here that someone else had same model (tho diff make due to look of his pics it) and having said d/c vcc n gnd i just supplied external pwr n figured the vcc n gnd was there for reason so tapped them into it to and programmed first go after that and every time after it so gonna keep doing it that way. have got a soic8 clamp coming so can copy badad84 on how he does it as make it easier than soldering the 6 wires everytime.
     
  18. Difio

    Difio Member

    Joined:
    Nov 13, 2017
    Messages:
    8
    Likes Received:
    2
    If someone is interested, I managed to program CPLD of Aladdin chip with a cheap USB Blaster clone (the one you find on aliexpress for example). Using urJTAG the steps are very simple, but I wasn't able to complete the process under Windows (tried different machines, with Windows 7 and 10): during programming, urJTAG stucked at 49% giving some strange error of connection. Then I tried using linux (ubuntu) and even if is a bit more tricky to set up correctly (at least to install drivers, not only the USB Blaster one, but also libftdi), the programming went fine.

    I think that the problem I experienced may resides on drivers: while urJTAG under Windows uses by default libftd2xxx to interface the device, under linux libftdi (open source one) is used by default. It's possible to use libftdi on Windows, but I've not tried that way.
    However, as soon as drivers and urJTAG are installed correctly, open the terminal and type:

    The first command open urJTAG console, the second select usb blaster devices, the third detect the CPLD connected (if everything it's ok, you will see the Lattice 4032V chip recognised) and the fourth start the programming using the svf file.

    If everything goes as expected you will see "Scanned device output matched expected TDO values" printed on screen.

    Then I used the "hotswap method" to program sst49lf080a which went fine. Now I have a spare Aladdin Xblast with XblastOS (is the second chip used for hotswap and then programmed to xblast) and 3 sst49lf080a programmed with xblastos (the eeprom were sold with a minimum quantity of 5 piece). If someone is interested, feel free to contact me.
     
  19. Bad_Ad84

    Bad_Ad84 The Tick

    Joined:
    May 26, 2011
    Messages:
    8,444
    Likes Received:
    1,169
  20. Difio

    Difio Member

    Joined:
    Nov 13, 2017
    Messages:
    8
    Likes Received:
    2
    The fact is that urJTAG gives you the choice about which driver to use (libftdi or libftdi2xxx). As default on windows uses libftdi2xxx while on linux uses libftdi, but with some argument in the command line (for example "cable usbblaster driver=ftdi") you can change it. However, this wasn't working to me (it said unable to detect usb device). So maybe I should have used zadig to workaround this issue, as you said.
     

Share This Page