<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]
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>
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
<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
<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]
<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