@jede Porting Oric Screen Editor to a specific Orix function is absolutely something I would like to do if time permits. Combination of direct SD card access and a lot of additional bankable memory would be ideal for OSE.
So you confirm I should definately update my Twilighte board soon.
Only thing is that the Raspberry Pi Zero I used to have WiFi file access on that board is now my RGB2HDMI, as it is impossible to buy a new RPi now and that one was the one I used the less…. But of course plain USB stick should still also work.
Assinie did something to use bankable memory. But it missed something in the kernel in order to use it easily. It does not work as cc65 extended memory driver (but i could add it) but Assinie did the thing to work as an Unix/linux could. It's still under development 🙂 i would like to use also what Assinie does but i still did not find time to code.
You can update your board, but i will release a new kernel/shell next month (Orix v2022.4) with new features.
About pi zero, yes it's impossible to find pi4 or pi zero, and it's a bit annoying ... This way is a lot easier to code because it's easy to drag and drop, and it's the way i use to do drivers for ethernet card for Twilighte board. Assinie improved a lot oricutron emulation, but there is still a lack of accuracy for some part of the board.
About pi, i wanted to test if "GL inet routers" could do usb storage gadget, it seems that it could handle gadget but i never tested it. it's a linux core : https://www.gl-inet.com/
I have one of this router (which is plugged into the ethernet board of the twilighte board, in this way, oric has wifi access with tcp/ip stack on board/orix ) but i did not tested the mass storage gadget mode because i have the cheapest one which does not have sdcard slot so i did not try to test it.
But, i would like to replace pi zero to "gl inet" router, because it should do the job for usb storage, wifi network and maybe ssl proxy for Orix : usb storage connected on usb twilighte board, wifi network (Tcp/ip) ethernet board to ethernet port on router, and ssl proxy on router with ethernet access with ethernet board).
I don't know if it works, because i did not test it, but i can't develop without wifi access for the Oric
Certainly something to dive into. By the way, I do not use the CC65 for the C128 as well as that one imho is a rather bad implementation and not very usable, so in the C128 version of the screen editor I actually directly use bankswitching on kernel level in assembly code.
On the C128 this basically involves setting a shared RAM area in lower memory that is always visible in any bank and use ML routines from that shared RAM area for moving memory blocks between the banks.
So if something like that is possible on Orix/Twilighte board I would certainly be interested.
Funny, you just made me remember I actually own a GL-inet travel router I bought four years ago and completely forgot about… so apparently should recheck it 😉
https://www.amazon.de/dp/B07712LKJM?ref_=pe_1365651_54849071
Certainly something to dive into. By the way, I do not use the CC65 for the C128 as well as that one imho is a rather bad implementation and not very usable, so in the C128 version of the screen editor I actually directly use bankswitching on kernel level in assembly code.
On the C128 this basically involves setting a shared RAM area in lower memory that is always visible in any bank and use ML routines from that shared RAM area for moving memory blocks between the banks.
So if something like that is possible on Orix/Twilighte board I would certainly be interested.
Assinie did ramfs/tmpfs for bank memory. It means that it could be accessed with fopen/fread/fwrite/fclose if kernel can talk to an api, but for instance, it works in standalone mode. In that case, a code as this code could be done. I did not do mount point management for others filesystems (for example, mouting FDC microdisc.jasmin or .dsk file) : i mean drivers are almost availables but the "glue"is missing between orix and theses drivers.
It's not the perfect demonstration of optimized code (when kernel is called to manage memory) but it's easier and Os knows what the program use.
About cc65, sometimes it's a bit limited and i would like to provide a special .lib file for Orix target which could provide overrided cc65 function (as malloc calls).
Orix handles relocation format but not o65 format. We did a simplier format than o65 and in the future, a program written by Assinie and me will be necessary in order to convert cc65 format into orix relocation format. Why : because static address compilation is a problem for many cases, it's a problems for shell prompt. It's limited to 37 chars because it will override programs loaded in a static address.
37 chars is bit small when you need to type URL (which is a problem with my 'curl' implementation for the ethernet board plugged with twilighte board)
Funny, you just made me remember I actually own a GL-inet travel router I bought four years ago and completely forgot about… so apparently should recheck it 😉
https://www.amazon.de/dp/B07712LKJM?ref_=pe_1365651_54849071
I don't know if this one works but at least, you have sdcard slot on this one which is perfect for usb mass storage.
About mass storage gadget support, this forum can help a bit because some people tries to have gadget working (ethernet port for example). It seems that some gl inet router could with updated software, and others could with hardware modification : https://forum.gl-inet.com/t/usb-bus-issue-with-lede-openwrt-gl-inet-usb150-micro-router/4374
The main problem is to find which router manages usb device mode without any hardware modification