VOGONS


HIDman - USB to PS/2 converter (Open Source)

Topic actions

Reply 460 of 514, by yugokoral

User metadata
Rank Newbie
Rank
Newbie

I have a problem with my KVM switch MASTER VIEW CS-104. Actually even when i turn it off (the power switch in front), the mouse port (for input to KVM) is still active - optical mouse red LED stil glows. When i connect HIDman to the KVM without a mouse input, everything seems normal and it works (of course with no mouse). When i connect the mouse - input from KVM, it stucks on boot. It passes the RAM check, but does not detect drives. Even the keyboard does not react to num lock switch (the led does not change the state).
Is that normal, that mouse input on KVM is always active? Another evidence of active mouse port is also that the HIDman stays turned on, when i turn off the KVM. It seems also, that the power of the PS/2 mouse port loops back through HIDman to the KB input port? Also this old school KVM does not work without 9V power supply.
Do you guys have any idea, if maybe this KVM is kinda faulty (it still works normal with regular ps/2 kb and mouse)??

Also i tried another KVM with HIDman (which is passive and does not have power supply input) - its an ATEN MASTER VIEW CS-14. It powers through the PS/2 ports, and than also powers on the HIDman and i t works good.

Reply 461 of 514, by yugokoral

User metadata
Rank Newbie
Rank
Newbie

Okay, I tried another converter from dekuNukem - USB4VC and it works fine connected to my MASTER VIEW CS-104 KVM switch.
There must be something in conflict between Hidman and my KVM, that stucks at boot, when PS/2 mouse cable is connected. After RAM counter, it does not start detecting IDE drives - it freezes.

Reply 462 of 514, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
yugokoral wrote on 2025-01-25, 21:29:

Okay, I tried another converter from dekuNukem - USB4VC and it works fine connected to my MASTER VIEW CS-104 KVM switch.
There must be something in conflict between Hidman and my KVM, that stucks at boot, when PS/2 mouse cable is connected. After RAM counter, it does not start detecting IDE drives - it freezes.

Can you send me some HID logs? Start the HID log, then plug in your KVM and watch the output. Then send me the resultant text

Reply 463 of 514, by yugokoral

User metadata
Rank Newbie
Rank
Newbie

I have some news. As I said the problem occurs when HIDMAN is connected to KVM input (one PS/2 cable for KB and another for mouse). Also if only the keyboard PS/2 line is connected.
This is not USB KVM. It is old type of KVM (VGA, PS/2 mouse and keyboard, DIN 5 KB and RS232 serial mouse port). My PC is connected to the first output port (of four available) of the KVM.
When booting after the RAM counter, it does not start detecting IDE drives - it freezes. Actually I have just found out, if I press any key on KB a few times quickly, it continues to boot. Then it works and it detects KB and mouse in MS-DOS.
The keyboard I use is plain old normal Logitech USB from 2011 for 20 euros.

rasteri wrote on 2025-01-25, 23:12:
yugokoral wrote on 2025-01-25, 21:29:

Okay, I tried another converter from dekuNukem - USB4VC and it works fine connected to my MASTER VIEW CS-104 KVM switch.
There must be something in conflict between Hidman and my KVM, that stucks at boot, when PS/2 mouse cable is connected. After RAM counter, it does not start detecting IDE drives - it freezes.

Can you send me some HID logs? Start the HID log, then plug in your KVM and watch the output. Then send me the resultant text

The problem is, that i can not record log. When i start logging data in text editor, and if i turn off KVM and turn it on again, I lose connection with HIDMAN, because HIDMAN is powered by KVM (HIDMAN is connected to KVM as input source of PS/2 keyboard and mouse). Well anyway i started HID log, but instead i disconnected and reconnected USB keyboard connected to hidman. I don't think if that helps... I got this:

HIDman v1.1.4

1. Kez
2. Mouse
3. Game

4. Adv.

ESC to exit menu



--
Advanced

1. Factorz Reset
2. Log HID Data
3. PS2 mouse status
4. Serial Log - No

