F.G. Kaal Posted April 10, 2023 Author Share Posted April 10, 2023 12 hours ago, 9640News said: It occurs during the copy process before everything is copied. I don't know where to start searching for this problem, I am a bit flabbergasted ... for months everything seems okay and all of a sudden there is a new problem. If you start copying from here: HDS1.MDM-SRC.MODULES.MCR. how many levels deep is the directory structure from this point ? And what is the path length in characters ? Or what is the longest path ? Can you give me the directory tree (without files) from this point. 1 Quote Link to comment Share on other sites More sharing options...
GDMike Posted April 10, 2023 Share Posted April 10, 2023 Does the older version work on the same process? Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 10, 2023 Author Share Posted April 10, 2023 1 hour ago, GDMike said: Does the older version work on the same process? I don't understand this question ? The last changes on Gdm2k where new features. The copying / renaming and all the other file functions never changed and are al the same as in DM2K. Quote Link to comment Share on other sites More sharing options...
+9640News Posted April 10, 2023 Share Posted April 10, 2023 3 hours ago, F.G. Kaal said: I don't know where to start searching for this problem, I am a bit flabbergasted ... for months everything seems okay and all of a sudden there is a new problem. If you start copying from here: HDS1.MDM-SRC.MODULES.MCR. how many levels deep is the directory structure from this point ? And what is the path length in characters ? Or what is the longest path ? Can you give me the directory tree (without files) from this point. I have only seen this issue when I do a full backup of a hard drive to the TIPI which is not very often. The attached folder are files at the root level on HDS1 with the subdirectory name of MDM-SRC. These files were being copied to my TIPI drive to a subfolder at TIP1.E1.MDM-SRC. MDM-SRC.zip 2 Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 10, 2023 Author Share Posted April 10, 2023 1 hour ago, 9640News said: I have only seen this issue when I do a full backup of a hard drive to the TIPI which is not very often. The attached folder are files at the root level on HDS1 with the subdirectory name of MDM-SRC. These files were being copied to my TIPI drive to a subfolder at TIP1.E1.MDM-SRC. MDM-SRC.zip 320.52 kB · 0 downloads Thanks, I have a look at this. 1 Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 10, 2023 Author Share Posted April 10, 2023 (edited) 2 hours ago, F.G. Kaal said: Thanks, I have a look at this. I did a quick test with MAME (well ... quick, I had to copy all the files per directory with a floppy image to a MAME harddisk image) Yes, the T is cosmetic. Could copy the while HDS1.MDM-SRC. to HDS1. I don't think you hit the max 40 char fence. Maximum length here is 35 characters (HDS1.MDM-SRC.MODULES.MCB.CB-SUPPORT) So the problem is maybe in copying a complete HD. I check that later this week. I thought that you had made a complete backup before of your HD before! or did you only do backups of portions of your HD? I suspect that there is a problem with the handling of the circulair buffer in wich the subdirectory names are stored which are processed later. This is one of the differences between GDM2K and DM2K. In GDM2K it is a 4KB buffer in CPU RAM (is supposed to be easier to handle) and in DM2K it is a 2KB buffer in VDP RAM. I could add some debug code for this so that I can see what is going on here. Aha, you allready mentioned this; "I have only seen this issue when I do a full backup of a hard drive to the TIPI which is not very often". Edited April 10, 2023 by F.G. Kaal 2 Quote Link to comment Share on other sites More sharing options...
+9640News Posted April 10, 2023 Share Posted April 10, 2023 3 hours ago, F.G. Kaal said: Could copy the while HDS1.MDM-SRC. to HDS1. I don't think you hit the max 40 char fence. Maximum length here is 35 characters (HDS1.MDM-SRC.MODULES.MCB.CB-SUPPORT) So the problem is maybe in copying a complete HD. I check that later this week. No, the problem is not just when copying a complete HDS1 rive. I had the same problem when I copied just that one directory and its subdirectories to the TIP1.E1. directory. It is just very infrequently I copy more than a few files to the HDS1 drive. I looked at the TIPI.LOG file for this last attempt this afternoon on just copying the MDM-SRC directory and its subdirectories to the TIPI drive. Both directories MCB and MCR already existed as I was copying to the destination where I have previously had copied those directories. The TIPI.log file says the directory existed for MCB and the identical text for MCR where neither directory was "made / mkdir" from the tipi.log file since they already existed. However, that is where the logging stopped as GDM2K locked up at the files in the MCR folder as there was no other files or directories attempted to be written according to the tipi.log file. The first file, CR-DATA, in the MCR folder would have been the first file in that directory to be copied, and it was only 7 chars in length. I ran another test as well, and was able to generate the same issue copying from HDS1.MDM-SRC and its folders to SCS2.E1.MDM-SRC. Now, if I copy HDS1.MDM-SRC and its folders to SCS2.E.MDM-SRC (note, "E", not "E1" in the file path), everything copies without issue. 2 Quote Link to comment Share on other sites More sharing options...
+9640News Posted April 10, 2023 Share Posted April 10, 2023 I can also add something else to the issue. I went in to delete the SCS2.E and SCS2.E1 folders. The E folder deleted with no issue. The MCR subfolder was not deleted in the E1 folder and GDM2K went to a black screen requiring a power cycle of the PEBox. Beery 2 Quote Link to comment Share on other sites More sharing options...
+dhe Posted April 11, 2023 Share Posted April 11, 2023 What tool chain are you using to build the gdm2k application? Very serious on this question. Thanks, d. Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 11, 2023 Author Share Posted April 11, 2023 13 hours ago, dhe said: What tool chain are you using to build the gdm2k application? Very serious on this question. Thanks, d. I build eveything on my PC using Clint Pulley's C99C, my XA99 crossassembler and L99 linker. Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 11, 2023 Author Share Posted April 11, 2023 19 hours ago, 9640News said: I ran another test as well, and was able to generate the same issue copying from HDS1.MDM-SRC and its folders to SCS2.E1.MDM-SRC. This is a rather strange phenomenon ... (G)DM2K doesn't care about directory names. I did the same copying that directory from HDS1. to HDS2.E1. (on MAME) and look what happens ... Now I have a clue to work on 🙂 (or is it 😞 ) 2 Quote Link to comment Share on other sites More sharing options...
+dhe Posted April 11, 2023 Share Posted April 11, 2023 31 minutes ago, F.G. Kaal said: I build eveything on my PC using Clint Pulley's C99C, my XA99 crossassembler and L99 linker. Kewl... That explains how you get an MDOS program. I was able to compile c99c on the PC, but not on MDOS. It looked like c99c was more advanced then what was released for MDOS. I used to take the MDOS C code and then use GENASM and Clint and AL's linker to make an MDOS executable. Have you upgraded the c99c source, from what Clint released to the Yahoo Group about 15 years ago? Thanks! Quote Link to comment Share on other sites More sharing options...
+mizapf Posted April 11, 2023 Share Posted April 11, 2023 My toolchain for writing MDOS programs is - TASM / GENASM for direct assembly language programming - TIC plus TASM for C programming I've been doing that since the mid 90ies, when I turned from GPL mode programming to MDOS programming. 2 Quote Link to comment Share on other sites More sharing options...
+9640News Posted April 11, 2023 Share Posted April 11, 2023 2 hours ago, F.G. Kaal said: This is a rather strange phenomenon ... (G)DM2K doesn't care about directory names. I did the same copying that directory from HDS1. to HDS2.E1. (on MAME) and look what happens ... Now I have a clue to work on 🙂 (or is it 😞 ) This is the issue!!!! And reproduced as well on another system. 5 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted April 12, 2023 Share Posted April 12, 2023 @F.G. Kaal I'm trying (for a while) to get hdx server to work on linux under wine, this USED to work..with older wine but lately it has stopped. I see you include a dll in the zip for io and I don't see it being loaded with the exe when I do a dependencies check.. curious if you have any ideas winehq acts stupid about it.. ├ ti99hdx.exe (ROOT) : ti99hdx.exe | ├ KERNEL32.dll (WindowsFolder) : C:\windows\syswow64\KERNEL32.dll | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | ├ USER32.dll (WindowsFolder) : C:\windows\syswow64\USER32.dll | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | | ├ msvcrt.dll (WindowsFolder) : C:\windows\syswow64\msvcrt.dll | | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | ├ sechost.dll (WindowsFolder) : C:\windows\syswow64\sechost.dll | | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | ├ gdi32.dll (WindowsFolder) : C:\windows\syswow64\gdi32.dll | | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | | | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | | | ├ gdi32.dll (WindowsFolder) : C:\windows\syswow64\gdi32.dll | | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | | ├ sechost.dll (WindowsFolder) : C:\windows\syswow64\sechost.dll | | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | | ├ version.dll (WindowsFolder) : C:\windows\syswow64\version.dll | | | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | | ├ win32u.dll (WindowsFolder) : C:\windows\syswow64\win32u.dll | | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | | | ├ win32u.dll (WindowsFolder) : C:\windows\syswow64\win32u.dll | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | ├ sechost.dll (WindowsFolder) : C:\windows\syswow64\sechost.dll | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | ├ version.dll (WindowsFolder) : C:\windows\syswow64\version.dll | | ├ win32u.dll (WindowsFolder) : C:\windows\syswow64\win32u.dll | ├ GDI32.dll (WindowsFolder) : C:\windows\syswow64\GDI32.dll | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | | ├ win32u.dll (WindowsFolder) : C:\windows\syswow64\win32u.dll | ├ comdlg32.dll (WindowsFolder) : C:\windows\syswow64\comdlg32.dll | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | ├ comctl32.dll (WindowsFolder) : C:\windows\syswow64\comctl32.dll | | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | | ├ gdi32.dll (WindowsFolder) : C:\windows\syswow64\gdi32.dll | | | ├ imm32.dll (WindowsFolder) : C:\windows\syswow64\imm32.dll | | | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | | | | ├ win32u.dll (WindowsFolder) : C:\windows\syswow64\win32u.dll | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | | ├ gdi32.dll (WindowsFolder) : C:\windows\syswow64\gdi32.dll | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | ├ shell32.dll (WindowsFolder) : C:\windows\syswow64\shell32.dll | | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | | ├ gdi32.dll (WindowsFolder) : C:\windows\syswow64\gdi32.dll | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | ├ shlwapi.dll (WindowsFolder) : C:\windows\syswow64\shlwapi.dll | | | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | | | ├ gdi32.dll (WindowsFolder) : C:\windows\syswow64\gdi32.dll | | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | | ├ shcore.dll (WindowsFolder) : C:\windows\syswow64\shcore.dll | | | | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | | ├ shlwapi.dll (WindowsFolder) : C:\windows\syswow64\shlwapi.dll | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | | ├ winspool.drv (WindowsFolder) : C:\windows\syswow64\winspool.drv | | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | | ├ compstui.dll (WindowsFolder) : C:\windows\syswow64\compstui.dll | | | | ├ comctl32.dll (WindowsFolder) : C:\windows\syswow64\comctl32.dll | | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | | | ├ gdi32.dll (WindowsFolder) : C:\windows\syswow64\gdi32.dll | | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | ├ SHELL32.dll (WindowsFolder) : C:\windows\syswow64\SHELL32.dll | | ├ advapi32.dll (WindowsFolder) : C:\windows\syswow64\advapi32.dll | | ├ gdi32.dll (WindowsFolder) : C:\windows\syswow64\gdi32.dll | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | ├ shlwapi.dll (WindowsFolder) : C:\windows\syswow64\shlwapi.dll | | ├ ucrtbase.dll (WindowsFolder) : C:\windows\syswow64\ucrtbase.dll | | ├ user32.dll (WindowsFolder) : C:\windows\syswow64\user32.dll | ├ ADVAPI32.dll (WindowsFolder) : C:\windows\syswow64\ADVAPI32.dll | | ├ kernel32.dll (WindowsFolder) : C:\windows\syswow64\kernel32.dll | | ├ kernelbase.dll (WindowsFolder) : C:\windows\syswow64\kernelbase.dll | | ├ msvcrt.dll (WindowsFolder) : C:\windows\syswow64\msvcrt.dll | | ├ ntdll.dll (WindowsFolder) : C:\windows\syswow64\ntdll.dll | | ├ sechost.dll (WindowsFolder) : C:\windows\syswow64\sechost.dll Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 12, 2023 Author Share Posted April 12, 2023 1 hour ago, arcadeshopper said: I'm trying (for a while) to get hdx server to work on linux under wine, this USED to work..with older wine but lately it has stopped. I see you include a dll in the zip for io and I don't see it being loaded with the exe when I do a dependencies check.. curious if you have any ideas winehq acts stupid about it.. Hi Gregory, This inpout.dll is only loaded when Ti99Hdx is used for communicating via a parallel port. This is some feature I made for the Cf7a+ sidecar. I last used this on a Windows XP laptop with parallel port. Fred 🙂 1 Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 12, 2023 Author Share Posted April 12, 2023 20 hours ago, mizapf said: My toolchain for writing MDOS programs is - TASM / GENASM for direct assembly language programming - TIC plus TASM for C programming I've been doing that since the mid 90ies, when I turned from GPL mode programming to MDOS programming. I still have to take a look at TIC. But I allready made so many thingies with C99C and I am also a lazy programmer Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 12, 2023 Author Share Posted April 12, 2023 (edited) 22 hours ago, dhe said: Kewl... That explains how you get an MDOS program. I was able to compile c99c on the PC, but not on MDOS. It looked like c99c was more advanced then what was released for MDOS. I used to take the MDOS C code and then use GENASM and Clint and AL's linker to make an MDOS executable. Have you upgraded the c99c source, from what Clint released to the Yahoo Group about 15 years ago? Thanks! I recently did an update for C99C v5.1.1 because I suddenly understand how the inner workings of the compiler was. I have added: 4.1.2 2021/05/02 FGK - Fixed some problems so that C99C can be used with make Increased MACQSIZE from 1000 to 2000 4.2.1 2023/01/02 FGK - Global symbol names converted to uppercase to prevent problems when unintentionally cases are mixed which could generate the wrong code, i.e. LI 8,NAME instead of MOV @NAME,8 (must be uppercase for the assembler anyway) 5.1.1 2023/01/04 FGK - Added assignment operators +=, -=, &=, |=, *=, /=, %=, <<= and >>= Allow // for single line comment. Added void type (handled as an int). Added new style function declarations like type function(type args); Added function prototyping: o entry type function(type arg, type arg); o static type function(type arg, type arg); o extern type function(type arg, type arg); and also variable argument list is allowed, like: o int printf(char *fmt, ...); type can be char, char *, int, int * or void which is handled like an int. Return type is not checked but is there to help you ... the programmer. When a function is called the number of arguments is checked. In the case of a variable argument list the minimum number of arguments is checked. An error is issued when number of arguments does not match. This version together with all the optimizers is available in the UTL directory of TI994W. With version 5.1.1 of C99C I build GDM2K for which I added all the function prototypes. Found a few funny problems (technical problems are always funny) 1) A function call with to many arguments (this is never a problem) 2) A function call with to little argument but that argument was not used in the function (also not a problem) The source is available if you like. Fred Edited April 12, 2023 by F.G. Kaal 1 2 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted April 12, 2023 Share Posted April 12, 2023 25 minutes ago, F.G. Kaal said: Hi Gregory, This inpout.dll is only loaded when Ti99Hdx is used for communicating via a parallel port. This is some feature I made for the Cf7a+ sidecar. I last used this on a Windows XP laptop with parallel port. Fred 🙂 OK great well with wine it seems to see the serial port in the latest version (8.0.5) but never sees the data.. may be how you are opening the port not sure here's the wine bug: https://bugs.winehq.org/show_bug.cgi?id=42882 as you can see i've been bugging them a long time Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 12, 2023 Author Share Posted April 12, 2023 5 minutes ago, arcadeshopper said: ok gerat well with wine it seems to see the serial port in the latest version (8.0.5) but never sees the data.. may be how you are opening the port not sure here's the wine bug: https://bugs.winehq.org/show_bug.cgi?id=42882 as you can see i've been bugging them a long time Opening a COM port in Windows is pretty standard and I use this in a lot of programs: wsprintf(ComPortName,"\\\\.\\COM%u", ComPort); hSerCom = CreateFile(ComPortName, GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); If this fails you get some messagebox: Can't open serial port <COM%u:> or: Can't create overlapped handle for <COM%u:> If you don't see this then the CreateFile function succeeded. I don't know anything about Wine, but in i.e. VmWare I had to explicitly allow access to hardware devices like disk, CD-roms and IO-ports. Is that also the case with Wine ? Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted April 12, 2023 Share Posted April 12, 2023 4 hours ago, F.G. Kaal said: Opening a COM port in Windows is pretty standard and I use this in a lot of programs: wsprintf(ComPortName,"\\\\.\\COM%u", ComPort); hSerCom = CreateFile(ComPortName, GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); If this fails you get some messagebox: Can't open serial port <COM%u:> or: Can't create overlapped handle for <COM%u:> If you don't see this then the CreateFile function succeeded. I don't know anything about Wine, but in i.e. VmWare I had to explicitly allow access to hardware devices like disk, CD-roms and IO-ports. Is that also the case with Wine ? no it pretty much just works as long as I define what serial port is com1 etc.. I just tried hyperterminal and it works fine.. it's like maybe you are doing it 'the old way' or something and they took that out of newer versions of Wine, works fine in windows though so im having to just run a vm on my linux machine with windows 7 just for hdx have you considered making a linux binary? or rewrite in python? Quote Link to comment Share on other sites More sharing options...
+dhe Posted April 13, 2023 Share Posted April 13, 2023 Can someone here modify the first post to reflect the new website: http://hexbus.com/ti99geek/ ? Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted April 14, 2023 Share Posted April 14, 2023 2 hours ago, dhe said: Can someone here modify the first post to reflect the new website: http://hexbus.com/ti99geek/ ? I can if @F.G. Kaal wants it done. Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 15, 2023 Author Share Posted April 15, 2023 On 4/13/2023 at 12:14 AM, arcadeshopper said: maybe you are doing it 'the old way' Was searching for opening com ports in windows using C, some automatic AI thing told me this all by itself: To open a COM port in Windows 11 using C code, you can use the following code snippet: HANDLE hSerial; hSerial = CreateFile(L"COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hSerial == INVALID_HANDLE_VALUE) { if (GetLastError() == ERROR_FILE_NOT_FOUND) { printf("serial port does not exist.\n"); } printf("some other error occurred.\n"); } This differs nothing in what I am doing. So there is nothing new under the sun regarding opening COM ports in Windows. And what do you mean by this ?: "no it pretty much just works as long as I define what serial port is com1 etc.." Quote Link to comment Share on other sites More sharing options...
F.G. Kaal Posted April 16, 2023 Author Share Posted April 16, 2023 @9640News and everybody else interested. Here it is ... GDM2K version 3.7 Found in my file IO functions that the PAB's where defined with a length of 50 bytes. But the minimum MDOS PAB size is 15 bytes (TI99 it is 10 bytes) leaving 35 bytes for the path/filename. I have never looked at this again after the first creation of GDM2K in 2009. I increased this to 60 bytes so that the maximum path/filename length is 45 bytes. I am thinking about some check in this code to prevent this problem again in the future. Also did something about the cosmetic issues. And yes ... the program is a bit shorter than it was ... I did a lot of work on my C99C optimizers during the X-mass holidays Enjoy! Gdm2k_V37.zip 6 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.