dj_pi has joined ##openfpga
<emeb> Xark: here's my schematic for the I/O board -> https://github.com/emeb/fpga_oshw/blob/master/kicad/basic_io/basic_io.pdf
<emeb> with the full audio PDM filter and amplifier.
<Xark> emeb: Great, thanks.
emeb has quit [Quit: Leaving.]
emeb_mac has joined ##openfpga
gsi__ has joined ##openfpga
gsi_ has quit [Ping timeout: 252 seconds]
<Xark> emeb_mac: Well...partial credit. I can see blue VGA with D/C/W/M prompt (and patch message), however, weirdly not right justified. I also see this message on serial terminal. However, other than caps lock LED working (not much else). Once I got it to print something like "L1" when I hit "D" on PS/2 keyboard.
<Xark> emeb_mac: VGA image looked good (other than the text centering), so seems sync is okay?
<Xark> (I need to try on another monitor...)
<emeb_mac> Xark: Two things 1) did you flash the BASIC ROM into the SPI flash at location 0x40000-0x41fff? 2) Have you tried the "M" option at the boot prompt?
<Xark> Hmm, no, and no. :)
<emeb_mac> w/o flashing BASIC it's going to just die when you hit C and/or W
<Xark> emeb_mac: Ahh, well shift-M did something going into monitor. However, there is a bytes-per-line (or other) issue with video memory,
<emeb_mac> but M is a machine language monitor which is always there so you can at least peek/poke/run code
<Xark> emeb_mac: Yes, monitor is "working" but as I mention, with mixed up display text (crammed on top of monitor).
<Xark> One sec, I'll see if I can take some pics...
<Xark> (But first...lets try to flash basic)
<Xark> emeb_mac: https://justpaste.it/6nsre BASIC roms worked nicely, and PS/2 seems fine, VGA "display" seems fine, just the character memory mapping seems odd.
<Xark> emeb_mac: My changes were basically (for now) remove GPIO, audio, composite and tweak PLL to generate 12 -> 39.750 (and tune clock speed for baud generator - but I bet it was close enough).
<Xark> emeb_mac: Pretty good for a quick attempt (hardest part was getting stupid PMOD numbers pins straight from VGA PMOD diagram).
<emeb_mac> Xark: good news.
<emeb_mac> Only other thing might be tweaking some of the timing constants - in the ACIA there's a baud rate setting that depends on the clock speed.
<emeb_mac> Xark: I'm kind of curious about what's wrong with the VGA display though. Not sure what you mean by "character memory seems odd"
<Xark> emeb_mac: Yeah, that is what I tweaked (from 10Mhz to 9.9xxxxMhz)
<Xark> emeb_mac: Can you see my picture? You can see where I typed ?"Hello" then hit enter and see where "hello" ended up (that display is what I see at BASIC boot after a few CRs and a bad attempt at a shift-2 quote for print).
<Xark> It is like it still thinks I have 24 columns?
<emeb_mac> Xark: OK - see it now.
<Xark> yes, exacty 32 columns per line.
<emeb_mac> Looks like the video driver code is for the NTSC
<Xark> (So maybe "patch" failed)
<Xark> Ahh, or that.
<emeb_mac> let me check if the github source is not properly updated
horizon_ has quit [Ping timeout: 245 seconds]
<Xark> emeb_mac: I did not try to rebuild cc65 stuff yet...
<Xark> (so maybe source is good, but not default rom?)
<emeb_mac> Xark: check the cc65/video.s line 158 - should be .byte $48
<emeb_mac> that's the text line width - 72char for VGA mode
<Xark> emeb_mac: Yes, I remember from my real OSI-C1P. :)
<Xark> (with ~24 visible)
<Xark> Okay...rebuilt cc64 stuff but no change.
<emeb_mac> weird
horizon has joined ##openfpga
horizon has quit [Changing host]
horizon has joined ##openfpga
<Xark> Yeah, $48
<Xark> Do I need to do anthing other than "make" (it seemed to make a rom.bin)
<Xark> ?
<Xark> Rather, rom.hex
<Xark> Hmm, maybe copy it to ../icestorm...
<emeb_mac> yeah - remake in icestorm dir
<emeb_mac> the icestorm Makefile should grab the new rom
<emeb_mac> running make in cc65 doesn't update the fpga
<Xark> Maybe a makefile date thing. I notice clean doesn't delete icestorm/rom.hex
<emeb_mac> oh, could be.
<emeb_mac> rm *.hex
<Xark> Hmm, now on serial I just see "up5k is starting..."
<emeb_mac> PS/2 kbd plugged in?
<emeb_mac> I made some changes to PS/2 driver that hang if no kbd present.
<Xark> emeb_mac: Now it is, but same hang at that message (on VGA too).
<Xark> emeb_mac: Should icestorm/rom.hex match cc64/rom.hex (they don't).
<emeb_mac> no
<emeb_mac> rom.hex is the random placeholder data generated by icebram
<emeb_mac> code.hex is the real stuff now
<Xark> emeb_mac: I see.
vonnieda has joined ##openfpga
<Xark> emeb_mac: Well, maybe new image hates both my PS/2 keyboards now...
<emeb_mac> could try bypassing PS/2 and go serial only.
<Xark> emeb_mac: Do you burn BASIC 2nd (with -n)?
<emeb_mac> I use my own SPI utilities which don't overwrite BASIC when I update the bitstream
<Xark> emeb_mac: I'm sorry, false alarm. I had PMOD "off by one row". :)
<Xark> emeb_mac: Okay. I am using iceprog
<emeb_mac> Ah OK - so PS/2 working now?
<Xark> emeb_mac: Yes, it all looks good. PS/2 and all.
<emeb_mac> cool. VGA all properly lined up too?
<Xark> emeb_mac: ?FRE(0) shows -25347 :D I would have killed for that in the day (I think I got up to 6KB, buying 2114 chips from Radio Shack for $40 per KB).
<Xark> emeb_mac: Yes, works beautifully on both of my VGA monitors.
<emeb_mac> Xark: heh, yeah. I think I found a cheap source of 2114s for mine and got it up to 8k
<Xark> (even with freq fudge - these are modern LCD jobbies)
<emeb_mac> nice
<emeb_mac> I should send you sources for some of my BASIC test code.
<emeb_mac> for testing sound and video modes
<Xark> emeb_mac: Cool. I soldered joysticks and added RS-232 to my OSI-C1P. So so glad my folks sprung for it vs 1802 COSMAC ELF (of course, I really wanted an Apple II, but those were way $$$).
<Xark> emeb_mac: Sure, that would be great. I have been lax looking at docs to see how to load/save (more busy wih getting it ported to icebreaker & my pmods).
<emeb_mac> Xark: I can send you binary to load into SPI flash
* Xark notes "video games" are rather lacking on 6 7-segment displays...
<emeb_mac> contains raw BASIC code that you can just use "LOAD XX" command on
<Xark> emeb_mac: Sweet.
<emeb_mac> email addr to send to?
<emeb_mac> (small ~5kB)
<emeb_mac> unzip that file and program into SPI flash at addr 0x50000
<emeb_mac> It's mostly 0xFF "unprogrammed" data so smaller than it looks
<emeb_mac> then start up BASIC and LOAD. Various prgs in slots 1-18
<emeb_mac> IIRC slot 18 is a med-res color mandelbrot generator.
<Xark> emeb_mac: Okay.
SolraBizna has quit [Quit: leaving]
<Xark> emeb_mac: Works nicely. I notice PS/2 init perhaps isn't quite right. I lose first char I type (and don't see LEDs flash on reset).
<Xark> emeb_mac: (Waiting for mandelbrot currently...)
Bike has quit [Quit: Lost terminal]
sgcarnaval has quit [Ping timeout: 258 seconds]
<emeb_mac> Xark: it's slooooooowwww :)
<emeb_mac> and yeah - PS/2 acts weird on first start after FPGA config.
<emeb_mac> subsequent resets seem OK though in my experience.
<Xark> emeb_mac: Indeed. This fractal is rendering at a "classic" speed that makes me remember BASIC. This is ~10Mhz 6502?
<emeb_mac> Yep
<emeb_mac> with 4-byte floats in software
<Xark> emeb_mac: No, OSI BASIC, so only 6 1/2 digits (24 bits). :)
<Xark> (Made it the fastest 6502 basic)
<emeb_mac> 24-bit mantissa + sign + 7bit exponent
<emeb_mac> but it doesn't help that I'm computing the pixel addressing in BASIC too. Would be a bit zippier if that were done in assy.
<Xark> Ahh, okay, but all the other PET, Applesoft had 8 digits.
<emeb_mac> right - 6-byte floats IIRC
<emeb_mac> the options are right there in the MS source code.
<Xark> emeb_mac: Cool.
<Xark> emeb_mac: As a kid, I never wanted precision (vs speed). :)
* Xark has just over 1/2 a fractal rendered... :)
<emeb_mac> source in ca65 syntax
<emeb_mac> builds a byte-for-byte copy
<Xark> emeb_mac: Right. I remember finding the companion site talking about Easter eggs and the garbage collection bug.
<emeb_mac> Xark: someone has the whole thing in a single source file. A bit easier to find stuff in it.
<emeb_mac> but I lost track of the link for that one.
<Xark> emeb_mac: Well thank you for a very nice project for me to play with IceBreaker & Icestorm - and also to bring back some fond memories of my first computer. :)
<emeb_mac> Xark: my pleasure - glad you got it all working.
<Xark> emeb_mac: Yes, no real trouble (other than minor rom delete).
<Xark> emeb_mac: I hope to get audio working (and maybe try composite version).
<emeb_mac> Xark: cool. let me know how it goes.
<emeb_mac> It's on my to-do list to make the audio a bit more useful. Maybe add envelopes, maybe convert it over to handle OPL style FM.
<Xark> emeb_mac: I will get things fixed and (likely) put a fork on my github (since other IceBreaker FPGA peeps may enjoy it).
<emeb_mac> Xark: great idea.
emeb_mac has left ##openfpga [##openfpga]
emeb_mac has joined ##openfpga
<Xark> emeb_mac: Woot! http://justpaste.it/5bmyf (Morie pattern only in photo...)
<Xark> Moire*
<emeb_mac> looks right
<emeb_mac> with bonus color cycling
bluezinc_ has quit [Quit: Do not go gentle into that good night.]
dj_pi has quit [Ping timeout: 245 seconds]
bluezinc has joined ##openfpga
rohitksingh_work has joined ##openfpga
knielsen has joined ##openfpga
<_whitenotifier-3> [whitequark/libfx2] whitequark pushed 1 commit to master [+0/-0/±2] https://git.io/fjrKQ
<_whitenotifier-3> [whitequark/libfx2] whitequark bbadc92 - Fix unbalanced stack in delay_us_overhead() in case of early return.
vonnieda_ has joined ##openfpga
vonnieda has quit [Ping timeout: 250 seconds]
Miyu has joined ##openfpga
sgcarnaval has joined ##openfpga
gsi__ is now known as gsi_
emeb_mac has quit [Ping timeout: 258 seconds]
Jybz has joined ##openfpga
<zignig> tnt: is the code for your USB and 16bit CPU public or supersecret ?
sgcarnaval has quit [Ping timeout: 258 seconds]
<tnt> zignig: The USB stack is on github right now. https://github.com/smunaut/ice40-playground/tree/master/cores/usb
<tnt> zignig: the cpu, I haven't pushed yet, but if you're interested, I can probably push it later today, I just didn't take the time to cleanup the toolchain much yet.
<zignig> messy is awesome ! :)
<zignig> I was looking for you as tnt, stealth alias ;
<zignig> )
* zignig moves the large HAMMER so the plc can see it clearly and will start listening to me.
<tnt> zignig: tnt was taken on github :p
<zignig> bah! , the HAMMER viewing worked , the PLC is now listening to 9600baud mod bus over RS232.
* zignig mumbles about arcane protocols.
m4ssi has joined ##openfpga
mossmann has quit [Ping timeout: 258 seconds]
yhetti has quit [Ping timeout: 272 seconds]
mossmann has joined ##openfpga
yhetti has joined ##openfpga
Asu has joined ##openfpga
<gruetzkopf> automation tech is fun
<gruetzkopf> so many absurd protocols
pie_ has quit [Ping timeout: 252 seconds]
degasus has joined ##openfpga
cr1901_modern has quit [Quit: Leaving.]
rohitksingh_work has quit [Read error: Connection reset by peer]
dj_pi has joined ##openfpga
cr1901 has joined ##openfpga
pie_ has joined ##openfpga
* zignig does a happy dance
<zignig> managed to get an echo program running on Boneless , ...finally.. this has been chaffing for about a week.
rohitksingh has joined ##openfpga
vonnieda_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
vonnieda has joined ##openfpga
<keesj_> zignig: nice
<zignig> keesj_: thanks ;) , echo is the first step, it's on a tinybx through an FTDI on bread board.
<zignig> now comes the fun bit, serial bootloader , tether. Then I don't have to recompile the gateware when I want the change the program.
<keesj_> what core are you running? did you do the assembly , do you use a linker script?
<tnt> zignig: you know icebram ?
<zignig> the core is a branch of @whitequark Boneless https://github.com/zignig/Boneless-CPU/tree/assembler
<zignig> tnt: yeah , I looked at that , fomu (and others) use it.
<zignig> keesj_: I wrote an assembly parser that gets the names out of the processor, the whole thing is running in nMigen
<zignig> builds and writes to flash in ( real0m12.295s ) no time at all... ;)
dj_pi has quit [Ping timeout: 246 seconds]
<zignig> tnt: like the cores that you have written , I'm doing the same for some nmigen constructs.
<tnt> zignig: heh yeah, nmigen is probably better suited for easily plug cores together :)
<tnt> but for actually writing the logic, I still prefer verilog. I just don't really like the mapping and syntax of migen for logic part.
<zignig> tnt: fair enough , I find verilog like a double ended light sabre.. powerful weapon, misuse causes amputations.
<tnt> Oh yeah, definitely, I stick to a very limited subset of it that I know behaves as I expect :p
<zignig> tnt: indeed. I'm just really enjoying making FPGA thingies that work with a open tool chain.
<zignig> nMigen actually writes into the yosys IR rather than verilog, so there is none is sight for these build.
<zignig> however it can write and include verilog if needed.
<tnt> Yeah, I haven't tried nmigen yet, so far my migen experience is pretty much for glasgow.
<zignig> mmmmm want.
<tnt> (where the advantage of migen are obvious in that case)
<zignig> um, yep ;)
<zignig> here make one of these , ZOT! , no be a VGA port ZOT!
Stary has quit [Ping timeout: 250 seconds]
cr1901 has quit [Quit: Leaving.]
cr1901 has joined ##openfpga
<felix_> does nMigen check if both sides of a comparision have the same size? oMigen didn't throw an error and i'd like this to be an error tbh; at least in plain vhdl the synthesis tool would have complained
<zignig> felix_: just checked that's a no.
<zignig> well it does not raise an error
zignig is now known as zignig_bedtime
<felix_> meh :/
<zignig_bedtime> open an issue , see what happens ?
emeb has joined ##openfpga
<felix_> whitequark: ^ could that check be easily implemented in nMigen? i don't really see a non-errornous case of an equal-comparision on two signals with different width
<felix_> for other comparisions i do see valid cases though
Miyu has quit [Ping timeout: 248 seconds]
emeb has quit [Quit: Leaving.]
OmniMancer has quit [Quit: Leaving.]
rohitksingh has quit [Ping timeout: 248 seconds]
m4ssi has quit [Remote host closed the connection]
rohitksingh has joined ##openfpga
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined ##openfpga
<kc8apf> I really need to make a list of all the boards in my lending library. If there's a particular FPGA you want to poke at for OSS-related things, let me know and I'll see if I have one.
<mwk> mmh
<mwk> kc8apf: do you have any old virtex?
<mwk> <7
<kc8apf> yup
<mwk> which one[s]?
<kc8apf> CompactPCI board with 4x XC2V4000, 1x XC2VP4, 1x XC95288XL, and a bunch of DSPs
<kc8apf> details on that board are a bit light due to it being intended as an actual product rather than a pure dev board
<mwk> oh, virtex 2
<mwk> that could come useful in a few months
<tnt> kc8apf: oh you got it in the end good :)
<kc8apf> yup
<kc8apf> need to work out the schematic at some point
<tnt> yeah, I know I mapped the fpga connection with jtag bscan at som epoint, but couldn't find back the result ...
<kc8apf> so many projects......
<azonenberg> kc8apf, mwk: i have a significant number of spartan3/6 boards i am willing to loan out or even sell/give away permanently if there's interest
<azonenberg> ranging from a tiny custom board with a tqfp 3s50a and like four GPIOs on a ribbon cable
<azonenberg> up to two digilent atlys
Asu has quit [Ping timeout: 252 seconds]
Asu has joined ##openfpga
rohitksingh has quit [Remote host closed the connection]
<kc8apf> I've got a range of spartan3/3e/6 boards
<kc8apf> also have older parts like xc2000, xc3000, etc
<tnt> I have some xc3s400 ft256 chips in a tray if someone wants to make a board :p
rohitksingh has joined ##openfpga
<kc8apf> even have a MMI XC2064
<kc8apf> though I'm very unlikely to lend that particular part out considering it's extremely rare
<azonenberg_work> tnt: straight 3s400, not 400a?
<azonenberg_work> if you dont mind offering one up to the decap gods, i bet digshadow would love a die photo
<azonenberg_work> that's not in our collection yet
Asu` has joined ##openfpga
Asu has quit [Ping timeout: 246 seconds]
Asu has joined ##openfpga
Asu` has quit [Ping timeout: 268 seconds]
<tnt> azonenberg_work: https://i.imgur.com/W8eTuQz.jpg
<tnt> azonenberg_work: so yeah, original 3s400.
<digshadow> azonenberg_work: of general interest, but other projects are higher priority for the forseeable future
<tnt> azonenberg_work: If you want them, they're yours. I got rid of a bunch of old component trays and at the last second decided to hang around this one tray ...
<digshadow> tnt: if you are going to toss them though I'll take them :)
<azonenberg> Yeah its not a huge priority
<azonenberg> but would be nice to have for the archives
<tnt> digshadow: sure, just tell me where to send them ( tnt at 246tnt.com )
Asu` has joined ##openfpga
<kc8apf> I'll see about getting a few from digshadow to turn into dev boards
Asu has quit [Ping timeout: 268 seconds]
sgcarnaval has joined ##openfpga
<tnt> kc8apf: make sure to bake them to drive moisture out. They're like 15 years old samples and definitely not kept in huminity controlled environment :) (I mean, they weren't outside in the rain or anything so they should be fine, just ... my appartement)
<kc8apf> understood
davidc___ has joined ##openfpga
asy_ has joined ##openfpga
davidc__ has quit [Ping timeout: 258 seconds]
Jybz has quit [Quit: Konversation terminated!]
asy has quit [Ping timeout: 258 seconds]
tpw_rules has quit [Ping timeout: 258 seconds]
Jybz has joined ##openfpga
tpw_rules has joined ##openfpga
Morn_ has quit [Ping timeout: 248 seconds]
Morn_ has joined ##openfpga
Stary has joined ##openfpga
Miyu has joined ##openfpga
Asu` has quit [Read error: Connection reset by peer]
Asu` has joined ##openfpga
edmund_ has quit [Ping timeout: 244 seconds]
edmund_ has joined ##openfpga
rohitksingh has quit [Remote host closed the connection]
mumptai has joined ##openfpga
anuejn has quit [Quit: No Ping reply in 180 seconds.]
anuejn has joined ##openfpga
<whitequark> felix_: it could be implemented easily, but i'm not sure if it should be
<whitequark> the good thing is that the architecture of nmigen means it is *very* easy to implement this check out of tree and see how much it breaks
<whitequark> that said, equality behaving differently from all other comparisons doesn't seem right to me at all
<tnt> whitequark: what's the behavior currently ? I guess it zero extends the smaller signal ?
<felix_> yeah, one comparison behaving differently than the other ones is indeed not very good
Miyu has quit [Ping timeout: 272 seconds]
<whitequark> tnt: it zero extends or sign extends the smaller signal depending on whether it's signed
<whitequark> i.e. it works the same way as normal 2's complement numbers
edmund_ has quit [Ping timeout: 248 seconds]
<tnt> ok, makes sense.
Asu` has quit [Ping timeout: 246 seconds]
Asu has joined ##openfpga
Asu` has joined ##openfpga
Asu has quit [Ping timeout: 248 seconds]
Asu` has quit [Read error: Connection reset by peer]
Asu` has joined ##openfpga
mkdir has joined ##openfpga
<mkdir> is there a schematic for ice40 stick?
<whitequark> icestick?
<mkdir> yes
<whitequark> yup, in its user manual
<mkdir> I hear it's as cold as iCE
<mkdir> cool
<mkdir> found it
emeb has joined ##openfpga
mkdir has quit [Remote host closed the connection]
Asu` has quit [Quit: Konversation terminated!]
Bike has joined ##openfpga
Richard_Simmons2 has quit [Read error: Connection reset by peer]
Jybz has quit [Quit: Konversation terminated!]
davidc___ is now known as davidc__
renze has quit [Ping timeout: 244 seconds]
vonnieda has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
s_frit has quit [Remote host closed the connection]
s_frit has joined ##openfpga
renze has joined ##openfpga
Bob_Dole has joined ##openfpga
renze has quit [Read error: Connection reset by peer]
renze has joined ##openfpga
Zorix has quit [Ping timeout: 250 seconds]
mumptai has quit [Quit: Verlassend]
Zorix has joined ##openfpga