Post AvrLxAPLil30nd7kye by stylus@social.afront.org
(DIR) More posts by stylus@social.afront.org
(DIR) Post #AvrLx0gLsghqdT0C5g by stylus@social.afront.org
2025-06-25T18:48:20Z
0 likes, 0 repeats
Micropython on m68k mac? why not! It's reached the point of sorta working.#umac #micropython #retro68 #macintosh #retrocomputing
(DIR) Post #AvrLx23QmMlGtKo8hc by stylus@social.afront.org
2025-06-26T13:18:09Z
0 likes, 0 repeats
Build updated at https://emergent.unpythonic.net/files/sandbox/micropython.dskAlmost all of the "full features" support level of micropython are enabled, "mpz" for long integers and "float" for floating point numbers.Backspace works in the repl. arrow keys don't.A TODO section in the new README lists key items to work on:Correctly implement GC collection (stack + registers)Add Mac API support (e.g., quickdraw, arbitrary traps)Support larger heapAddress GPL files (RetroConsole), GitHub Actions CI, and other issues that might prevent upstream inclusion.#umac #micropython #retro68 #macintosh #retrocomputing
(DIR) Post #AvrLx3UPRXw5LIRCOO by stylus@social.afront.org
2025-06-27T16:23:09Z
0 likes, 0 repeats
Darn, I think all the easy parts of the micropython mac m68k port are done.unfortunately, vfs_posix doesn't seem to be a good fit. I did manage to create a "file" but couldn't actually write data to it.And while it was working in system6 I just tried it again with system7 and it's failing to start at all. boo.https://github.com/jepler/circuitpython/blob/ports-m68kmac/ports/m68kmac/README.md#key-todos#umac #micropython #retro68 #macintosh #retrocomputing
(DIR) Post #AvrLx4CMo767Xd0IuO by stylus@social.afront.org
2025-06-27T17:42:20Z
0 likes, 0 repeats
It looks like the failure to start under system7 is just an artifact of a too-big executable file, caused by enabling micropython language & stdlib features willy nilly. Which prompts the question: why is the executable file already around 1MB !?
(DIR) Post #AvrLx4jgoDkjCyauqe by stylus@social.afront.org
2025-06-27T17:53:06Z
0 likes, 0 repeats
the basic 'hello world' produces a ~750kB file when the main object file is just 872 bytes. The "retro console" object files are only about 32kB., so I guess it's coming from retro68 including a lot of stuff as "standard library". Is it supposed to be that chonky? Can it ... not ? 740 -rw-r--r-- 1 jepler jepler 755712 Jun 25 18:04 HelloWorld.code.bin
(DIR) Post #AvrLx5LyVsNT7iVUWW by stylus@social.afront.org
2025-06-25T18:53:32Z
0 likes, 0 repeats
code: https://github.com/jepler/circuitpython/pull/new/ports-m68kmacbuilds with Retro68 docker image, something like docker run --rm --mount type=bind,source=.,destination=/work -it ghcr.io/autc04/retro68 make -C /work/ports/m68kmacdisk image [will be live for at least 40 hours]: https://emergent.unpythonic.net/files/sandbox/firmware.dsk
(DIR) Post #AvrLx5O6Ny4xEJVBq4 by stylus@social.afront.org
2025-06-27T18:19:47Z
0 likes, 0 repeats
"retro console" pulls in a substantal amount of code, maybe from libstdc++?Oh hi, I'm std::time_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_via_format(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, std::_Ios_Iostate&, tm*, wchar_t const*, std::__time_get_state&) const and I'm adding 4.5kB to your program and so are each of 100 of my closest friends.
(DIR) Post #AvrLx64zoUOFNLZRhI by stylus@social.afront.org
2025-06-28T08:55:02Z
0 likes, 0 repeats
Trying to be excited about the opportunity to write my own terminal emulator for m68k mac... and failing.
(DIR) Post #AvrLx6xEYpm85YwlEm by stylus@social.afront.org
2025-06-28T10:13:04Z
0 likes, 0 repeats
OK, well, it was much easier to hack out part of RetroConsole that was pulling in locale-sensitive routines. Now a "full features" build is under 400kB on disk and uses about 1MB when first opened (with a 100kB heap)Next task is filesystem I/O I guess?ugh, Unicode support? micropython is utf8 only, while mac has its own pre-standardization encoding I suppose. (yup: https://en.wikipedia.org/wiki/Mac_OS_Roman)
(DIR) Post #AvrLx7mdTitMeyzoMC by stylus@social.afront.org
2025-06-28T10:15:24Z
0 likes, 0 repeats
I hope to use adafruit_editor (simplistic python full-screen editor) as the editor for .py files.https://github.com/adafruit/Adafruit_Learning_System_Guides/tree/main/CircuitPython_Text_Editor/adafruit_editor
(DIR) Post #AvrLx8LjNExsPpPq3k by stylus@social.afront.org
2025-06-29T18:48:25Z
0 likes, 0 repeats
Whee! Now we can import files from the filesystem, as well as reading and writing files. Still haven't wrapped my head around how folders work, still can't enumerate files .. as usual, work pushed to my micropython fork on github (which is called circuitpython, because you can't have two different forks of the "same" original project, argh).#micropython #python #retrocomputing #retro68 #macintosh #m68k
(DIR) Post #AvrLx9Fk0zlfDXcZMW by stylus@social.afront.org
2025-06-30T19:20:17Z
0 likes, 0 repeats
I thought I had m68k GC collection working, but I don't.There may be multiple problems. I'm worried about one possible problem though: micropython assumes pointer types are sizeof(pointer) aligned, but I'm not sure that's the case on m68k macs. and indeed the compiler tells me alignof void* is 2. When it comes to the content of the stack, this may be trouble.
(DIR) Post #AvrLx9rfjy6p7BMrU8 by stylus@social.afront.org
2025-06-30T20:03:55Z
0 likes, 0 repeats
yup. putting in a nasty hack so that pointers can be found at multiple-of-2 addresses makes it work a LOT better.
(DIR) Post #AvrLxAPLil30nd7kye by stylus@social.afront.org
2025-06-30T20:09:30Z
0 likes, 0 repeats
oh my yay, it now works well enough to save and edit a file, then import and run that file.you could basically use an old m68k mac as a python3 (well, micropython) development system now.don't mind the debug messages, they're as scared of you as you are of them.#micropython #python #retrocomputing #retro68 #macintosh #m68k
(DIR) Post #AvrLxBIeP9HdZ8zvAu by stylus@social.afront.org
2025-07-01T07:37:26Z
0 likes, 1 repeats
Are there any folks with vintage Mac programming experience who'd like to collaborate on figuring out what's next with Micropython on Mac?I think that might be: What's the minimal set of APIs to do a fun graphical demo.Pointers to "how to"-ish documentation in Pascal and C would be great as well, I have failed at finding this kind of stuff. (I do have Inside Macintosh but it is not a great tutorial)#micropython#python#retrocomputing#retro68#macintosh#m68k
(DIR) Post #AvrLxGFI14Z8uASo88 by stylus@social.afront.org
2025-07-03T10:33:27Z
0 likes, 0 repeats
asyncio is working on mac micropython!also (not shown here) the "sys.stdin" object is pollable, and you can double-click a python file to run it as the main code file.#micropython#python#retrocomputing#retro68#macintosh#m68k
(DIR) Post #AvrLxLGtKXomUaFeoy by stylus@social.afront.org
2025-07-06T12:38:58Z
0 likes, 0 repeats
Now you can witness one of the first quickdraw calls from MicroPython on mac... 🎉 ⬛ #micropython #python #retrocomputing #retro68 #macintosh #m68k
(DIR) Post #AvrLxQqAco0blRnP0K by stylus@social.afront.org
2025-07-06T14:20:44Z
0 likes, 0 repeats
Doing a little iterative code development in micropython on an emulated m68k mac... I might not be so happy with the loading time if a real floppy was involved, but in an emulator it's heckin' snappy.Clearly I need to tackle the issue that you can't REALLY draw to the same window as the terminal....#micropython #python #retroComputing #retro68 #macintosh #m68k