ESC main menu
Logging HID Data. Press ESC to stop...
I0 L8- 00 00 00 00 00 00 00 00

reenumerating all ports
port 0
sp 52
gdd len8
mps 8
addr ok 0
gddfull ok 18
Device Descriptor
12 01 10 01 00 00 00 08 6D 04 0E C3 80 01 01 02
00 01

0x046D 0xC30E 0x0180
Config Descriptor
09 02 3B 00 02 01 00 A0 32 09 04 00 00 01 03 01
01 00 09 21 10 01 00 01 22 3E 00 07 05 81 03 08
00 0A 09 04 01 00 01 03 00 00 00 09 21 10 01 00
01 22 6B 00 07 05 82 03 08 00 0A

gcd ok 59
Interface 0
InterfaceProtocol 1



Interface 0 Report Descriptor -
05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
75 01 95 08 81 02 95 01 75 08 81 01 95 03 75 01
05 08 19 01 29 03 91 02 95 05 75 01 91 01 95 06
75 08 26 FF 00 05 07 19 00 29 91 81 00 C0

set boot mode - 1 - 0
SetReport
Interface 1
InterfaceProtocol 0


Show last 15 lines

Interface 1 Report Descriptor -
05 0C 09 01 A1 01 85 01 15 01 26 5E 00 75 08 95
02 0A 25 02 09 B6 09 B5 09 B7 09 CD 09 EA 09 E9
09 E2 0A 92 01 0A 8A 01 0A 21 02 0A 23 02 0A 2A
02 0A 24 02 0A 83 01 1B 01 00 09 00 2B 4C 00 09
00 05 0C 0A 27 02 0A 26 02 09 B8 81 60 C0 05 01
09 80 A1 01 85 02 15 01 25 03 75 02 95 01 09 82
09 81 09 83 81 60 75 06 81 03 C0

set report mode - 0 - 0
port 1
gdd.fail
done reenumerating

Reply 464 of 514, by NachtRave

User metadata
Rank Member
Rank
Member

Just wanted to let people know that our immersion gold HIDmans are now up on eBay.

Reply 465 of 514, by myne

