[Freedos-devel] changing keyboard layout

2020-12-09 Thread Bora Akaydin via Freedos-devel

Hi everybody, 
I would like to know what things are happening in the background when I change 
keyboard layout in FreeDOS. 

Normally, each time I press a key int 09 is called as a consequence of irq 1 
and int 09 calls int 15h/4Fh, which has no effect when no layout is installed. 
So, if it is called sets carry flag on return when nothing changed. I read the 
source of keyb.com (I noticed, I had become quite rusty with Pascal) and found 
out it hooks to int 15h in order to take possession of 4Fh function. It 
additionally hooks to int 2Fh as well as int 16h. From my understanding, 
hooking to 2Fh is just for 0AD80h function (keyb.com installation check), 
please correct me if I am wrong. I did not understand why int 16h is changed. 

After installing new layout and calling int 15h/4Fh manually, causes correct 
scan code / ascii code pair is enqueued into the keyboard buffer and carry flag 
isn't set because something is changed this time. In short, this function is 
responsible for changing keyboard layout, obviously. But how? I mean, how do 
keyb.com know where exactly code page is in memory. And how does this whole 
mechanism work? (In case it is long to explain, please point me a document for 
that if possible). 

Any help would be appreciated. 

Kind regards,
Bora Akaydin___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


[Freedos-devel] fdisk bug

2019-05-19 Thread Bora Akaydin via Freedos-devel

Hello everyone,
I am sorry if this is a known bug and if I could not find it in bugs list. 
I have booted a VM in VirtualBox v5.0.4 with FD12CD.iso. I have booted to shell 
to manually partition a 1G disk. I am using fdisk v1.2.1, without FAT32 
support. You can reproduce the bug with following steps:
1- Create a 340M primary partition. Actual size is 341 MB, due to cylinder 
boundaries.2- Create an extended partition with full size (685 MB).3- Create a 
logical vol. in ext. part. with 340MB size (actual size is 341MB again).4- 
Create a second log. part. with full size (345MB) just hitting Enter.
Now, fdisk still thinks that there is 2MB free space (pic01). Let me hit Enter 
again and now first logical partition looks like it has 0 MB size and FAT12 
(pic02). I have pressed Esc twice to exit and got an error message: 
pDrive->log_drive[index].start_cyl (0) != extended_cylinder (173) (pic03).

And as I tried to format drive D:, it was formatted as 2GB. 

Please refer following links: 
Pic01: https://ibb.co/Zhw9XkY
Pic02: https://ibb.co/cxzXPkCPic03: https://ibb.co/3MKM0fBPic04: 
https://ibb.co/pRM7SY9
Pic05: https://ibb.co/K0QDPcX

I did not check with a newer fdisk version, btw. 

Best regards,

___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel