03-29-2025, 04:52 PM
Hi, Pete - thanks for the message.
I'm working on developing an Eprom Programmer to read and program the older series 27XXX type Eproms - basically so I can support some old computers (ORIC, SINCLAIR ZX81 and similar).
It consists of a Controller, running on a PC (in my case under Linux Mint - sorry, I'm not a lover of Windows in any form), with a serial connection (USB) to the Programmer itself.
The programmer is an Arduino Nano, used to present and accept data to the Eprom, set up the required programming voltage, and generate programming pulses. This is programmed in Arduino CPP, and is working fine.
The Controller (currently) is partly written in Gambas3, (for those who don't know, this is similar to Visual Basic). It is used to pass control and program data to the Arduino Programmer.
I chose to write the Controller in something 'Basic' - like, because maybe eventually I will make the programmer/system public, and since the Programmer only requires control bytes and data passed by a 'standard' serial port, it could be controlled from virtually any computer. For this reason, I wanted to keep the Controller software simple (I.e avoid compiling, etc), then if anyone wants to write their own controller (in any language) they are free to do so.
I mentioned I started with Gambas3, but as I have worked on it, I have found the handling of the serial port under Gambas3 is not as straightforward as it could be, and despite subscribing to various forums, I cannot find some of the information I need. Currently, it is working 'up to a point', but I'm not happy.
I decided to push it to one side for the moment, and try another Basic, and since I had read about QB64-PE, and had used QB many (many, many......) years ago, decided it would be interesting to revisit it, and see how it has developed. I have seen somewhere there is a serial library available for it, and it also offers the use of InForm to generate graphic UI's, so it seemed a possibility - which is where I am now, and is the reason for my question about Serial Port handling. I only need to be able to read/write single bytes, and ideally I need some program indication that data is available at the port for reading. Gambas3 has this, but is event-driven. The port will accept data into the receive buffer, but it is the program responsibility to read this data, and so far, I have found no way of getting an indication (in Gambas) that data is waiting. As a consequence of this, sometimes data gets overwritten - bummer!. I am sure that eventually I will find a way round this, but in the interests of getting a working Programmer/Controller, which is simple to understand, I want to investigate alternatives.
I want to program 'old' devices, but the same principle could be used for more modern devices, or for serially programmed devices - so I need to know about QB64 serial port handling.
Regards, Keith
I'm working on developing an Eprom Programmer to read and program the older series 27XXX type Eproms - basically so I can support some old computers (ORIC, SINCLAIR ZX81 and similar).
It consists of a Controller, running on a PC (in my case under Linux Mint - sorry, I'm not a lover of Windows in any form), with a serial connection (USB) to the Programmer itself.
The programmer is an Arduino Nano, used to present and accept data to the Eprom, set up the required programming voltage, and generate programming pulses. This is programmed in Arduino CPP, and is working fine.
The Controller (currently) is partly written in Gambas3, (for those who don't know, this is similar to Visual Basic). It is used to pass control and program data to the Arduino Programmer.
I chose to write the Controller in something 'Basic' - like, because maybe eventually I will make the programmer/system public, and since the Programmer only requires control bytes and data passed by a 'standard' serial port, it could be controlled from virtually any computer. For this reason, I wanted to keep the Controller software simple (I.e avoid compiling, etc), then if anyone wants to write their own controller (in any language) they are free to do so.
I mentioned I started with Gambas3, but as I have worked on it, I have found the handling of the serial port under Gambas3 is not as straightforward as it could be, and despite subscribing to various forums, I cannot find some of the information I need. Currently, it is working 'up to a point', but I'm not happy.
I decided to push it to one side for the moment, and try another Basic, and since I had read about QB64-PE, and had used QB many (many, many......) years ago, decided it would be interesting to revisit it, and see how it has developed. I have seen somewhere there is a serial library available for it, and it also offers the use of InForm to generate graphic UI's, so it seemed a possibility - which is where I am now, and is the reason for my question about Serial Port handling. I only need to be able to read/write single bytes, and ideally I need some program indication that data is available at the port for reading. Gambas3 has this, but is event-driven. The port will accept data into the receive buffer, but it is the program responsibility to read this data, and so far, I have found no way of getting an indication (in Gambas) that data is waiting. As a consequence of this, sometimes data gets overwritten - bummer!. I am sure that eventually I will find a way round this, but in the interests of getting a working Programmer/Controller, which is simple to understand, I want to investigate alternatives.
I want to program 'old' devices, but the same principle could be used for more modern devices, or for serially programmed devices - so I need to know about QB64 serial port handling.
Regards, Keith

