emeb has quit [Quit: Leaving.]
fibmod has quit [Ping timeout: 244 seconds]
fibmod has joined ##openfpga
fibmod has quit [Ping timeout: 245 seconds]
fibmod has joined ##openfpga
fibmod has quit [Ping timeout: 252 seconds]
fibmod has joined ##openfpga
fibmod has quit [Ping timeout: 252 seconds]
ayjay_t has quit [Read error: Connection reset by peer]
ayjay_t has joined ##openfpga
fibmod has joined ##openfpga
unixb0y has quit [Ping timeout: 244 seconds]
fibmod has quit [Ping timeout: 252 seconds]
unixb0y has joined ##openfpga
fibmod has joined ##openfpga
zkms has quit [Quit: WeeChat 2.1]
zkms has joined ##openfpga
fibmod has quit [Ping timeout: 252 seconds]
fibmod has joined ##openfpga
fibmod has quit [Ping timeout: 252 seconds]
fibmod has joined ##openfpga
fibmod has quit [Ping timeout: 272 seconds]
digshadow has joined ##openfpga
<sorear> why do people label breaker panels, instead of labeling each receptacle and hardwired device with a circuit number
<sorear> does it make sense to do the other, or both
scrts has quit [Ping timeout: 252 seconds]
rohitksingh_work has joined ##openfpga
<balrog> sorear: both
<balrog> more markings == better since any could get removed/destroyed
scrts has joined ##openfpga
scrts has quit [Ping timeout: 252 seconds]
Bike has quit [Quit: Lost terminal]
scrts has joined ##openfpga
azonenberg_work has joined ##openfpga
<azonenberg_work> q3k: i decided you were right
<azonenberg_work> Exhibit A: https://i.imgur.com/nl6Lz2k.jpg
<azonenberg_work> They're not 100% wraparound, i used my label maker's "flexible ID" tape
<azonenberg_work> the 12.7mm high tape goes about 3/4 of the way around a CAT5e cable
<sorear> azonenberg_work: what were you doing to label circuits again?
<azonenberg_work> sorear: naming scheme or physical label construction?
<azonenberg_work> https://i.imgur.com/X5HzKP8.jpg is the power tray at a mid-span label point
<azonenberg_work> number-letter, number identifies the breaker it's fed by
<azonenberg_work> letter identifies the switched leg off that breaker
<azonenberg_work> A is unswitched power, B is the first switch leg, C is the second, etc
<sorear> i…don't think we have any multi-leg breakers?
<azonenberg_work> i meant if you have multiple switches fed by one breaker
<azonenberg_work> for example in this pic you can see circuits 3A (1st floor lighting) and 3H (lab overhead lights)
<azonenberg_work> 3D is the light for the SAR room
<azonenberg_work> etc
<sorear> oh, 3A is downstream of the breaker but upstream of all switches
<azonenberg_work> Exactly
<azonenberg_work> 3B is downstream of switch B
<azonenberg_work> 3C is downstream of switch C
<azonenberg_work> etc
<azonenberg_work> My mistake was putting them in this order because the "A" subcircuit, for unswitched power, looks like "amps"
<sorear> do you also have labels for switches/receptacles/hardwired devices?
<azonenberg_work> In the lab/office spaces yes
<azonenberg_work> wife wouldnt let me do it in living areas
<azonenberg_work> But that is less of an issue as upstairs each room has its own circuit
<azonenberg_work> so i can just look it up in the table
<azonenberg_work> in the lab i have multiple circuits
* sorear is labeling a (rented) house that so far does not seem to have whitequark-tier cursed wiring
<sorear> all that's really up so far is that current code requires far more receptacles than exist
azonenberg_work has quit [Ping timeout: 246 seconds]
azonenberg_work has joined ##openfpga
<azonenberg_work> back
<azonenberg_work> sorear: did i miss anything?>
<azonenberg_work> sorear: this place had cursed wiring when we bought it... buried junction boxes
<azonenberg_work> nails in wires
<azonenberg_work> rooms with no power, rooms with no ground
<azonenberg_work> sketchy ceiling fans with splices taped together outside of boxes
<sorear> all the rooms have power; i ought to get something to check the grounds; my only real complaint is that there aren't enough receptacles
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
gruetzkopf has quit [Read error: Connection reset by peer]
gruetzkopf has joined ##openfpga
<azonenberg_work> sorear: yeah i have a tester that i use on every outlet as i go
<azonenberg_work> sorear: And are any points on a wall >6 feet from a receptacle?
<azonenberg_work> If so that's a code violation
<azonenberg_work> if they're <12 foot spacing then it's legal and the contractor was just cheap :p
<sorear> yes, several entire walls and a room or two missing receptacles
<azonenberg_work> ok then thats a code violation... you should talk to the landlord about that
<sorear> built 1910, he's owned it since ~1985
<azonenberg_work> "NEC 210.52(A)1-4 Receptacle outlets in habitable rooms shall be installed so that no point measured horizontally along the floor line in any wall space is more than 6-feet from a receptacle outlet. ... NEC 210.52(H) A hallway of 10-feet or more in length shall have at least one receptacle outlet."
<azonenberg_work> Code normally only applies when the house is built though
<azonenberg_work> So if the code changes there is no requirement to update
<azonenberg_work> there may however be some kind of tenant-rights law that requires some level of functional power
<azonenberg_work> Don't know
<azonenberg_work> At my place, I started with a baseline of half the NEC limit
<azonenberg_work> i.e. no point on a wall more than 3 feet from a receptacle (so 6 foot pitch instead of the <12 foot required by NEC)
<azonenberg_work> Then in lab and office spaces, I spaced them every two studs (32 inches)
* sorear wonders where to find a complete pdf of this
<azonenberg_work> sorear: of the NEC?
<sorear> yes
<azonenberg_work> So, its kinda funny
<azonenberg_work> There are pirate PDF copies floating around, i think you have to pay to get a full PDF
<azonenberg_work> however, the NFPA lets you view an online HTML version of the code for free
<azonenberg_work> you have to register but its no charge
<azonenberg_work> They only seem to want money for a searchable pdf?
<azonenberg_work> I used the online version for most of this work, as well as google to quickly find bits of it
<sorear> so there's a sanitary code, and an electrical code, and the former requires "two outlets or one outlet and a fixture per habitable room, at least ten feet apart". i'm guessing both codes must be met but the relationship is unclear
<azonenberg_work> sorear: Well the question is, which code(s) were applied when the house was built
<azonenberg_work> and when it was renovated, if at all, since then
<azonenberg_work> in general building codes apply when the structure is built
<azonenberg_work> And future changes are not retroactive
<azonenberg_work> if the NEC suddenly required a 50A 3-phase outlet in every garage, your landlord wouldn't have to retrofit
<azonenberg_work> however if a city ordnance said that all rental properties shall have a purple toilet to be considered fit for tenancy
<azonenberg_work> then he would
<rqou> meh, human traffickers don't give a damn about no codes :P
<rqou> our apartment never had a working upstairs heater which is considered not fit for tenancy
<rqou> but yolo
<sorear> > city ordnance
<sorear> UMM
<azonenberg_work> sorear: basically, building codes have no legal authority by themself
<azonenberg_work> the city, state, or whatever has a law that says all new construction shall be inspected according to X code
<azonenberg_work> The standards body publishes the code but has no authority to enforce it
<azonenberg_work> And different jurisdictions may adopt different codes or revisions of them
<azonenberg_work> and add their own amendments
<azonenberg_work> when a new version of the NEC comes out, for example, it may be several years before a particular state adopts it
<sorear> "fit for tenancy" is the massachusetts sanitary code's domain, and we meet that (much lower) standard. unclear what rennovation has happened
<rqou> sorear why are you also doing renovations?
<azonenberg_work> because if a past renovation was done illegally (without a permit or inspections)
<sorear> $housemate dug up the building permits that have been filed for the address, unclear what would require a full code reevaluation
<azonenberg_work> and didn't meet code at the time
<rqou> is everybody doing renovations?
<azonenberg_work> you might be able to pull strings to force them to fix it
<sorear> rqou: i'm not, i'd like to yell at our landlord for providing about half the code-required outlets though
<rqou> HAH
rohitksingh_work has quit [Read error: Connection reset by peer]
<rqou> good luck
<azonenberg_work> "a room or two with no outlets" does sound like it probably violates some code, somewhere
<azonenberg_work> the only thing I *know* it violates is the current NEC, but that isnt enough to force him to fix it
<rqou> our apartment usually daisy-chained like three power strips
<rqou> with some bonus extension cords mixed in
<sorear> the worst offender is the size of a room but i think it gets out of that rule by technically being a foyer
<rqou> and passive-aggressive breaker tripping thanks to microwaves and space heaters
<rqou> and a "smart grid" because everybody who gave a damn bought a ups due to the aforementioned passive aggressive breaker tripping
rohitksingh_work has joined ##openfpga
<rqou> and many suggestions of rigging up a tiny servo to auto-reset the breaker :P
<azonenberg_work> rqou: your landlord was also a slave trader
<rqou> not really a trader
<rqou> just for himself :P
<sorear> um what
<azonenberg_work> rqou: oh? i forget details of the case but i thought he was importing girls for pimps or something
<rqou> no, afaik he was importing girls just for himself
<azonenberg_work> sorear: you didnt know rqou's (ex?) landlord is a convicted human trafficker?
<rqou> that's why he didn't get all that much jail :P
<sorear> nope
<rqou> turns out dalits aren't human enough for you to get much jail for raping them :P
<sorear> ok, there's a bit of difference of scale here
<whitequark> ugh
ayjay_t has quit [Read error: Connection reset by peer]
ayjay_t has joined ##openfpga
<azonenberg_work> rqou: "Reddy was released from prison in 2008.[8] He moved into a mansion that had been custom-built for him while he was imprisoned.[6] He continues to manage his over 1,000 apartment buildings in Berkeley through his real estate companies, Everest Properties, Raj Properties, and Reddy Realty."
<rqou> yeah
<rqou> my ex-landlord was Everest Properties
<sorear> first thing i've read, ever, that makes me like megan's law
<rqou> oh somehow his address is hidden from the public database
<azonenberg_work> rqou: lol, of course when you're rich you can make things happen
<azonenberg_work> :p
<azonenberg_work> sorear: i cant say i've studied it in detail
<sorear> me neither, but mostly I encounter it from the "I peed on a street once" demographic
<azonenberg_work> See, you get a different perspective on things when you've spent a weekend on your hands and knees poking through dirt with a garden trowel looking for bits and pieces of a little girl who was kidnapped years ago
<sorear> sex offender laws : lack of public restrooms :: sit/lie : lack of homeless shelters and more generally land use policy
<sorear> indecent exposure without intent to harm and whatever the hell you call ^that should not be in the same category of anything
<sorear> but now I need to sleep
<rqou> how about the new classic "teenagers sent dick/boob pics to each other" problem?
<rqou> CP conviction for life
<azonenberg_work> rqou: yeah that is a bit messed up
<azonenberg_work> honestly a lot of that is overzealous prosecution
<azonenberg_work> because trying to write a law that can distinguish in black and white between coerced and consensual behavior is very difficult
<sorear> US boob laws are a 14A violation. sorry.
<rqou> now i'll ruin the conversation by mentioning cody wilson :P
<rqou> hmm now that you mention it
<azonenberg_work> lol
<rqou> my high school did have a "got caught banging in the bathroom incident" where one person was over 18
<rqou> afaik that didn't lead to any actual prosecution
<azonenberg_work> rqou: in most states over/under 18 isnt an issue as the age of consent is younger
<rqou> nope, california is 18 without any close in age exceptions
<azonenberg_work> oh interesting
<azonenberg_work> what if both are under 18? do they charge both?
<rqou> afaik they can
ayjay_t has quit [Read error: Connection reset by peer]
ayjay_t has joined ##openfpga
fibmod has joined ##openfpga
ayjay_t has quit [Read error: Connection reset by peer]
ayjay_t has joined ##openfpga
mumptai has joined ##openfpga
m_t has joined ##openfpga
indy has quit [Quit: ZNC - http://znc.sourceforge.net]
indy has joined ##openfpga
Bike has joined ##openfpga
cr1901_modern has quit [Ping timeout: 252 seconds]
rohitksingh_work has quit [Read error: Connection reset by peer]
cr1901_modern has joined ##openfpga
m_t_ has joined ##openfpga
m_t has quit [Read error: Connection reset by peer]
genii has joined ##openfpga
rohitksingh has joined ##openfpga
rohitksingh has quit [Quit: Leaving.]
m4ssi has joined ##openfpga
ayjay_t has quit [Read error: Connection reset by peer]
ayjay_t has joined ##openfpga
mumptai has quit [Quit: Verlassend]
emeb has joined ##openfpga
rohitksingh has joined ##openfpga
rohitksingh has quit [Quit: Leaving.]
rohitksingh has joined ##openfpga
s_frit has quit [Remote host closed the connection]
s_frit has joined ##openfpga
tnt has quit [Ping timeout: 246 seconds]
tnt has joined ##openfpga
rohitksingh has quit [Quit: Leaving.]
digshadow-c has left ##openfpga [##openfpga]
digshadow has left ##openfpga [##openfpga]
digshadow has joined ##openfpga
digshadow has left ##openfpga [##openfpga]
<pie_> ...my cpu fan sounds weird :<
<pie_> it got deeper
<mwk> hey
<mwk> I've got a basys2 on my hands and would like to upload a bitstream to it without using digilent's crappy software
<mwk> is there some open-source project that I missed, or at least a protocol spec?
<pie_> uhhhhhhhhhhhhh
<pie_> its not my fan
<mwk> or should I just spend an interesting night with wireshark?
<pie_> i was playing some deep droning sound on my speakers wtf
<pie_> i realized this when i muted my speakers for unrelated purposes ????
<rqou> mwk: ask azonenberg_work or diamondman
rohitksingh has joined ##openfpga
<azonenberg_work> mwk: which fpga is the basys2? a spartan3e?
<azonenberg_work> mwk: I have spartan3A support in libjtaghal, no 3E however the two are very similar
<azonenberg_work> it's likely that you wouldn't have much trouble either extending the 3A class to support 3E, or making a 3E device class if they're more different
<azonenberg_work> xilinx documents the jtag commands to load a bitstream
<mwk> azonenberg_work: yeah, s3e
<azonenberg_work> As far as going from software on your PC to jtag signals on the board, libjtaghal supports FTDI dongles using the binary-blob FTDI API (there's an untested pull request for using the open source libftdi)
<azonenberg_work> I also support Digilent's binary-blob library
<mwk> the jtag commands are not a problem, the digilent's programmer is
<azonenberg_work> Which allows you to use any of the integrated programmers on the digilent devboards
<mwk> hm
<azonenberg_work> Digilent programmers range widely as far as what they actually are
<mwk> binary-blob library doesn't exactly sound good
<azonenberg_work> there are PICs, i think FX2s, FTDIs, etc
<mwk> AFAICT the programmer is some Atmel CPLD
<azonenberg_work> Then yeah, i dont think anyone has RE'd that usb protocol
<azonenberg_work> diamondman re'd their fx2? programmer
<azonenberg_work> then i support the ftdi programmers
<azonenberg_work> For anything else, you have to use their library or reverse engineer the protocol
<mwk> eh
<mwk> seems like it's going to be a long night then
<azonenberg_work> or, if they pin out the jtag signals to a header
<mwk> they don't
<azonenberg_work> You can bypass the integrated programmer and use a ftdi dongle
<azonenberg_work> I've seen boards with the standard 2x7, digilent also has a 1x6 unpopulated header on many of their boards
<azonenberg_work> 2.54mm 1x6
<mwk> hmm scratch that
<mwk> it's not a CPLD, it's some AVR device
<mwk> AT90USB162
<azonenberg_work> yeah that makes more sense
<azonenberg_work> its possible that it's different software but the same usb protocol diamondman RE'd
<azonenberg_work> talk to him to see if he has any code you can use
<mwk> alright, thanks
<azonenberg_work> in any case, once you find some way to talk to the programmer
<azonenberg_work> (using their blob or reversing the protocol and implementing it yourself)
<azonenberg_work> jtaghal probably contains 95% of the code you need to program a s3e
<azonenberg_work> i dont remember how similar 3a and 3e are
<mwk> they're very similar in everything except bitstream format.
<mwk> what other xilinx families does it support?
<azonenberg_work> mwk: i have pretty much full support for s3a, s6, 7 series, and ultrascale/ultrascale+
<azonenberg_work> the device ID database is not complete for some of them but thats a one-line fix to support the missing parts
<mwk> none of these sound similar
<mwk> oh well
<mwk> we'll see
<azonenberg_work> sapartan3a is similar
<azonenberg_work> spartan*
<azonenberg_work> and actually the whole line has a lot in common from 3a up to ultrascale
<azonenberg_work> you can see the same architecture evolving
<azonenberg_work> mwk: i also support the smallest coolrunner2 (xc2c32a) but dont have the address map for the larger devices in yet
<azonenberg_work> and am in the process of adding support for a bunch of ARM debug stuff
<mwk> address map?
<azonenberg_work> coolrunner bitstream files are virtually addressed
<mwk> ... should I even ask?
<azonenberg_work> you need physically addressed bitstreams to actually program the chip
<mwk> what.
<azonenberg_work> the xilinx .jed file doesnt actually follow the full jedec addressing standard (i.e. it should be something you can stick in a progrmamer and load)
<azonenberg_work> it's addressed logically, where each PLA block is one chunk of bits
<azonenberg_work> then the routing, the macrocells, etc
<azonenberg_work> in the physical chip you have a 2D array of bits that spans the physical die, and the eeprom is as wide as the whole chip
<azonenberg_work> so in the 32A you have 48 rows of 260 bits
<mwk> and as for S3A
<mwk> they changed the whole bitstream framing between S3E and S3A :(
<mwk> register addresses, word width, etc
<azonenberg_work> and the physical coolrunner has function blocks on both sides
<azonenberg_work> the far side is mirorred from the near
<azonenberg_work> the routing fabric is interleaved in the middle
<mwk> virtex 2/4/5 and spartan 3 are more similar to spartan 3e than spartan 3a is
<azonenberg_work> etc
<mwk> huh.
<azonenberg_work> xilinx publishes a table to map between them but the tables are (potentially) copyrighted by xilinx and cant be redistributed
<azonenberg_work> (copyrightability of purely factual information is a bit gray, but i dont want to chance it)
<mwk> yeah, sounds like bullshit...
<azonenberg_work> So i wrote a procedural remapping algorithm for the 32a that implements the same transformation without ever actually copying the xilinx file
<azonenberg_work> But havent had time to do th ebigger one
<mwk> sounds like fun
<azonenberg_work> ironically its faster to run my mapping than to parse their giant ascii text file :p
<mwk> oh tell me about it.
<azonenberg_work> oh and also additionally, i can program, erase, and set/clear lock bits on stm32s via JTAG and am working on adding SWD support
<azonenberg_work> mwk: yeah in that case 3e is probably best off as another class vs an extension to the 3A one
<azonenberg_work> mwk: tell you what, if you dont mind being an alpha tester i'll try and write 3e support sight unseen
<azonenberg_work> and you can see if it works
<mwk> sure
<azonenberg_work> we'll start using the digilent blob API
<azonenberg_work> To start, how about you try grabbing https://github.com/azonenberg/jtaghal-cmake and compiling it as-is, make sure you get all of the necessary dependencies installed
<mwk> and for what it's worth
<mwk> let me introduce myself
<azonenberg_work> later today or tomorrow i might have time to actually code a bit
<azonenberg_work> (it does use git submodules so make sure you pull those too)
<mwk> I'm mwk and I've been working on and off on reverse engineering the spartan 3* bitstream format for the last 2 months
<mwk> and it's about 50% done
<azonenberg_work> oh awesome
<azonenberg_work> you going to be adding nextpnr support?
<mwk> that's the plan, yes
<azonenberg_work> an open toolchain would definitely help breathe some light into some of those old xilinx boards i have lying around
<azonenberg_work> life*(
<pie_> oh hey i also have a basys2
<pie_> (but i dont know anything about anything)
<mwk> azonenberg_work: compilation failed with fatal error: editline/history.h: No such file or directory
<azonenberg_work> mwk: file a ticket on github for the cmake script not checking for libeditline
<azonenberg_work> then install it :p
<azonenberg_work> yes, debian and most other linux distros should have it packaged already
<mwk> arch doesn't
<awygle> hi mwk, welcome to the channel
<gruetzkopf> new idea for cursed device:
<gruetzkopf> USB-C to 1000baseT, with POE+, switchable PoE source/sink
<mwk> hm
<mwk> doesn't appear to be that library, the header name doesn't match
<azonenberg_work> is what i used
<azonenberg_work> mwk: in any case, your first order of business is to file a ticket
<azonenberg_work> because i should not fail compilation due to a missing dependency
<azonenberg_work> it should error out in cmake and give you a nice useful message
<gruetzkopf> http://gruetzkopf.org/openfpga/IMG_20181001_193537.jpg would make this thing a 244-port cellphone charger :P
<gruetzkopf> awygle: ^
<gruetzkopf> for that reason
<azonenberg_work> mwk: anyway gotta run, have 20 mins to be checked out of this hotel
<azonenberg_work> talk in the evening
<awygle> gruetzkopf: that's... a bad reason :-P
<gruetzkopf> it's a fun reason
<awygle> true
<gruetzkopf> power hookup is currently not safe for pictures
<gruetzkopf> and we're only running 2 of the 8 power supplies..
<mwk> azonenberg_work: huh.
<mwk> it turns out that you're actually using libedit, not that thing
<mwk> which *is* installed by default
azonenberg_work has quit [Ping timeout: 246 seconds]
<mwk> and the compilation succeeds when I just remove the offending include
<mwk> eh.
<mwk> alright, compiled
<mwk> didn't find the FTDI libs or the digilent libs though
rohitksingh has quit [Quit: Leaving.]
azonenberg_work has joined ##openfpga
<rqou> azonenberg_work i already have the physical<->logical xc2 mapping
<rqou> just make it read .crbit files like we discussed over a year ago
<azonenberg_work> yeah but then you cant program jed's made by ISE
<azonenberg_work> Which is a serious issue even if our own toolchain spits out physically addressed crbit's
<rqou> you can convert them with my toolchain
<TD-Linux> gruetzkopf, could I use two back to back for usb-c isolation
<TD-Linux> I prefer to run my usb-c devies at 1kv above earth potential
<rqou> uh
<rqou> also you can probably "just" run them through some SFPs
genii has quit [Read error: Connection reset by peer]
genii has joined ##openfpga
<mwk> huh
<mwk> why am I allowed to set the serial number of the programmer
m4ssi has quit [Ping timeout: 252 seconds]
<prpplague> mwk: maybe not the original intent, but being able to set the serial number allows people who have multiple programmers to set their own number for identification
Bob_Dole has quit [Ping timeout: 260 seconds]
<mwk> so umm
<mwk> azonenberg_work: it appears the Djtg* functions are just more-or-less directly mapped to USB packets
<mwk> identical data format and all
<mwk> though there's this worrying weird handshake at the beginning where the sw sends some nondeterministic 32-bit piece of crap to the device, and the device replies with another nondeterministic thing
<pie_> maybe they just yell at eachother for 32 bits
Bob_Dole has joined ##openfpga
<mwk> diamondman: ping?
<mwk> it seems I'm reversing the same programmer as you [https://recon.cx/2016/resources/slides/RECON-0xA-Diamondman.pdf] -- the 0xe8/0xec commands you mention are exactly identical to what I'm seeing
<mwk> did you get anywhere with it?
<cyrozap> I'd write an OpenOCD driver for it if I had any hardware that used that controller, but somehow I've managed to unintentionally avoid it.
<mwk> heh.
<cyrozap> All of my Digilent boards use FTDI chips :P
<mwk> it seems I'll have a pull request to that with a few extra cmds
<TD-Linux> man, dat fx2 is expensive. I always thought cypress were cheap chips
<rqou> Cypress has always been expensive chips
Bike has quit [Ping timeout: 256 seconds]
<azonenberg_work> diamondman, mwk: if you want to make a f/oss version of the digilent blob for those programmers
<azonenberg_work> i'll gladly write / accept a PR for jtaghal support for that
<rqou> uh, except you never even glanced at my libftdi pr
<mwk> yeah
<mwk> it seems it's going to be quite easy, in fact
<azonenberg_work> rqou: i glanced at it but didnt have time to test
<mwk> for this programmer, at least
<mwk> that doc seems to suggest there's lots of funny variations
<azonenberg_work> Lol
<azonenberg_work> well i mean at a minimum they have their proprietary protocol and ftdi
<TD-Linux> the cheap ch341a actually works pretty well for spi flashing my ice40 boards
<TD-Linux> only thing is it doesn't hold the ice40 in reset so you have to do that manually if the chip is blank
<mwk> azonenberg_work: so, what you need is a C library that provides tms/tdi/tdo/tck access, right?
<shapr> I got to hang out with the crowd from Google X doing exciting post-TPU things last week
<shapr> They said they're using BlueSpec, anyone familiar with it?
<azonenberg_work> mwk: Look at the JtagInterface class in libjtaghal
<azonenberg_work> the comments there talk pretty clearly about what APIs you have to provide
<mwk> azonenberg_work: so if I provide that API, and hack up spartan 3e support
<mwk> then I basically have a ready-to-go "program that file to the FPGA" tool, right?
<mwk> well
<mwk> let's do that
<azonenberg_work> Pretty much you'd need to provide that API
<azonenberg_work> (use DigilentIJtagInterface as a reference)
<azonenberg_work> And use the XilinxSpartan3ADevice class as a reference to implement a XilinxSpartan3EDevice class
<azonenberg_work> then add an ID code check in XilinxDevice to instantiate a XilinxSpartan3EDevice as needed based on the family ID
<azonenberg_work> oh, and add command line argument code in jtagd to create an OpenDigilentJtagInterface (or whatever you want to call it)
<azonenberg_work> for --api (insert name of your library here)
<mwk> alright
<mwk> hmm
* mwk now looking for a sample bitstream
<azonenberg_work> At that point you can either use jtagclient to program it from the command line, or jtagsh to get an interactive shell
<mwk> I've got loads of random .bit files here, but all of them are likely RE byproducts and completely cursed
<azonenberg_work> lol
<rqou> why is byuu rolling their own crypto? cr1901_modern any idea?
<mwk> what could possibly go wrong
<cr1901_modern> rqou: B/c it's byuu and he's likely doing it out of spite for how complicated https/http2 is
<cr1901_modern> A small part of me doesn't blame him
<rqou> heh
<rqou> at least they're doing the djb algorithms
<rqou> imho those are much more approachable
<rqou> (ignoring the other awful surrounding djb)
<fseidel> wait, what happened with djb?
<cr1901_modern> fseidel: Short version: He's an ioerror apologist
<rqou> he came out strongly defending jacob appelbaum after jacob was accused of sexual assault by multiple people
<fseidel> I'm not familiar with appelbaum or ioerror
<fseidel> guess I'll have to look into this
<rqou> afaik jacob is currently djb's grad student
<rqou> yeah I'm not either
<Ultrasauce> do yourself a favour and don't
<cr1901_modern> appelbaum == ioerror, just a handle
<fseidel> oh, I though it was the python class
<rqou> afaict jacob was/is a "big deal" for reasons i don't understand
<rqou> to the point where multiple victims were saying that they were afraid that going against jacob would jeopardize their careers
<fseidel> oh jesus
<TD-Linux> rqou, byuu just likes doing it for fun. it's not a very good idea :)
<fseidel> back in undergrad, I had at least 2 profs tell us that the golden rule of computers was "never roll your own crypto" :-P
<cr1901_modern> The rule shouldn't be "don't roll your own crypto", but rather "don't deploy your own crypto". I mean, if I wanted one of my vintage machines to access HTTPS (to post a tweet), yes I'd roll my own crypto >>
<cr1901_modern> With the acknowledgement that it's a bad idea and for my own personal use >>
<fseidel> I hink I like that one more :-)
<fseidel> *think
<balrog> TD-Linux: yeah but byuu then uses it in production
<TD-Linux> not for anything critical though
<cr1901_modern> (There is _no_ joy in me putting a Pi in between a vintage machine and a router)
<cr1901_modern> (In fact, there's negative joy)
<balrog> cr1901_modern: can vintage computers do modern cryptography without serious slowdown? one would think that with IoT pushing low power devices, things would be easier
<cr1901_modern> balrog: Probably not without hardware help.
<cr1901_modern> multiplies are too slow on early x86
<cr1901_modern> and 65xx doesn't _have_ a multiply of course :P
<TD-Linux> yes they can
<TD-Linux> well I mean depends on what you consider acceptable
<cr1901_modern> TD-Linux: Acceptable == "without the remote server timing out"
<TD-Linux> oh, for https
<TD-Linux> anything 386+ should easily be ok.
<TD-Linux> I've compiled libsecp256k1 with cc65 but couldn't fit it into RAM so couldn't test that :(
<TD-Linux> though I think it's possible now
<cr1901_modern> I mean C is a horrible choice for 6502 period
<TD-Linux> sure but I already started out doing a horrible thing so it cancels out
<cr1901_modern> Right
<cr1901_modern> >though I think it's possible now What changed?
<sorear> surely someone has already done x25519 for 6502
<TD-Linux> cr1901_modern, the scalar multiply has big tables to make it reasonably fast, it's super slow with small tables. but recent optimizations shrunk the tables a lot
<cr1901_modern> hmmm
<sorear> Montgomery ladder doesn’t use tables;)
ym has joined ##openfpga
m_t_ has quit [Read error: Connection reset by peer]
s_frit has quit [Remote host closed the connection]
s_frit has joined ##openfpga
azonenberg_work has quit [Ping timeout: 252 seconds]
<awygle> lol @ negative joy
<qu1j0t3> balrog | cr1901_modern: can vintage computers do modern cryptography without serious slowdown? // ever tried ssh on a Sun 3? :-)
<cr1901_modern> qu1j0t3: The slowest CPU I've ssh'd into is a 50MHz 486 w/ 20MB of RAM. Keygen takes forever, but it works acceptably
<cr1901_modern> s/CPU/box/
<cr1901_modern> And it wasn't even close to using all 20MB; I could've probably sliced it to 8MB and have been okay.
<qu1j0t3> yeah, ram isn't hte problem :)
<qu1j0t3> that's quite a bit faster than a SS1 or a Sun 3
<rqou> I've ssh'ed into a 66 mhz arm with 36 mb of ram, worked fine back then
<qu1j0t3> again, quite fast.
<qu1j0t3> anyway to address balrog's point: Depends whether you mean 486 vintage, or VAX-11 vintage
<sorear> ecc is kind of a dog, ntru is usually faster than rsa
<cr1901_modern> I mean 8088-vintage
<sorear> so this will get better, not worse
<cr1901_modern> qu1j0t3: Someone managed to do https on a 25MHz x68k. Initially they needed an RPi to do _part_ of the math, but then found a way to get rid of the Pi
<sorear> i mean
<sorear> you probably read the logjam paper
<balrog> cr1901_modern: lol where
<Bob_Dole> someone I know is working on getting LLVM working on a 65816
<sorear> you can stall a tls handshake for ~120 seconds before shit starts breaking
<sorear> even a 6502 can do a lot of math in 120 seconds
<cr1901_modern> Bob_Dole: I know of one too, but not sure I would write C code for 65816
<balrog> Bob_Dole: why not 8-bit PIC? :P
<cr1901_modern> '816 has a lot of "wonderful" features that make it... not great for HLL
<balrog> that's a widely used MCU core that needs a compiler that doesn't stink or cost lots of money
<balrog> :p
<balrog> probably because it's ugly for C
<cr1901_modern> balrog: https://twitter.com/search?q=to%3Atsutsuii%20from%3Acr1901&src=typd The relevant tweets are somewhere in here
<Bob_Dole> I'm expected to be assembling a project using the 65816 mcu and an FE310 as a co-processor, with some of the greenpak chips for glue.
<sorear> so the montgomery ladder takes 11*255 field multiplies, you have 42K cycles to do each multiply at 1MHz
<cr1901_modern> I mean you'd run out of addr space before 42k cycles are up :P
<cr1901_modern> and multiplication has an amortized O(logn) algorithm w/ adds
<sorear> the inputs and outputs are only 32 bytes, you shouldn't need more than a kb or two of temporaries
<balrog> Bob_Dole: making a IIgs accelerator?
<cr1901_modern> greenpaks would be good address decoders for 65816
<Bob_Dole> at this point in time, no. Entirely a self-contained microcomputer with some expansion capabilities of its own, but adapting it to accelerate things for the IIGS I think wouldn't be hard. (excluding everything is presently set to run on 3.3v IO)
<Bob_Dole> the greenpaks are being added in part for doing ecc on memory
azonenberg_work has joined ##openfpga
<Bob_Dole> I'll go ask him about making a IIGS add-on board with it.
<cr1901_modern> sorear: you probably read the logjam paper
<cr1901_modern> I don't think I have actually LOL
azonenberg_work has quit [Ping timeout: 268 seconds]
Bike has joined ##openfpga
azonenberg_work has joined ##openfpga
<q3k> 100% cursed
emeb has quit [Quit: Leaving.]
<cr1901_modern> why is there a pong impl?
<q3k> look at the history, it's clear
<q3k> it's because 'move stuff'
<cr1901_modern> So they took a sample project and repurposed it
<cr1901_modern> is that in and of itself bad :P?
<q3k> my main problem is that this is labeled as 'open source'
<q3k> including the copyright altera and copyright fpga4fun.com fragments
<cr1901_modern> Isn't fpga4fun.com code public domain?
<q3k> there's also some PC-side python that is similarly horrible quality: https://github.com/drandyhaas/Haasoscope/blob/master/software/HaasoscopeLib.py
<cr1901_modern> The tutorials on fpga4fun let you do some cool stuff :P
<q3k> right, but you're not doing a crowdfunding campaign for it https://www.crowdsupply.com/andy-haas/haasoscope
<q3k> *based on it
<cr1901_modern> Ahhh, then it gets messy
<q3k> ///////////////////////////////////////////////////////
<q3k> / RS-232 RX and TX module
<q3k> / (c) fpga4fun.com & KNJN LLC - 2003 to 2016
<cr1901_modern> something something "If you didn't license under GPL, companies are free to take code from you and sell it without you ever seeing a dime" something
<q3k> i wouldn't say that this looks like public domain code
<azonenberg_work> "two very high speed ADC channels, up to 250 MSPS each "
<azonenberg_work> lolol
<azonenberg_work> very high speed?
<cr1901_modern> 250 times higher than xadc :P
<cr1901_modern> q3k: Okay the Python code bites
<cr1901_modern> like really bites
<tnt> I'm pretty sure there isn't much good in that whole project. the schematic is horrible too :p
<cr1901_modern> moh-duel-arr-igh-zay-tion... ever hear of it?
<awygle> something something python modules are garbage something something
<cr1901_modern> It's still preferable to reading Ruby :)
<awygle> agree to disagree
<awygle> although most of my python complaints aren't with reading it
<cr1901_modern> awygle: Though I don't like reading Ruby at all (what the f*** is a block?!), I'm very much just yanking your chain :P
<awygle> i know :p
* sorear , quite sniped, just re-read the 6502 programmers' manual
<qu1j0t3> //b 14