1. inpout32
- Posted by andreasWagner in August
- 2166 views
Forked from Re: Mind blowingly impressive.
I am not seeing the Ultimate64 as being a step forward to getting the lawn mower to take a step forward.
Kat
That comes as a bit of a surprise (the lawn mower I mean, since this is the first time you mentioned it).
I'm curious if it's specifically the lawn mower step that you saw it not working (which might be a good example of sneaking in a "move the goal posts" sort of thing), or did you see an issue with the earlier steps discussed too (like turning a fan on the roof, or stuff related to your car engine)? In the car engine case I'm curious as to why that wouldn't have been mentioned earlier in the other thread when it was first brought up.
And i am curious about you assuming i'd be divulging every detail of my life and aspirations. Saying anything only muddies the waters, and this has happened many times! Watch another example....
There's some generic pata-to-ram modules floating around.
If you have any good links, I would love to learn more about this. A few searches couldn't find anything useful...
... and presto, you have gone off on web searches to prove i have no knowledge of this, and it will be a primary methodology of how i desire to interface to the computer. Until, someone remembers i said "relay", and in the methods of today, that means "plugging a relay directly into the desktop computer's motherboard". Holy carp!
Ok, take it so far off in left field
https://www.ebay.com/sch/i.html?_from=R40&_trksid=p4432023.m570.l1312&_nkw=pata++ram+module&_sacat=0
that you totally escape the point of the freaking OS sending and recieving communications from a device plugged into it. Me mentioning the usb/sata-pata-ram-dual-port-ram = pseudo-parport interface as the sole method of communications? Well, whatever it takes!, but i didn't need to do that to comm with this keybd or vga lcd screen!
(At this point I think it's fair to say that Euphoria/Phix almost certainly simply ain't gonna play any part in the solution you seek.)
Are you both saying that desktop computers and windows has "advanced" so far that it's no impossible for communications on sata, usb, old fashioned serial or parports? Then how the heck are my mouse, my keybd, my cameras, my thumb drives, and the dsl modem communicating with the computers?!?
Agreed. It's a shame that Euphoria/Phix must be tied to windoze for this particular user to be useful, since Linux in particular makes it really easy to directly access physical memory like so:
mem = open("/dev/mem", "rw") [snip]
And at this point i am cussing out loud. Very loud.
In the olden daze i'd bit bang the parport. From Apple, zx80, vic20, C64, 8086, 80286, all could do this. NOW, we are too cussed "advanced".
Kat
https://github.com/ellysh/InpOut32
https://www.highrez.co.uk/Downloads/InpOut32/
Maybe that will help. or is at least a starting point.
I have not tested it. I don't even have a computer with a 'real' serial or parallel port to test it on. And no interest in it either. From what I've seen it shouldn't be too difficult to write a wrapper for euphoria or phix.
Andreas
2. Re: inpout32
- Posted by katsmeow in August
- 2173 views
Thank you Andreas.
It smells like linux. Instead of "include filename", i must know C++, .NET, .VB and Visual Studio compilers and DLLs, and how to "wrap" in OE. There's not enough hours in the day. The one webpage even mentions it won't run unless it is installed under a 2GB memory location, which i have no hope of setting up.
One other point i feel the need to mention, it cannot be encrypted, just to make life easier for me. If this means i must use a hacked keybd and mechanical relays and slow a 8-core 4Ghz machine down to below 100 bytes per minute, so be it.
Kat
3. Re: inpout32
- Posted by jimcbrown (admin) in August
- 2182 views
And i am curious about you assuming i'd be divulging every detail of my life and aspirations.
And I am curious about you assuming that I'd ask you to be divulging every detail of your life and aspirations.
I simply stated that request because that knowledge helps me determine what might and might not be relevant or helpful to you. Naturally I respect your desire for privacy and do not require a response to every question asked or statement made - but also keep in mind that the less we (the community here) knows, the less effectively we are able to assist you.
With that in mind, I'll reiterate my request for clarification, so I can see how the Ultimate64 or a similar device can be made to work - or failing that what other alternative options may exist. Again though - will respect a non-response in the interests of your time and privacy - but hey, don't say that I didn't try to help!
I'm curious if it's specifically the lawn mower step that you saw it not working (which might be a good example of sneaking in a "move the goal posts" sort of thing), or did you see an issue with the earlier steps discussed too (like turning a fan on the roof, or stuff related to your car engine)? In the car engine case I'm curious as to why that wouldn't have been mentioned earlier in the other thread when it was first brought up.
There's some generic pata-to-ram modules floating around.
If you have any good links, I would love to learn more about this. A few searches couldn't find anything useful...
... and presto, you have gone off on web searches to prove i have no knowledge of this,
Not at all, I'm not sure how one jumps from "couldn't find anything useful" to "prove .. have no knowledge". If anything, the opposite was true - I was asking for help from you to fill the information gap (so that I could in turn assist you better).
Saying anything only muddies the waters, and this has happened many times!
I mean sure, but I wonder if that's describing you mostly. Like in the above - really how did you make that jump in meaning?
Watch another example....
and it will be a primary methodology of how i desire to interface to the computer.
Hmm, Good point - I didn't mean to imply that this would be the primary method, but I can see how a reasonable person might get that impression. Mostly I was just astonished at the irony (since Linux really does make it so so so easy to use that method).
Ok, take it so far off in left field
https://www.ebay.com/sch/i.html?_from=R40&_trksid=p4432023.m570.l1312&_nkw=pata++ram+module&_sacat=0
Me mentioning the usb/sata-pata-ram-dual-port-ram = pseudo-parport interface as the sole method of communications? Well, whatever it takes!,
Ah gotcha. So basically the ebay searches are of devices that are essentially USB flash sticks - except they connect via PATA rather than USB (so minus the USB part). I think I have an idea of what you meant now - to connect the PATA to the computer on one hand, but then to somehow modify the device so that it's able to connect and talk to what you're really interested in downstream and pass that along.
(At this point I think it's fair to say that Euphoria/Phix almost certainly simply ain't gonna play any part in the solution you seek.)
Are you both saying that desktop computers [...] has "advanced" so far that it's _now_ impossible for communications on sata, usb, old fashioned serial or parports?
In a word, no. See below:
Agreed. It's a shame that Euphoria/Phix must be tied to windoze for this particular user to be useful, since Linux in particular makes it really easy to directly access physical memory like so:
mem = open("/dev/mem", "rw")
[snip]
And at this point i am cussing out loud. Very loud.
...why? It's pure Eu, no C, the only nixism is in one file name. And even that can be changed - would prefer a DOS-style open("MEM:") along the lines of the old open("COM1") and such?
Are you both saying that desktop computers and windows has "advanced" so far that it's no impossible for communications on sata, usb, old fashioned serial or parports?
Until, someone remembers i said "relay", and in the methods of today, that means "plugging a relay directly into the desktop computer's motherboard". Holy carp!
that you totally escape the point of the freaking OS sending and recieving communications from a device plugged into it.
but i didn't need to do that to comm with this keybd or vga lcd screen!
In the olden daze i'd bit bang the parport. From Apple, zx80, vic20, C64, 8086, 80286, all could do this. NOW, we are too cussed "advanced".
Kat
I think "advanced" is the wrong term here. More like, Windoze locked things down to only the chosen few (C coding device driver developers) to protect the tide pod eaters.
The male-dominated thread is telling me windose is unable to gets(), getkey(), puts(), or call bat file to do similar i/o or whatever physical device that is not bolted to the mobo.
I think the only accurate part of this is the term "male-dominated" ;)
thread is telling me windose is unable to gets(), getkey(), puts(), or call bat file to do similar i/o or whatever physical device that is not bolted to the mobo.
Well obviously windoze is able to do it. I'm sure you've used a USB mouse and keyboard with windose, ergo windoze is able to do it.
And that i am not typing on a keybd with a serial link to the OS
See what I wrote above regarding USB keyboards and windoze;
and OE is a figment of my imagination.
Quote please?
Furthermore, since the keybd doesn't really exist in real life, i cannot use anything similar, of perhaps a different shape and speed, with relays or CdS cells or mosfets or crosspoint chips, to put the ascii bit pattern of "A" onto a serial usb cable into the computer for OE to gets() and then puts() to the screen, which in my imagination is on a different serial wire, so i can see and supposedly verify the magic happened, and in my wildest nitemares OE can make if-then-else or while() decisions on whether to show me the "A" or something else.
Obviously you can - in fact you already suggested a method below. Just you were displeased with doing things via that method since it was slower than you would like.
Maybe i should put relay contacts across every numeric key on this magic keybd [...] and glue CdS cells to places on the monitor [...] and i can read the light and dark under each cell as a bit!
I guess .. whatever works?
I think it will be stupidly slow, especially compared to writing to a file on a sata-3 hdd,
I can't disagree, but again ... whatever works I guess?
And why must i explicitly tell you what each use is that i put the bit pattern to?
I can't think of a reason.
And how can you complain about OE/Phix's falling market share with a requirement like that?
I guess, no requirement, therefore no complaint?
Are you going to explain to me the speed difference between a mechanical relay and an ecl chip?
No.
Did i ask you to do that?
No.
Is such in the AUP for windose or OE or Phix or any cussed thing?
Not that I'm aware of.
Why must you be told what device that relay or ram interface or light bulb is seen by?
If anything I'd suggest this would be superfluous to the point of actually reducing our helpfulness (as we'd have to weed through a lot of details to get to a good answer when a brief summary would have done so).
Mostly I just wanted to understand why a USB and ethernet supporting modernized Commodore64 clone couldn't do the job today, when the original Commodore64 was able to do it back in the 1980s.
It worked in the 1940's, surely the computers have not advanced such that this cannot work?
Sadly I feel that you may be overestimating the tide-pod eaters of the 21st century.
but wth, it beats trying to CUSSWORDS you have made getting data about using windows now as impossible to get and use
Tide pod eaters. What can I say?
Thank you Andreas.
It smells like linux.
How? Why? The website and github clearly state it's for Windoze.
as the secrets of the 100 flavors linux.
Kat
Speaking of which - the diversity of linux is beneficial to the ecosystem as a whole. Especially in terms of my employment (that is, keeping me employed). ;)
.VB and Visual Studio
That's hilarious, as if Visual Studio and linux belong in the same paragraph.
Instead of "include filename", i must know C++, .NET, .VB and Visual Studio compilers and DLLs, and how to "wrap" in OE.
The .NET and .VB are just examples, and C++ and Visual Studio compilers are just for development of the dll / driver itself.
Really you just need to know about DLL hell and how to wrap DLLs in OE (or Phix?).
There's not enough hours in the day.
Well, it's windoze. I can't blame you.
The one webpage even mentions it won't run unless it is installed under a 2GB memory location, which i have no hope of setting up.
I double checked that - if you can install and use it, it seems just the open("/dev/mem") feature won't work beyond that limitation. But other ways to talk to parport io and et al seem like they should still work - such as DlPortReadPortUshort.
One other point i feel the need to mention, it cannot be encrypted, just to make life easier for me. If this means i must use a hacked keybd and mechanical relays and slow a 8-core 4Ghz machine down to below 100 bytes per minute, so be it.
Kat
Yeah. Sadly it seems like the driver, while potentially a good solid choice in the past, has been unsupported since 2015.
Then how the heck are my mouse, my keybd, my cameras, my thumb drives, and the dsl modem communicating with the computers?!?
Someone among those C coding device driver developers wrote some C code to make it happen on Windoze... what can I say? It's been long apparent that Windows should have been named Losedows because Windows isn't a WIN but a major LOSE!
4. Re: inpout32
- Posted by jimcbrown (admin) 3 months ago
- 2021 views
Really! Sure beats "download zip file to c:\Euphoria\ and unzip there, and you're ready to go!".
Well, I'd argue that this is the web server/CGI equivalent.
In orden to run cgi-bin programs on a web server, I have copied /std folder inside /public_html/cgi-bin
But then, we've had 25 years of advancement since the olden daze.
Kat
In fairness, if we look back at what was going on roughly in that timeframe on this forum regarding using web servers, this is what we find:
https://openeuphoria.org/forum/m/92573.wc https://openeuphoria.org/forum/m/92575.wc https://openeuphoria.org/forum/m/93014.wc
Considering how badly things worked back then, this really can be considered an improvement...
5. Re: inpout32
- Posted by katsmeow 3 months ago
- 1912 views
But then, we've had 25 years of advancement since the olden daze.
Kat
In fairness, if we look back at what was going on roughly in that timeframe on this forum regarding using web servers, this is what we find:
https://openeuphoria.org/forum/m/92573.wc https://openeuphoria.org/forum/m/92575.wc https://openeuphoria.org/forum/m/93014.wc
Considering how badly things worked back then, this really can be considered an improvement...
And to be fair, i wrote a threaded httpd in mirc.
And an ftp uploader to a php webpage server, making dynamically created webpages here for serving from there.
And i built a cnc-able pcb driller, no way to connect it to OE.
So yea, i think i have pushed a lot of the limits of OE.
If i was coming across OE today, i'd pass it by.
There's just no way i can use OE to turn off the air conditioner.
Kat
6. Re: inpout32
- Posted by jmduro 3 months ago
- 1895 views
And to be fair, i wrote a threaded httpd in mirc.
And an ftp uploader to a php webpage server, making dynamically created webpages here for serving from there.
And i built a cnc-able pcb driller, no way to connect it to OE.
So yea, i think i have pushed a lot of the limits of OE.
If i was coming across OE today, i'd pass it by.
There's just no way i can use OE to turn off the air conditioner.
Kat
From Windows, you're right. From Linux it's another affair. I drive my pellet stove with OE either from a Raspberry Pi or from a virtual machine on my Asustor NAS.
I must say to be fair that there is a micro-server (WPalaControl) connected to my pellet stove in between, but I could also drive a relay through a hat on my Raspberry Pi.
Jean-Marc
7. Re: inpout32
- Posted by jmduro 3 months ago
- 1900 views
And to be fair, i wrote a threaded httpd in mirc.
And an ftp uploader to a php webpage server, making dynamically created webpages here for serving from there.
And i built a cnc-able pcb driller, no way to connect it to OE.
So yea, i think i have pushed a lot of the limits of OE.
If i was coming across OE today, i'd pass it by.
There's just no way i can use OE to turn off the air conditioner.
Kat
From Windows, you're right. From Linux it's another affair. I drive my pellet stove with OE either from a Raspberry Pi or from a virtual machine on my Asustor NAS.
I must say to be fair that there is a micro-server (WPalaControl) connected to my pellet stove in between, but I could also drive a relay through a hat on my Raspberry Pi.
Jean-Marc
Even from Windows I can drive my pellet stove via the API of the micro-server. I could also drive any domotic device though an API.
Jean-Marc
8. Re: inpout32
- Posted by irv 3 months ago
- 1862 views
This whole discussion is ridiculous.
Microsoft makes money by selling something that millions of people think they need.
Very few think they need to connect anything to a computer except a keyboard and a mouse. Therefore, neither Microsoft nor the consumer computer industry have any interest in making specialized interfaces, nor are they interested in having to support those kinds of things when people plug the wrong thing in and burn up their new computer.
Those that DO have a need to connect esoteric stuff to a computer simply choose industrial platforms, hardware and interfaces for their particular need. Costs more, because of the lower demand and need for higher quality equipment and better, safer design.
I don't think Microsoft cares if they lose 1 customer.
Especially one whose main goal in life is to never be satisfied.
9. Re: inpout32
- Posted by petelomax 3 months ago
- 1836 views
Amazing that an adult cannot learn what most middle-school girls and boys manage to do with just a few days of tinkering.
I'm thinking it isn't inability, it's unwillingness to give up an opportunity to complain about how unfair the world is.
In fairness, though, afaict no-one has ever posted a demo of anything (remotely) similar on this forum or its predecessor or in the archives, in now 31 years.
Maybe something along the lines of oh dear, another pointless link. I suppose some part of it must be Euphoria/Phix, to justify it being here, but otherwise
it doesn't matter if it is on Windows, Linux, RasperryPI, Arduino, ESP8266, or whatever. That, btw, is the gauntlet being thrown down.
10. Re: inpout32
- Posted by jimcbrown (admin) 3 months ago
- 1784 views
I suppose some part of it must be Euphoria/Phix, to justify it being here, but otherwise
it doesn't matter if it is on Windows, Linux, RasperryPI, Arduino, ESP8266, or whatever.
In fairness, though, afaict no-one has ever posted a demo of anything (remotely) similar on this forum or its predecessor or in the archives, in now 31 years.
Actually, there are a number of examples on this forum (of using Eu to communicate with an rPi, Arduino, etc), including this one from irv himself.
https://openeuphoria.org/forum/131017.wc#131017
But see also other examples,
https://openeuphoria.org/forum/123941.wc#123941 https://openeuphoria.org/forum/125793.wc#125793
Even one from ryanj, https://openeuphoria.org/forum/m/123448.wc
Maybe something along the lines of oh dear, another pointless link.
So granted, I can't say for sure that any of the above controlled a table lamp (but some of what folks were trying to do was left vague ("let Euphoria programs communicate with hardware based on the Propeller chip") so maybe it's covered?
I think that's part of the problem here though. What katsmeow wants this to be used for seemingly keeps changing (car engine monitoring? turning on a fan on a roof? driving a lawn mower?), so even if someone were to devote all the effort to fixing one aspect, a more complex one would arise.
Now that's actually fine. One's needs will change and grow over time. But the inability of a few folks to keep up with ever growing needs and requirements should not be confused with the ability/inability of OE/Phix (and even Eu 3.1 with the right combos) to do I/O to Arduinos/rPis/etc.
That, btw, is the gauntlet being thrown down.
And has the challenge been met in your opinion?
I'm thinking it isn't inability, it's unwillingness to give up an opportunity to complain about how unfair the world is.
I guess the point I'm trying to put emphasis on here is that it isn't OE/Phix/Eu3 that has an issue.
Rather these things are doable if you use Eu with either X or Y, or else you can do Z instead, but then we have this person who doesn't want to do or use any of X, Y, or Z.
Amazing that an adult cannot learn what most middle-school girls and boys manage to do with just a few days of tinkering.
To be fair, it's this bit that really got to me:
It's a shame that Euphoria/Phix must be tied to windoze for this particular user to be useful, since Linux in particular makes it really easy to directly access physical memory like so:
mem = open("/dev/mem", "rw")
snip
And at this point i am cussing out loud. Very loud.
11. Re: inpout32
- Posted by petelomax 3 months ago
- 1791 views
And has the challenge been met in your opinion?
Yep, 'cept now I suppose I really ought to go and find some cheap gadget to buy and have a play with...
I also forgot about WindowsSerialPortAccess and LinuxSerialCommunicationLibrary.
Can anyone think of a fun cheap little idea for me to try?
12. Re: inpout32
- Posted by ghaberek (admin) 3 months ago
- 1721 views
I don't know if anyone noticed but I have been working on an experimental ARM64 build. I have it working on a Raspberry Pi CM4 inside a uConsole which yes (gasp) runs Raspberry Pi OS
Most of the work has been done on the Pi itself. For some reason the build is segfaulting when run on GitHub's action runner environment but not on the Pi or my normal development machine.
This should make it easier to support modern Raspberry Pi running any Debian-based Linux operating system. But getting support for embedded devices like Arduino and Pi Pico is a much bigger ball of wax.
I will continue to work at it as time allows. ARM64 support is one of my main goals towards shipping Euphoria 4.2. Being able to work anywhere from on my uConsole will make this easier. (It's a really handy device.)
-Greg
13. Re: inpout32
- Posted by jimcbrown (admin) 3 months ago
- 1710 views
I don't know if anyone noticed
I didn't. Consider another mind blown.
but I have been working on an experimental ARM64 build.
I will continue to work at it as time allows.
Really cool to see!
Most of the work has been done on the Pi itself. For some reason the build is segfaulting when run on GitHub's action runner environment but not on the Pi or my normal development machine.
Wow, I didn't know github offered ARM64 support yet! Nice.
ARM64 support is one of my main goals towards shipping Euphoria 4.2.
-Greg
Really pleased to hear this. I'll keep my fingers crossed, please keep up the good work!
14. Re: inpout32
- Posted by ghaberek (admin) 3 months ago
- 1675 views
Wow, I didn't know github offered ARM64 support yet! Nice.
They don't!
I'm cross-compiling all six platforms (linux-arm, linux-arm64, linux-x86, linux-x64, windows-x86, windows-x64) on a traditional x86_64 instance using the upstream compilers from Debian.
I suspect the other builds would also fail if the ARM64 build didn't die first. They're running in parallel so it's mostly a race condition. He who fails first fails hardest.
I need to reproduce it locally first, which I've not done yet. The output of the segfault crash indicates it's something to do with map:put()?
-Greg
15. Re: inpout32
- Posted by petelomax 3 months ago
- 1670 views
The output of the segfault crash indicates it's something to do with map:put()?
I didn't look too hard, but I thought it was a "switch op do" statement - and wondered why the op parameter was declared object rather than integer(/enum).
16. Re: inpout32
- Posted by katsmeow 3 months ago
- 1451 views
I'm curious if it's specifically the lawn mower step that you saw it not working (which might be a good example of sneaking in a "move the goal posts" sort of thing), or did you see an issue with the earlier steps discussed too (like turning a fan on the roof, or stuff related to your car engine)?
The list was huge, and would be growing, but i threw it away as not achieveable. If i didn't randomly pick a different line item each time, you'd fixate on one controllable item when the issue is the connection from the computer to any of the items.
Very few think they need to connect anything to a computer except a keyboard and a mouse. Therefore, neither Microsoft nor the consumer computer industry have any interest in making specialized interfaces...
Since when is a 8-bit parallel port or RS-232 serial port (for that mouse and keybd) specialized? You know what would be wonderfully "specialised"? A selection of small sbc that restore the olde parport support of EU, and solve some 30 year old deficiencies of it.
And you know what? I'd offer the same $1000's of money i offered for car (i have had no transportation since Feb 2024, when two vehicles died) for parport of the 8086, 286, 386, 486... up till they took it away and gave us only usb ports, and locked them down in software. But you'd rather sit back and whine about me asking for it than re-establish OE's connectivity to the real world. Just like hearing every excuse possible for not selling me a car, truck, or ride to the local bank, basically what i hear here is variations on "anyone can do it, so no one will" or "spend a lot of time on 1000 different possibilities we can list but not prove can work, because no one here will". But i have been blowing money on a mail-order motorcycle and parts to make it disabled-accessable, on a "fixed income". I can easily picture the 400lb bike falling over on me at age 70, and people standing around "educating" me on bone density and gravity while i lay crushed under the bike, when the problem has been "why won't you sell me the car you advertise for sale?". Or discussing "living off grid" because a neighbor turns loose wolf hybrids, german shepards, rottwilers, and boxers, so i cannot mow around the water meter, so the water co turned the water off. So this forum goes on about "mower? changing goalposts!", so drinking water costs me 4x as much when i have Walmart deliver it one gallon at a time. Yes, i can buy gallon jugs of water on a credit card and have it delivered, but cannot do the same with a car or taxi/bus/van ride or OE code. This forum makes excuses the same way humans do in real life.
Kat
17. Re: inpout32
- Posted by katsmeow 3 months ago
- 1450 views
The output of the segfault crash indicates it's something to do with map:put()?
I didn't look too hard, but I thought it was a "switch op do" statement - and wondered why the op parameter was declared object rather than integer(/enum).
Amazing that an adult cannot learn what most middle-school girls and boys manage to do with just a few days of tinkering.
And i suppose the info Pete and Greg need to solve this is in the OE readme?
Kat
18. Re: inpout32
- Posted by katsmeow 3 months ago
- 1436 views
Actually, there are a number of examples on this forum (of using Eu to communicate with an rPi, Arduino, etc), including this one from irv himself.
Even one from ryanj, https://openeuphoria.org/forum/m/123448.wc
That's the one i put money into. Note the date of the post: Dec 28, 2013. I heard the same assurances there'd be forthcoming code several times this year. I'd have put more money into it, but the project has been dead at Ryan's end for 11 years now.
Maybe something along the lines of oh dear, another pointless link.
Which used a existing wireless net set up by a smart phone, or using the smart phone as a hotspot of some sort to a network. I have no smart phone, and never needed one to turn on a lamp before.
So granted, I can't say for sure that any of the above controlled a table lamp (but some of what folks were trying to do was left vague ("let Euphoria programs communicate with hardware based on the Propeller chip") so maybe it's covered?
I think that's part of the problem here though. What katsmeow wants this to be used for seemingly keeps changing (car engine monitoring? turning on a fan on a roof? driving a lawn mower?), so even if someone were to devote all the effort to fixing one aspect, a more complex one would arise.
Golly gee, it's as if a GPIO port is "specialised" after all, and might be useable only to operate a lamp? or a lawn mower, but not both!?! How in the heck can anything i plan on using it for change the OE code of write(parport,{16,12,"no"}) ? I never asked anyone to design or build the device the serial or parallel cable plugs into. What i asked for was how to get OE once again able to read and write pins which i can connect chips to.
It's a shame that Euphoria/Phix must be tied to windoze for this particular user to be useful, since Linux in particular makes it really easy to directly access physical memory like so:
mem = open("/dev/mem", "rw")
Great, how to i get the smoke detector and anemometer into memory?
Kat
19. Re: inpout32
- Posted by jimcbrown (admin) 3 months ago
- 1419 views
I didn't look too hard, but I thought it was a "switch op do" statement - and wondered why the op parameter was declared object rather than integer(/enum).
And i suppose the info Pete and Greg need to solve this is in the OE readme?
Kat
Nope, assuming https://github.com/OpenEuphoria/euphoria/blob/master/README.md is the one. But that's not surprising considering that Greg's the one who wrote it...
The list was huge, and would be growing,
It almost sounds like it could have been a major lift just going through the lift, even assuming there was some trivial solution to the connection problem that was put into play.
If i didn't randomly pick a different line item each time, you'd fixate on one controllable item
In the interests of finding alternative solutions that don't require solving the below:
when the issue is the connection from the computer to any of the items.
I mean, this is both the most controllable and uncontrollable element at the same time.
This is basically a solved problem. So to make it work, you just need to:
a) Learn C, and Windows Kernel Device Driver programming
or
b) Learn Unix
or
c) Integrate one of the modernized Commodore 64 solutions into the system to do the job
d) pay someone who knows a) or b) already to make something you can use. Note though that you'd probably get charged per line item, so this is the most difficult as well as the most expensive way to go.
Since when is a 8-bit parallel port or RS-232 serial port (for that mouse and keybd) specialized?
It's a much older protocol that's not so used nowadays. I wanna say it was the mid-aughts that the transition happened. But now they're like DR-DOS - once general purpose, but now not in common use, mostly in specialized applications nowadays.
You know what would be wonderfully "specialised"? A selection of small sbc that restore the olde parport support of EU, and solve some 30 year old deficiencies of it.
Agreed. As EU never had parport support in it's standard library (unless one counts the OS supporting opening it as a file or something like "LPT1:") it would indeed be quite the feat to accomplish this.
And you know what? I'd offer the same $1000's of money i offered up till they took it away and gave us only usb ports,
The problem with this is that both Windows Kernel and Unix devs tend to earn six figure salaries.
and locked them down in software.
Well, not if one is using the right OS, but then again, see note about Unix dev salaries above.
than re-establish OE's connectivity to the real world.
I mean, we have a number of examples of that working, which you even quoted from. It's just - none of the ways work for you, and you're being a bit tight lipped about why.
Now of course that's your right - but think of it like a crossword puzzle. I have no idea what seven letter word T I A Y H C - plus a missing letter - should unscramble too, but if you give me the hint of "starts with CHA and ends with ITY" I could much more easily guess that the missing letter is R and the final word is CHARITY.
Going back to the above list of a, b, c, & d - d is obviously a non-starter for being too expensive, and a or b would be a tough pill to swallow (C or Unix?)
The reason why c got rejected remains unclear, which is unfortunate since with the limited view that you've shared on the matter, it's not clear how else to solve the puzzle here.
basically what i hear here is variations on "anyone can do it, so no one will"
Well, of course not. If anyone could write Windows Kernel Device Drivers, we'd see a lot more of it. Also, the folks who do it wouldn't be making such high six figure salaries.
or "spend a lot of time on 1000 different possibilities we can list but not prove can work, because no one here will".
Ha! I wish there were 1000 different possibilities, instead of four. Much easier to find a winning combo this way.
So this forum goes on about "mower? changing goalposts!",
Yeah, but this sort of misunderstanding is ripe for the picking when the entire ask is not fully spelled out.
but cannot do the same with [snip] OE code.
Well, it can be done, but... see entire post above.
This forum makes excuses the same way humans do in real life.
Kat
I mean, if the way forward is to program an Ultimate64 to monitor your water delivery and order water delivery from Walmart for you...
What was the excuse for not using an Ultimate64 again?
Actually, there are a number of examples on this forum (of using Eu to communicate with an rPi, Arduino, etc), including this one from irv himself.
Even one from ryanj, https://openeuphoria.org/forum/m/123448.wc
That's the one i put money into.
I did not know that.
Note the date of the post: Dec 28, 2013. I heard the same assurances there'd be forthcoming code several times this year.
I also did not know that. I'm surprised you are still getting assurances after a decade (as opposed to just silence or not being able to find anyone still connected to the project).
I'd have put more money into it, but the project has been dead at Ryan's end for 11 years now.
Not clear it would have helped anyways - at the time of the post at least, it only worked with FTDI USB UART devices if I'm understanding correctly. Though it sounds like you have more up to date information on this anyways.
That's the problem with the Windoze approach - each one seems to be using their own device drivers, and each time it's different. There's no one "generic" device driver that can talk to everything, rather you pick a product to talk to and then you hope a device driver exists to talk to that specific product over the type of GPIO that you want to use.
Which used a existing wireless net set up by a smart phone, or using the smart phone as a hotspot of some sort to a network. I have no smart phone, and never needed one to turn on a lamp before.
It's nice to be able to do it from a smart phone if you have one, but I totally get this being a non-starter if one doesn't have one.
it's as if a GPIO port [snip] might be useable only to operate [snip] a lawn mower, but not both!?!
How the heck does one drive a lawn mower with a single general purpose input output digital signal pin? Surely steering requires more than just on/off?
I think that's part of the problem here though. What katsmeow wants this to be used for seemingly keeps changing (car engine monitoring? turning on a fan on a roof? driving a lawn mower?), so even if someone were to devote all the effort to fixing one aspect, a more complex one would arise.
Golly gee, it's as if a GPIO port is "specialised" after all,
Well, no. It's in the name in fact - "general purpose"
But there are multiple types of GPIO. Parallel and RS232 Serial, and USB (actually each type like USB A, USB B, USB C is different), but others like FireWire too.
And talking to each type of GPIO is different and requires specific code for that. You can't really write one driver that talks on all GPIOs.
How in the heck can anything i plan on using it for change the OE code of write(parport,{16,12,"no"}) ?
I think there's a typo, let me fix that for you.
How in the heck can anything i plan on using it for exchange with the OE code of write(parport,{16,12,"no"}) ?
I hope I got it right.
I never asked anyone to design or build the device the serial or parallel cable plugs into. What i asked for was how to get OE once again able to read and write pins which i can connect chips to.
And you were given answers, but the problem is, there are no easy answers. You can pick from a), b), c), or d) - or maybe you can offer a few more details and we might be able to come up with a fifth option? Unlikely but...
It's a shame that Euphoria/Phix must be tied to windoze for this particular user to be useful, since Linux in particular makes it really easy to directly access physical memory like so:
mem = open("/dev/mem", "rw")
Great, how to i get the smoke detector and anemometer into memory?
Kat
For the sake of example, assuming that the computer is an older one with a PCI bus and you have PCI cards that hook into them and expose via hardware DMA.
Considering your expertise in hardware and tinkering - esp with getting connections to work with a C64 - I will presume that you know this step better than I, and what's needed here is just the (Eu) software piece.
The manufactor of the PCI cards should be able to tell you what address to use for DMA, but let's assume for this example it's 0x1304006c. And you need to read the first eight bytes from there.
include std/io.e mem = open("/dev/mem", "u") seek(mem, 319029356) sequence values = io:get_bytes(mem, 8)
And now to write a command down at 0x1704006d
seek(mem, 386138221) puts(mem, new_values)
21. Re: inpout32
- Posted by katsmeow 2 months ago
- 1383 views
In the interest of debugging, breaking the post up, removing the caret over the 2nd 'e' in "Deschenes"....
I am interested in seeing how Pete uses the 2009 Jacques Deschenes serial.ew on a windows usb port. I was told it was impossible due to windows itself.
Kat
22. Re: inpout32
- Posted by katsmeow 2 months ago
- 1384 views
(other half of the post that crashed the server with a caret'ed 'e'...)
How the heck does one drive a lawn mower with a single general purpose input output digital signal pin? Surely steering requires more than just on/off?
See, blatant trolling, when you could have been solving the problem. How many single-bit differential pairs between the computer and the printer? And how can you save any 8-bit ascii characters to a hdd with only one bit wide data path? How did rs-232 etc ever work?
That said, i have seen remote "control" toys where steering was "left", "right", or "center", depending on presence of signal and polarity (or pwm percentage). I used polarity on a cabled remote control of a RCA tv, Roberts reel deck, and FM tuner in 1975, mostly to cut the number of wires in half, and it pretty much set itself up.
Kat
23. Re: inpout32
- Posted by jimcbrown (admin) 2 months ago
- 1381 views
In the interest of debugging, breaking the post up, removing the caret over the 2nd 'e' in "Deschenes"....
I am interested in seeing how Pete uses the 2009 Jacques Deschenes serial.ew on a windows usb port.
Same here.
I was told it was impossible due to windows itself.
Kat
The "it" part is a bit ambiguous. At least on the recent threads on this forum, no one said it was impossible to use his serial.ew - but if you know differently, a direct quote and a link would help.
What was mentioned regarding windows was this,
More like, Windoze locked things down to only the chosen few (C coding device driver developers) to protect the tide pod eaters.
From https://openeuphoria.org/forum/m/138604.wc
Anyways, for serial.ew, I believe this is the relevant bit of code,
-- open a serial port and return the handle global function serial_open(integer com) atom fn_val, pComm pComm = allocate_string(sprintf("\\\\.\\com%d",com)) fn_val = c_func(iCreateFile,{pComm, GENERIC_READ+GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0 }) free(pComm) return fn_val end function
Basically, it opens COM1 or etc as a file. So if the windows USB port doesn't have a device driver that does COM1 then you're out of luck and it's impossible to use this...
And if I understand correctly that sata is never exposed as a COM port, then it'd never assist in speaking sata (since you mentioned it as an option, from https://openeuphoria.org/forum/m/138600.wc )
How the heck does one drive a lawn mower with a single general purpose input output digital signal pin? Surely steering requires more than just on/off?
See, blatant trolling,
No, it's an actual and genuine question. After all, that was in response to:
it's as if a GPIO port [snip] might be useable only to operate [snip] a lawn mower, but not both!?!
If I'm confused about something regarding your meaning (which is quite likely) I at least hope you can understand why I am confused.
How many single-bit differential pairs between the computer and the printer? And how can you save any 8-bit ascii characters to a hdd with only one bit wide data path? How did rs-232 etc ever work?
That said, i have seen remote "control" toys where steering was "left", "right", or "center", depending on presence of signal and polarity (or pwm percentage). I used polarity on a cabled remote control of a RCA tv, Roberts reel deck, and FM tuner in 1975, mostly to cut the number of wires in half, and it pretty much set itself up.
Ahh, that makes sense! I see how it'd be possible now. (More proof that it was a genuine question, considering the elaborate and detailed multi-part answer you gave!)
when you could have been solving the problem.
Kat
Actually, this is worth breaking down into multiple parts.
First, well I couldn't actually, because of the above confusion. (Sometimes it's possible to push through past some confusion, but one generally shouldn't take it as a given.)
Second, I'm not sure the problem is solvable at this point, as per my points on a)b)c)d) earlier in this thread. Getting a modernized Commodore 64 solution to interface with Windoze/OE was the last best hope...
Third, my understanding is because all serial.ew does is open a "COM" port, it won't do the job for you. If I'm mistaken about that, it's likely because I'm confused about what you're trying to accomplish and unable to get a sufficient level of clarification to become unconfused.
Finally, even if I could have been solving the problem - should I have? Perhaps the question that you answered was actually more interesting to me. Before asking for help, it's worth asking why other folks would offer to help - and what do they expect to get out of it.
24. Re: inpout32
- Posted by katsmeow 2 months ago
- 1375 views
Finally, even if I could have been solving the problem - should I have? Perhaps the question that you answered was actually more interesting to me. Before asking for help, it's worth asking why other folks would offer to help - and what do they expect to get out of it.
I was at that level years before i put down money to Ryan on the problem, which was 11 years ago already. Collectively you all have put more time and effort into saying "no" or "why?" than doing it. It's as if you cannot see how connecting OE to Aibo, Spot, Marscat, or Unitree Go2 would draw some attention to OE/Phix on Youtube. Or an electric lawn mower.
I am confused because he couldn't do it, others either couldn't or simply haven't done it. You just gave some code, and then essentially said all it did was get a port name, but didn't make it useable, which makes it a waste of time. If all i want is a port name, i can randomly pick a word and call it that.
The Ultimate64 is a nix machine that runs CBM64 Basic code, but doesn't have the hardware ports to do the interfacing. This is the same as the wintel boxes i have plenty of, which also have vastly more speed and storage and display resolution, and run Phix/OE. So why would i pay more to have a Ultimate64 which won't do what i ask?
I do not expect you to remember i had a Redhat nix machine, bought already set up and supposedly running, with Mozilla installed, and other nix stuff, in the mid 1990's. I also attempted to install Redhat, and some other nix flavor, on an msdos machine. If i remember correctly, it was the first machine that did nothing but disk thrashing, and the 2nd one did nothing. I looked at the OE and nix on the raspi , and did not understand it, which makes it unuseable. I knew better than ask for help on this forum.
[example of real life vs online]
Now, see, i have an afternoon to do things. I cannot get you to build a device to get tires off rims online, and expect that to work for me in real life. If you wrote code that worked on interfacing the computer to real life, that's something i could then use in real life tonight. Only i can build the tire de/mounter, and only you can write the code. Ergo, i build the tire machine, and no one writes the code.
[/example]
Kat
25. Re: inpout32
- Posted by jimcbrown (admin) 2 months ago
- 1347 views
Finally, even if I could have been solving the problem - should I have? Perhaps the question that you answered was actually more interesting to me. Before asking for help, it's worth asking why other folks would offer to help - and what do they expect to get out of it.
I was at that level years before
which was 11 years ago already.
Hmm, were you really?
i put down money to Ryan on the problem
I am confused because he couldn't do it,
others either couldn't or simply haven't done it.
Collectively you all have put more time and effort into saying "no" or "why?" than doing it.
We all knew already the same thing that Ryan learned the hard way. If it was easily doable (direct hardware access on modern Windoze), wouldn't have someone done it by now?
What's interesting is that it was doable on earlier M$ OSes - you've done it on DOS obviously, and the 9x line could have done it too. Even for 2k, the cygwin /dev/mem hack could have been reproduced. Even for XP or 2k3, you could have used that device driver that Andy suggested (without having to compile it yourself).
(So I missed something earlier. Aside from a)b)c)d) there is an option e) - using older MSDOS or even older Windoze for which the right freeware driver will give the desired results - but then this still doesn't work as another of your requirements is the ability to communicate with a modern system.)
So it's not just that it's so hard. Rather, as folks figure out how to achieve this specific goal (the one you are asking for), M$ goes ahead and closes what they consider a loophole. Hence irv was right when he made his point about this one specific OS.
Since you mentioned paying Ryan, let me see if I can help out by at least informing you about a reliable price.
I recall reading that today, it's at least $100k to make a Windoze device driver. However, most device drivers handle one small thing, while your concept is quite broader. That would otherwise be fine, but I imagine if a commercial company was handling the development of this driver for you, it would be treated as the equiv of - say - 15 regular drivers. So that'd be over a million dollars.
It's as if you cannot see how connecting OE to Aibo, Spot, Marscat, or Unitree Go2 would draw some attention to OE/Phix on Youtube. Or an electric lawn mower.
Well, of course we can. For this, I'd refer you to Greg's post here, https://openeuphoria.org/forum/m/138620.wc - he's doing it as time permits.
But of course Greg doesn't have a "Use Windoze" or "avoid C" restriction, so naturally this will be a nix solution, and I wouldn't be surprised at all if he ends up doing some C coding to fill in some missing glue or duct tape here and there.
You just gave some code, and then essentially said all it did was get a port name, but didn't make it useable, which makes it a waste of time. If all i want is a port name, i can randomly pick a word and call it that.
It's not mine (it's from the serial.ew mentioned earlier) and serial.ew overall certainly does a bit more than that - but yes, that's why I had expressed concern that serial.ew might not do the job you need.
The Ultimate64 is a nix machine that runs CBM64 Basic code, but doesn't have the hardware ports to do the interfacing. This is the same as the wintel boxes i have plenty of, which also have vastly more speed and storage and display resolution, and run Phix/OE. So why would i pay more to have a Ultimate64 which won't do what i ask?
I think I understand what happened here.
You are describing the C64 Mini, which, according to https://www.c64-wiki.com/wiki/THEC64Mini
It is based on .. Linux operating system running the VICE emulator
Of course that wouldn't work, hence why I did not suggest it.
But the actual Ultimate64 is ... not nix.
From https://www.c64-wiki.com/wiki/Ultimate_64
The Ultimate 64 .. is a reimplementation of the C64 .. on an FPGA Basis
The wiki goes on to point out that it's port-level compatible and can be installed in the original computer case of the original C64. This despite that the Ultimte64 also provides things like ethernet and USB support.
Glad you finally gave an explanation - since it sounds like the c) option is back in the running!
I do not expect you to remember i had a Redhat nix machine, bought already set up and supposedly running, with Mozilla installed, and other nix stuff, in the mid 1990's. I also attempted to install Redhat, and some other nix flavor, on an msdos machine.
I do recall you mentioning this actually. That said, we met on the OE mailing list, which I joined in the early aughts, so this would have taken place before we met.
If i remember correctly, it was the first machine that did nothing but disk thrashing, and the 2nd one did nothing.
Makes sense. Nix was harder to install and maintain back then - I do have experience and memories from those times as well. It sounds like the first ended up without enough swap to run everything, while the 2nd did not boot (some kind of LILO issue I guess - there were horror stories about non-standard BIOSes which played havoc with the LILO process).
I looked at the OE and nix on the raspi , and did not understand it, which makes it unuseable.
Because you didn't understand it.
I knew better than ask for help on this forum.
I think that would have been fine. Most likely Greg, Andy, and Pete would have given some help or pointers.
[example of real life vs online]
Now, see, i have an afternoon to do things. I cannot get you to build a device to get tires off rims online, and expect that to work for me in real life. If you wrote code that worked on interfacing the computer to real life, that's something i could then use in real life tonight. Only i can build the tire de/mounter, and only you can write the code. Ergo, i build the tire machine, and no one writes the code.
[/example]
Kat
Hey, if you can give me a couple mil, perhaps then I can see what I can do?
26. Re: inpout32
- Posted by katsmeow 2 months ago
- 1337 views
i put down money to Ryan on the problem
I am confused because he couldn't do it,
others either couldn't or simply haven't done it.
Collectively you all have put more time and effort into saying "no" or "why?" than doing it.
We all knew already the same thing that Ryan learned the hard way. If it was easily doable (direct hardware access on modern Windoze), wouldn't have someone done it by now?
That was not the problem. The raspi runs it's native nix flavor.
Ryan took the approach of the raspi being an intelligent i/o chip, handling multiple protocols, and in communication with the wintel box (or a nix or apple box) via the lan. I agreed very much. I bought a set of raspi with all the bells and whistles, following Ry's (good) suggestions. Advantage of this approach is the desktop/laptop functioning as the human interface can be shut down, the raspi making elementary decisions and logging data, while consuming very little power. I looked at the code because Ryan didn't finish the request, i got very lost very fast, got no answers, unplugged it. While it did access the temperature sensors, proving the attic fans needed to be turned on/off as necessary, the raspi could not operate the fan. Etc.
I believe we discussed this, you probably have the discourse urls memorised.
Kat
27. Re: inpout32
- Posted by jimcbrown (admin) 2 months ago
- 1336 views
We all knew already the same thing that Ryan learned the hard way. If it was easily doable (direct hardware access on modern Windoze), wouldn't have someone done it by now?
That was not the problem. The raspi runs it's native nix flavor.
Ryan took the approach of the raspi being an intelligent i/o chip, handling multiple protocols, and in communication with the wintel box (or a nix or apple box) via the lan.
Ah, so you took d) while Ryan took b).
I agreed very much.
I confess that this surprised me.
I believe we discussed this, you probably have the discourse urls memorised.
Kat
An even greater surprise. I can not recall this ever being discussed before. The closest would be https://openeuphoria.org/forum/m/138588.wc but there's no mention of Ryan or that this Pi was suppose to be able to operate the fan by design or of you reading the code for that Pi.
I bought a set of raspi with all the bells and whistles, following Ry's (good) suggestions. Advantage of this approach is the desktop/laptop functioning as the human interface can be shut down, the raspi making elementary decisions and logging data, while consuming very little power.
It is a good approach.
I looked at the code because Ryan didn't finish the request, i got very lost very fast, got no answers, unplugged it. While it did access the temperature sensors, proving the attic fans needed to be turned on/off as necessary, the raspi could not operate the fan. Etc.
That was not the problem. The raspi runs it's native nix flavor.
I'd argue that this proves that it is the problem. You can't do b) which is why you couldn't pierce the black box and fix the Pi to operate the fan.
So I don't know why Ryan didn't finish the job. Knowing that reason is important.
If Ryan simply retired, or say he rejoined the military, or became a religious missionary - then I'd say there's hope. If the code is Eu, then we on this forum can help out. Otherwise, we can find a dev who charges a reasonable price to look into the matter for you.
What we need to remember is that none of the folks here were as big in embedded I/O aas Ryan was. So if anyone could have made this work, it's Ryan.
If Ryan gave up because of technical difficulties, that suggests to me that it may not be possible. Of course, I'd need to speak to Ryan to get an idea of what difficulties he faced in that case - but the odds do not look good.
The other thing is that I feel like Ryan would have written the code in C. 'Nuff said there.
This is exactly why I pushed the Ultimate64 as the solution. With c) you have the same approach that Ryan took with the Pi - except that nix is not involved and you can write the code yourself on the 64. Meaning that you can maintain it yourself.
28. Re: inpout32
- Posted by katsmeow 2 months ago
- 1334 views
According to ultimate64.com, v1 is out of stock, and v2 hasn't been built yet.
According to mega65.org, it does not have the gpio ports.
The mega65 can run at 40Mhz. The gotchas on both machines includes working ram size, variables are limited to 200..254 bytes. Stupid that with 32 GB onboard, the program plus data is limited to 32 KB.
Back in 1900, with no internal combustion engines to speak of, the steam engine was a good temporary deal with the devil. When the 6502 came out, it was a good deal because it beat the cost of it's competitor by more than 90%, and had a few better addressing ideas. When it came out, the DC3 was a really good idea (and i did get to fly on one later on, and crouch in the cockpit and watch). This doesn't mean anything i mentioned should ever be built again. But modern variations could be a good thing.
Maybe the Basic Stamp, it's mostly 1/2 price now.....
Kat
29. Re: inpout32
- Posted by jimcbrown (admin) 2 months ago
- 1332 views
According to ultimate64.com, v1 is out of stock, and v2 hasn't been built yet.
Ouch. Yeah, so as I wrote some months ago you'd have to settle for pre-ordering v2 and trying to stag v1 off of a reseller like ebay or something, unfortunately.
According to mega65.org, it does not have the gpio ports.
Ouch. I wonder if there's a third system that's being sold right now that would work...
The mega65 can run at 40Mhz. The gotchas on both machines includes working ram size, variables are limited to 200..254 bytes. Stupid that with 32 GB onboard, the program plus data is limited to 32 KB.
Ouch. I guess that's a limit of an 8-bit CPU. It seems they support REUs to add more memory, though.
In any case, as you were able to deal with these limitations back in the 80s and still get it to work, I wouldn't be surprised to learn that this still ends up being better, with its warts and all. After all, we went to the moon with only 4kb.
Back in 1900, with no internal combustion engines to speak of, the steam engine was a good temporary deal with the devil.
I'd argue we still use them. Albeit they are stationary in coal and nuclear power plants, but they do the same job.
When the 6502 came out, it was a good deal because it beat the cost of it's competitor by more than 90%, and had a few better addressing ideas.
This is a line I'd love to see revived and modernized.
This doesn't mean anything i mentioned should ever be built again. But modern variations could be a good thing.
Yup.
Maybe the Basic Stamp, it's mostly 1/2 price now.....
Kat
I didn't understand this..
30. Re: inpout32
- Posted by katsmeow 2 months ago
- 1324 views
The mega65 can run at 40Mhz. The gotchas on both machines includes working ram size, variables are limited to 200..254 bytes. Stupid that with 32 GB onboard, the program plus data is limited to 32 KB.
Ouch. I guess that's a limit of an 8-bit CPU. It seems they support REUs to add more memory, though.
I didn't understand this. The CBM C64 and VIC20 can accept REU, but why would you try to add 2k bytes to a machine with an unused 32 GB in it already?
I could write a lot more, but it's irrelevant.
Kat
31. Re: inpout32
- Posted by jimcbrown (admin) 2 months ago
- 1301 views
The mega65 can run at 40Mhz. The gotchas on both machines includes working ram size, variables are limited to 200..254 bytes. Stupid that with 32 GB onboard, the program plus data is limited to 32 KB.
Ouch. I guess that's a limit of an 8-bit CPU. It seems they support REUs to add more memory, though.
I didn't understand this. The CBM C64 and VIC20 can accept REU, but why would you try to add 2k bytes to a machine with an unused 32 GB in it already?
I could write a lot more, but it's irrelevant.
Kat
Ah, what I meant is that the REU mechanism (bank switching) appears to be the way to access the additional memory of the machine. Similar to how simulated expanded memory (EMS) to access extended memory (EMX) worked in DOS.
32. Re: inpout32
- Posted by ChrisB (moderator) 2 months ago
- 1214 views
Hi chaps
I may be a little late to the party, but if you are after i/o from a pc, why aren't you using https://www.adafruit.com/product/2264 , the FT232H board which gives a PC gpio pins, see https://learn.adafruit.com/circuitpython-on-any-computer-with-ft232h.
Sadly you have to use python to control it, but it's not a terrible language to learn, and it may even be possible to use a python shim between your Eu program, and the FT232H
There's also this https://thepihut.com/products/olimex-duinomite-mini-maximite-compatible-basic-computer?srsltid=AfmBOor-2V4PeJ18u3R_OL-OZLzQI1vQ-IHpAZY3PETDDHsNW0-0I3QB for a BASIC compputer with Arduino GPIO.
Cheers
Chris
33. Re: inpout32
- Posted by katsmeow 2 months ago
- 1213 views
Can anyone think of a fun cheap little idea for me to try?
https://en.wikipedia.org/wiki/WinUSB
Kat
34. Re: inpout32
- Posted by ghaberek (admin) 2 months ago
- 1205 views
I may be a little late to the party, but if you are after i/o from a pc, why aren't you using https://www.adafruit.com/product/2264 , the FT232H board which gives a PC gpio pins, see https://learn.adafruit.com/circuitpython-on-any-computer-with-ft232h.
Sadly you have to use python to control it, but it's not a terrible language to learn, and it may even be possible to use a python shim between your Eu program, and the FT232H
I don't think you need Python to control it. Digging into their libraries, it looks like everything is based on pyusb which is a wrapper for libusb. So we'd need to start by wrapping libusb and then building an I/O library similar to Blinka on top of libusb.
Can anyone think of a fun cheap little idea for me to try?
I think you're on the right track here. We can't do this with Euphoria yet but the Adafruit FT232H, as ChrisB suggested, seems to be what you're looking for. The board itself takes care of most of the complexity associated with modern USB while providing a simple "send/receive bytes" interface from Windows. I think it's worth investigating the hardware to better understand how to use it correctly before trying to make it work with Euphoria.
Ultimately, I do intend to work on getting Euphoria running on hobby microcontroller boards like Arduino, Pi Pico, and ESP32, but to do that we need either a lightweight interpreter that can run directly on the device, or a specialized translator that can output the correct. It would be worthwhile to model this after CircuitPython or its upstream project MicroPython.
-Greg
35. Re: inpout32
- Posted by katsmeow 2 months ago
- 974 views
Ultimately, I do intend to work on getting Euphoria running on hobby microcontroller boards like Arduino, Pi Pico, and ESP32, but to do that we need either a lightweight interpreter that can run directly on the device, or a specialized translator that can output the correct. It would be worthwhile to model this after CircuitPython or its upstream project MicroPython.
-Greg
While that's a great goal, i am thinking a nice idea would be to use a win/nix/dos desktop/laptop as a main interface, to have graphics, bulk storage, data munging, internet access, and single point access to multiple sources. Surely a dumb remote can dump data upstream to a smarter terminal, Ryan at least got the dumb 3-pin serial device to talk to a Raspi, which displayed and logged and sorted and ran OE and was on the ethernet. I assumed, obviously incorrectly, the same raspi could have sensed switch closures and analog voltages (from light sensors, pressure sensors, etc)..
Starting a huge new project to run another 10 years to maybe put OE on a micro which doesn't have the megabytes to hold OE/OS/data, seems like drilling down too deeply, like using a microscope to buy car tires. And then the tires don't fit that car's rims, and the rims don't fit the car.
Kat
36. Re: inpout32
- Posted by petelomax 2 months ago
- 885 views
Ultimately, I do intend to work on getting Euphoria running on hobby microcontroller boards like Arduino, Pi Pico, and ESP32, but to do that we need either a lightweight interpreter that can run directly on the device, or a specialized translator that can output the correct. It would be worthwhile to model this after CircuitPython or its upstream project MicroPython.
-Greg
While that's a great goal, i am thinking a nice idea would be to use a win/nix/dos desktop/laptop as a main interface, to have graphics, bulk storage, data munging, internet access, and single point access to multiple sources. Surely a dumb remote can dump data upstream to a smarter terminal, Ryan at least got the dumb 3-pin serial device to talk to a Raspi, which displayed and logged and sorted and ran OE and was on the ethernet. I assumed, obviously incorrectly, the same raspi could have sensed switch closures and analog voltages (from light sensors, pressure sensors, etc)..
Starting a huge new project to run another 10 years to maybe put OE on a micro which doesn't have the megabytes to hold OE/OS/data, seems like drilling down too deeply, like using a microscope to buy car tires. And then the tires don't fit that car's rims, and the rims don't fit the car.
Kat
Indeed. Trying to get Eu/Phix running on the FT232H board itself is just plain daft. What/all you want on that is a tiny bit of Python (say) doing the basic on/off and relaying sensor readings, that Eu/Phix can talk to. It plain don't need no "logic" or "tweakability" itself, iygmd. Maybe later we might want to unplug the PC in which case that might change, but that is not the immediate target, and even then the easy route would be to generate some python (or whatever) source code.
37. Re: inpout32
- Posted by ChrisB (moderator) 2 months ago
- 838 views
Hi
The FT232H is a USB to real world PC interface, not a microcontroller. Its current libraries are python, runs on a PC, easy enought to read and write a file onto the HD to communicate between python and EU. If you want standalone, then you will need to use a microcontroller, arduino/ESP32/PiZero/teensy etc etc, and you will need to program it. They are all experimentors boards, experiment, what have you got to lose. If you want a solution now, find a local hackers club and ask, donate some gear, and I'm sure someone will oblige.
Cheers
Chris
38. Re: inpout32
- Posted by andreasWagner 2 months ago
- 835 views
Ultimately, I do intend to work on getting Euphoria running on hobby microcontroller boards like Arduino, Pi Pico, and ESP32, but to do that we need either a lightweight interpreter that can run directly on the device, or a specialized translator that can output the correct. It would be worthwhile to model this after CircuitPython or its upstream project MicroPython.
-Greg
While that's a great goal, i am thinking a nice idea would be to use a win/nix/dos desktop/laptop as a main interface, to have graphics, bulk storage, data munging, internet access, and single point access to multiple sources. Surely a dumb remote can dump data upstream to a smarter terminal, Ryan at least got the dumb 3-pin serial device to talk to a Raspi, which displayed and logged and sorted and ran OE and was on the ethernet. I assumed, obviously incorrectly, the same raspi could have sensed switch closures and analog voltages (from light sensors, pressure sensors, etc)..
Starting a huge new project to run another 10 years to maybe put OE on a micro which doesn't have the megabytes to hold OE/OS/data, seems like drilling down too deeply, like using a microscope to buy car tires. And then the tires don't fit that car's rims, and the rims don't fit the car.
Kat
What you describe here corresponds almost exactly to my toy project that I had already linked here in a different context. It's not a ready-made solution, but you'll find everything you need to turn an Arduino into a Modbus sensor/actuator and communicate with it. All you need to experiment with it is an Arduino (clone) and a USB cable, maybe a few jumpers, LEDs and resistors. But I don't have to explain that to you, I think you know a lot about electronics.
If you have any specific questions I will be happy to try to answer them. But you have to experiment for yourself.
39. Re: inpout32
- Posted by petelomax 2 months ago
- 797 views
Looks pretty good to me, not that I've tried it yet. Just so you know, I've created a little PCAN entry for it: http://phix.x10.mx/pmwiki/pmwiki.php?n=Main.ArduLink
41. Re: inpout32
- Posted by katsmeow 2 months ago
- 735 views
Just tossing this out, for those in fear of orphaned hardware:
https://www.ebay.com/itm/364936877169
The virtual com port driver that's free is also not on the Silicon Labs website any more.
42. Re: inpout32
- Posted by ChrisB (moderator) 2 months ago
- 553 views
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=overview