User metadata
Rank Oldbie
Rank
Oldbie
yugokoral wrote on 2025-01-26, 00:00:
I have some news. As I said the problem occurs when HIDMAN is connected to KVM input (one PS/2 cable for KB and another for mous […]
Show full quote

I have some news. As I said the problem occurs when HIDMAN is connected to KVM input (one PS/2 cable for KB and another for mouse). Also if only the keyboard PS/2 line is connected.
This is not USB KVM. It is old type of KVM (VGA, PS/2 mouse and keyboard, DIN 5 KB and RS232 serial mouse port). My PC is connected to the first output port (of four available) of the KVM.
When booting after the RAM counter, it does not start detecting IDE drives - it freezes. Actually I have just found out, if I press any key on KB a few times quickly, it continues to boot. Then it works and it detects KB and mouse in MS-DOS.
The keyboard I use is plain old normal Logitech USB from 2011 for 20 euros.

rasteri wrote on 2025-01-25, 23:12:
yugokoral wrote on 2025-01-25, 21:29:

Okay, I tried another converter from dekuNukem - USB4VC and it works fine connected to my MASTER VIEW CS-104 KVM switch.
There must be something in conflict between Hidman and my KVM, that stucks at boot, when PS/2 mouse cable is connected. After RAM counter, it does not start detecting IDE drives - it freezes.

Can you send me some HID logs? Start the HID log, then plug in your KVM and watch the output. Then send me the resultant text

The problem is, that i can not record log. When i start logging data in text editor, and if i turn off KVM and turn it on again, I lose connection with HIDMAN, because HIDMAN is powered by KVM (HIDMAN is connected to KVM as input source of PS/2 keyboard and mouse). Well anyway i started HID log, but instead i disconnected and reconnected USB keyboard connected to hidman. I don't think if that helps... I got this:

HIDman v1.1.4

1. Kez
2. Mouse
3. Game

4. Adv.

ESC to exit menu



--
Advanced

1. Factorz Reset
2. Log HID Data
3. PS2 mouse status
4. Serial Log - No

ESC main menu
Logging HID Data. Press ESC to stop...
I0 L8- 00 00 00 00 00 00 00 00

reenumerating all ports
port 0
sp 52
gdd len8
mps 8
addr ok 0
gddfull ok 18
Device Descriptor
12 01 10 01 00 00 00 08 6D 04 0E C3 80 01 01 02
00 01

0x046D 0xC30E 0x0180
Config Descriptor
09 02 3B 00 02 01 00 A0 32 09 04 00 00 01 03 01
01 00 09 21 10 01 00 01 22 3E 00 07 05 81 03 08
00 0A 09 04 01 00 01 03 00 00 00 09 21 10 01 00
01 22 6B 00 07 05 82 03 08 00 0A

gcd ok 59
Interface 0
InterfaceProtocol 1



Interface 0 Report Descriptor -
05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
75 01 95 08 81 02 95 01 75 08 81 01 95 03 75 01
05 08 19 01 29 03 91 02 95 05 75 01 91 01 95 06
75 08 26 FF 00 05 07 19 00 29 91 81 00 C0

set boot mode - 1 - 0
SetReport
Interface 1
InterfaceProtocol 0


Show last 15 lines

Interface 1 Report Descriptor -
05 0C 09 01 A1 01 85 01 15 01 26 5E 00 75 08 95
02 0A 25 02 09 B6 09 B5 09 B7 09 CD 09 EA 09 E9
09 E2 0A 92 01 0A 8A 01 0A 21 02 0A 23 02 0A 2A
02 0A 24 02 0A 83 01 1B 01 00 09 00 2B 4C 00 09
00 05 0C 0A 27 02 0A 26 02 09 B8 81 60 C0 05 01
09 80 A1 01 85 02 15 01 25 03 75 02 95 01 09 82
09 81 09 83 81 60 75 06 81 03 C0

set report mode - 0 - 0
port 1
gdd.fail
done reenumerating

Turn off keyboard error in bios. See if behaviour changes.
Guessing it's trying to detect, and sort of working.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 466 of 514, by yugokoral

User metadata
Rank Newbie
Rank
Newbie
myne wrote on 2025-01-28, 03:12:
yugokoral wrote on 2025-01-26, 00:00:
I have some news. As I said the problem occurs when HIDMAN is connected to KVM input (one PS/2 cable for KB and another for mous […]
Show full quote

I have some news. As I said the problem occurs when HIDMAN is connected to KVM input (one PS/2 cable for KB and another for mouse). Also if only the keyboard PS/2 line is connected.
This is not USB KVM. It is old type of KVM (VGA, PS/2 mouse and keyboard, DIN 5 KB and RS232 serial mouse port). My PC is connected to the first output port (of four available) of the KVM.
When booting after the RAM counter, it does not start detecting IDE drives - it freezes. Actually I have just found out, if I press any key on KB a few times quickly, it continues to boot. Then it works and it detects KB and mouse in MS-DOS.
The keyboard I use is plain old normal Logitech USB from 2011 for 20 euros.

rasteri wrote on 2025-01-25, 23:12:

Can you send me some HID logs? Start the HID log, then plug in your KVM and watch the output. Then send me the resultant text

The problem is, that i can not record log. When i start logging data in text editor, and if i turn off KVM and turn it on again, I lose connection with HIDMAN, because HIDMAN is powered by KVM (HIDMAN is connected to KVM as input source of PS/2 keyboard and mouse). Well anyway i started HID log, but instead i disconnected and reconnected USB keyboard connected to hidman. I don't think if that helps... I got this:

HIDman v1.1.4

1. Kez
2. Mouse
3. Game

4. Adv.

ESC to exit menu



--
Advanced

1. Factorz Reset
2. Log HID Data
3. PS2 mouse status
4. Serial Log - No

ESC main menu
Logging HID Data. Press ESC to stop...
I0 L8- 00 00 00 00 00 00 00 00

reenumerating all ports
port 0
sp 52
gdd len8
mps 8
addr ok 0
gddfull ok 18
Device Descriptor
12 01 10 01 00 00 00 08 6D 04 0E C3 80 01 01 02
00 01

0x046D 0xC30E 0x0180
Config Descriptor
09 02 3B 00 02 01 00 A0 32 09 04 00 00 01 03 01
01 00 09 21 10 01 00 01 22 3E 00 07 05 81 03 08
00 0A 09 04 01 00 01 03 00 00 00 09 21 10 01 00
01 22 6B 00 07 05 82 03 08 00 0A

gcd ok 59
Interface 0
InterfaceProtocol 1



Interface 0 Report Descriptor -
05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
75 01 95 08 81 02 95 01 75 08 81 01 95 03 75 01
05 08 19 01 29 03 91 02 95 05 75 01 91 01 95 06
75 08 26 FF 00 05 07 19 00 29 91 81 00 C0

set boot mode - 1 - 0
SetReport
Interface 1
InterfaceProtocol 0


Show last 15 lines

Interface 1 Report Descriptor -
05 0C 09 01 A1 01 85 01 15 01 26 5E 00 75 08 95
02 0A 25 02 09 B6 09 B5 09 B7 09 CD 09 EA 09 E9
09 E2 0A 92 01 0A 8A 01 0A 21 02 0A 23 02 0A 2A
02 0A 24 02 0A 83 01 1B 01 00 09 00 2B 4C 00 09
00 05 0C 0A 27 02 0A 26 02 09 B8 81 60 C0 05 01
09 80 A1 01 85 02 15 01 25 03 75 02 95 01 09 82
09 81 09 83 81 60 75 06 81 03 C0

set report mode - 0 - 0
port 1
gdd.fail
done reenumerating

Turn off keyboard error in bios. See if behaviour changes.
Guessing it's trying to detect, and sort of working.

I tried that and doesn't work. It works when it is connected directly to the PC. When it is connected through the KVM switch, something just breaks, and i have to press any key a few times. Maybe to detect keyboard again? Idk really.
I left it sitting and i started timer. The PC redetected keyboard after 5min and about 35 seconds, when i heard my floppy rumble and loaded all four (primary and secondary IDE) drives. Maybe that time means something?

Reply 467 of 514, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
yugokoral wrote on 2025-01-28, 17:54:

I tried that and doesn't work. It works when it is connected directly to the PC. When it is connected through the KVM switch, something just breaks, and i have to press any key a few times. Maybe to detect keyboard again? Idk really.
I left it sitting and i started timer. The PC redetected keyboard after 5min and about 35 seconds, when i heard my floppy rumble and loaded all four (primary and secondary IDE) drives. Maybe that time means something?

OK I've decided to make a new rule. If you have a device that doesn't work with hidman, lend it to me for a week and I'll try my best to get it working.

You pay to ship it to me but I'll pay return shipping

Reply 468 of 514, by myne

User metadata
Rank Oldbie
Rank
Oldbie

That's extremely generous.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 469 of 514, by yugokoral

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2025-01-31, 13:15:
yugokoral wrote on 2025-01-28, 17:54:

I tried that and doesn't work. It works when it is connected directly to the PC. When it is connected through the KVM switch, something just breaks, and i have to press any key a few times. Maybe to detect keyboard again? Idk really.
I left it sitting and i started timer. The PC redetected keyboard after 5min and about 35 seconds, when i heard my floppy rumble and loaded all four (primary and secondary IDE) drives. Maybe that time means something?

OK I've decided to make a new rule. If you have a device that doesn't work with hidman, lend it to me for a week and I'll try my best to get it working.

You pay to ship it to me but I'll pay return shipping

I already had a plan to buy another one, if maybe my KVM is at fault (but probably that's not the case)... So I just found exactly the same one on ebay which is in UK. You live in UK, right? I will order it for you, but i will need your address. Maybe u can send me a PM? 😁

Reply 470 of 514, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
yugokoral wrote on 2025-01-31, 15:23:

I already had a plan to buy another one, if maybe my KVM is at fault (but probably that's not the case)... So I just found exactly the same one on ebay which is in UK. You live in UK, right? I will order it for you, but i will need your address. Maybe u can send me a PM? 😁

I'm seeing the same issue as you, PC won't boot if it is selected while hidman is connected

you can workaround by making sure the PC isn't selected while it boots, but I'll hook a logic analyzer up and try to figure out what's going on

Reply 471 of 514, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
yugokoral wrote on 2025-01-31, 15:23:

I already had a plan to buy another one, if maybe my KVM is at fault (but probably that's not the case)... So I just found exactly the same one on ebay which is in UK. You live in UK, right? I will order it for you, but i will need your address. Maybe u can send me a PM? 😁

OK what seems to be happening is hidman responds to the reset command far too quickly. Most keyboards send the BAT code (0xAA) after 300ms or so, hidman sends it immediately.

The attachment Screenshot 2025-02-05 154438.png is no longer available

I've added a delay of 500ms. This appears to make it boot on my computers.

The attachment Screenshot 2025-02-05 154353.png is no longer available

See if this firmware works for you :

Reply 472 of 514, by myne

User metadata
Rank Oldbie
Rank
Oldbie

Ah delays.
They fix a surprising number of issues.

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11+tcp+vbe_svga auto-install iso template
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 473 of 514, by yugokoral

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2025-02-05, 15:39:
OK what seems to be happening is hidman responds to the reset command far too quickly. Most keyboards send the BAT code (0xAA) a […]
Show full quote
yugokoral wrote on 2025-01-31, 15:23:

I already had a plan to buy another one, if maybe my KVM is at fault (but probably that's not the case)... So I just found exactly the same one on ebay which is in UK. You live in UK, right? I will order it for you, but i will need your address. Maybe u can send me a PM? 😁

OK what seems to be happening is hidman responds to the reset command far too quickly. Most keyboards send the BAT code (0xAA) after 300ms or so, hidman sends it immediately.

The attachment Screenshot 2025-02-05 154438.png is no longer available

I've added a delay of 500ms. This appears to make it boot on my computers.

The attachment Screenshot 2025-02-05 154353.png is no longer available

See if this firmware works for you :

Damn, it works! As you said. No issues! You're genius.
BTW. What type of analyzer do you use? Did you just cut one cable and put scope in between?
And, does this KVM you got, also has +5V present on mouse PS/2 input even if the switch is turned off? I was just thinking of putting diode on both ports on hidman, but i am affraid that the voltage drop of the diode (5V - 0,7V = 4,3V) will affect the hidman.

Thank you! You're the best.

Reply 474 of 514, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
yugokoral wrote on 2025-02-05, 19:55:

BTW. What type of analyzer do you use? Did you just cut one cable and put scope in between?

Cheap Saleae clone. Works great for low speed buses like PS/2. And yeah I have a wide variety of PS/2 debugging adapters I've built over the course of this project 😀

And, does this KVM you got, also has +5V present on mouse PS/2 input even if the switch is turned off? I was just thinking of putting diode on both ports on hidman, but i am affraid that the voltage drop of the diode (5V - 0,7V = 4,3V) will affect the hidman.

No, if I turn the power switch off then hidman turns off too. Does yours not do this?

What are you trying to do here? You really shouldn't connect HIDman directly to more than one PC

Reply 475 of 514, by yugokoral

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2025-02-10, 14:47:
Cheap Saleae clone. Works great for low speed buses like PS/2. And yeah I have a wide variety of PS/2 debugging adapters I've bu […]
Show full quote
yugokoral wrote on 2025-02-05, 19:55:

BTW. What type of analyzer do you use? Did you just cut one cable and put scope in between?

Cheap Saleae clone. Works great for low speed buses like PS/2. And yeah I have a wide variety of PS/2 debugging adapters I've built over the course of this project 😀

And, does this KVM you got, also has +5V present on mouse PS/2 input even if the switch is turned off? I was just thinking of putting diode on both ports on hidman, but i am affraid that the voltage drop of the diode (5V - 0,7V = 4,3V) will affect the hidman.

No, if I turn the power switch off then hidman turns off too. Does yours not do this?

What are you trying to do here? You really shouldn't connect HIDman directly to more than one PC

No no, let's make it clear - I am not connecting HIDman to two PCs. I Have my HIDman connected to my KVM - same as your. One ps2 cable for mouse and another ps2 cable for keyboard input. The problem is, that when i turn off the switch of my KVM, the HIDman is still ON - the blue LED is still on - so i realized, that the power comes from mouse "input" port from the back of the KVM. If i unplug that ps2 cable from KVM or from HIDman, the HIDman turns off. Maybe my KVM has some component damaged inside, maybe some diode? In case that your KVM completely cuts the power from PS2 ports, than I have a small problem. I will have to open my KVM and check.
When you decide to send me KVM back, I will pay you back for shipping, because I am happy that you solved my problem. If you need it for some more testing, it's not a problem.

Also i have one more issue, but it is firmware compiling related.
Last year i was trying to compile your source code on windows - no success.
Now i was trying to compile it in GIT - also no success.

Than i tried WSL on windows and on this WSL i have SDCC version 4.2.0 build #13081 and GNU MAKE version 4.3 installed. I somehow managed to get your source code compile and i got .bin and i got .hex file. I saw that my .hex file is approximately 1600 bytes less in size than your compiled .hex file. Also while in process of compiling I got bunch of strange warnings. Maybe this is related to final file size? How to get rid of this warnings? What is your process of compiling the code? Did i miss something?

Here is the log from WSL CMD:

sudo make all
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/keyboardled.rel keyboardled.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include keyboardled.c
+ /usr/bin/sdas8051 -plosgffw build/keyboardled.rel build/keyboardled.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/parsedescriptor.rel parsedescriptor.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include parsedescriptor.c
parsedescriptor.c:123: warning 59: function 'FetchItem' must return value
+ /usr/bin/sdas8051 -plosgffw build/parsedescriptor.rel build/parsedescriptor.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/system.rel system.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include system.c
system.c:268: warning 158: overflow in implicit constant conversion
+ /usr/bin/sdas8051 -plosgffw build/system.rel build/system.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/usbhost.rel usbhost.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include usbhost.c
usbhost.c:272: warning 88: cast of LITERAL value to 'generic' pointer
from type 'const-int literal'
to type 'unsigned-int generic* fixed'
+ /usr/bin/sdas8051 -plosgffw build/usbhost.rel build/usbhost.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/data.rel data.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include data.c
+ /usr/bin/sdas8051 -plosgffw build/data.rel build/data.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/menu.rel menu.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include menu.c
+ /usr/bin/sdas8051 -plosgffw build/menu.rel build/menu.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/ps2protocol.rel ps2protocol.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include ps2protocol.c
ps2protocol.c:204: warning 185: comparison of 'signed char' with 'unsigned char' requires promotion to int
+ /usr/bin/sdas8051 -plosgffw build/ps2protocol.rel build/ps2protocol.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/ps2.rel ps2.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include ps2.c
ps2.c:145: warning 126: unreachable code
ps2.c:189: warning 126: unreachable code
ps2.c:212: warning 126: unreachable code
ps2.c:228: warning 126: unreachable code
ps2.c:411: warning 126: unreachable code
ps2.c:428: warning 126: unreachable code
+ /usr/bin/sdas8051 -plosgffw build/ps2.rel build/ps2.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/andyalloc.rel andyalloc.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include andyalloc.c
+ /usr/bin/sdas8051 -plosgffw build/andyalloc.rel build/andyalloc.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/pwm.rel pwm.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include pwm.c
pwm.c:88: warning 85: in function InitPWM3 unreferenced function argument : 'polar'
+ /usr/bin/sdas8051 -plosgffw build/pwm.rel build/pwm.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/mouse.rel mouse.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include mouse.c
+ /usr/bin/sdas8051 -plosgffw build/mouse.rel build/mouse.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/dataflash.rel dataflash.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include dataflash.c
dataflash.c:166: warning 84: 'auto' variable 'status' may be used before initialization
+ /usr/bin/sdas8051 -plosgffw build/dataflash.rel build/dataflash.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/settings.rel settings.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include settings.c
+ /usr/bin/sdas8051 -plosgffw build/settings.rel build/settings.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/amstrad.rel amstrad.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include amstrad.c
amstrad.c:39: warning 126: unreachable code
amstrad.c:42: warning 126: unreachable code
amstrad.c:91: warning 126: unreachable code
amstrad.c:105: warning 126: unreachable code
Show last 50 lines
amstrad.c:139: warning 126: unreachable code
amstrad.c:147: warning 126: unreachable code
amstrad.c:152: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
+ /usr/bin/sdas8051 -plosgffw build/amstrad.rel build/amstrad.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/usbll.rel usbll.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include usbll.c
usbll.c:372: warning 158: overflow in implicit constant conversion
usbll.c:389: warning 158: overflow in implicit constant conversion
+ /usr/bin/sdas8051 -plosgffw build/usbll.rel build/usbll.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/preset.rel preset.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include preset.c
+ /usr/bin/sdas8051 -plosgffw build/preset.rel build/preset.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/ps2mapping.rel ps2mapping.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include ps2mapping.c
+ /usr/bin/sdas8051 -plosgffw build/ps2mapping.rel build/ps2mapping.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/linkedlist.rel linkedlist.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include linkedlist.c
+ /usr/bin/sdas8051 -plosgffw build/linkedlist.rel build/linkedlist.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/scancode.rel scancode.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include scancode.c
+ /usr/bin/sdas8051 -plosgffw build/scancode.rel build/scancode.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/xt.rel xt.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include xt.c
xt.c:42: warning 126: unreachable code
xt.c:75: warning 126: unreachable code
xt.c:115: warning 126: unreachable code
xt.c:116: warning 126: unreachable code
xt.c:135: warning 126: unreachable code
xt.c:142: warning 126: unreachable code
xt.c:153: warning 126: unreachable code
xt.c:169: warning 126: unreachable code
xt.c:205: warning 126: unreachable code
xt.c:220: warning 126: unreachable code
+ /usr/bin/sdas8051 -plosgffw build/xt.rel build/xt.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/uart.rel uart.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include uart.c
uart.c:48: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
+ /usr/bin/sdas8051 -plosgffw build/uart.rel build/uart.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/uart1.rel uart1.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include uart1.c
+ /usr/bin/sdas8051 -plosgffw build/uart1.rel build/uart1.asm
sdcc -c -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o build/main.rel main.c
+ /usr/bin/sdcpp -nostdinc -Wall -std=c11 -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -obj-ext=.rel -D__SDCC_STACK_AUTO -D__SDCC_CHAR_UNSIGNED -D__SDCC_MODEL_LARGE -D__SDCC_INT_LONG_REENT -D__SDCC_FLOAT_REENT -D__SDCCCALL=0 -D__SDCC=4_2_0 -D__SDCC_VERSION_MAJOR=4 -D__SDCC_VERSION_MINOR=2 -D__SDCC_VERSION_PATCH=0 -DSDCC=420 -D__SDCC_REVISION=13081 -D__SDCC_mcs51 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -isystem /usr/bin/../share/sdcc/include/mcs51 -isystem /usr/share/sdcc/include/mcs51 -isystem /usr/bin/../share/sdcc/include -isystem /usr/share/sdcc/include main.c
+ /usr/bin/sdas8051 -plosgffw build/main.rel build/main.asm
sdcc ./build/keyboardled.rel ./build/parsedescriptor.rel ./build/system.rel ./build/usbhost.rel ./build/data.rel ./build/menu.rel ./build/ps2protocol.rel ./build/ps2.rel ./build/andyalloc.rel ./build/pwm.rel ./build/mouse.rel ./build/dataflash.rel ./build/settings.rel ./build/amstrad.rel ./build/usbll.rel ./build/preset.rel ./build/ps2mapping.rel ./build/linkedlist.rel ./build/scancode.rel ./build/xt.rel ./build/uart.rel ./build/uart1.rel ./build/main.rel -V -mmcs51 --model-large --stack-auto --xram-size 0x1600 --xram-loc 0x0200 --code-size 0xEFFF -I/ -DFREQ_SYS=48000000 -DBOARD_AXP -DOPT_DEFAULT -DOSC_EXTERNAL -o ./build/hidman.ihx
+ /usr/bin/sdld -nf ./build/hidman.lk
sdobjcopy -I ihex -O binary ./build/hidman.ihx ./build/hidman.bin
packihx ./build/hidman.ihx > ./build/hidman.hex
packihx: read 1813 lines, wrote 3574: OK.

Reply 476 of 514, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
yugokoral wrote on 2025-02-10, 17:03:

The problem is, that when i turn off the switch of my KVM, the HIDman is still ON - the blue LED is still on - so i realized, that the power comes from mouse "input" port from the back of the KVM.

I'm sorry, I made a mistake - the keyboard PS/2 doesn't supply power when the power switch is on, but the MOUSE PS/2 port does. Weird!

Also i have one more issue, but it is firmware compiling related.

The warnings are unavoidable because of the way I'm using macros. Just ignore them.

I'm using SDCC 4.4.0, that probably explains the other differences.

I see SDCC 4.5.0 is out now, I should give that a shot

Reply 477 of 514, by yugokoral

User metadata
Rank Newbie
Rank
Newbie
rasteri wrote on 2025-02-12, 19:55:

I'm sorry, I made a mistake - the keyboard PS/2 doesn't supply power when the power switch is on, but the MOUSE PS/2 port does. Weird!

Wow, that's unfortunate. In my case:

*KVM switch ON:*
- keyboard PS/2 power is on
- mouse PS/2 power is on

* KVM switch OFF:*
- keyboard PS/2 power is off
- mouse PS/2 power is STILL ON - what is unusuall >>
So i am getting backloop of power from mouse PS/2 through HIDman back to the keyboard PS/2 and the KVM still appears to be ON. I don't think that should be a big problem for hidman, but is really anoying.

The warnings are unavoidable because of the way I'm using macros. Just ignore them.

I'm using SDCC 4.4.0, that probably explains the other differences.

I see SDCC 4.5.0 is out now, I should give that a shot

Happy about warnings thing...

Are you using WSL (windows subsystem for linux), or are you using virtual machine? Or do you compile your firmware in bare windows CMD?
Because i was trying to install SDCC 4.5.0 in my WSL, and it still appeared as 4.2.0. I am a bit confused.
When I try to compile it in windows CMD or visual studio code terminal, I got bunch of errors 🙁

Reply 478 of 514, by rasteri

User metadata
Rank Oldbie
Rank
Oldbie
yugokoral wrote on 2025-02-12, 22:44:

Are you using WSL (windows subsystem for linux), or are you using virtual machine? Or do you compile your firmware in bare windows CMD?
Because i was trying to install SDCC 4.5.0 in my WSL, and it still appeared as 4.2.0. I am a bit confused.
When I try to compile it in windows CMD or visual studio code terminal, I got bunch of errors 🙁

I normally compile in windows directly. I have some variety of GNU make installed in Windows, I forget exactly how I set it up.

I would keep trying WSL to be honest, probably you need to uninstall 4.2.0 or set the makefile to point at sdcc 4.5.0

Reply 479 of 514, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Any suggestions for a basic USB switch that works with HIDMAN? I tried this one: https://www.amazon.com/Switcher-Computers-Key … e/dp/B0CHY8L11W with no luck. My keyboard works fine when connected directly, but not through the switch.

World's foremost 486 enjoyer.