More disk variables

1999-02-10 Thread Konami Man

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!

1999-02-10 Thread Egor Voznessenski

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

1999-02-09 Thread Egor Voznessenski



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

1999-02-09 Thread Egor Voznessenski



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

1999-02-09 Thread Konami Man




Disk variables!

1999-02-09 Thread Konami Man

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!

1999-02-09 Thread Egor Voznessenski



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/)