More disk variables
I used this method before, but exiting BASIC and returning DOS after modifying HIGHMEM, for causing MSXDOS2.SYS to be reloaded in the appropriate address. Is this really necessary? You could do it in another way : After allocating memory, install a fake DOS BIOS and BDOS handler in the high memory. This causes more memory to be lost, but has the advantage that the installation doesn't have to go to basic and rebooting... And how should this be done? re-allocating the kernel by some kind of function isn't possible as far as I know. What about loading MSXDOS.SYS on #100 and executing? (anyway I never tested it...) I need this information for making an improved version of NestorAcentos Depends on what NestorAcentos is? Oh... I'm not very famous after all! 8-) Probably it is some kind of TSR Yes. Is a resident program for japanese MSX computers, which loads an european character set and emulates the accent key through the KANA key. I made it two years ago and it works, but it is a little unstable (sometimes causes computer to hang when exiting TED!), due to a bad slot management I think; so I want to make an improved version. (that doesnt't use MemMan, nice!) 8-? You don't like Memman? By the way I never used it, but should be interisting for making TSRs. (ps. I use the reboot to BASIC method myself for some RS232C TSR drivers I have made) But it is a little nasty, because you can't place the installation program in a BAT file; the program itself must patch the keyboard buffer with the instruction to be executed after! Or maybe you know a better method? Tell me please! / KONAMI MAN / MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Disk variables!
F349 points to the area NOT INCLUDING MSX-DOS slot call routinesand interrupt handling routine. F34B points below them. So, area above F349 must never be changed, but area between F34B and F349 can be changed if some precautions are taken, and MSXDOS reloaded afterwards. In my system (DOS 2 installed on Mega-SCSI), #F34B points ALWAYS to the same location of #F349. If I change it, the old value is restored after going BASIC and returning. And if I change #F349, #F34B is automatically modified for equaling #F349. So, reducing #F349 and forgetting #F34B is the only method for reserve memory, right? 2. Can I allocate memory in page 3 with the following method, without causing the system to be unstable?: I used this method before, but exiting BASIC and returning DOS after modifying HIGHMEM, for causing MSXDOS2.SYS to be reloaded in the appropriate address. Is this really necessary? It IS necessary if you are palnning to run MSXDOS programs afterwards. But can I exit BASIC AFTER having executed the previous code and filled the allocated area with data, or I must do it before? If I disable interrupts and jump to BASIC by directly jumping #4022 on the disk ROM slot (that is, I don't exit DOS prompt after allocating and filling area) then I should not have problems, right? / KONAMI MAN / MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: More disk variables
Konami Man wrote: In my system (DOS 2 installed on Mega-SCSI), #F34B points ALWAYS to the same location of #F349. If I change it, the old value is restored after going BASIC and returning. And if I change #F349, #F34B is automatically modified for equaling #F349. So, reducing #F349 and forgetting #F34B is the only method for reserve memory, right? To make program that will run NOT only on your system, you must eitherallocate memory modifying #F34B (but in this case your TSR will only work under DOS and will probably crash after you exit from DOS to BASIC.) or you must change BOTH #F349 and #F34B like this: ld hl,(0f349h) ld de,-NBYTES add hl,de ld (0f349h),hl ld (0f34Bh),hl than reload DOS (BTW, you are right - you can just load MSXDOS at 100h) But can I exit BASIC AFTER having executed the previous code and filled the allocated area with data, or I must do it before? If I disable interrupts and jump to BASIC by directly jumping #4022 on the disk ROM slot (that is, I don't exit DOS prompt after allocating and filling area) then I should not have problems, right? Right. It is very difficult to understand what are you doing and in what environment. MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: More disk variables
Konami Man wrote: re-allocating the kernel by some kind of function isn't possible as far as I know. What about loading MSXDOS.SYS on #100 and executing? (anyway I never tested it...) In MSXDOS1 it works ok - i used this in several programs. Must also workin DOS2 - but i cannpt say for sure until I try. In any case, DOS ROM must be switched at #4000 (CALL #F368) MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
More disk variables
Disk variables!
Hi people! Konami Man returns again for asking for help (strange huh?). This time, concerning to the disk ROM work area (again!): 1. Can someone explain me the difference between variables HIGHMEM (#F349) and CLEAR (#F34B)? 2. Can I allocate memory in page 3 with the following method, without causing the system to be unstable?: LD HL,(#F349) LD BC,-256 ADD HL,BC LD (#F349),HL ;HL to HL+255 = Allocated memory RET I used this method before, but exiting BASIC and returning DOS after modifying HIGHMEM, for causing MSXDOS2.SYS to be reloaded in the appropriate address. Is this really necessary? I need this information for making an improved version of NestorAcentos (hum... in fact, someone has interest on it?). Thanx in advance! / KONAMI MAN \ MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Disk variables!
Konami Man wrote: Hi people! Konami Man returns again for asking for help (strange huh?). This time, concerning to the disk ROM work area (again!): 1. Can someone explain me the difference between variables HIGHMEM (#F349) and CLEAR (#F34B)? F349 points to the area NOT INCLUDING MSX-DOS slot call routinesand interrupt handling routine. F34B points below them. So, area above F349 must never be changed, but area between F34B and F349 can be changed if some precautions are taken, and MSXDOS reloaded afterwards. 2. Can I allocate memory in page 3 with the following method, without causing the system to be unstable?: LD HL,(#F349) LD BC,-256 ADD HL,BC LD (#F349),HL ;HL to HL+255 = Allocated memory RET I used this method before, but exiting BASIC and returning DOS after modifying HIGHMEM, for causing MSXDOS2.SYS to be reloaded in the appropriate address. Is this really necessary? It IS necessary if you are palnning to run MSXDOS programs afterwards. MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)