1. inpout32

Forked from Re: Mind blowingly impressive.

katsmeow said...
jimcbrown said...
katsmeow said...

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....

jimcbrown said...
katsmeow said...

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!

jimcbrown said...
petelomax said...

(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?!?

jimcbrown said...

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

new topic     » topic index » view message » categorize

2. Re: inpout32

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

new topic     » goto parent     » topic index » view message » categorize

3. Re: inpout32

katsmeow said...

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!

jimcbrown said...

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.

katsmeow said...

There's some generic pata-to-ram modules floating around.

jimcbrown said...

If you have any good links, I would love to learn more about this. A few searches couldn't find anything useful...

katsmeow said...

... 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).

katsmeow said...

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?

katsmeow said...

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).

katsmeow said...

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.

petelomax said...

(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.)

katsmeow said...

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:

jimcbrown said...

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]

katsmeow said...

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?

katsmeow said...

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.

katsmeow said...

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" ;)

katsmeow said...

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.

katsmeow said...

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;

katsmeow said...

and OE is a figment of my imagination.

Quote please?

katsmeow said...

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.

katsmeow said...

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?

katsmeow said...

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?

katsmeow said...

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.

katsmeow said...

And how can you complain about OE/Phix's falling market share with a requirement like that?

I guess, no requirement, therefore no complaint?

katsmeow said...

Are you going to explain to me the speed difference between a mechanical relay and an ecl chip?

No.

katsmeow said...

Did i ask you to do that?

No.

katsmeow said...

Is such in the AUP for windose or OE or Phix or any cussed thing?

Not that I'm aware of.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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?

katsmeow said...

Thank you Andreas.

It smells like linux.

How? Why? The website and github clearly state it's for Windoze.

katsmeow said...

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). ;)

katsmeow said...

.VB and Visual Studio

That's hilarious, as if Visual Studio and linux belong in the same paragraph.

katsmeow said...

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?).

katsmeow said...

There's not enough hours in the day.

Well, it's windoze. I can't blame you.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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!

new topic     » goto parent     » topic index » view message » categorize

4. Re: inpout32

katsmeow said...

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.

achury said...

In orden to run cgi-bin programs on a web server, I have copied /std folder inside /public_html/cgi-bin

katsmeow said...

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...

new topic     » goto parent     » topic index » view message » categorize

5. Re: inpout32

jimcbrown said...
katsmeow said...

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

new topic     » goto parent     » topic index » view message » categorize

6. Re: inpout32

katsmeow said...

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

new topic     » goto parent     » topic index » view message » categorize

7. Re: inpout32

jmduro said...
katsmeow said...

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

new topic     » goto parent     » topic index » view message » categorize

8. Re: inpout32

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.

new topic     » goto parent     » topic index » view message » categorize

9. Re: inpout32

irv (in the other thread) said...

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.

new topic     » goto parent     » topic index » view message » categorize

10. Re: inpout32

petelomax said...

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

petelomax said...

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.

petelomax said...

That, btw, is the gauntlet being thrown down.

And has the challenge been met in your opinion?

irv said...

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.

irv said...

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:

jimcbrown said...

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") 
katsmeow said...

snip

And at this point i am cussing out loud. Very loud.

new topic     » goto parent     » topic index » view message » categorize

11. Re: inpout32

jimcbrown said...

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?

new topic     » goto parent     » topic index » view message » categorize

12. Re: inpout32

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

new topic     » goto parent     » topic index » view message » categorize

13. Re: inpout32

ghaberek said...

I don't know if anyone noticed

I didn't. Consider another mind blown.

ghaberek said...

but I have been working on an experimental ARM64 build.

I will continue to work at it as time allows.

Really cool to see!

ghaberek said...

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.

ghaberek said...

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!

new topic     » goto parent     » topic index » view message » categorize

14. Re: inpout32

jimcbrown said...

Wow, I didn't know github offered ARM64 support yet! Nice.

They don't! grin

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

new topic     » goto parent     » topic index » view message » categorize

15. Re: inpout32

ghaberek said...

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).

new topic     » goto parent     » topic index » view message » categorize

16. Re: inpout32

jimcbrown said...

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.

irv said...

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

new topic     » goto parent     » topic index » view message » categorize

17. Re: inpout32

petelomax said...
ghaberek said...

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).

irv (in the other thread) said...

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

new topic     » goto parent     » topic index » view message » categorize

18. Re: inpout32

jimcbrown said...

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.

