HNHacker News
TopNewBestAskShowJobs

noone_youknow

396 karma · joined December 25, 2019

submissionscomments
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Nope, that’s the syntax for a one-dimensional array of strings. I wanted to keep the syntax as close to JVM internal type names as possible.
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Awesome, that's a very interesting project! Thanks for the link :)
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
> What if someone was laying bricks for 9 hours and then came home ate dinner and then laid bricks for 3 more hours and did this for years and then took a vacation and laid bricks during the vacation as well?

Well, then I would surmise that they must really enjoy laying bricks. And if that's the case, then more power to them :)

> I mean, do we understand that we get a single shot at life.

I'm pretty sure we do. And some of us are lucky enough that we get to choose how we spend it :)

noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
That's either the best or the worst idea I've ever heard. I can't decide which... :D
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
That's a great suggestion, I'll get the README updated with that. Thanks!
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Thanks :)

I definitely got into the flow for the first couple of days when I was laying down the foundations, it was the weekend and there weren't many distractions. If it wasn't for that I'd likely not have gotten as far as I did during the rest of the time (during the week, when there were other things going on and I wanted to spend some time away from the computer).

I also found that having set myself a goal for the week (support all the instructions) along with a couple of stretch goals (gradle plugin, IntelliJ plugin - I only hit one of these within the time limit though) helped to keep me motivated, and kept me at it for at least an hour every day, even when there were other things going on.

noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Oh yeah, totally. As another reply mentions, this isn't about performance - by this point Javac is most likely doing the best thing possible (especially given the knowledge of hotspot and intrinsics that are built in to it). I kind of hint at this in the readme :)

That said, this doesn't _have_ to be any slower than Javac - in fact I recommend looking at the disassembly of classes compiled with Javac to see how things work under the hood :)

noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Thanks :) Small world, I currently help maintain Jasmin (via involvement in Code Shelter).
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Haha yes, I'll admit there are probably better ways to decompress :D
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
It really is. We've Sun to thank for that I think.
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
It sure will, as an assembler it only does the bare minimum of validation, so you should totally be able to generate "dodgy" code and see if it works on older JVMs :)
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
There's a "cookbook" document in the repo, but it's not very comprehensive - I'd be more than happy to take PRs :) https://github.com/roscopeco/jasm/blob/develop/docs/cookbook...
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Awesome, I'm gonna have to take a good look at your project, it's very interesting! Thanks :)
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Awesome! I started this for educational purposes too, but if it turns out to be useful then I'll be very happy! Hope it turns out that way (and let me know if there's anything else you need to make it useful! :) )
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Thanks :)
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
I couldn't agree more, I'm a big fan of "show me the code" myself.
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
Awesome, thanks! Would love to hear if it turns out to be interesting (or maybe even useful!)
noone_youknow··on Show HN: I spent my vacation writing a modern JVM assembler
I had a lot of fun doing this, and along the way I learned a lot about writing Gradle and IntelliJ plugins, and I hope others might find this fun too :)
noone_youknow··on Ask HN: Why does this image look 3D?
iPhone 13 pro max here, see it as 3D. Pretty trippy!

(Also yes, glasses)

noone_youknow··on Ask HN: Who's getting pulled back into the office?
I disagree on the lack of work community and camaraderie, and I don’t keep animals at home, period. I also don’t see pair programming as a huge plus in any event, but when it’s needed I’ve not found it to be any less effective remotely.

As for the rest, I (personally) don’t see them as positives anyway…

noone_youknow··on Ask HN: Who's getting pulled back into the office?
The company I worked for (a consultancy) started touting a “hybrid working model” (I.e. we’ll need you in the office more and more as we see fit) so I quit and got a full-remote job with another company who are based as far from me as possible (so even if they decide to vary my contract and go office based I’m well outside the area they could reasonably expect me to travel).

I’ll never go back to commuting.

noone_youknow··on Minimal single-board computer based on Motorola 68000
Awesome :) I've played around a bit interfacing Arduino to mine too, and found I had to use AVR assembly to get the timing right.

Yep, those are exactly the same as some of the fakes I have here. Adeleparts definitely rings a bell as the source of some of mine too.

Sadly it seems to be quite common to remark the "lesser" 030/040/060s to suggest they are the fully-capable ones :( Fingers crossed yours isn't like that!

noone_youknow··on Minimal single-board computer based on Motorola 68000
This. Well said.
noone_youknow··on Minimal single-board computer based on Motorola 68000
You do have to be careful with 68010's from China... I have a couple hundred remarked 68000s that I bought as 68010s before I got good at spotting fakes and knowing who to deal with.

I just keep them in a box to take them out of circulation, it's not even worth the hassle of returning them...

noone_youknow··on Minimal single-board computer based on Motorola 68000
Hi! I got started pretty much the same way, I used the 68k family a lot many years ago, but then a couple of years ago I randomly decided to order a 68010 that popped up on eBay and, well, here we are!

I love seeing other boards, and don't think of it as competition - I think the more of us there are keeping this stuff alive, the better!

I really like your project, I'll be keeping an eye out for updates :)

noone_youknow··on Minimal single-board computer based on Motorola 68000
You're right that's how most boards handle having ROM low for the first four cycles, and that's how mine does it. I use a 74LS174 hooked up just like you say.

Early in the project I did a DTACK generator similar to what you describe, but now it's handled by a GAL which allows it to be zero-wait-state in certain address spaces while supporting external DTACK for IO devices. This also allows me to easily tri-state the signal do expansion boards can generate their own DTACK.

Your side-project sounds interesting, I'd love to take a look :) is it online anywhere?

noone_youknow··on Minimal single-board computer based on Motorola 68000
Fair point, but I happen to have a few thousand ATF16V8BQLs in stock, so I'm not worried for the time being :) Originally (on breadboard) the project didn't use any programmable logic, but board space dictated that I switch to them when I did the first PCB.
noone_youknow··on Minimal single-board computer based on Motorola 68000
I used to feel that way, until I replaced about ten 7400 series in my address decoder with one 16v8 that costs around a dollar and frees me from propagation delay concerns... YMMV of course :)
noone_youknow··on Minimal single-board computer based on Motorola 68000
I think Gibbon1 has hit the nail in the head in reply to this - it makes the instruction encoding smaller. It also allows the registers to be treated differently on-chip. Combined, this makes stuff like the register indirect with offset addressing modes on 68k both small and fast.
noone_youknow··on Minimal single-board computer based on Motorola 68000
MMU is optional, unless you want virtual memory. The 68010 fixes a bug in the 68000 whereby it didn’t stack enough information to recover from an address or bus error, but you still need an MMU if you want to actually do virtual memory in any performant fashion.
← PreviousPage 3 of 4Next →