Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
movax
Aug 30, 2008

eschaton posted:

the Lisp Machines used custom CPUs specifically designed for ease of Lisp implementation. (which isn't the same as "running Lisp in hardware" as some people claim.) they also had writable microcode, so the lowest-level operations could be made as fast as possible

the CADR emulator and Explorer emulator codebases provide C implementations that could probably be used to author some VHDL with effort, the main thing I'm wondering is if I'd get partway through and find out that lol, my Spartan 6 won't have anywhere near enough gates

I suppose since the original systems were literally a few square feet of 7400-series chips I should be able to estimate the gate count from that (hell, even just based on physical density)

ahh, i see -- i still don't think you'd have a problem with the larger gate count spartan / cyclone devices, sounds like an interesting project though (especially to re from the existing emulators). wonder what the original were clocked at

Adbot
ADBOT LOVES YOU

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

movax posted:

ahh, i see -- i still don't think you'd have a problem with the larger gate count spartan / cyclone devices, sounds like an interesting project though (especially to re from the existing emulators). wonder what the original were clocked at

according to the Explorer docs at the Internet Archive, they had a 7 MHz microinstrunction clock. the processor board manual has a decent explanation of the internals including the microinstrunction format, hypothetically it should be enough to build an emulator for the cpu itself.

movax
Aug 30, 2008

i'd be surprised if either the nexys-3 (spartan 6) or nexys-4 (artix 7) wouldn't be enough -- hopefully you can get academic pricing

microsemi's a low cost option but i think you'd need the igloo2 to fit everything

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

movax posted:

i'd be surprised if either the nexys-3 (spartan 6) or nexys-4 (artix 7) wouldn't be enough -- hopefully you can get academic pricing

microsemi's a low cost option but i think you'd need the igloo2 to fit everything

I ordered a Scarab miniSpartan 6+ LX a while back, hypothetically it ships soon, and I'll find out!

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

movax posted:

sw dude complaints:
- lovely toolchain (ccs, mspgcc, gcc-msp430), iar wasn't considered because it's windows only
- lovely docs
- weird-rear end isa (certain operations very expensive like bit shifts :laugh:) also forget about doing intensive math

hw (my) complaints:
- lovely docs
- weird pinouts sometimes
- fr5969 has funky errata relating to leakage currents on certain pins
- weird rear end fram memory controller timings that changed from stepping to stepping
- took them six steppings to get release silicon out which is mildly terrifying
- you will need a reset supervisor or otherwise clean reset source, code will corrupt in brownout conditions (the SVS module on the frxxxx parts for some reason is slightly different than other msps)

the fr57xx series is older and their first go at the whole fram thing; new designs i'd check out the fr5989, if you can get it (i bought the first batches out of the factory)

like i said though, i'll give them props for the absurdly low power consumption and fram reliability

thanks! i'll keep this stuff in mind, esp. the need for a separate voltage watchdog and the toolchain concerns. the ISA stuff is kind of worrying too.

FRAM is great for a lot of the stuff we do, and me + one of the EEs started looking at the TI FRAM msp's with an eye toward reducing bom. we've got a pair of ramtron standalone 128k fram chips on a product we just launched, and back during testing i was unable to induce failure in our emc lab even at 30 V/m in any direction. i was miffed at the time because it meant i didn't have a real test of the ecc code i had written and had to settle for mocking up various failures, but it's a testament to how hardy the stuff is

what i might pitch is using the msp430 as a sort of coprocessor for datalogging and calibration data storage (a glorified replacement for a standalone fram chip and rtc) and using somebody else's cortex m4f as the main micro, although having two chips on the board that need to be programmed is either expensive or an expensive pia depending on whether we have it programmed by future/whoever or program it when it gets here

Bloody
Mar 3, 2013

movax posted:

i'd be surprised if either the nexys-3 (spartan 6) or nexys-4 (artix 7) wouldn't be enough -- hopefully you can get academic pricing

microsemi's a low cost option but i think you'd need the igloo2 to fit everything

Idk one of their app notes crams an 8051 and some not cheap peripherals in a third of the 250

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe
FPGA and microcontroller bit janitor checking in

lol, just lol if you don't janitor individual bits and clock cycles

GameCube
Nov 21, 2006

hey so here's a hobbyist's question for the actual experts itt

i was gonna make a usb adapter for my ADB keyboard
()
because the protocol is super simple

but then i found somebody else had already made one, all you had to do was stick an s-video port on a teensy and load his firmware https://geekhack.org/index.php?topic=14290.0

the problem is: it sucks

so if i wanted to make my own, what's the hip good microcontroller for making usb adapters (that doesn't require me to use TI's lovely loving dev environment)

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe

eschaton posted:

how many gates would an FPGA reasonably need to support to emulate a Lisp Machine CPU?

like first-gen, the CADR/Lambda/TI Explorer

I'd say one of the larger Spartan 6s would be plenty. Buy the biggest FPGA that the Webpack supports (probably either the LX45 or the LX25).

The one thing that could get you is the memory - some of those LISP machines had upwards of a megabyte of RAM. Not a lot in the scheme of things, but more than a cheap FPGA will provide. So make sure you have some external memory.

movax
Aug 30, 2008

Blotto Skorzany posted:

thanks! i'll keep this stuff in mind, esp. the need for a separate voltage watchdog and the toolchain concerns. the ISA stuff is kind of worrying too.

FRAM is great for a lot of the stuff we do, and me + one of the EEs started looking at the TI FRAM msp's with an eye toward reducing bom. we've got a pair of ramtron standalone 128k fram chips on a product we just launched, and back during testing i was unable to induce failure in our emc lab even at 30 V/m in any direction. i was miffed at the time because it meant i didn't have a real test of the ecc code i had written and had to settle for mocking up various failures, but it's a testament to how hardy the stuff is

what i might pitch is using the msp430 as a sort of coprocessor for datalogging and calibration data storage (a glorified replacement for a standalone fram chip and rtc) and using somebody else's cortex m4f as the main micro, although having two chips on the board that need to be programmed is either expensive or an expensive pia depending on whether we have it programmed by future/whoever or program it when it gets here

cypress fm25vxx series? i'm using those as well, sadly no one makes fram larger than 2mbit.

you could always try borrowing time on a linac to really try and induce failures, but fram is radiation-resistant, so...

sw complaint/tip:
- rtc peripheral on the 5989/6989 is more useful than the one on 5969

oh, i loving forgot (i can't believe this):
hw complaint:
- msp430 is not jtag compliant. at all. you cannot put it into a chain with other devices. if it's in a chain, it must be the first and only device. the hw responds to any jtag access with a fixed id based on revision of silicion, and you have to twiddle TEST with microsecond timing to put the part into jtag mode. or you can use spi-by-wire which again is not compliant with anything
- silicon bsl is uart-based mostly unless you're lucky and can actually purchase the one with an i2c bsl

so keep that in mind since you're designing an actual product that will need end-of-line testing / possible field upgrades

movax
Aug 30, 2008

Werthog 95 posted:

so if i wanted to make my own, what's the hip good microcontroller for making usb adapters (that doesn't require me to use TI's lovely loving dev environment)

pic :getin:

serious answer: whichever micro someone's already used (assuming it isn't loving horrible) to do something similar since that will save you time and effort unless you don't care about that

Illusive Fuck Man
Jul 5, 2004
RIP John McCain feel better xoxo 💋 🙏
Taco Defender
i do poo poo with bad old powerpc cpus at work and i need to write up like the entire boot process for a thing. In general, when the power is switched on how does a cpu like this know where in flash to look for the bootloader?

Bloody
Mar 3, 2013

your program counter comes up in a known state (probably) or some sort of reset generator causes it to enter a known state (such as the reset vector) from there, code happens

Bloody
Mar 3, 2013

like on msp430s or maybe its arm7s or something i forget it doesnt matter it always comes up at 0x0200 so if yo want a bootloader you stick its entry point at 0x0200 and go from there

maniacdevnull
Apr 18, 2007

FOUR CUBIC FRAMES
DISPROVES SOFT G GOD
YOU ARE EDUCATED STUPID

Werthog 95 posted:

hey so here's a hobbyist's question for the actual experts itt

i was gonna make a usb adapter for my ADB keyboard
()
because the protocol is super simple

but then i found somebody else had already made one, all you had to do was stick an s-video port on a teensy and load his firmware https://geekhack.org/index.php?topic=14290.0

the problem is: it sucks

so if i wanted to make my own, what's the hip good microcontroller for making usb adapters (that doesn't require me to use TI's lovely loving dev environment)

there are a bunch of avr / arduino tutorials on how to do have the chip be a usb keyboard, so you could start there and figure out the adb past and how to pass everything between on your own

GameCube
Nov 21, 2006

yeah but this one is already an avr and it's poo poo

GameCube
Nov 21, 2006

i guess i could try to debug it and see exactly why it stops working when it does, and try to fix it, but other people on that forum who already know what they're doing have tried and the latest firmware still freezes up a few times a day

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

movax posted:

cypress fm25vxx series? i'm using those as well, sadly no one makes fram larger than 2mbit.

you could always try borrowing time on a linac to really try and induce failures, but fram is radiation-resistant, so...

sw complaint/tip:
- rtc peripheral on the 5989/6989 is more useful than the one on 5969

oh, i loving forgot (i can't believe this):
hw complaint:
- msp430 is not jtag compliant. at all. you cannot put it into a chain with other devices. if it's in a chain, it must be the first and only device. the hw responds to any jtag access with a fixed id based on revision of silicion, and you have to twiddle TEST with microsecond timing to put the part into jtag mode. or you can use spi-by-wire which again is not compliant with anything
- silicon bsl is uart-based mostly unless you're lucky and can actually purchase the one with an i2c bsl

so keep that in mind since you're designing an actual product that will need end-of-line testing / possible field upgrades

fm24vxx series, the i2c part instead of the spi one. i hope cypress doesn't do something lovely with the ramtron product line (not that ramtron was an especially well-run company before the buyout). i've also tried to get some samples of mram which is another promising tech but everspin doesn't want to play ball without a much higher potential volume than i could ever guesstimate with a clean conscience

also lol at the jtag stuff w/ the msp430.

maniacdevnull
Apr 18, 2007

FOUR CUBIC FRAMES
DISPROVES SOFT G GOD
YOU ARE EDUCATED STUPID

Werthog 95 posted:

i guess i could try to debug it and see exactly why it stops working when it does, and try to fix it, but other people on that forum who already know what they're doing have tried and the latest firmware still freezes up a few times a day

rig up a second avr as a watchdog and reset it when it dies?

maniacdevnull
Apr 18, 2007

FOUR CUBIC FRAMES
DISPROVES SOFT G GOD
YOU ARE EDUCATED STUPID

why do these nails have strange curly ridges on the sides and plus signs on the top? eh w/e *happily hammers away*

GameCube
Nov 21, 2006

maniacdevnull posted:

rig up a second avr as a watchdog and reset it when it dies?

for some reason the "a" key specifically kicks its rear end into gear again

i have a bus pirate that i have never used, guess this might be a good chance to try it out

Sapozhnik
Jan 2, 2005

Nap Ghost
It's a pity that putting together an ARM toolchain is much much more painful than it strictly needs to be or I'd just advise hobbyists to put one together.

Get a board from Olimex that has an MCU and connector set you like
Get a JTAG pod supported by OpenOCD
Compile the toolchain
Write a makefile
Write a link script
Write a crt

Unfortunately it requires a fair bit of research work so it's probably more trouble than it's worth. I might write some poo poo up about my experiences in this regard some other time, but I'd argue that if you're doing this for fun and don't care about the low-level poo poo then you're kind of missing the point.

longview
Dec 25, 2006

heh.
hardware loving owns, except making cables, sometimes you need a cable like right loving now and have to hand assemble things and it sucks

workin on a little radio project with a PIC24FJ128GA204 right now, 44-pin QFN, 16-bit, up to 96 MHz clock, 3 SPI, 2 I2C, 4 UARTs, most functions are remappable which is new compared to the PIC18s i've used before (thought that was still a high end DSP feature)

its nice to have a real SPI controller instead of a glorified shift register, 128-byte fifos on tx and rx and DMA in case i need even more buffering, perfect for my application where the main function is manipulating a low speed serial stream (reclocking + inserting data at start/end)

12-bit AD instead of the standard 10-bit is also an improvement, and 40nA deep sleep consumption

a consultant at work said to try kicad so trying that now, it's pretty easy to use for CAD software, not as good as Allegro at schematics but very easy to draw symbols, haven't tried the PCB layout yet but it's probably just as terrible as commercial software

Bloody
Mar 3, 2013

install diptrace

GameCube
Nov 21, 2006

i still don't know how to assemble a cable :-(

longview
Dec 25, 2006

heh.

Werthog 95 posted:

i still don't know how to assemble a cable :-(

buy a labelmaker that does shrink tubes and also buy good shrink tubes with glue, and ridiculously expensive industrial/mil connectors and the outrageously priced crimping tools, don't forget special pin insertion tools, and calibrated wire strippers, and teflon insulated wire, make a checklist and follow it, label every wire

there's a reason we outsource these things

i like the ecoMate m connectors from amphenol for power, IP65 or something, easy to assemble and cheap, 3+PE and 6+PE with screw/solder terminals

i also like running things over standard cat5 cable, ebay has loads of bulkhead mount female RJ45 outlets with a short male cable on the end that work pretty well + are cheap

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Werthog 95 posted:

hey so here's a hobbyist's question for the actual experts itt

i was gonna make a usb adapter for my ADB keyboard
()
because the protocol is super simple

but then i found somebody else had already made one, all you had to do was stick an s-video port on a teensy and load his firmware https://geekhack.org/index.php?topic=14290.0

the problem is: it sucks

so if i wanted to make my own, what's the hip good microcontroller for making usb adapters (that doesn't require me to use TI's lovely loving dev environment)

what sucks about it, is it something you could fix in the firmware?

I have to say that this is in fact the very pro-est keyboard. at work I'm still using the first one my family bought with our Mac IIci in 1990, via the Griffin iMate adaptor. I have to plan for when the adaptor dies though, it has a button cell in it. so I'm keenly interested in whatever you come up with, pls subscribe me your newsletter.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Poopernickel posted:

I'd say one of the larger Spartan 6s would be plenty. Buy the biggest FPGA that the Webpack supports (probably either the LX45 or the LX25).

The one thing that could get you is the memory - some of those LISP machines had upwards of a megabyte of RAM. Not a lot in the scheme of things, but more than a cheap FPGA will provide. So make sure you have some external memory.

the scarab miniSpartan 6+ I have on the way has an LX25 and 32MB SDRAM so I should be good. thanks!

maniacdevnull
Apr 18, 2007

FOUR CUBIC FRAMES
DISPROVES SOFT G GOD
YOU ARE EDUCATED STUPID

Werthog 95 posted:

hey so here's a hobbyist's question for the actual experts itt

i was gonna make a usb adapter for my ADB keyboard
()
because the protocol is super simple

but then i found somebody else had already made one, all you had to do was stick an s-video port on a teensy and load his firmware https://geekhack.org/index.php?topic=14290.0

the problem is: it sucks

so if i wanted to make my own, what's the hip good microcontroller for making usb adapters (that doesn't require me to use TI's lovely loving dev environment)

alternate plan: open the keyboard, yank out the old guts and rig your mcu straight to the keys?

EIDE Van Hagar
Dec 8, 2000

Beep Boop
sw8, i have this board booting linux off the sd card now, and i can read and write text files in the sketches, so images should be a quick next step.

i also have the sketch starting telnetd and i can talk to it over link-local ethernet so i should be able to get it to dhcp too and download things to display or fart noises to make or something.

Tin Gang
Sep 27, 2007

Tin Gang posted:

showering has no effect on germs and is terrible for your skin. there is no good reason to do it

not joking, I once partially wrote some pic assembly code to read output from ps2 devices and it was easy as hell. writing a usb interface from scratch would be a nightmare though

big shtick energy
May 27, 2004


been working with one of analog device's fattest audio DPSs (adsp-214xx) for over a year, as many complaints as I have about the libraries and support, the chip and IDE are pretty legit

at one point I rewrote a parsing routine for some encoded audio in assembly* and was proud of how many cycles it saved, until I made the same algorithmic improvements in the C code and added some compiler hints and welp the compiler beat me by a few cycles per iteration on the inner loop

*because I was a freaking nose-hair away from having enough mips for worst case

Jerry Bindle
May 16, 2003

Werthog 95 posted:

hey so here's a hobbyist's question for the actual experts itt

i was gonna make a usb adapter for my ADB keyboard
()
because the protocol is super simple

but then i found somebody else had already made one, all you had to do was stick an s-video port on a teensy and load his firmware https://geekhack.org/index.php?topic=14290.0

the problem is: it sucks

so if i wanted to make my own, what's the hip good microcontroller for making usb adapters (that doesn't require me to use TI's lovely loving dev environment)

if you don't have a usb analyzer, whatever mcu you choose, be sure there is a good working demo to use as a starting point. if you use a pic you'll already have a really good keyboard usb project to start with, you'd just have to implement the ADB protocol. i only work with pic's, maybe some other vendors also have good keyboard demos to start from.

movax
Aug 30, 2008

Blotto Skorzany posted:

fm24vxx series, the i2c part instead of the spi one. i hope cypress doesn't do something lovely with the ramtron product line (not that ramtron was an especially well-run company before the buyout). i've also tried to get some samples of mram which is another promising tech but everspin doesn't want to play ball without a much higher potential volume than i could ever guesstimate with a clean conscience

also lol at the jtag stuff w/ the msp430.

cypress guys are alright, they just revved the fm25xx parts so i assume they cleaned up the process somewhat. seem to want to support the parts for awhile yet -- what sucks is that the commercial programmer they recommend is $1k, so i had to write my own because gently caress that noise

movax
Aug 30, 2008

longview posted:

workin on a little radio project with a PIC24FJ128GA204 right now, 44-pin QFN, 16-bit, up to 96 MHz clock, 3 SPI, 2 I2C, 4 UARTs, most functions are remappable which is new compared to the PIC18s i've used before (thought that was still a high end DSP feature)

its nice to have a real SPI controller instead of a glorified shift register, 128-byte fifos on tx and rx and DMA in case i need even more buffering, perfect for my application where the main function is manipulating a low speed serial stream (reclocking + inserting data at start/end)

12-bit AD instead of the standard 10-bit is also an improvement, and 40nA deep sleep consumption

a consultant at work said to try kicad so trying that now, it's pretty easy to use for CAD software, not as good as Allegro at schematics but very easy to draw symbols, haven't tried the PCB layout yet but it's probably just as terrible as commercial software

the remappable pins are sick as hell, love them on the pic24s. i think the only ones that can't really move around crazy like are i2c because you need a specific i/o cell for that

another thing i love about pics is that you can program hosed up fuse (config bit) settings and assuming you didn't accidentally set a security fuse, you can fix that with no special programmer (i.e. still isp). avrs are like 'gently caress you, high-voltage time'

movax
Aug 30, 2008

DuckConference posted:

been working with one of analog device's fattest audio DPSs (adsp-214xx) for over a year, as many complaints as I have about the libraries and support, the chip and IDE are pretty legit

at one point I rewrote a parsing routine for some encoded audio in assembly* and was proud of how many cycles it saved, until I made the same algorithmic improvements in the C code and added some compiler hints and welp the compiler beat me by a few cycles per iteration on the inner loop

*because I was a freaking nose-hair away from having enough mips for worst case

it's like you've never seen the 1984 documentary film 'the terminator', the machines will eventually kill us all

Jerry Bindle
May 16, 2003

Tin Gang posted:

not joking, I once partially wrote some pic assembly code to read output from ps2 devices and it was easy as hell. writing a usb interface from scratch would be a nightmare though

dsPIC/PIC24 ASM is really fun. its like a baby pdp11. you can still squeak out better performance than the C compiler, so its not completely pointless either.

you probably know of him if you read the pic list, but this guy named olin from embed inc taught a class at microchips conference about ASM. he has this software package for writing in pic ask, iirc he wrote a USB stack with it

suffix
Jul 27, 2013

Wheeee!

Mr Dog posted:

It's a pity that putting together an ARM toolchain is much much more painful than it strictly needs to be or I'd just advise hobbyists to put one together.

Get a board from Olimex that has an MCU and connector set you like
Get a JTAG pod supported by OpenOCD
Compile the toolchain
Write a makefile
Write a link script
Write a crt

Unfortunately it requires a fair bit of research work so it's probably more trouble than it's worth. I might write some poo poo up about my experiences in this regard some other time, but I'd argue that if you're doing this for fun and don't care about the low-level poo poo then you're kind of missing the point.

is codesourcery still a thing?
the last time i did anything serious with arm you couldn't use mainline gcc, you had to download a specific two releases old version of codesourcery, or your program would crash

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

suffix posted:

is codesourcery still a thing?
the last time i did anything serious with arm you couldn't use mainline gcc, you had to download a specific two releases old version of codesourcery, or your program would crash

how's LLVM/clang as an embedded compiler these days? should have pretty good ARM support.

Adbot
ADBOT LOVES YOU

Sagebrush
Feb 26, 2012

i ordered a couple of spark photons cause a $19 wifi thingie development board sounds cool to me. has anyone used the spark devices? how are they

  • Locked thread