Page 1 of 1

Chapter 21 Demo Released

Posted: Sun Nov 01, 2009 7:10 pm
by Mike
Hello everyone,

The VPC compatibility bug has been fixed in this new demo, and the demo builds off of the code in the chapter and last demo to read sectors from disk using our new DMAC interface. Everything is set up for us now to read and execute a program - coming up in chapter 22. The chapter has also been officially released with some new content.

Re: Chapter 21 Demo Released

Posted: Tue Nov 03, 2009 4:07 am
by djsilence
1. You wrote in help cmd about reset but forgot to implement case of that :mrgreen:
2. Like prevoius chapter, demo of this one doesn't work in VMWare (very seldom it works).

Daniel.

Re: Chapter 21 Demo Released

Posted: Tue Nov 03, 2009 5:32 am
by Mike
Hello,

I must have messed the reset command - I will be sure to fix that. I have not tested in VMWare. If it is possible to explain the exact issue and what happens I will be sure to look into resolving them. :)

Re: Chapter 21 Demo Released

Posted: Wed Nov 04, 2009 2:31 pm
by djsilence
See, while trying to read some sector you can get to results:

1. You get right values of sector, but after it if you try to read one more you get infinity loop (I guess, because nothing is displayed).

2. You get wrong values of sector (some strange values like a 0x00, 0x01, etc.) but then you can read it more and more.

Conclusion: if reading is right - you can read just one sector, if reading is wrong - you can read any number of sectors.

Daniel.

Re: Chapter 21 Demo Released

Posted: Mon Nov 09, 2009 5:03 pm
by ehenkes
The VPC compatibility bug
Could you please comment about this bug? (before/after)

Re: Chapter 21 Demo Released

Posted: Mon Nov 09, 2009 11:48 pm
by Mike
ehenkes wrote:
The VPC compatibility bug
Could you please comment about this bug? (before/after)
Hello,

Basically VPC does not seem to like setting the DMAC to auto-reinitialize. It is fixed after clearing that bit and re-initializing the DMAC before every read or write. This was verified to be the case when we tested both demos.

Re: Chapter 21 Demo Released

Posted: Wed Dec 16, 2009 12:32 am
by Tubash88
:) Hey Great series, Love it. I have read each chapter 2 times. :D and am planning on Reading them all for a 3rd time. Everytime I read it I learn something new and I also get something better. :P

Just a question. When will chapter 22 be released? No pressure, Just wondering. Do you have an Estimated Time/Date?

Keep up the great work. :) I am learning a lot from these tutorials, and I am also reading the Documents from OSDEV.com. =]

Well, I am eagerly awaiting the release of the next chapter.

Keep up the great work Mike.

Re: Chapter 21 Demo Released

Posted: Thu Dec 31, 2009 4:40 am
by Mike
Hello,

I apologize for the late response. I am planning some updates in earlier chapters (more specifically, the virtual memory management chapter) before continuing. I plan to add a stronger emphases on virtual address spaces and their use in multitasking to the chapter and managing and working with virtual address spaces. Possibly an update to the demo as well to make it easier to work with.

Re: Chapter 21 Demo Released

Posted: Tue Jan 05, 2010 9:43 pm
by djsilence
Hi, Mike!

I had a real problem with demo 21 in vmware - because of strange things happened. now i installed vmware 7 and got more "excatly" problem: I just get Error reading from disk at any time with any sector I'd like to read.

Daniel.

Re: Chapter 21 Demo Released

Posted: Sat Jan 09, 2010 1:57 pm
by Mike
Hello,

Do you only get the problem with VMWare? ie; does it work in Bochs and Virtual PC?

Re: Chapter 21 Demo Released

Posted: Tue Jan 12, 2010 1:24 pm
by djsilence
yeah, just in vmware)) i don't know what can it be because even different versions of vmware gives that problem))

Re: Chapter 21 Demo Released

Posted: Fri Jan 15, 2010 2:58 am
by Mike
Hello,

I am going to have to mark it as a compatibility bug with the series. The demos are only tested in 2 versions of Bochs and Virtual PC before releasing. The issue will be looked into.

Re: Chapter 21 Demo Released

Posted: Tue Nov 02, 2010 4:02 pm
by chibicitiberiu
While going through the code, I noticed this:

Code: Select all

//! resets flipflop
void dma_reset_flipflop(int dma){

	if (dma < 2)  // <- ERROR! Correct would be: if (dma >=2 ) return;
		return;

	//! it doesnt matter what is written to this register
	outportb( (dma==0) ? DMA0_CLEARBYTE_FLIPFLOP_REG : DMA1_CLEARBYTE_FLIPFLOP_REG, 0xff);
}

I found it in demo22, but since it is built based on this one, it probably has the same error.