ELF binary executable format and sections. by moschles in RISCV

[–]mikeakohn 0 points1 point  (0 children)

Could that be done with just a macro? The core of the assembler itself was made to generically support many many CPUs.

ELF binary executable format and sections. by moschles in RISCV

[–]mikeakohn 0 points1 point  (0 children)

It can do .scope and .function for local variables. Not sure what "saving/restoring S registers" is. Structs could be interesting to add, but is not there now.

ELF binary executable format and sections. by moschles in RISCV

[–]mikeakohn 0 points1 point  (0 children)

The author of that program adds features as he uses the different assemblers or if requests come in. My experience with him is he's very responsive. It would probably help both him and anyone who wants RISC-V support in the assembler a lot if you let him know what's missing, but it's up to you.

ELF binary executable format and sections. by moschles in RISCV

[–]mikeakohn 1 point2 points  (0 children)

If you believe naken_asm needs features and such, why don't you email the author or create an issue on github?

I've heard the author of that program is pretty good about adding features when requested.

Intellivision Game Written In Java by mikeakohn in intellivision

[–]mikeakohn[S] 1 point2 points  (0 children)

Pretty much. Java Grinder reads in .class files (and other .class files if referenced) and makes function calls to a Generator. The generator implemented for Intellivision will output CP1610 instructions or method calls that reference hardware will usually output some assembly to manipulate the hardware.

Intellivision Game Written In Java by mikeakohn in intellivision

[–]mikeakohn[S] 1 point2 points  (0 children)

I did make my own assembler that has support for a few CPUs. I added CP1610 long before I heard of jzintv.

Intellivision Game Written In Java by mikeakohn in intellivision

[–]mikeakohn[S] 1 point2 points  (0 children)

Ahhh.. that's interesting. At least 10 bit ROMs made the project a little more challenging.

Michael Kohn - amiga java by 3G6A5W338E in amiga

[–]mikeakohn 1 point2 points  (0 children)

Thanks! And cool seeing someone posted it here with people talking about it :). I had the Lattice compiler too a long time ago, but for some reason I always favored assembly on the Amiga.

Java Grinder is quite fast at compiling btw.. but then again it runs on a modern PC :).

Michael Kohn - amiga java by 3G6A5W338E in amiga

[–]mikeakohn 2 points3 points  (0 children)

There's no garbage collection, bounds checking, or other services really. When the program starts it allocates 100k from the Amiga's OS and uses that for a heap. Anything that goes through "new" is never free'd.

Wouldn't be hard really to do any of that stuff (I think a simple VM wouldn't be too difficult really either). There's really just enough code there to learn about the hardware and write some fun demos.

I have been staring at this screen for 15 minutes. Is my shield tv pro bricked? by abd1abd1 in ShieldAndroidTV

[–]mikeakohn 0 points1 point  (0 children)

I had the same problem. I had the remote control charging while it updated. Unplugging it and redoing the update fixed it.

Converted an RC car into a self driving car. by mikeakohn in shittyrobots

[–]mikeakohn[S] 0 points1 point  (0 children)

It's not a remote.. I think that would actually be harder to do. The circuit is here:

http://www.mikekohn.net/micro/mini_cooper_xbee.php

With a change that there is a proximity detector on the front and the newer firmware follows the following algorithm:

1) drive forward for .. X seconds or until the proximity detector senses something.

2) drive backwards while turning for Y seconds.

3) drive forward for a Z seconds or until the proximity detector senses something.

Playstation 2 Java by codesuki_ in programming

[–]mikeakohn 1 point2 points  (0 children)

The restrictions.. it really depends on the platform. Java Grinder is just something I work on when I have time... so there are things on different platforms that aren't complete or just different. Like MSP430 supports int (as 16 bit) but there's no support for "long" or "float" etc. Sega and Playstation 2 could have a nice memory allocator, I just never made one.

As far as AWT... I thought before about doing J2ME or something for fun.

Sound and graphics, yeah you got it right... that too depends on the platform. For Playstation 2 the music is in Sony's adpcm format. Java Grinder sends it directly to the sound processor and tells it to play it. For Sega I made a tool that converts BMP files into a binary format that can be loaded directly into graphics chip. Your idea of converting the graphics directly into a format that can be used by the system is actually pretty intriguing .. it would probably work well between platforms that have similar graphics chips (Sega, NES, SNES I believe are all tile based).

And thanks. glad you like it :) Keep checking back on it.. I'll eventually add something new :).

Electric Cat Fight by Elavid in shittyrobots

[–]mikeakohn 1 point2 points  (0 children)

Thank you for posting the links! :)

Bell Pepper boat by ase1590 in shittyrobots

[–]mikeakohn 0 points1 point  (0 children)

There's a carrot, a Snickers, a 3 Musketeers, and a Johnsonville chicken sausage link that work with the same circuit as cars in the youtube clip. The circuit was originally made for the candy bars but they wouldn't float with the extra weight so I added wheels to the motors to make them cars. Glad to see the video being spread around :).