petelomax said...

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.

jimcbrown said...

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.

jimcbrown said...

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

new topic     » goto parent     » topic index » view message » categorize

19. Re: inpout32

petelomax said...

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).

katsmeow said...

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...

katsmeow said...

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.

katsmeow said...

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:

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

but cannot do the same with [snip] OE code.

Well, it can be done, but... see entire post above.

katsmeow said...

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?

jimcbrown said...

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

katsmeow said...

That's the one i put money into.

I did not know that.

katsmeow said...

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).

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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?

jimcbrown said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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...

jimcbrown said...

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") 
katsmeow said...

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) 
new topic     » goto parent     » topic index » view message » categorize

20. Re: inpout32

Cannot reply, see server error.

Kat

new topic     » goto parent     » topic index » view message » categorize

21. Re: inpout32

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

new topic     » goto parent     » topic index » view message » categorize

22. Re: inpout32

(other half of the post that crashed the server with a caret'ed 'e'...)

jimcbrown said...

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

new topic     » goto parent     » topic index » view message » categorize

23. Re: inpout32

katsmeow said...

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.

katsmeow said...

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,

jimcbrown said...

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 )

jimcbrown said...

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?

katsmeow said...

See, blatant trolling,

No, it's an actual and genuine question. After all, that was in response to:

katsmeow said...

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.

katsmeow said...

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!)

katsmeow said...

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.

new topic     » goto parent     » topic index » view message » categorize

24. Re: inpout32

jimcbrown said...

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

new topic     » goto parent     » topic index » view message » categorize

25. Re: inpout32

jimcbrown said...

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.

katsmeow said...

I was at that level years before

which was 11 years ago already.

Hmm, were you really?

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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

C64Mini said...

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

Ultimate64 said...

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!

katsmeow said...

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.

katsmeow said...

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).

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

[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?

new topic     » goto parent     » topic index » view message » categorize

26. Re: inpout32

jimcbrown said...
katsmeow said...

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

new topic     » goto parent     » topic index » view message » categorize

27. Re: inpout32

jimcbrown said...

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?

katsmeow said...

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).

katsmeow said...

I agreed very much.

I confess that this surprised me.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

new topic     » goto parent     » topic index » view message » categorize

28. Re: inpout32

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

new topic     » goto parent     » topic index » view message » categorize

29. Re: inpout32

katsmeow said...

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.

katsmeow said...

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...

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

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.

katsmeow said...

This doesn't mean anything i mentioned should ever be built again. But modern variations could be a good thing.

Yup.

katsmeow said...

Maybe the Basic Stamp, it's mostly 1/2 price now.....

Kat

I didn't understand this..

new topic     » goto parent     » topic index » view message » categorize

30. Re: inpout32

jimcbrown said...
katsmeow said...

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

new topic     » goto parent     » topic index » view message » categorize

31. Re: inpout32

katsmeow said...

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.

jimcbrown said...

Ouch. I guess that's a limit of an 8-bit CPU. It seems they support REUs to add more memory, though.

katsmeow said...

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.

new topic     » goto parent     » topic index » view message » categorize

32. Re: inpout32

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

new topic     » goto parent     » topic index » view message » categorize

33. Re: inpout32

petelomax said...

Can anyone think of a fun cheap little idea for me to try?

https://zadig.akeo.ie/

https://en.wikipedia.org/wiki/WinUSB

Kat

new topic     » goto parent     » topic index » view message » categorize

34. Re: inpout32

ChrisB said...

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.

katsmeow said...
petelomax said...

Can anyone think of a fun cheap little idea for me to try?

https://zadig.akeo.ie/

https://en.wikipedia.org/wiki/WinUSB

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

new topic     » goto parent     » topic index » view message » categorize

35. Re: inpout32

ghaberek said...

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

new topic     » goto parent     » topic index » view message » categorize

36. Re: inpout32

katsmeow said...
ghaberek said...

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.

new topic     » goto parent     » topic index » view message » categorize

37. Re: inpout32

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

new topic     » goto parent     » topic index » view message » categorize

38. Re: inpout32

katsmeow said...
ghaberek said...

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.

https://github.com/andizk4kx/ArduLink

new topic     » goto parent     » topic index » view message » categorize

39. Re: inpout32

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

new topic     » goto parent     » topic index » view message » categorize

40. Re: inpout32

👍

new topic     » goto parent     » topic index » view message » categorize

41. Re: inpout32

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.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu