Re: Enschede

2000-05-17 Thread Alwin Henseler


Hi all,

I happen to live in Enschede, and am fortunate to say that I have not yet
heard of anyone I know, to be badly hurt or worse.

On the other hand, I know many people here, and this makes this explosion feel
very nearby...

My own home is about 1,5-2 km. away from were it was - everything fine here though.

A woman I lived with for about a half year at my previous address (about 1 km. away)
saw the blast from Glanerbrug (8 km. away), a window in her house was damaged.
In the 'muziekcentrum' ('music centre') here a block of concrete fell on the
roof (1 km. from the blast!) - no-one hurt there.

Some colleages at work were away - 1 helped his parents, whose home was badly
damaged, another had all here windows blown out.

The friend of a house-mate of mine just got away, but saw his house being destroyed.

2 Ex-housemates (I live in a sort of student-house with some 10 people) lost their
home because of the blast, etc. etc.

I hope not, but it would not surprise me if this 'personal list' is not
complete yet   ;-((

I think the number of people who died is about to be adjusted upwards; with
some 400 homes destroyed, and +/- 1000 badly damaged, I don't believe only
some 20 people were killed. We'll see


Thank you for your interest...


Alwin Henseler([EMAIL PROTECTED])

from Enschede, the Netherlands




MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet




Re: YM2413 datasheets on the net (was: Just a curiosity)

2000-04-28 Thread Alwin Henseler


Airam Rguez.  <[EMAIL PROTECTED]> wrote:

>in the web page of yamaha, sound section of LSI components appears:
>
>YM2413 --- OPLL -- Sound generator blah blah blah MSX2 Compatible ;)
>
>Regards
>
>Airam
>
>PS: this link is http://www.yamaha.com/lsi/index.htm

YM2413 = FM-PAC/K (MSX Music) sound generating IC.

Yamaha has had a PDF document on this IC on their site for some time already.
I have some printed document myself, titled "YM2413 Application Manual"
(a scan of this is somewhere on Funet FTP site, I believe). I compared these
a while ago, and they match for the most part.

A small bit of programmer's info is missing in the Yamaha document (hey, it's
a datasheet), for the rest the info is exactly the same. And the Yamaha document
is much more nicely formatted.

So if you're a FM-PAC/K programmer, emulator builder or so and you don't have
this info yet, I suggest you get it from the Yamaha site ASAP.

Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  MSX Tech Doc page




MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet




Re: Expanding RAM on the music module

2000-03-30 Thread Alwin Henseler


Hi..!


Roel de Wit  <[EMAIL PROTECTED]> wrote:

>I'm looking for information on how to expand the RAM on my Music Module (I
>want to run unknown reality correctly). Can somebody please help me with
>this ?

For this, check out:

http://huizen.dds.nl/~alwinh/msx/hardware/audio256.htm

It shows the connections for both 32 KB and 256 KB. sampleRAM to the MSX-Audio
chip, with description.
Pin numbers for the Philips Music Module are indicated, and as shown, has been
used & tested.

Greets, Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx MSX Tech Doc page





MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet




Re: 7MHz with normal sound???

2000-03-14 Thread Alwin Henseler


Hi you all,

Laurens Holst  <[EMAIL PROTECTED]> wrote:

>I was wondering... When my MSX works at 7MHz, the sound gets all garbled up.
>So now the rest of the motherboard (and the cartridges) get the 7MHz clock
>signal. Is it possible to 'block' this signal and relay the old clock signal
>(if the chrystal is still there?) to the rest of the motherboard???
>
>I don't think this can harm (turboR does the same, doesn't it? Only the
>processor needs the higher clock frequency), and it would be great to
>finally get rid of the sound-problems with for example PSG, SCC, FM-PAC,
>MSX-Audio (one of my MSX-Audio devices already has got its own chrystal).

This is possible, but depends on the following:
In MSX machines I know, the standard 3.58 MHz. clock signal is used for 2
purposes:

-CPU clock,
-and as base frequency for audio generating IC's.

The CPU clock signal is often used to control the signal timings of
DRAM memory in the machine. And here is the issue:
If these funtions are seperate (read: in seperate IC's), then you can simply
'feed' 3.58 MHz. to the audio parts, and the, possibly 7 MHz., CPU clock to
the Z80 and DRAM controlling IC('s?).

But if this is all controlled by one central IC ('MSX-engine'), then you can't
seperate these funtions. If you would feed it the old 3.58 MHz. signal, then
the DRAM timing would have no relation anymore with the CPU clock.
-> DRAM wouldn't work -> well, you get the idea...
This setup (one big IC) is used in MANY machines.

Exceptions are possible here as well:

You could add your own logic for generating the DRAM control signals, or
you could use SRAM instead

In short: it all depends on your particular machine, and what you're willing
to change.


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msxMSX Tech Doc page
(not updated in a looonnng time, but several goodies are still there   ;-))





MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet




Re: Z380, PMA, Compass

2000-03-14 Thread Alwin Henseler


Hi all,

Nestor Soriano  >[EMAIL PROTECTED]> wrote:

>I had though for example on a fast PMA extractor but I haven't the PMA
>format specifications. Maarten gave me the sources of a PMA extractor for
>UNIX, but it's very hard to trace it and discover how the specifications
>actually are... (^^!)
>
>So here is my question: does someone have the PMA format specifications, or
>know where can I found it? Please, just plain specifications if possible,
>no sources. And by the way, also for ZIP and LHA if you have any. 8-)

Maybe there don't even exist such a thing as 'specs' for the PMA format,
only programs that use the method - who knows?

But check out UNPMA.COM, on my page:

http://huizen.dds.nl/~alwinh/msx/software MSX Tech Doc page software section

It contains full (Z80 assembly) sources of a fast PMA extractor (comments in
the source are in Dutch though). It doesn't give PMA format 'specs', but using it
you can fairly easily find out how PMA files are organized.
And for the compression method: although I rewrote lots of the code (reverse
engineered from PMext), I don't even fully understand the method used.

Anyway, maybe this helps...

Greetings,

Alwin Henseler  ([EMAIL PROTECTED])




MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet




Re: Re: New fairs are added!!

2000-02-23 Thread Alwin Henseler


Hi all,


Manuel Bilderbeek   <[EMAIL PROTECTED]>
wrote:

> Het woord 'stand' bestaat niet in het Engels, dat heet 'booth'
(Translated: the word "stand" doesn't exist in english)

Wrong... a dictionary I have here gives as some possible translations for
the english word "stand", when used as a noun (dutch: zelfstandig naamwoord):



-statief (stander, standaard)
-stopplaats (halte, voor een bus bv.)
-tribune
-kraam, kraampje (wat hier bedoeld werd, betekenis klopte dus wel)
-rek (wijnrek bijv.)



And there's also many possible uses of this word as a verb (Dutch: werkwoord)
or as an adjective (Dutch: bijvoeglijk naamword)

Just so that you know it


Greets, Alwin Henseler  ([EMAIL PROTECTED])





MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet




Re: F1 Spirit

2000-02-07 Thread Alwin Henseler


Hi,


Frederik Boelens<[EMAIL PROTECTED]> wrote:

>2) As some of you already know, we're busy making a sequel to
>f1 spirit, but we still haven't found a good name for it.
>(f1 spirit 2 is not a good name I think)
>So if you have a nice suggestion, please mail!!
>

how about 'F2 Spirit' ?

Greetings,

Alwin Henseler ([EMAIL PROTECTED])




MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet




Re: 1.44 MB. disks?

1999-03-28 Thread Alwin Henseler


Marco Antonio Simon dal Poz  <[EMAIL PROTECTED]>  wrote:


> > The 2793 floppycontroller HAS the capacity to handle 500 Kbit/s 
> > (apparantly, this was used for larger 8 inch disks -a lnnngg, 
> > lnnngg, time ago).
> 
> Are you SURE??? If WD2793 has this capacity, then let's do a big research!

Texas Instruments TMS 2793 (is the same FDC) datasheets say so (no 
doubt), and I don't think they lie. The 2793 works with a 'bit clock' 
that is a combination of some quartz input frequency (mostly 1 or 2, 
and can be 4 MHz.), and both hardware- and software-settable 
dividers. Like 2 MHz. divided by 8 -> 250 Kbits/sec.

Resulting bit clocks are mentioned of 125, 250 (DD disks) AND 500 
(8" and HD disks) KHz., or Kbits/sec, if you wish.


> [...Z80 clockcycle counts...]
>
> Did you verify a clockcycles table for this instructions? They're a bit
> different from my values.

A bit different? You mean: 1 clocktick different..!!

I did some research once, timing duration of 3.58 million times 
repeated instruction sequences (with interrupts disabled, every 
clockcycle taken then gives exactly 1 second delay), and timing this 
with a hand-stopwatch. Primitive, but solid.
One rule became clear, of which I have never found an exception yet:

Clockcycles taken by the Z80 in a MSX are the same as is stated in 
Z80 datasheets (I used Zilog's), PLUS ONE.

So Zilog docs say NOP = 4 cycles -> on MSX: 5 cycles
Zilog docs say instruction = xx cycles -> on MSX: xx+1 cycles

The same applies to conditional JP, CALLs & RET's:

Zilog says DJNZ = 8 or 13 cycles (8 if skipped, 13 if jumping)
-> on MSX: 9 if skipped, or 14 if jumping

This behaviour matches perfectly MSX definition: Z80 CPU, with 1 wait 
state in M1 (machine cycle one).
In other words: normal Z80 timing, with every intruction taking 1 
clockcycle extra.
Ofcourse same timings apply for Turbo-R in Z80 mode.


> > -Do the INI in the above loop for starters (!): increases pointers, 
> > AND sets flags!
> 
> I didn't understand. Could you explain what do you mean?

According to Zilog docs, the INI instruction DOES change flags. How 
exactly, I don't know. It's kind a like with the IN F,(C) 
instruction, Zilog says: affects flags (and it does), but doesn't say 
how. I only suggested that maybe you could use this effect. Maybe you 
can find a description of the exact behaviour on Sean Young's pages 
(http://www.msxnet.org).


Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  MSX Tech Doc page



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: Mapperports

1999-03-28 Thread Alwin Henseler
TED]>  suggested:

> What if someone writes a mapper support driver for DOS1?
> Shouldn't be too hard. Programs could even install such a driver
> themselves so that they can switch the mapper using a single
> interface.

That would be perfect!

I think that DOS2 and its mapper support are essentially 2 separate 
things. Although I'm not sure if DOS2 itself could work without its 
built-in mapper support. But the other way round: why not?

You might even include this in a add-on ROM, so that a non-DOS2 using 
machine could have mapper support, right after power-on.
Or: modify a DOS2 ROM, so that you could use its mapper support, 
without DOS2 file system.

The unavoidable question: who's gonna do this?

Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   MSX Tech Doc page



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: MegaRAM

1999-03-28 Thread Alwin Henseler


Marco Antonio Simon dal Poz  <[EMAIL PROTECTED]>  wrote:


> > > Is Crazy Train really made by Sony? AFAIK, it's made by Konami.
> > 
> > Doesn't the title screen show the name Sony?

We were both right. The title screen shows: "Sony HitBit - Crazytrain 
- (c) 1983 Konami". So I guess, that's: made by Konami, 'presented' 
by Sony.
Can we rest this silly item now?


> > > I didn't know that 41 42 xx xx can't be used for page 0. Can it be used
> > > for page 3?
> > 
> > No, "A", "B", xx, xx only works for pages 1 & 2. Ofcourse, there's 
> > nothing preventing you from putting code or data in a ROM in page 3, 
> > just a bit difficult to use.
> 
> For page 3 the ID code is 41 42 xx xx or 43 44 xx xx?

Alex Wulms explained it quite well: you can put your ROM software in 
any page(s) you like. The CSxx-signals are not essential, but just 
for the convenience of the cartridge makers. The BIOS only searches 
for "AB" in pages 1 and 2. And MSX2 and higher for "CD" in page 0 
(subROM).

There's no direct relation between each piece of your ROM software, 
and the need to have "AB" or "CD" in some location. This only needs 
to be at A place where it is searched, so that your software can 
start.

Examples: most 32K ROMs, and megaROMs have "AB" only in page 1. THAT 
is found, the init address called, and the code there determines in 
what slot it is, selects that slot in page 2 as well, and if needed, 
continues with ROM mapper initialisation.

There's no reason either why you couldn't have "AB" codes in pages 0 
or 3, either. However the BIOS will only FIND these "AB" codes if 
they're in pages 1 or 2. So if you want your software to start, you 
should ALSO have this "AB" and init-address in page 1 OR 2 (or 
both). If you have "AB" in pages 0 and/or 3 ONLY, and not in pages 1 
or 2, then your software won't be found/called.


> [...different cartridge versions...]
>
> Why someone would do it? Is it some kind of unuseful work? But my main
> problem was that I couldn't copy River Raid and Beam Rider cartridges.

Why? Bugfixes? 'Hooks' for easy development/testing? Who cares? They 
just are.


> > > Yep, I don't know why ROM doesn't search for cartridges in page 0. Perhaps
> > > this is due to hardware limitations (pins PAGE1, PAGE2, PAGE12 or
> > > something like that).
> > 
> > I don't know either. It's no hardware limitation, though.
> 
> Perhaps it's only an ENASLT limitation. But ENASLT isn't used while
> cartridges are being reserched over the slots. AFAIK, the startup routines
> use only CALSLT.

It's NO hardware limitation. And it's NO limitation of slotswitch 
routines either. The routines like CALSLT, RDSLT, WRSLT, ENASLT etc. 
can all work with ALL 4 pages. Only condition is that the stack is 
not in the same page you are accessing.


> > > With a SCC cartridge, you will always find certain blocks
> > > in each memory area after reset, otherwise the game might
> > > not re-start each time.
> > 
> > You're saying that SCC cartridges have an internal startup
> > circuit, aren't you?
> 
> A hardware reset just *resets* these block selections to
> pre-defined values, just like it resets the Z80's program
> counter to 0.
>
> This startup circuit puts only the block 0 in area 4000h or put also
> blocks 1, 2 and 3 in area 6000h, 8000h and A000h?

A hardware reset resets all these 4 memory ranges to blocks 0,1, 2 
and 3, simultanious. The same goes for most other Konami megaROMs. 
How this is for other megaROMs, I don't know.


> [...megaRAM initialisation...]
> Then your idea is to create a circuit that disables write and disables
> block selecting simultaneously, and enables block selection or write after
> an access on port 8Eh? That's not compatible with the most part of
> Megaroms!

The idea is like this: you add another single bit register. This gets 
cleared or set with a hardware reset. In this hardware reset state, 
this bit disables both blockswitching and writing to the megaRAM. Any 
ACCESS to the megaRAM's I/O-port toggles this bit, re-enabling the 
functions AS THEY ARE FOR THE MEGARAM.

So this extra 1-bit register wouldn't get involved in normal megaRAM 
control, but only toggle between "disable normal megaRAM functions" 
and "enable normal megaRAM functioning".

Ok, it would take some more electronics. That's for the designer to 
decide: give it more functions, making it more powerfull or 
versatile. Or keep the hardware as simple as possible, limiting its 
possibilities.


> >

Re: 'advanced' 7 MHz.

1999-03-24 Thread Alwin Henseler


Manuel Bilderbeek  <[EMAIL PROTECTED]>


> > -You have to connected a signal for every single piece of hardware 
> > that requires 3.58 MHz. access: VDP, MSX Audio, MSX-Music, diskaccess 
> > (sometimes), Gouda's SCSI interface, etc. etc. etc.
> 
> What??? Does my Gouda SCSI interface need 3.5MHZ??? I thought I could double 
> it's performance with your MSX Super Turbo to 200kB/s!

I don't know how it is on other machines. I just know the Gouda SCSI 
interface (ROM v1.51) only worked on MY computer with:
-turbo switched back for all I/O ports (read: including the I/O ports 
where the SCSI controller is on), AND
-turbo switched back for the cartridgeslot the interface was in

This way, it worked up to 8 MHz., on MY system.
(but in essence, system running on 3.58 during harddisk transfers).
If connected different, it could work, but not reliable.
BTW. the manual itself warns that 7 Mhz. doesn't work well with the 
interface. I still think it's a software issue.


> Does your MSX Super Turbo switches back for every I/O access?

Same as with 7 MHz. circuits:
If the Z80's IORQ signal is connected to one of the inputs: yes
If the Z80's IORQ signal is not on one of the inputs: no
(IORQ = Z80 pin 20)


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  MSX Tech Doc page


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: Discdrive

1999-03-24 Thread Alwin Henseler


"Someone"  ([EMAIL PROTECTED])  wrote:


> I've got a nms8245, but the discdrive doesn't work very well anymore.
> (actually it doesn't work at all.:))
> And now i have noticed that all nms8245 drives have the same kind of
> problem.
> So I'm searching for a new discdrive for my 8245, but I don't want
> the standard discdrive for the 8245.

The 8245 drive has very often the problem that a rubber band in it 
starts slipping -> disc doesn't rotate anymore.

There seem to be replacements available for this rubber band. Try 
that first; if that was it, repair is quick, easy & cheap.


> Is this possible;
> - can you put a normal doublesided drive in a nms8245?

You can.

> - And where can I get one..??

In any computer or electronics shop. You can use the normal 1.44 
HD/DD drives. Only thing you need to change is the connector. I think 
the required data is in the Ultimate MSX FAQ (www.faq.msxnet.org).


Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx MSX Tech Doc page



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: Problems when changing stack

1999-03-24 Thread Alwin Henseler


Nestor Soriano  <[EMAIL PROTECTED]>  wrote:


> Hi people... problems again... this time, when changing stack. In a new
> update of NestorAcentos I'm developing, I put the following piece of code
> attached to the timer interrupt hook. The code is placed in a reserved zone
> on page 3:
> 
> ld (SAVESP),sp
> ld sp,NEWSP+100
> push all
> .
> . (changes slot and segment on page 2, do stuff and restores old status)
> .
> pop all
> ld sp,(SAVESP)
> jp old interrupt hook
> 
> SAVESP: dw 0
> NEWSP:  ds 100
> 
> Well, a program executing such code causes the system to crash when any
> other program is executed. Someone knows where is the problem?

Advanced interrupt programming ;-))
Isn't it possible, that sometimes a next interrupt occurs, while a 
previous interrupt routine is still being processed?
If that happens everytime, it will crash, but if occasionally, then 
no problem with proper written interrupt routine.

For this to work, the interrupt routine should be re-entrant: 
allowing to be executed again, even when not finished.

Try the above:

save (FIXED address), stackpointer
...
(interrupted again)
...
save (same fixed address), stackpointer for 2nd interrupt

restore stack for 2nd interrupt
finish 2nd interrupt (=return to previous interrupt handling)

restore stack for 1st interrupt, with SP that was overwritten by 2nd 
interrupt -> SP corrupted -> crash/hang

Solution:
Disable interrupts (DI), then save SP etc., don't call 
anything that could re-enable interrupts in between, restore SP, and 
only AFTER that restore, further interrupts could be allowed.
OR: if possible, don't switch stacks at all.

Other possibility: 100 bytes stack space reserved? Are you sure that 
is enough? (try making far bigger, and see if still crashes)


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx MSX Tech Doc page


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: mapperports

1999-03-24 Thread Alwin Henseler


shevek  <[EMAIL PROTECTED]>  wrote:


> The only thing you need to expect is that writing the data you read from
> the mapperport will set it back to the state it was in when you read it.
> All other info about the mapper can be obtained by writing to the port and
> reading and writing the memory.

If the mapperports are write-only (possible), or reading back 
doesn't work good (possible), reading back will get you "undefined", 
usually FFh. Writing that to restore, would select always FFh = not 
the same as previous state.

I consider this issue like this:
-You ARE allowed to read these ports (why not?).
-When you do, there's no telling what you'll get.
So you can read these ports, but what you read, should be considered 
as useless.


>> You also have to take care that some people  have more then 1
>> mapper (however this is technically not allowed , but who cares)

Multiple mappers not allowed? Says who? Says what? Why not?
There are some machines that have a hardware-problem with it, but 
that's more like a mistake in the design of those machines (like the 
Turbo-R with >512K external mapper).


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   MSX Tech Doc page



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: 'advanced' 7 MHz. (was: MegaRAM)

1999-03-20 Thread Alwin Henseler


"Laurens Holst"  <[EMAIL PROTECTED]>  wrote:


> >Yes, and why not 7.16MHz MSX1? BTW, how does a 7.16MHz works? I didn't
> >change the main clock of my MSX2 because I know that V9938 won't work.
> 
> When accessing the I/O-ports (there's a pin on the Z80 which indicates it)
> the board switches the processor back to 3.5 MHz... Later, 'smart'
> 7MHz-boards (called Advanced 7MHz) appeared, which only switched back to
> 3.5MHz when there was VDP I/O. This way, SCSI, Memory, MoonSound etc. I/O is
> all done at maximum speed.
> 
> I'd like to have the last one too (or better: 10MHz!) but I don't know where
> to get it...

If you have 7 MHz., you have it!

There's no different boards or ciruits here (well...mine and 7 MHz. 
are different!). The turbo circuit (mine OR any 7 MHz.) just runs at 
high speed, until it is signalled to step back to 3.58 MHz.

For this signalling it has a number of inputs, that you can connect 
to signals, that are activated for parts that can't run on high 
speed.

Usually, there are only 2 connections here: a manual switch, and the 
Z80's IORQ-signal. That way, it runs on high speed, until (manual 
switch used) or (access to ANY I/O port).

This "smart/advanced" as Laurens calls it, is just other connection: 
IORQ signal removed, but replaced with VDP's IORD and IOWR signals. 
That way, instead of for ANY I/O port, it is switched back only for 
access to VDP ports.

You can connect any other signal here: floppycontroller or diskROM 
chipselect for slowing on diskaccess, some ROM chipselect, if it's a 
slow ROM not suitable for 7 MHz., chipselect of internal MSX-Music, 
etc. etc.

Using this construction can be faster, but in practice, the 
difference you notice is small, and many disadvantages:

-You have to connected a signal for every single piece of hardware 
that requires 3.58 MHz. access: VDP, MSX Audio, MSX-Music, diskaccess 
(sometimes), Gouda's SCSI interface, etc. etc. etc.
"Slower" construction is only 1 signal (Z80's IORQ)

-Every cartridge you use that doesn't work on turbo, has to feed this 
switch-back signal back to the computer somehow. For example, if you 
have MSX-Music cartridge, you would have to switch back for 
chipselect of MSX-Music IC. But: this is not in the computer, only 
inside the cartridge! Most practical solution is to put this signal 
in the cartridge on a reserved cartridge-slot pin, and connect this 
cartridge-slot pin in the computer with the turbo circuit. That's a 
big hastle, modifying a bunch of cartridges this way, and: only for 
use on a particular machine!

-Sound cartridges usually still won't sound right on turbo, untill 
they have their own internal 3.58 MHz. clock added.

And you might think all is working, but find out later, that yet 
another piece of hardware doesn't quite do it on turbo. Or not 
anymore, if you add another MHz. to the turbo clock speed.
Examples: the mouse, HD interfaces, fast diskROMs, etc. etc.

Why have this much trouble, for so little gain?


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   MSX Tech Doc page


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: MSX2 & memory mappers

1999-03-20 Thread Alwin Henseler


"jam"  <[EMAIL PROTECTED]>  wrote:


> You are wrong. Every MSX2 must have Memory Mapper. Even with only 64K
> of RAM, it's mapped RAM. Read the MSX2 Technical Handbook (by ASCII)
> and check it.

Nestor's (Konamiman) online version of the MSX-2 technical handbook 
clearly reads:

minimum, required: 64 K RAM
memory mapper: OPTIONAL

-> the MSX-2 standard DEFINES memory mappers, but does NOT require 
it.


Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx MSX Tech Doc page


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: BrMSX mapper emulation

1999-03-19 Thread Alwin Henseler


Ricardo Bittencourt Vidigal Leitao  <[EMAIL PROTECTED]>  wrote:


>   The MegaRAM was not added to BrMSX to improve game play.
>   Instead, I added it as a development tool.
> 
>   I don't know what is your opinion, but I think it's much better to
> develop programs in an emulator than in the real machine. I can compile
> large files very fast in the PC, using a cross-compiler, and to test it, I
> use the BrMSX fudebug (I think it's the best MSX debugger available,
> mainly due to the step-by-step tracing and true breakpoints).

I prefer emulation as well in many cases, if it's good. I also wrote 
a BASIC program once, to simulate the dynamic behaviour of a power 
supply (including the transformer's wire resistance, diode voltage 
drop, peak currents, voltage difference needed by regulator etc.), to 
optimise for efficiency and reliability. Adjusting the variables in 
that is much easier than getting out soldering iron and voltage meter 
and change a real power supply under construction.


>   As a matter of fact, both "MUST" and "VIP" were 100% developed in
> the PC, I just used the MSX to test the final version. Of course I
> couldn't just the BrMSX mapper emulation - I don't have a real memory
> mapper at home, and there's no point in developing programs for a system
> you don't have.

You're writing an MSX emulator, and you don't even HAVE a memory 
mapper? Go get one!

BTW. Adding memory mapper emulation to a MSX-1 emulator should be 
easy, and really usefull. There's lots of programs that claim to need 
MSX-2, but can run on MSX-1, if it has a memory mapper. Unusual 
combination, but works fine! (my R-Type crack runs on that, for 
example  ;-)


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msxMSX Tech Doc page



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




MSX2 & memory mappers

1999-03-19 Thread Alwin Henseler


Hi  all,


Ooohh, it's really hard to explain those Brazilians all about memory 
mappers! (don't they have any?).

Some facts:

An MSX2 doesn't need to have a memory mapper to be a true MSX-2. 
Example: Sony HB-G900. 64K RAM, no mapper, but true MSX-2, nothing 
wrong with it.

Apparantly there exist Philips MSX-2's without a mapper (not the 
8220, which has a mapper), because I made a schematic once for 
building 128K mapper in those (if all Philips MSX-2's had mappers, I 
wouldn't have). I suppose the VG 8230 could be such a machine. If you 
have a VG8230: check it! Does this one have a mapper, or not? Be sure 
it is a 8230: I've helped build a 8235 into a 8230's casing once...


128K mappers in <>Philips machines:

Sony HB-F9P: 128 K, mapper

Smaller:
Almost every Japanese-built MSX2 or 2+: 64K mapper

Philips NMS 8220 has only 64K, but this IS a mapper. Really a 128K 
mapper with 2nd half empty, so switching blocks, you get:
Block 0, 1, 2, 3, "nothing", "nothing", "nothing", "nothing", block 0 
again, 1 again, 2 again, 3 again,  "nothing", "nothing", "nothing", 
"nothing", 0 again, 1 again, etc.

Not standard? Absolutely standard!
Mapper=64K = 4 blocks (0-3), selecting block 0, 1, 2, 3 gets you 
mapper blocks 0, 1, 2, 3 -> all ok.
Reading the mapper ports on this machine would return other 
values as you might expect, but reading mapper ports SHOULD 
be considered unreliable, right?

Bigger:
Turbo-R: 256K (ST) or 512K (GT), mapper
Sony HB-G900AP (note the "A" in there!): 512K or 1 MB., mapper


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   MSX Tech Doc page



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: MegaRAM

1999-03-19 Thread Alwin Henseler
 the same that was selected. Then, the RAMdisk-software won't be run.

That would be fixed with the above.


> > And having the same block selected _all_ the time in some memory 
> > range, could be a big restriction for that RAMdisk-software.
> 
> Yep, but it's unavoidable, because the RAMdisk-software makes the
> management of the Megaram used as a ramdisk, and to do it, it's necessary
> that the software be present to the bus, so one memory block will be
> fixed. I think that this restriction is much worse with Memory Mapper.

Not so! Software inside the megaRAM could copy some of itself into 
other RAM, and call that copied code. That code could even switch 
away the megaRAM entirely. Many diskROMs do this kind of thing.


> [...mapper detection routine...]

"MARUJO"   <[EMAIL PROTECTED]>  wrote:

>> For mapper size detection, I have seen things like:
>> OUT (port),xx
>> IF IN (port)=yy THEN "big enough" ELSE "not big enough
>> mapper"
>
> Registers aren't user RAM memory. 
> Registers only controls expanded address bus!

(port) = mapper-port (FC-FFh)


> I don't believe it. Full detection if 8 cartridges  of
> different quantities of RAM ? Withouth IN A, (F_h) ope
> rations ?

Yup, can do that, and no IN,(xx) in it.
BTW: MemMan does this too, or should be able to.
And MSX-DOS 2 as well...
And 2+/Turbo-R on a hardware-reset


> [... ramdisk software using Megaram blocks instead of using an EPROM ...]
> > > This would require a disk to be specially booted to convert Megaram to
> > > Megaram-Disk. But Megaram-Disk is supposed to work like a disk-interface,
> > > and like that, it should work fine when it's connected alone, without
> > > disk-drives. Then, there's no way to make it without an EPROM.
> > 
> > If you would modify it to have a clearly defined state after reset, 
> > you could.
> 
> But how could I load the RAMdisk-software? Don't say by tape!

Examples:

With harddisk-interface & megaRAM connected, install megaRAM 
software. Reset, and: harddisk + megaRAM-disk available.

Install software from floppy. Reset with CTRL: drive A=megaRAM-disk, 
B=floppy (or the other way round).

With battery backup-upped SRAM: install megaRAM-software on any 
machine with a diskdrive, then use megaRAM-disk on ANY machine (with 
OR without other drive).

Or use Flash EPROM for the megaRAM?


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msxMSX Tech Doc page


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: 1.44 MB. disks?

1999-03-19 Thread Alwin Henseler


Marco Antonio Simon dal Poz  <[EMAIL PROTECTED]>  wrote:


> > >Do you know a FDC that supports 1.2Mb and 1.44Mb drives and is still being
> > >produced, and have good documentation?
> > 
> > Note that 3.5MHz is too slow to allow reading of 1.44MB disks. The "inner
> > loop" of the sector read routine is too slow to cope with the data flow. So
> > if you want to create 1.44MB drives for MSX, you either have to use 7MHz
> > Z80 or use some kind of buffer for reading sectors.
> 
> Are you sure? A 720kb disk works with a FDC that handles 250kbits/s, a
> 1440kb disk works with a FDC that handles 500kbits/s. This means that the
> main routine should be able to read 12500 bytes per turn. It means that
> this routine should run 12500 times in 0.2 seconds. Then, the routine
> should spend a maximum of 16 microseconds. In a 3.57561149MHz, this means
> 57 clockcicles.
> 
>   LD HL,address
>   LD C,D3h
> LOOP: IN A,(D0h)  ; 12 clocks
>   RRCA; 5 clocks
>   JR NC,LOOP  ; 9 or 12 clocks
>   RRCA; 5 clocks
>   RET NC  ; 9 clocks
>   INI ; 21 clocks (I guess)
>   JP LOOP ; 10 clocks
> 
> Total: 71 clockcicles. Conclusion: you're right, it's not possible to use
> 1.2Mb or 1.44Mb disks with Z80 at 3.57MHz. It's BAD!

In principle this could work!

The 2793 floppycontroller HAS the capacity to handle 500 Kbit/s 
(apparantly, this was used for larger 8 inch disks -a lnnngg, 
lnnngg, time ago).

Can the Z80 handle that?

500 Kbit/s = 62.5 Kbyte/sec.
3.58 MHz / 62500 = 57 clockticks per byte. A bit tight, but possible!

Take the above loop:

LOOP:
IN A,(D0h)   12 ticks
RRCA   5 ticks
JR NC,LOOP   8 ticks if skipped, 13 if jumping
RRCA   5 ticks
RET NC6 ticks if skipped, 12 ticks if returning
INI 17 ticks
JP LOOP   11 ticks

If the 1st JR is done: 12+5+13=30 ticks, far less than 57.
Otherwise 12+5+8+5+6+17+11=64 ticks, a tiny bit too many

But speed-up's are still possible here:

-Drop the JP at the end, and put what's before it xx times after each 
other. Doesn't look nice as source code, but works. You could also 
copy this piece of code xxx times to RAM and execute that

-put address of (LOOP) in IX or IY, and replace JP LOOP with JP (IX) 
or JP (IY): takes 9 instead of 11 ticks. Or even use JP (HL): uses 
only 5 (!) ticks

-INI and instructions working with pointers use 16-bit counters. 
Could be replaced with sequences like INC HL: DJNZ LOOP. If you take 
a fixed transfer address (sector buffer!) with start address xx00h, 
you can replace that INC HL with INC L.

-The memory mapped I/O construction used by the floppycontroller in 
European MSX's gives more instructions that you could use (more Z80 
instructions dealing with memory than with I/O)

-Do the INI in the above loop for starters (!): increases pointers, 
AND sets flags!
-> Allows to test those flags immediately (=drop another 5-tick 
instruction). If a byte did come in, you're done, if not, simply 
decrease pointers again

Combining the above: not easy, but it COULD be done !


Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   MSX Tech Doc page



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: Round 16... FAT! (help wanted!!)

1999-03-19 Thread Alwin Henseler


Nestor Soriano  <[EMAIL PROTECTED]>  wrote:


>> SET the disk change flag? Why do you need to do that?
> 
> The behavior of my driver when a function call is made is the
> following:
>
> - Check if the disk has been changed via CALL #4013.
> - If not, read an internal table which contains the type of the
> drive. If FAT16, process function call. Else (FAT12) do not
> process and let DOS to do it. - If yes, read boot sector in
> order to determine the type of drive. If FAT16, build new DPB
> and process function call. Else, let DOS to do it. Update the
> drive type table in both cases.
>
> Well, suppose that disk was changed and it is FAT12 type. My
> driver must do nothing and let DOS to execute funtion call. But
> what will do DOS at first? To check if the disk was changed. But
> my driver did it already!! So DOS will obtain a "disk not
> changed" status, even if the disk was changed, and will not
> update the drive's work area. This is very dangerous...
>
> How to solve it: if the disk was changed and it is FAT12, set
> again the disk change flag, so next call to #4013 (check disk
> change), performed by DOS, will return "disk was changed"
> status. I know how to do it but only on MegaSCSI.

You could figure out how to set this disk change flag for other 
interfaces, but it's disk hardware-specific, so better leave it 
alone...

Possible solutions for the above:
-Avoid making a "disk changed?" call. If you do need it: maybe you 
can use the result of a "disk changed?" call made by DOS earlier?
-Maybe you can use another interception point for your routine, at a 
point where DOS already determined this disk change status?
-DOS does this call again, after your code? Maybe you can use a 
different exit point from your code, skipping this next DOS call, and 
pass on the result of the "disk changed?" call you made?
-Or: intercept somehow this next "disk changed?" call made by DOS 
(difficult, tricky)


> >If it only works with MegaSCSI, then it's really a MegaSCSI 
> >modification, not some kind of 'driver'. If so, I think you'd better 
> >re-do it.
> 
> No. It is NOT a MegaSCSI modification, because I don't change anything of
> MegaSCSI SRAM. My driver resides in a RAM segment. Besides when a FAT12
> drive is accessed, my driver does nothing, and normal DOS code is executed:
> no modification at all then.

MegaSCSI modification = adding something, that only works with 
megaSCSI, not other interfaces.
What it does with the megaSCSI itself, or where that added code 
stays: I don't care!


> >b) If possible, simply return/jump back to the original end of a 
> >routine?
> 
> What? Sorry I don't understand what you mean. Anyway I think you are maybe
> speaking about "ignore" option, not "abort"...

Dos HAS code for handling "Abort", right? You can do the same, but 
instead, you could also jump back to that DOS code handling "abort" 
(and don't care what happens from there). That was the idea.


> I also don't know how sector buffers works, as well as "fork a child process"
> (what the hell is this???) X-)

See MSX-DOS 2 function call documentation, functions 60 & 61h.


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx MSX Tech Doc page



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: MegaRAM

1999-03-17 Thread Alwin Henseler
 state "undefined".


Why is this important?
-
Suppose you want to make a RAMdisk-software using the megaRAM, that 
you want to be reset-proof.
*If* a reset would force the megaRAM in block-select (read-only) 
mode, and select say, block 0, for some/each memory range, then a 
reset would make that RAMdisk write-protected at once, and you could 
just put initialising code in that block 0.

But if you don't have that reset-effect, the only way to have that 
initialising code start on every reset, would be to keep -some- block 
ALWAYS selected in for instance 4000-5FFFh range, so that it will 
always be there, no matter when the thing is reset.
And having the same block selected _all_ the time in some memory 
range, could be a big restriction for that RAMdisk-software.


> > Simple and good method: select (in descending order) each possible 
> > block, write its number in it in at some test address, and then 
> > (starting with block 0) check up until which block the block number 
> > matches what you find at the test address when selecting each block.
> > In pseudo-code:
> > 
> > FOR n=255 TO 0 (decending order!)
> >   Select block 
> >   Write  to test-address
> > NEXT n
> > FOR n=0 TO 255
> >   Select block 
> >   IF (testadress)= THEN NEXT n ELSE highest block found (=n-1)
> 
> I think that this method has a fault: if a 256kb Mapper has 8-bit
> registers and the blocks from 16 to 255 points to null memory, this
> technique can detect 17 blocks insted 16, because when you read the block
> number 16 you get junk, and this junk can be 16 (the probability is
> 0.390625% but it's not 0%).

Okay, test each block to be RAM first ("junk" won't pass then).
Anyway, chances of reading any "null" value other than FFh is small, 
and reading a value of 16 (0001 binairy) is more like 0.001%


> > I wrote a superbly constructed memory mapper detection routine once. 
> > Detects ALL (including full 4096, those stupid 192, 384K etc., or no 
> > mapper at all) sizes correctly, doesn't change the contents of the 
> > mapper, AND does it without using any buffer memory.
> > (mapper size detection built in DOS2 cartridge uses 256 byte buffer 
> > memory for that, my routine does without).
> 
> That's very good! Can this routine detect multiple mappers installed in a
> MSX?

What's so difficult about that?
Select 1st slot - test mapper size
Select next slot - test mapper size
Select next slot - test mapper size
 etc.
Add total sizes, put it in a table if you like - what's the big thing 
here?


> I am thinking in redesign my routine for Megaram size detection, allowing
> non-standard sizes to be detected. And I would like do detect multiple
> Megarams, what I have never made. I think that it would be very good if
> the Mapper-detection and Megaram-detection routines were the same (unique
> routine for all kinds of memories!)

Shall I do that? I'm good at this kind of thing;-))


> > BTW: Instead of adding the extra EPROM to create a MegaRAM-disk, 
> > wouldn't it be easier to put this disk-driver software in the MegaRAM 
> > itself, together with the contents of the RAM-disk?
> > (maybe with some extra reset circuitry, or SRAM battery backup).
> > This would also allow really easy update of such disk-driver 
> > software.
> 
> This would require a disk to be specially booted to convert Megaram to
> Megaram-Disk. But Megaram-Disk is supposed to work like a disk-interface,
> and like that, it should work fine when it's connected alone, without
> disk-drives. Then, there's no way to make it without an EPROM.

If you would modify it to have a clearly defined state after reset, 
you could.
This need not interfere with other MegaRAM use. And if you want to 
reset the machine with the megaRAM in some other state, simply set 
that state, and do a software-reset.


>> (Brazilian vs. European floppy-controllers)
>
> So do I. Recently, Alex Wulms explained to me how these FDCs work, and
> they work like the port based FDC. The main difference is that addresses
> 7FF8h-7FFBh is mapped to ports D0h-D4h. There are other minor differences,
> but they are not important.

You mean the same FDC (2793) is used, just put on I/O ports instead 
of memory-mapped? Could you check that, if it's the same IC type?
BTW: I hope you read "these FDCs" above as "these 2793's", because 
the 2793 and other FDC's like TC8566 are *really* different.
Differences between the 1793 and 2793 are probably not that big, but 
I wouldn't swap diskROMs between these.


> And do you know what's the differences between WD1772 and WD1793?

Forget it..!!
TMS 2793 = "obso

Re: MegaRAM (was: cracked 24k ROMs)

1999-03-17 Thread Alwin Henseler


Marco Antonio Simon dal Poz  <[EMAIL PROTECTED]>  wrote:


> > >But Hinotori is a 128kb game. So, why do you need VRAM?
> > 
> > The ROM is 128K and it also needs some RAM (probably 16K) to run.
> > And ROM pages are 8K in size, mapper pages 16K. This means that sometimes
> > you need to duplicate ROM pages in the mapper to allow all combinations
> > used by the game. Example: ROM page 0 and 4 are used together, just as ROM
> > page 0 and 13. In the mapper you'll need 2 pages (32K) for those three 8K
> > pages (24K).
> 
> If you have 256kb of RAM, there's enough space to do all the necessary
> combinations. Or am I wrong?

Suppose you have 128KB (1 Mbit) ROM = 16 blocks (0-15) of 8 KB.
If you want to have all combinations with block #13 in the lower half 
of a 16K page, than you need to store combinations 13+0, 13+1, 
13+2,,13+15 = 16 mapperblocks needed for instant retrieval.

The same for block 0, 1, 2, etc., and combination of blocks 13+2 
needs its own mapper block next to combination 2+13.
So you would need 16 x 16 = 256 mapper blocks = 4 MByte mapper for 
this.

(damn, this could work! does anyone feel like writing a loader for 
this, so that you could run most or all 1 MBit Konami's just like 
that, if you happen to have a 4 Meg mapper?)

2 MBit ROMs = 32 blocks -> 32 x 32 mapper blocks = .... 
(slotexpander filled with 4 mappers of 4 Meg each)


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx MSX Tech Doc page



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: 64K VRAM?

1999-03-17 Thread Alwin Henseler


Coen van der Geest  <[EMAIL PROTECTED]>  wrote:

> > MH> It is possible to make an MSX2 with only 64K VRAM. Such a machine
> > MH> would not have SCREEN 7 and SCREEN 8, not even a single page, because
> > MH> VRAM timing requires two RAM ICs connected. Does anyone know if
> > MH> machines with 64K VRAM were ever actually made?
> >
> >Mitsubish ML-G1 had 64K VRAM, I think.
> 
> Philips has one also, I don't exactly know which type it was, but they
> did have one. And it was not the 8280 :-) (nor was it the 8235, because
> I had that one, nor the 8245 and 50, so it must have been one of the
> others). And I actually knew someone with such an MSX (grin :-) )

Maybe you mean the NMS 8220?
That machine had only 64K RAM (normal memory mapper), but did still 
have 128K VRAM, like every MSX2 I've ever seen...
Looks on the outside like a 8020 MSX-1 (with darker case), but with 
MSX-2 inside (no diskdrive built-in, but some Designer-plus like 
program in ROM as an extra). A bit like a NMS 8245 with the 
disk-electronics stripped from it.

Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msxMSX Tech Doc page



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: Round 16... FAT! (help wanted!!)

1999-03-17 Thread Alwin Henseler


Nestor Soriano <[EMAIL PROTECTED]> wrote:

> Yep, tired of searching technical info, and since nobody does anything (eh
> Pazos! Esto no va por ti; yo ya me entiendo) I started my FAT16 driver.
> Unlike Pazos&Okei one, it is not a patch for diskROM, but a completely
> self-made driver which will be placed into a RAM segment.
> 
> I'm making it for MegaSCSI, but the controller dependant routines (just
> three routines) are clearly separated from the rest of the code, so anybody
> can modify it for any other controller.

I am really sorry to have to write this, but:
Doesn't a FAT16 driver modify the disk system, and not the disk-I/O 
itself? For clarity: with 'disk system' I mean here: the non-hardware 
dependant software, that for instance resides in an ordinary 
DOS2-cartridge. With 'disk-I/O' I mean: the low-level, 
hardware-dependant part of diskROMs.

If so, a FAT16 driver should not in any way depend on a certain type 
of hardware/ROM, only change things that are the same with any disk 
interface. Or any DOS2-using interface, if you like.

A FAT16 driver changes the FILE system, and thus should work with any 
type of disk that supports that file system, in this case: any disk 
hardware that could support FAT16 formatted disks, not just 
MegaSCSI.

If it only works with MegaSCSI, then it's really a MegaSCSI 
modification, not some kind of 'driver'. If so, I think you'd better 
re-do it.


> I almost finished the "basic engine" but I have problems with the error
> handling part, so I ask for help. Here is the problem:
> 
> [HI-TECH MODE ON] X-)
> 
> Imagine that a function call is being executed. Page 2 contins the DOS data
> segment. Page 0 should contain the DOS code segment...
...
(...more tech speak...)
...
> - Restore TPA segments in pages 1 and 2
> - Load C=#62 (program terminate) and B=Error code
> - Jump to #0005 in TPA segment of page 3, via inter-segment call
> 
> It works and COMMAND.COM takes control, but next execution of a program
> causes the computer to hang.
> 
> [HI-TECH MODE OFF]
> 
> SOS... help... maidai... dios mio, esto es un infierno... X-) I just need
> to solve this problem for having a "releasable" version of the driver (I
> hope!!). Also, any suggestion & beta-testing offers will be welcome of course!

On error handling:
Why not -
a) Start & end your routines as much as possible the same way as is 
done in the original routines (do some disassembling & code copying, 
only squeezing your own version of the interesting parts in between), 
or
b) If possible, simply return/jump back to the original end of a 
routine?

Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   MSX Tech Doc page



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: YES! Harddisk is working! But...

1999-03-14 Thread Alwin Henseler
a ROM, or would additional 
circuitry be needed?
Does anyone have some datasheets of this controller (AMD or WD 
33C93)?


> 11 - Are the speeds I got with HDSPEED reasonable? What is the speed
> with a new Novaxis ROM? And what on 7MHz? (Twice as big?) And with both
> 7MHz and new ROM?

If floppydrives get to 12-15 KB's/second, who cares whether your HD 
works 8 times, or 15 times faster than that?
Anyway: 7 MHz. and the Gouda (Novaxis) SCSI interface just don't go 
well together. Frankly I wouldn't know why not, such controllers & 
HD's are made for far higher data rates, so I suppose it's a pure 
software-problem.

The software is THE problem with the Novaxis SCSI interface. 
For instance:
If you only have one HD connected, with a SCSI-ID that is SOMETHING 
else than the interface, the intelligent way would be to scan all 
ID's on the SCSI bus at boot time, and make a drive-letter for every 
useable partition you find.
Not so with the Novaxis interface: you have to set a 'target-ID' for 
the HD, set a 'host-ID' for the interface, and if the target-ID isn't 
right, the interface will make you wait lnnngg after every reset, 
and doesn't initialise any drives.
There is LOTS of such shortcomings like this. When all is okay, it 
works okay, and fairly fast, but if things aren't entirely right, it 
works SHIT.
Apparantly the Bert and Mega-SCSI do better in this respect.

Partition table formats are quite standard for PC's, and if you use a 
same format, you can exchange files easily with other HD users.
But even though it doesn't offer ANY obvious advantage, a lot of MSX 
HD interfaces (and versions) use different partition tables, 
incompatible with one another.

There is one REALLY simple solution for this: 'standard' partition 
formats are known, for every incompatible type it would be enough to:
-Write a bare-bones utility to convert existing partitons, or create 
new ones to the standard format.
-If neccesary, update the interface software to work with this 
standard partition format.


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  MSX Tech Doc page



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: MegaRAM (was: cracked 24k ROMs)

1999-03-03 Thread Alwin Henseler


Marco Antonio Simon dal Poz  <[EMAIL PROTECTED]>  wrote:

> > Is it possible to make the MegaRAM yourself using all new parts?
> > Or do you need old cartridges?
> > Anybody has any schematics?
> 
> It's perfectly possible. You can use the same memory IC's used in Memory
> Mapper. The difference is only the block switching circuit.
> 
> I don't know anybody who has the schematics, but it's not very difficult
> to create one. The special feature is the port 8Eh, that selects between
> BLOCK SELECT mode and WRITE ENABLE mode.
> 
> In a Megaram, when you execute a "IN A,(8Eh)", you put Megaram in WRITE
> ENABLE MODE. The accumulator receives garbage. When you execute a
> "OUT (8Eh),A", you put Megaram in BLOCK SELECT MODE (exactly as a Megarom
> cartridge), whatever the contents in the accumulator.
> 
> In Brazil, we have Megaram models of 256kb, 512kb and 768kb.

Okay, just so that anyone can build this, or emulate it (oops...), 
can you please fill in the details?

-IN xx,(8Eh) sets "write enable mode"
-OUT (8Eh),xx  sets "block switch mode"

I suppose this can be made using a single 1-bit register, that 
responds to access of I/O port 8Eh, and taking either read- or 
write-signal as data input. D0-D7 lines are don't cares when 
accessing this I/O port.

-Is this a single I/O port (8Eh), or mirrored on other I/O-addresses? 
2? 4? 8 I/O ports?
-If in "write enable mode", I suspect you can write to the current 
selected blocks in certain memory ranges. Is this correct? Or just 
one special block or so?
-What size blocks are switched? 8 KB? 16 KB? Smaller? Bigger?
-EXACTLY what memory ranges do these blocks occupy?
-EXACTLY what memory ranges can be used to switch the blocks (if in 
"block switch mode")?
(tells the hardware designer which address-bits are don't cares)
-What block numbers are allowed (# of bits)?
-How are unused bits in block numbers handled?
Suppose you have 32 blocks (5 bit block numbers). What happens when 
you try to access block numbers of 32 and above? Are higher blocks 
'empty'? Are unused bits in block numbers treated as don't cares?
-Can you read the selected block numbers back, or are these 
write-only? (for instance: most ROM mappers: write only (mapper 
registers, that is, not the ROM data ofcourse), normal memory mapper: 
read & write block numbers)
-What's the power-on / reset state? Everything "don't know"? 
Or blockswitch-mode, but currently selected blocks undefined? Or: 
block xx in memory range yyy-, block ... in memory range  
etc.?

Finally this: what software exists, that actually USES this MegaRAM?


Greets,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msxMSX Tech Doc page



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: Cracked ROM in 24k portions

1999-02-26 Thread Alwin Henseler



Manuel Bilderbeek  <[EMAIL PROTECTED]>  wrote:

> I have some cracked ROMs with 24kb blocks. Very quick to load, but the
> disadvantage: it's from &H8000-&HE000 (or somewhat higher for the code
> that has to LDIR the block in the right mapperpage) in memory, and the
> basic loader has to fit in too: result: CTRL needs to be pressed.
> 
> I was wondering, can't someone make a nice ML-loader that stores the
> blocks in the lower 32k of RAM? (Using the same blocks, but, instead of
> a BASIC loader a ML loader, the RET of the block-LDIR-code will return
> to this ML loader then (or something)).
> 
> Can anyone help me with this? 
> (Cas? Maarten? Jerome?)
> -- 
> Grtjs, Manuel, who doesn't like pressing CTRL before loading something
   Neither do I...

What you might need is what I call a cartridge-loader:
Just rip the ROM data out of the files using a debugger or disk 
editor, put it in one file, and use that cartrige-loader to run it.

I wrote a good cartridge-loader once, that will even allow you to 
exit without having to reset the machine! (works perfect for 95+ 
percent of ROM files). Available for download on my pages.

If you have some nice programs to convert that way (that I don't have 
yet), feel free to send some to me, for me to do the ripping & 
glue-ing of the contents.
P.S. Preferably packed somehow (for safe transport), and no more than 
a couple of hundred KB's at once, please?


Greets,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msxMSX Tech Doc page


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: MSX hardware page...

1999-02-26 Thread Alwin Henseler


Hi,


Patrick Kramer  <[EMAIL PROTECTED]> asked:

> Does anyone have a schematic of a memory mapper that can use 1 MB
> SIMMs ?

Drawing up such a schematic is easy...making print layout & building 
it, that's the real work.


> 2nd question: where do I get 50 pin header connectors or
> experimental MSX slot PCB's ?

Your local electronics shop should have those connectors.
To get such an experimental board:
There exist sheets with PCB layout symbols, for creating layouts used 
as 'masks' for UV photo-sensitive board. You can also apply these 
symbols directly to blank copper board, and use that for the etching 
process.
There are connector symbols, which have the exact same spacing as the 
MSX cartridge connector (standard 0.1 inch / 2.54 mm).


> 3rd question: anybody happens to have the schematics of a Canon V20
> MSX1 ?

Is this an interesting machine on the inside?=;-}


> 4th question: does anyone know of a MSX-site that has anything related
> to MSX-hardware (schematics etc.)

Laurens Holst   <[EMAIL PROTECTED]> wrote diz:

> I think it might be a good idea if someone started some kind of
> schematics-page where you an find all different kinds of schematics 
> varying ffrom 7MHz-print to SIMM-memory-prints...
> 
> It would be very useful to have these all at one place
> (and translated into english!)

At least something like it exists !!
Current contents of my MSX Tech Doc page:

-MSX Super Turbo circuit
-256K sampleRAM for MSX-Audio
-pointers to datasheets of various MSX parts
-links to several other hardware-related sites (not per se MSX-only)

The time I spend on adding own data to my site is very limited, but I 
wouldn't mind if my pages become a nr.1 spot for circuit diagrams and 
alike.
So if you have hardware schematics, datasheets of MSX parts etc. (in 
electronic form !!), I'll be happy to put those on my pages.

BTW. many of such projects have already been published or released 
earlier (7 MHz, MK megamapper, slotexpander, 2+ expansion etc.)


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

maintainer of the MSX Tech Doc page
http://huizen.dds.nl/~alwinh/msx



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




MSKISS 0.2 archive damaged

1999-02-23 Thread Alwin Henseler


Hi you all  !

I read on this list of a new version of the MSKISS emulator (0.2). 
Downloaded it to check it out, and the file produced a CRC error, so 
a damaged archive.

Repeating this gave the same result, and a copy on the MSX Emulator 
Page (M.E.P.) was the exact same thing.

I notified the maker, and the guys at the M.E.P., in the meanwhile 
you'd better wait for a new archive to get uploaded, before you go 
out and get it.

Just thought you might want to know... =:-]


Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  MSX Tech Doc page



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 image formats

1999-02-21 Thread Alwin Henseler


Hi...!


Maarten ter Huurne <[EMAIL PROTECTED]> wrote:

> >Such stupid name hides a useful program: it enables you to create empty disk
> >image files of ANY lenght, from 10K to 32500K, as well as standard 1DD and
> >2DD disk image files. Of course with valid initialized boot sector & FAT.
> 
> I made something like that as well. My program creates disk images from a
> list of files, which are placed in the disk image.
> But I have a problem: the DiskROM expects the directory to be located in
> sector 7. If you make a really big disk, the FAT becomes larger and sector
> 7 will be part of the FAT. Although it is possible to set the starting
> sector of the directory in the boot sector, the DiskROM ignores this
> information.
> If you know of a way to fix this, I will be very grateful.

Nestor (Konamiman) suggested to use more sectors per cluster.
This won't work!

You can have valid disks/disk images, but DOS1 does all format 
determination simply by checking the 1st byte (the so-called media 
descriptor) of the 1st FAT; this is hard-coded as sector 1.
This works; every disk format that I know that's used on MSX has the 
1st FAT starting at sector 1.

All other format parameters are set based upon that single media 
descriptor byte. So if you change the bootsector parameters & disk 
format, it won't help because DOS1 doesn't use these to determine the 
disk format.

Conclusion:
-If you want to use DOS1, use one of the standard MSX disk formats 
(360/720 K)
-If you want to use other disk formats, use DOS2 for accessing these


Greetings,

Alwin Henseler

http://huizen.dds.nl/~alwinh/msx  MSX Tech Doc page
e-mail:  [EMAIL PROTECTED]


Please standby...
Setup is copying files to prepare the wizard, which will guide you 
through the process of shutting down your computer.




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: IDE driver & documentation

1999-02-10 Thread Alwin Henseler
ent diskROMs), which makes figuring 
out the use of many of those undocumented memory locations and 
variables a LOT easier.
-And I have an essentially complete disassembly of a DOS1 disk 
'driver' (originally taken from a Philips NMS 8245 MSX-2), which can 
be used to modify such a driver on a source code level, and is 
easily made into a complete diskROM after that.
For instance, I used this once as follows: I had a Korean-built MSX-2 
at my place for a while, which used a diskROM that I recognised as an 
older type 'system part' (more bytes free in BASIC, but less 
performance-optimised). This also used a disk controller I had never 
seen in an MSX-2 before that: the Western Digital 1772 (even older 
type than 1793 or 2793, worked perfectly though). For me, with all 
this, just a couple of days were enough to produce a new diskROM for 
this machine, using the same driver code, but with an optimised 
system part (the same as those used in most MSX diskROMs), which made 
normal disk operation a LOT faster. With the knowledge I had here, 
the diskROM produced here worked 100% solid right away, like any 
other separate or built-in disk-interface (I didn't hear any 
complaints later on either). Just a matter of having the right 
materials to produce it.


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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 and/or bigger drives on MSX

1999-02-10 Thread Alwin Henseler
existing programs? If you would support for instance 32-bit sector 
numbers here, how to handle programs that don't support it? If you 
would define a 'new' function call for this, what would the practical 
use of this be?

When you take file operations: if I'm not mistaken, file offsets are 
defined as a 32-bit value in existing DOS function calls. I'd say, 
supporting access to normal files, but up to a 4 GB filesize (2^32) 
would be a great step forward. If you would implement a 'file 
operating system' that will fully support such files sizes using 
existing function calls, how will this affect existing programs? 
Would this work okay, or would there be all sorts of problems, 
created for instance by programs using mixed sector-I/O and file-I/O?


Instead of looking for solutions for some of these details, why not 
do some proper research on the general issues here?
What might be REALLY usefull here is this: an overview of the exact 
use that several popular or 'essential' EXISTING software makes of 
the existing DOS functions. If you know that a particular SET of 
programs only uses a particular set of DOS functions (like memory 
locations xxx, and function calls yyy/zz), then you also know that 
you can continue to use these programs with 'DOS3', if it would 
SOMEHOW implement THAT set of function calls & memory locations.

Instead of wasting time to figure out HOW you could do that, you 
could first figure out, WHAT would be needed to implement a 'DOS3'.
What functions would HAVE to be implemented, with what things should 
it remain compatible, in order to make it any use?
So, on the other hand, support/implementation of what things could be 
dropped, without having every existing program stop to operate?


Why this whole story? Well, simple: why bother making a disassembly 
of a DOS2 kernel? You know what happens, when you delete a file on 
harddisk, don't you? Some special marker is put into the directory 
entry that goes with it, that says: 'deleted file', and the FAT 
entries (clusters) that were occupied by that file, are converted 
from pointing to next parts of that file, back to 'free'.
You know how a FAT12 disk is organised, you know how to read/write 
those sectors using low/level I/O routines. So why bother to figure 
out, how exactly this is done by DOS2?

All you REALLY need to know, is how to put such a new DOS together in 
such a way, that many existing programs can use it. What memory 
locations are 'fixed', and which are free to shift to other places, 
or not to use at all in this new disk operating system. So all you 
REALLY need to know, is how existing programs use the current 
systems. How do they determine what's present (DOS1/DOS2)? What 
function calls are used? What memory locations are used? What 
assumptions are made?


Instead of debugging your entire software collection, I suggest that 
all of you, who would like to participate, find out for THEIR OWN 
PRODUCTS, or maybe for one or two of their favourite programs, HOW 
these things use the disk system: what system locations are used, 
what calls are made, what assumptions were made? Check out some 
source codes of some of your own stuff, and make a quick list of ANY 
system locations used in relation to disk/file-I/O, and ANYthing that 
would have to be in such a new disk system, to make your product 
work. If you lost the source, get out your debugger! You still know 
roughly how your program works, others don't!

Then, drop your results on this mailing-list, or some volunteer that 
collects these results, and after a while, you would get a database, 
showing how different programs use the disk system. With that, you 
could see in one quick look, what the effect would be, when a certain 
modification to the disk system would be made. If you would implement 
some higher drive numbers somewhere, with this database you could see 
in one look, what programs would support those extra drives, and what 
programs wouldn't.

And THEN, it would be far easier, to work on any extensions or 
modifications of a disk system. You would know up front, what would 
be necessary to make programs xxx (choose any set of favourites) 
work, and what would be free to change in a new system.


To conclude: my suggestion here, is to focus any efforts here on the 
INTERFACE between existing software, and existing disk system 
software. What are the essientials here?
Let's forget about the rest of how these programs work, and let's 
forget about how all the details are implemented by disk systems (I 
mean, those details that are 'internal'). In other words, let's 
figure out, how this INTERFACE works, what is 'external' 
('fixed'/'standard') and what is 'internal' (free to change as you 
wish) ?

Can we do this?


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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: Bigger sector numbers

1999-02-10 Thread Alwin Henseler
 such a way, that one or more of these 
indicate 'new', using some values that will/were never used in the 
old system.
Let's see: sector number 0-h: all possible
media descriptor: I've never seen anything below F0h, but I'm not SO 
sure about this.
Number of sectors: 0-FFh: could be used, but might give problems if 
values bigger than ... are passed to older drivers.

My idea: why not indicate a big sector number with the highest bit of 
the drive number (passed with A register)?
If passed to an older driver/part of the system, this would be read 
as drive number beyond 127 ('ridiculous'), and any action will surely 
be refused in this case, with an error code to go with it.

It would only limit the maximum drive number to be passed this way to 
0-127 (who cares), and:

-It's 100% compatible, no h sector number exception
-The 16 bits used previously for the sector number, can be used as 
normal, to pass the lower 16 bits of the sector number, instead of 
wasting this with a dummy h value
-You can use some special values (FFh, FEh, FDh etc.) for the drive 
number to indicate sub-functions, and use this for instance to 
'inquire' about supported features, locations of extra info etc. (you 
might use this through other entries rather than DISKIO).

What do you think?


Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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: MSX game: an idea

1999-02-10 Thread Alwin Henseler
icated instead, to prevent being erased, or actively hunt 
down/erase others.



An idea I had myself once, was to run a simulation of an ant heap (or 
several), in a simulated environment.
Scientists have always wondered, how it is possible that such simple 
creatures like ants, or bees, can produce such complex societies, 
when put together in large numbers.
I think the common idea these days is, that for every single ant, or 
bee or such, the behaviour is controlled by a very limited number of 
simple 'rules' (some estimated something like 250 very basic rules, 
together fully describing the behaviour of an ant), and that the 
resulting complexity simply comes from numbers, and a long evolution 
of the physical properties, and sets of rules, making up each ant.

My idea was, to make a simulation of this by running one or several 
heaps of simulated ants, were each ant would be similar to the 
creatures wandering around in computer games: described by a simple 
set of rules and variables, and simply processed in a row, with 
discrete steps in time to control their movements.

You might take a couple of hundred (thousands?) of ants, put 'food' 
in random places, place obstacles in the way, or introduce hazards 
like 'no-go areas', unrelated types of enemies, natural disasters, 
competing, but differently working ant species, or make different 
types of ants (workers, fighters) etc. etc. etc., and just watch what 
happens.

Would make a great screensaver, I think!


P.S. Does anyone know of such simulations written for MSX machines, 
and similar 'recipes' for simulations?

I gave the above ideas, and I know of implementations of Conway's 
Live game for MSX (one called 'bosbrand', by the MCCM, and another 
one written by myself once). But are there more versions of this Live 
simulation, or other simulations like it, written for MSX?


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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: Philips MSX-2 memory layout

1999-02-10 Thread Alwin Henseler


Hi again!

"See Loy Lin"  <[EMAIL PROTECTED]>   wrote:

> > > > Yeah, I got this problem once. In a MSX2. But DD2 runs fine in my
> > > > MSX1, my MSX2 and my TR-GT. Even in BrMSX, VMSX and CJS MSX2 Emulator
> > > > (not in fMSX).
> > > On my Philips VG8235 and NMS 8245 (both MSX2) exactly the same 
> > > happened, but now I have a Philips NMS 8255 (MSX2 and with 512 Kb 
> > > RAM) and the game works perfectly with it!
> > 
> > Can you, please, tell me the memory map (RAM slot/subslot) and VDP
> > ports of your VG8235/NMS8245 and NMS8255? I'm curious about this crash of
> > DD2...
> 
> I'm afraid I don't know much about the memory structure of my MSX...
> However, I will try to look at home for documentation, but has
> anyone more knowledge about this subject???

These MSX-2 models from Philips (and the 8280 also) basically share 
the same memory layout:

BIOS/BASIC ROM in slot 0,
slot 1 & 2 are the same numbered cartridge-slots,
and slot 3 is internally expanded (giving 3-0, 3-1, 3-2 and 3-3),
with:

128 KB. memory mapper (8 blocks of 16 KB. each) in slot 3-2,
MSX2 subROM in slot 3-0 (address -3FFFh), and
diskROM in slot 3-3 (address 4000-7FFFh)

You can discover such features easily using some debugging utility, 
or run MCCM's MSXMEM (it's pre-historic, but still good for this).


> > > happened, but now I have a Philips NMS 8255 (MSX2 and with 512
> > > Kb RAM) and the game works perfectly with it!

Ehhh, this memory mapper SIZE is not what does it, is it?


The VDP ports are 'ofcourse' the same as in any other MSX:
98h: read/write VRAM
99h: read: VDP status, write: VDP commands/register changing
These can also be found in BIOS-addresses 0006/0007, as any MSX 
programmer should know (stupid...you can find this anywhere)


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm   (Computerclub Enschede)



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





follow-up: MSX-Audio 256K sampleRAM

1999-02-10 Thread Alwin Henseler


Hi you all,

In response to a request earlier (from some Brazilian or so), I have 
uploaded a description of how to connect 32 or 256 KB. sampleRAM to 
a MSX-Audio chip (Y8950), to my MSX Tech Doc page. See below for the 
address. Click on the hardware icon to get there.

If you want to build it: go ahead, I checked things properly. I only 
did this once or twice myself, but as described, it works.

If you are someone who also did this once, or know how to do this: 
please check my description, to see if anything needs correction, or 
maybe it can be done even simpler than I did.

I used two 256K x 4 bit DRAM's (44256) for 256 KB. Someone said 
earlier that that's all that is needed. That is not quite true: a 
simple inverter is also used. But: in the most likely 'victim' for 
this upgrade, the Philips Music Module (NMS 1205), you can use an 
unused inverter, that's already in there. So in this case, only those 
2 DRAM's are enough.

I included the connections for 32 KB., for those MSX-Audio's that 
don't have any, and for easy reference. I'd say other sampleRAM sizes 
are really not of any interest, so you figure that out yourself, if 
you'd want to.

One more thing: does anyone know what software actually uses this 
extra sampleRAM, that you might use to test it?

Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm (computerclub Enschede)



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




uploaded UNPMA v1.0

1999-02-10 Thread Alwin Henseler


Hi all,

I have (finally) taken some time to update my MSX-webpages again,
and uploaded an unpacker for PMA-files I wrote once.

It's called UNPMA (how original), version 1.0 (no newer version 
needed so far).
It was meant as a replacement for PMext. It does not support the many 
archive formats or options that PMext does, but:

-it unpacks PMA files on average 2 to 3 times faster than PMext does
-under DOS 2, you can make full use of directory names
 it works just as well under both DOS 1 and DOS 2

Full source code and documentation is included.
You can get it at:

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)

Just click on the software icon.

Please read the included doc's first, before firing any questions 
about it at me. If you still have questions then, and the answer 
might interest this audience, you MAY also ask me via this 
mailing-list.


Happy unpacking!

Alwin Henseler
e-mail:  [EMAIL PROTECTED]



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: Check out!

1999-02-10 Thread Alwin Henseler


Laurens Holst   <[EMAIL PROTECTED]> wrote:

> Take a look at my homepage, I have put up a new section, called:
> "The MSX image source"... Here you can find photos of different kinds of
> MSX-stuff (I have). Maybe a product of yours is also there!!!

Great, so let's visit: http://   ????


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   MSX Tech Doc page



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: Backups...

1999-02-10 Thread Alwin Henseler


Hi,

"Klaas" (de Wind?)   <[EMAIL PROTECTED]> wrote:

> > Thay call that making a backup of your harddisk once in a
> > while...
> 
> Yep, I know. But when the backup is on a zipdisk, and that zipdisk has a 
> read-error...


A backup that you can't read = no backup


Alwin ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   (MSX Tech Doc page)



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: JoyNet serial transfer routines

1999-02-10 Thread Alwin Henseler


I wrote earlier:

> >It's about the exact time(s) of sampling the bit values of the main 
> >(RxD/TxD) signal. In asynchronous communications, this is based upon 
> >a fixed time for a single bit, determined by the baudrate.

Maarten ter Huurne  <[EMAIL PROTECTED]>  replied:

> That's synchronous communication. In asynchronous communication,
> there is no baudrate.

[EMAIL PROTECTED]replied:

Van:  [EMAIL PROTECTED]
Ehrm... I don't wanna spoil the fun, but for JoyNet, we're talking
about asynchronous communication. What you describe here ("...based
upon a fixed time...baudrate") is synchronous comm.

[Which trashes the whole supersampling idea]


I think you are both mistaken here. In synchronous communications, 
the exact point in time at which the data signal(s) is sampled, is 
determined by an 'extra' signal, an other signal, and with that, the 
data stream is SYNCHRONISED with that other signal.

If such an other signal is not used, or not present, the data stream 
can NOT be SYNCHRONISED with that other signal, and thus becomes an 
ASYNCHRONE communication method. In this case, it is usallly a fixed 
timing scheme that determines when bits are to be sampled. Such a 
fixed timing scheme is usually referred to/derived from/related to as 
"baudrate". This is the common way used for RS-232 communications, 
and the same goes for MIDI-connections (also Asynchronous).

Note that for both ways of communicating there IS a baudrate, only 
for asynchronous it is determined externally (and needs to be the 
same for transmitter and receiver to have it working), for 
synchronous this is determined by these 'extra' signals (call it 
'bit-clock' or such). Bit-rate and baud-rate are not the same thing 
technically, I wouldn't know the exact difference between these 
though.


I do not know exactly what method is used with JoyNet, if it uses a 
fixed bit-timing, that would make it asynchronous. If it uses an 
extra signal, besides the data-carrying signal, that would make it a 
synchronous communication (you figure that out).


Besides: if JoyNet only standardises the cable, than that leaves the 
programmer free to choose for a synchronous or an asynchronous 
communication method. If the number of connection lines in the cable 
is such, that no extra lines besides the data lines are available, 
then that would automaticly force asynchronous communication to be 
used. If not, both methods could be used.


Anyway, my suggestions were just that. Whether you think it's needed 
to implement these in your applications, is up to you. Generally, I 
think:
-For networkgames, SPEED is crucial, and error-checking not that 
important, or not at all
-For data-transfer, speed is not THAT important, and error-checking 
might greatly improve reliability. If not needed (with good, short 
cables, and/or low speeds) it won't matter, IF needed (under worse 
conditions), a proper error-detection mechanism can well be the 
difference between something working lousy, and something working 
normal, but just a bit (!) slower. That's all. And you should know 
that less-than-optimum conditions are more common than optimimum 
conditions.


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(Computerclub Enschede)



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: A question...

1999-02-10 Thread Alwin Henseler


Hi again!

Laurens Holst   <[EMAIL PROTECTED]>  wrote:

> As far as I know there still isn't a program for the MSX with which
> you can (like RAR or ARJ) devide large files into smaller pieces (to
> reassemble later) which can, for instance, fit on a disk.
> Compression is not even nessacary, just the deviding...

Eehhhthat's what I would call a file-splitter...
Like the one I just uploaded (Split v1.1) a couple of days ago.
So: there is!


Alwin([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx MSX Tech Doc page



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: POKE -54,35: strange errors!

1999-02-10 Thread Alwin Henseler



Can we finally finish this poking stuff?


> Manuel Bilderbeek schreef:
>
> (stuff deleted)
> 
> Erik de Boer <[EMAIL PROTECTED]> wrote:
> 
> this poke let some software belive that there is an expanded bios on boardit just
> fills in a hook.
> for some software this is enough to let them belive that a msx audio bios is
> peresent.
> and ofcourse the msx audio music chip.
> but when your msx already has an expanded bios ( maybe the rs232 , there is a lot
> inside the G900P)
> you can get problems.
> maybe you can try to poke &hFFCA , 00 , and &hFFCB, &hC9 (nop and ret)
> 
> Erik de Boer
> 

This sound logical
But if the whole point is that there is something on this hook, why 
not test that first, do this POKE if it's empty, and do nothing when 
there's already something there?

In other words, replace:

POKE -54,35

with:

IF PEEK(-54)=&HC9 THEN POKE -53,&HC9: POKE -54,35

(If there's any other IF's before that: just leave those). So, 
Manuel, try this now, and then stop filling our e-mail boxes with 
this nonsens, ok? 


Greetings, Alwin   ([EMAIL PROTECTED])



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




uploaded Split v1.1 (file spitter)

1999-02-10 Thread Alwin Henseler


Hi all,

Quickly after my previous upload, I again uploaded a utilitly I wrote 
once. It's called "Split" (v1.1), which is a file splitter, that you 
can use for example to split MegaROM files into single blocks, or 
easily strip some kind of header of a file.

How you determine what files to break into pieces and exactly where, 
is up to you, there's no file searching or -viewing options in it.
But it has almost every thinkable option of how you want files to be 
divided in smaller pieces. Only 'shortcoming': it needs MSX-DOS 2.

So, if you need such a program for some purpose, you can get the 
ULTIMATE tool for this 'simple' task at:

http://huizen.dds.nl/~alwinh/msx      MSX Tech Doc page


Greetings,

Alwin Henseler([EMAIL PROTECTED])



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: MSX1 -MSX2 compatibility

1999-02-10 Thread Alwin Henseler


Hi,


Stefano Fronteddu  <[EMAIL PROTECTED]>  wrote:

>   A lot of You know that MAIN ROM slot's identificator is located at
>   0FCC1H.
> In MSX2 the MAIN ROM can be in any slot, while in MSX1 it's in slot
> 0 or slot 0-0. Why is there this difference ?

No, that's for MSX2 Sub-ROM. Main ROM has to be in slot 0 or 0-0, as 
for MSX-1.


> Is it wrong to call Basic using 80H as slot identifier ?

Yep, for 2 reasons:
-It tells the MSX to switch secondary slots 0-x, which there are not 
if (FCC1h) was 0. This also messes up memory location h here, 
which it SHOULD not (and will not, if called correctly)
-It makes the MSX do a lot of unnecessary extra work if slot 0 wasn't 
expanded, as is the case on many MSX's.


> I know that the following code works well in both MSX type
> 
> LD A,(0FCC1H)
> LD H,40H
> CALL ENASLT

So why not use this correct way then? Replacing "LD A,(FCC1h)" with 
"LD A,80h" saves 1 byte of code, and a TINY amount of CPU time on 
some machines, wastes a lot of CPU work on many other machines, and 
(strictly speaking) makes your program non MSX-compatible.
So on average, the above way works both better and faster, and I 
couldn't think of ANY reason not to use this.


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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: Partition table format

1999-02-10 Thread Alwin Henseler


Hi you all,


Nestor Soriano <[EMAIL PROTECTED]>   escreveuz...

> >So if we will make some fat16-formattingprogram, we will have to format in
> >MS-DOS 4 way.
> 
> It is the best idea I think. "MS-DOS 4 way" means extra information in the
> boot sector:
> 
> #20-#23: Number of sectors if it don't fits in 16 bits (else, this number
> is placed in #13 as in older versions)
> #24: Number of physical unit for HD (#80 is first)
> #25: Reserved (normally 0)
> #26: #29
> #27-#2A: Serial number
> #2B-#35: Disk name or NO NAME
> #36: FAT12 or FAT16 string
> 
> The problem is that MSX-DOS puts a booting program starting in #20, so
> disks formatted in this way can't be used for boot.

No sweat!
Older disk format only fills parameters up to offset 1C-1Dh (=number 
of reserved sectors), MSX bootsector routine starts at 1Eh, and the 
above starts at 20h, which leaves 2 bytes (at 1E-1Fh), just enough to 
put in a JR-instruction to a bit further on.
MSX-DOS2 formatted disks already do it that way...

Do note though, that on bootup, only one half of the bootsector 
(offset 0-FFh, 256 bytes) is copied to C000h before C01Eh is called, 
making it a bit difficult to use the other half for boot code.


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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: Hardware schematics

1999-02-10 Thread Alwin Henseler


Hi all,


Hans Korving  <[EMAIL PROTECTED]>  wrote:

> I already posted a message like this on comp.sys.msx, but got no answer:(
> 
> I'm looking for schematics/diagrams for homemade MSX hardware.
> If possible using old/spare MSX parts.
> 
> I'm looking for schematics to add more memory (on a NMS8250) intern or extern.
> Also fun, would be a cartridge expander.
> I'm also looking for schematics to put on my homepage.

Check out my pages:
-MSX Super Turbo (my own design, a la 7 MHz., and above)
-MSX Audio 256K sampleRAM connections

Maybe I'll put some memory mapper circuit diagrams up there some 
time, but I'm not in a hurry with that (sorry)   ;-(

 
Anyway, you can find lots of schematics for MSX hardware in old books 
and magazines, like:
-MSX MegaMapper (MK mapper 1/2/4 MB.) in MCM #6x I think
-joystick switch / autofire
-7 MHz.
etc.

And some Russians put online a description of how you can build a HD 
interface.


Many of these are free to publish elsewhere, or no-one cares 
anyway...just let us know when you put something on the web that 
wasn't to be found there before, ok?


Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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: Anti-virus

1999-02-10 Thread Alwin Henseler


Hi,


Adriano Camargo Rodrigues da Cunha   <[EMAIL PROTECTED]>
wrote:

>  Someone knows if exists an anti-virus for that hating "Do you know
> today is ZAPP's birthday?" virus? If it doesn't exist, I'll have to
> create one...

I know of 2 different ones, so you don't have to wite any.
I think one was called Techno Crew AntiVirus (TCAV), I forgot the 
name of the other one. Mail me if you want any of these.

Butteehh, Mh more interesting than that antivirus is that 
virus, I think! I heard of a 'Zapp' virus several years ago, and 
ofcourse several 'antibiotics' were produced quickly. But I never saw 
that Zapp-virus itself. And ofcourse, after the spread of these 
antibiotics, it was nowhere to be found anymore. ;-(

So if you ran into that Zapp-virus, please do me a favor, and send it 
to me (Zipped/Arj/Lzh-ed disk-image of an infected disk, or files 
would be fine).

BTW. does anyone know where this Zapp-virus came from, who wrote it 
originally, or if there are any other virusses or alike on MSX?


Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(Computerclub Enschede)



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: diskROMs/page 1 loading

1999-02-10 Thread Alwin Henseler


Hi,


Laurens Holst   <[EMAIL PROTECTED]>  wrote:

> :> What might be an interesting spin-off is whether loading in page 1
> :> is legal or not.
> :
> :Absolutely legal. Supported by DOS1 (& DOS2 in other ways) with
> :various help-routines, and supported by every
> :(DOS1-compatible, used for SS/DS floppies) diskROM that I have come
> :across. If it wasn't legal to do this, I'm sure it wouldn't be so
> :generally supported, so sure this is okay.
> 
> Ummm... reaction on a message posted some time ago:
> 
> In Dos, loading in page 1 is ok. However, in Basic, loading in page 1 can,
> and will, corrupt the data. This is because the diskrom is swapped into page
> one.
> 
> So, in Basic, you can't load into page 1.

In BASIC, you have the BASIC ROM in page 1, right? So how are you 
gonna read data from disk in there?
If you have started a program from BASIC, and switched RAM into page 
1, reading/writing data in there goes FINE, provided you indicate in 
system variable (F342h) (DOS RAMslot for page 1) the RAM slot 
currently selected in page 1.
Note for programmers: save this variable before changing it, set it, 
do your thing, and restore as it was afterwards...

If you want to know how it works: get out a good debugger, and simply 
trace a disk-call, and see what amount of trouble is gone through to 
get the data where you wanted it...

As explained earlier, this all works a -bit- (?) different under 
DOS2...

> This is because the diskrom is swapped into page one.

Happens just the same under DOS as well...


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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: Mailinglist..

1999-02-10 Thread Alwin Henseler


Bilderbeek J  <[EMAIL PROTECTED]>  wrote:


> Just a question: does anyone know how to start up a Mailinglist (no
> I don't want to start another MSX list...)

It is simple:

a) Tell possible subscribers what this mailing-list is, or what it's 
about, how to subscribe/unsubscribe

b) For anyone telling you he/she wants to subscribe to the list, add 
his/her e-mail address to your list (=the mailing-list)

c) For anyone telling you he/she wants to unsubscribe, check if their 
e-mail address is on your list, and if so, remove it again

d) For any messages that need to be 'posted' on this mailing-list, 
send an e-mail with this message to the e-mail addresses on your list 
(=the mailing-list)

e) If this gets too much work, use a computer to do the dirty work.

That's it!


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(Computerclub Enschede)




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: Philips VY-0010 diskdrive

1999-02-10 Thread Alwin Henseler


Hi Manuel, and other interested parties:


Manuel Bilderbeek   <[EMAIL PROTECTED]>  had this problem:

> I have a question about the Philips VY-0010 diskdrive. I recentely got one 
> (for free! ;-), and when I made all the connections and switched everything 
> on, the power LED went on, and after 2 seconds, it went off again... 
> (...)
> programs from disk. But one strange thing is happening: when I don't put a 
> disk in the drive, the drive tries reading. You can hear it spinning and you 
> hear the drivehead moving. Also the BUSY LED is lit. But it won't stop! I 
> should get a "Disk offline" error, shouldn't I? But the computer waits and 
> waits... Only when I turn off the drive, the computer reports "Disk offline". 
> When I then insert a disk, I can use it normally. But this whole thing is 
> rather irritating! I now cannot boot without a disk in the drive... (unless I 
> turn the drive off...)

I know of something about these antique diskdrives, that might be the 
solution here:

I had one myself for a while, and it worked incredibly slow (fast 
compared with tape, but really slow compared with other disk 
interfaces).
When booting, it seemed to expect a disk in the drive (better to put 
that disk in after power-on, instead of powering on with the disk 
inside). It tried to read this disk, and if it wasn't there, made a 
scratching noise (disk head movement), and again, and again, 
and again, and again (didn't sound to healthy for the diskdrive 
either), and only 'gave up' after a really long wait, something like 
a half minute.

For starters: maybe you didn't wait long enough yet, try and see what 
happens if you give the thing all the time, and I expect you will 
wind up in MSX-BASIC after all, without a disk in it, if you have 
enough patience.


This problem is simply the result of a very old diskROM in the 
disk-interface. If you plan on going to use that drive more 
regularly, than it would be a good idea to replace it with another 
diskROM. You can use one from a NMS8250 or Sony 700 MSX-2, or use one 
from a NMS8245, in which case you should ground pin 34 of the 
floppy-connector (=disable ready-signal) to make this one work 
correctly. You can skip that last part if you use that 8250/55/80 or 
Sony 700 diskROM.
The interface will think it's double-sided after that, even though it 
isn't, but if you ignore that it'll work at lot better that way.


Unfortunately, you can't take the interface itself as a 
general-purpose disk-interface, because although it looks like a 
floppy-connector on the interface part, it is not.
With this thing, part of the electronics is in the interface, a 
number of signals get carried to the drive housing, where another 
part of the electronics resides.
Only way to hook up other drives therefore, is to connect these 
directly to the signals in this drive housing (I think it used 
another type of connector as well), and I'm not sure whether it could 
support DS drives either. As before, consider it antique (amazing if 
it is still in original state and works 100%, it'll be something like 
14-15 years old by now).


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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: MSX-PC GFX converter

1999-02-10 Thread Alwin Henseler


Hi,


IVAN ALONSO BES   <[EMAIL PROTECTED]>  typed in:

> I'm looking for a good MSX gfx viewer and converter for PC, I mean
> any kind of tool that could allow me to transfer screen5, 8..12 gfx
> to Pc and also Gif or Jpeg to MSX formats. As far as I haven't got a
> harddisk for the MSX I need a PC version to test different ways t
> oexport GFX from photoshop or 3dMAX t othe MSX. I'd very pleased if
> someone could help me to find a link where I could get this soft.
> Bye

For MSX -> PC:

Rudolf Lechleitner, author of RuMSX emulator, also wrote a set of 
MSX-screen viewers. So, you can simply copy your BSAVE'd MSX-screens 
to the PC, and view them with these (several screens, including 8 & 
12, supported). These Windows-utillities allow direct saving as 
BMP-files, which can be processed into other formats easily. Last 
time I looked, his MSX-pages were at:

http://members.ping.at/lexlechz/msx.html

Another way would be to load the pictures on an emulated MSX, and 
then use the screendump function found in many (not all) emulators, 
dumping the MSX screen in .BMP, .PCX format or such. Although you 
have to watch that not all MSX resolutions (512 pixel width!) or 
color depths (MSX2+ screens) are supported that way. But usefull for 
screen modes like 5 & 8.

3rd way would be to use the MSX itself to write an MSX screen to disk 
in a format like GIF or BMP. I know of at least one GIF encoder for 
MSX, and a TSR, that -would- (didn't test it) write a MSX screen to 
disk in BMP format.


For the PC -> MSX:

Use a GIF (up to 256 colors) or JPEG (more colors) viewer for MSX, 
that has an option to save the screen in 'native' MSX format. One 
thing that would be very usefull here: use the PC to process 
(resize/color depth adjustments) the pictures so, that they have a 
'convenient' combination of colors/pixel sizes, giving an MSX viewer 
an easy task of selecting a suitable screen mode.
(like 256 x 212 x 256 colors, or 512 x 212 x 16 colors).

All this is for the most part not too difficult, just a lot of work.


I suggest doing any image processing on the PC as much as possible, 
many MSX programs have very limited capabilities or bugs in this 
respect, and take much more time for it.

BTW. What has the presence of a MSX harddisk to do with this? As far
as I know, such tools can normally work with any type of disk (like 
720K DD disks).


Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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: NEWS TILBURG 1999

1999-02-10 Thread Alwin Henseler


Need a translation? Okay...


From: Computer Gebruikers vereniging   <[EMAIL PROTECTED]>

TILBURG 1999 is ON 

About: Tilburg 1999 !

Sorry for not reacting earlier, but here is the current status about 
the Tilburg 1999 fair !
The reason behind the "silence" is not a lack of interest on our 
part, on the contrary, but because of posponing the decision in the 
hope we could go on as before.
It looks like we will not be able to organise this fair in its former 
size.
This does NOT mean that Tilburg 1999 will be cancelled !!!

Let's make some things clear...

Up till now (december 15) there have only been 18 places reserved by 
standholders. When we fill 4 stands ourselves, that gets us to 22...
It is so that the Bremhorsthal (note: name of the usual location) is 
only reasonably filled when occupied with some 60 to 70 stands.
With this number of reservations we can and will surely not use the 
Bremhorsthal. Ofcourse there are still reservations coming in, but 
the difference between now (22 stands) and the needed number of 60 is 
just too big.
We feel it is not right to receive the public in a large hall where 
the standholders occupy a single corner. This would not do justice to 
the MSX.

Apart from that, the rent for the Bremhorsthal including stands, 
electricity, furniture, etc. is fairly high (4000 to 5000 Dutch 
guilders).
We expect that because of the falling away of the MCCM, the magazine 
that was of great importance for us for informing the target 
audience, the number of visitors will surely decrease.
It is ofcourse always fun to meet each other again, but chances are 
it would become a very costly meeting for us.

I would like to ask you to be patient for a couple of more days, as 
we are negotiating for a different location !
There will be a somewhat different setup then.

WE WANT TO ORGANISE A BIG MSX MEETING THEN in a local community 
center.

The cost will then be low for the participants (30 Dutch guilders per 
3 meters table, including 3 standholder-tickets) and a low entrance 
fee (2,50 Dutch guilders) for the visitors. For now, we are still 
planning for the same date (remark: which would be?)

It is still of great importance that we can count on a sufficient 
number of participants, and that you promote this day and make it 
known to all interested parties !
SO STOP THESE NEGATIVE MESSAGES AND MAKE SURE EVERYONE COMES TO 
TILBURG 

DO LET US KNOW WHO WILL BE JOINING THIS DAY 
So don't pospone and let us know quickly by a mail if you want to 
come (also if you registered before. We will ofcourse need to know if 
you will also be joining in this changed setup...)

We will then inform you as soon as possible at what location the 
MSX-MEETING will be held.


So quickly send your response to:  [EMAIL PROTECTED]
or send a fax to:  013 - 4560668
or call us at:  013-4560668  or  013-4681421 (after 19.00 hours)
(remark: phone numbers as when called from within the Netherlands)

We're counting on you !

Ad Mutsaers.




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: MONITOR PHILIPS AND TURBO R

1999-02-10 Thread Alwin Henseler


Hi all !


Maarten ter Huurne   <[EMAIL PROTECTED]>  replied:

> >I need to make a lead Turbo R to Scart connector, who can send me the 
> >wiring diagrams or better, who can make this lead for me?.
> 
> Turbo R DIN RGB plug: (seen from cable side)
> Note: this is the same as SONY HB700 RGB plug
> 
>   7   6
> 
>  381
> 
>   5   4
>   2
> 
> Pin:  Description:
>  1ground
>  2audio
>  3status composite
>  4composite
>  5status RGB
>  6red
>  7green
>  8blue
> 

Not quite correct !
The layout of the pin numbers on the plug is, but you mixed up a 
couple of signals. Correct layout for the Turbo-R RGB connector (8-p. 
DIN) would be:

1  ground  to SCART pins 4, 5, 9, 13, 14 & 18
2  audio to SCART pins 2 & 6
3  status RGB  to SCART pin 8
4  composite video   to SCART pin 20
5  Ys (luminance) to SCART pin 16
6  red to SCART pin 15
7  greento SCART pin 11
8  blue   to SCART pin 7


You can use a connecting lead made like this for the Turbo-R, Sony 
HB-F700, and Sanyo Wavy MSX2+ as well.

The signal on pin 3 (status RGB) functions like a switch signal, 
where any voltage from +3 to +12 volt signals 'on', and anything 
below that indicates 'off'. This is for instance used if you're 
connecting your computer to a TV with SCART input. In that case, 
the TV will automaticly switch to display of the RGB (SCART) 
signal when the computer is turned on.
It is usually connected to +12V (sometimes only some 5V, but 
this should work the same) through some series resistor.

The Sony F700 and Sanyo Wavy only put a composite sync signal (no 
complete video, only synchronisation signals) on pin 4, where the 
Turbo-R seems to put a complete composite video signal on this pin.
An RGB monitor only uses this to extract the synchronisation signals, 
and therefore either composite sync, or composite video will do.

The signal on pin 5 (Ys, or luminance) is not really a signal, but 
carries a constant voltage of some 3 to 4 volts. Some monitors seem 
to need this though.


Although most or all of the ground pins on a SCART connector are 
usually directly connected on the monitor side, it is good practice 
to connect all ground pins of signals used in the SCART plug, in case 
they're not.

The audio signal should be connected to both left & right audio 
inputs on the SCART plug (as above). If not, you might get the sound 
from only one speaker (or no sound at all?).


> To Manuel Bilderbeek: Is this info already in the FAQ? If not, please add it.

To Manuel Bilderbeek: Is this info correct in your MSX FAQ? If not, 
please correct it. If yes: well done!


Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   (MSX Tech Doc page)



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




ZIP/UNZIP source code

1999-02-10 Thread Alwin Henseler


Hi,

About these compression methods:
It's too bad that (to my knowledge) there's not a single compression 
method for MSX machines, for which:
a) Both compressor and de-compressor exist
b) Which are essentially bug-free
c) Can handle about every (un)packing job

PMA: PMarc sometimes produces .PMA files which produce checksum 
errors on unpacking, even though they're freshly packed (!), and both 
PMarc & Pmext round up file sizes to multiples of 128 bytes (due to 
their CP/M origin).
Mostly not that big a problem, but not quite correct, and does cause 
problems in some cases.
And...using .PMA files on PC's is very difficult.

LHA: I'd say the best (un)packing method that exists for the MSX 
today, butalso has a bug: if files to be (un)packed get really 
big (> 1MB or so), packer or unpacker screws up
(Can someone fix this bug?)

ARJ: There does exists an ARJ unpacker for MSX, butno packing 
program.

ZIP: Yes! Forget about packing, but it sure would be nice if someone 
would write a -decent- ZIP unpacking program for the MSX. Say, PKZIP 
2.04 compatible, and with support for unpacking directory trees 
stored in ZIP's.

For this purpose:
There exists something called the Info-ZIP group, which is kind of a 
'collective' (hobbyists like most of you) that maintains a freely 
distributable ZIP packer/unpacker.
Goal of this group is to have a free ZIP (un)packer on as many 
different systems/platforms as possible (existing versions support 
all current ZIP features).
I don't know an exact web-address where this can be found, but:
both the ZIP packer, unpacker, and ALL source-code should be 
available on SimTel. I guess you should be able to find that.
(look in the DOS collection, and maybe in some "programming" 
directory).
Maybe sometime the MSX system can be added to the list of supported 
platforms?


AND YES:
CAN YOU STUPIDS STOP MESSING UP THIS MAILINGLIST WITH THAT 
NONSENSE ??!!!

You're right, it's okay to have fun, and yes, MSX is about having fun 
with it, but:
If you couple of &%(#'s (cheese-heads?) send 50 e-mails back and 
forth with pure nonsense in it, and this mailing-list has, say 100 
subscribers, then you've just pumped 5000 totally, absolutely 
unnecessary e-mails through the net, produced MB.'s of totally, 
absolutely unnecesary, and avoidable network traffic, and...
Bothered every subscriber to this list with 50 e-mails they have to 
read, and hit a delete key for one by one, after which they have 
learnedNOTHING

Thanks, but no thanks, cut it out!

I greet you,


Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   (MSX Tech Doc page)



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: PSG

1999-02-10 Thread Alwin Henseler


Hi,


shevek <[EMAIL PROTECTED]> was asking about the PSG:

> Last week, I wrote about MSX PSG accessing. On Commodore 64, it is
> impossible to read sound registers, so when I saw the same in MSX BASIC, I
> thought it was a hardware thing.

No, on the MSX you can both read & write PSG registers, both through 
hardware & BIOS as well.


> I never tried to write to register 14, but if it is not hazardous, that is
> only good.

Sure you can't destroy MSX hardware by a simple programming trick!
(prove me wrong)


> In the tables I have at home, register 7, bit 6 and 7 are said to be port
> A/port B, and register 14 bit 6:keyboard. Does anybody know what those
> bits do?

You asked something like this earlier. I suggest you get some GOOD 
documentation on MSX stuff. I can recommend the Dutch "MSX-Handboek 
voor gevorderden", which gives a detailed explanation of MSX hardware 
use, nicely combined with the info on support by BIOS routines or MSX 
BASIC.
The MSX Technical Databook is also a very good reference (if you can 
get your hands on a copy).
And ofcourse there is the MSX2 Technical Handbook, which Nestor 
Soriano put online.


PSG-registers 14 & 15 reflect the general-purpose I/O-ports included 
in the PSG, in the MSX these are mainly used to control the 2 
joystick-ports.
Bit 6 & 7 of PSG reg.7 determine wheter these PSG ports are 
read-only, or can be used as output.
Bit 6 controls this for port A (PSG reg.14) and bit 7 controls this 
for port B (PSG reg. 15).

In the MSX, the use of these ports is fixed:

port A = input (bit 6 of PSG reg. 7 = 0)
port B = output (bit 7 of PSG reg. 7 = 1)

Therefore, either changing these bits has no use, or it can be that 
these are hardwired this way (if the PSG is integrated in some type 
of MSX-engine).


Bit 6 of PSG reg. 14 (=port A, input) is used in Japanese machines, 
and indicates a type of keyboard layout.
I quote from the MSX Technical Databook:

JIS layout - "H", syllable layout - "L"

Don't ask me what it means exactly, although I do suspect it's 
something different than the keyboard layout as indicated by ID-bits 
in the MSX ROM.
I expect this bit will always read as "0" on non-japanese MSX 
machines, and will either read always "1", or indicate some state 
related to the keyboard, in Japanese MSX machines.

Similarly, bit 7 of PSG-register 15 (port B, =output) controls the 
Kana LED in Japanese MSX machines (0 = on, 1 = off), but has no 
effect on non-Japanese machines.


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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: diskROMs/page 1 loading

1999-02-10 Thread Alwin Henseler


Hi,


A little spin-off here, about details of how diskROMs load sectors in 
page 1...

Maarten ter Huurne   <[EMAIL PROTECTED]>  wrote:

> What might be an interesting spin-off is whether loading in page 1
> is legal or not.

Absolutely legal. Supported by DOS1 (& DOS2 in other ways) with 
various help-routines, and supported by every 
(DOS1-compatible, used for SS/DS floppies) diskROM that I have come 
across. If it wasn't legal to do this, I'm sure it wouldn't be so 
generally supported, so sure this is okay.

> I have been disassembling the NMS8250 diskROM and I
> found a routine that runs in page 2 (!) and reads a sector. The only
> reason for such a routine would be to load data into page 1.

Quite possible (as described in my earlier message)


> Did the
> implementors of that diskROM do something that was not necessary? Is
> it left-over code that is never actually called?

Not unnecessary here. It is however quite possible that you come 
across some 'dead code' (not used, but still there) in diskROMs. 
Apparantly diskROMs are pieces of code, which between models & 
hardware revisions, were updated far more frequent than other system 
software, so there are many different ones, some with several bugs 
or lousy programming work in it etc. So some dead code in there is 
really not unusual.

In the NMS8245 diskROM I disassembled once (it's on my webpages), the 
disk-I/O write verification (controlled by DOS verify on/off, using a 
flag at F30Dh) was hard-coded as 'off', no verification on write 
actions, no matter what this flag says.
But the code for using that flag, and writing sectors WITH 
verification, was still in there. After making this disassembly, 
changing one or two single instructions was enough to re-enable 
support for this verify-flag. And working perfectly.
As before: really not uncommon such things.


> Or is loading to page 1 by the #4010 routine legal after all?

Dutch: ja dus!  ;-)


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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: Partition table format

1999-02-10 Thread Alwin Henseler
s: even with a 24-bit sector number: would you keep that stored 
entirely in Z80 registers throughout an important part of your 
program?
I don't think so. You'll probably put that in some memory location 
anyway.
With my method, you can just pass the address of that, and you're 
done. With the other method, you'd have to fetch this number, and 
store it elsewhere before each DISKIO-call.


> The other parameters: Carry for write/read, HL=DTA B=#sectors C=mediaID
> 
> Question: does someone know if the output of the function is specified?? I
> know of Carry and A-register for indicating errors. But I've read
> somewhere also B-register for indicating the 'amount of read sectors'???
> Is this true? (I don't think so)

I quote from the MSX Technical Databook:

Outputs:

If successfull, carry flag cleared
Otherwise, carry flag set,
A = error code
(0, 2, ..., 12, some more codes for DOS2)
B = number of remaining sectors

And this number of remaining sectors is actually returned in 
practice, although this is used seldom by programs.
(equal to input number if nothing could be done)

BTW. the number of sectors is defined as 1...255, and it may actually 
be 255 (!), because for MSX-DOS 1, the sector size need not be 512, 
but can be smaller or bigger, like 128, 256 or 1024 bytes.
So it's perfectly possible that some old DOS1-compatible driver 
could be passed 255 sectors to read/write, if it would use a 128 byte 
sector size (some 32 KB. this would be).
Ofcourse most interfaces use only 512 byte sector size, and this was 
fixed for DOS2, I think.
I'm not sure about 0 sectors, although 'illegal', should this be read 
as 256 (most likely crashing the machine), or as 'do nothing'?


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwin/msx  (MSX Tech Doc page)





 HelpPC 2.10   Quick Reference Utility Copyright 1991 David Jurgens

  Boot Sector (since DOS 2.0)
 
  Offset  Size  Description
 
00   3bytes jump to executable code
03   8bytes OEM name and version
0B   word   bytes per sector
0D   byte   sectors per cluster (allocation unit size)
0E   word   number of reserved sectors (starting at 0)
10   byte   number of FAT's on disk
11   word   number of root directory entries (directory size)
13   word   number of total sectors (0 if partition > 32Mb)
15   byte   media descriptor byte  (see MEDIA DESCRIPTOR)
16   word   sectors per FAT
18   word   sectors per track  (DOS 3.0+)
1A   word   number of heads  (DOS 3.0+)
1C   word   number of hidden sectors  (DOS 3.0+)
20   dword  (DOS 4+) number of sectors if offset 13 was 0
24   byte   (DOS 4+) physical drive number
25   byte   (DOS 4+) reserved
26   byte   (DOS 4+) signature byte (29h)
27   dword  (DOS 4+) volume serial number
2B  11bytes (DOS 4+) volume label
36   8bytes (DOS 4+) reserved
 
 
- implementation format not guaranteed in all OEM DOS releases
- BIOS expects a boot sector of 512 bytes
- DOS 3.2 began reading BIOS Parameter Block (BPB) information from
  the boot sector, previous versions used only the media byte in FAT
- DOS 4.x added offsets 20-3Dh and offset 20h determines the number
  of sectors if offset 13h is zero
- hard disks have a master boot record and partition boot records;
  the master boot record and Disk Partition Table (DPT) share the
  same sector
 
 



 HelpPC 2.10   Quick Reference Utility Copyright 1991 David Jurgens

  FAT - File Allocation Table
 
12 BitMeaning   16 Bit
 
 000 free space  
 FF1-FF7  bad track marking  FFF1-FFF7
 FF8-FFE   may be used to mark end of a file chain   FFF8-FFFE
 FFF   standard marker for end of a file chain   
 
 
- the FAT is implemented as an array containing a linked list
  for each file;  the files directory entry has a pointer to the
  first cluster which contains the cluster number of the next
  cluster in the chain until the pointer contained is FFFh
  (12 bit FAT) and h (16 bit FAT) marking end of file
- DOS maintains two copies of the FAT, but does not use the
  second copy for anything other than a mirror image of the
  first;  CHKDSK doesn't even read the second FAT
- disks with FF1h clusters and above use 16 bit FAT tables, disk
  with less use 12 bit FAT tables
- DOS 4.x did

Re: Bigger sector numbers

1999-02-10 Thread Alwin Henseler
h work for the makers of DOS2, so the 
slotswitching was dropped, and only mapper-block switches are needed 
(apart from slot-switching involved in calling the driver).

Because of this, you will see that under DOS2, memory locations 
F341-F344h always contain the same slot, this will always be a mapper 
RAM slot, and all disk-I/O will go to this slot, even if other slots 
are selected when a disk-I/O call is made (try it, and you will see 
that this is true).
This is the reason for many programmer's headaches, when trying to 
write software that does disk-I/O using multiple RAM/mapper slots, 
and under DOS2 (like for sampling programs, using MemMan to use 2 or 
more memory mappers). No problem doing disk-I/O to the 'primary' 
(DOS-) mapper, no problem accessing the other mappers, but disk-I/O 
to these other mappers under DOS2 simply doesn't work right, the data 
always lands in the primairy mapper.


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   (MSX Tech Doc page)



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




DOS3 general setup

1999-02-10 Thread Alwin Henseler
ces for 
which the 'control method' is known, directly. For those devices 
supporting sector-I/O, it would either call whatever routines are 
available and/or defined for particular SCSI/hardisk/floppy-disk 
interfaces where possible, or,
if the details for a certain type of interface are unknown, it would 
simply support this anyhow, by 'falling back' to a more 
general/standard access method, like sector-I/O routines defined in 
the old system.

For instance, if there is documentation on how to directly access 
SCSI devices using bigger sector numbers, it could do that by calling 
the specific SCSI BIOS routines defined for that interface, and 
sorting out the partitioning scheme for itself.
If a harddisk-interface can't be determined for sure as a particular 
type, the more general disk-I/O routines in the interface would be 
used instead, leaving the separation in partitions up to the software 
in that harddisk interface.


The separation between all these access methods would exist only on 
the level of the internal file system/sub-driver interface, and each 
of these 'drivers' would only exist as a piece of source code, used 
for assembling each version of the final system.
If some new device would pop up, a piece of source code could be 
written implementing one of these file system/sub-driver interfaces, 
and then assembled together with the rest of the code for the current 
system. Et voila, a new version, supporting that new device.


Users would only know a number of different versions of system files, 
like a paticular version of (?) 'msxdos3.sys', and the only 
'installation' required, would be the selection of a version, 
in which the hardware they have is supported.
Any user configuration could be done through some settings file, 
where, in the absence of it, carefully selected defaults are used.


What would be needed for all this?
2 things:
-A definiton of some of these internal interfaces, like a definition 
of such a file system 'driver'
-The sorting out of a lot of technical details, like file systems, 
partitioning schemes, system variables/DOS calls to support and what 
exact calling methods to use etc.

In this way, the design of a new system, would for the largest part 
simply come down to sorting out these details. If all is known about 
what it should do, and how it should do it, actually programming it 
will finally be peanuts in comparison.
Most programmers among you will have to agree, that a lot of 
programming time is actually spent on figuring out how exactly the 
program should work. If you know EXACTLY how a program should work 
(for instance, if you have an example source code written for another 
system), the actual programming becomes more something like a 
conversion.

Designing a new system this way, has another BIG advantage: ANYONE 
can join in with this figuring out/thinking process, and in that way, 
actually do some of the programming, without having to be a 
programmer.
Then, if you would figure out something together, and run into a 
problem later on that would require re-doing some of the earlier 
work, that earlier work will not have included any actual coding, and 
the work to be re-done would simply be an agreement on an alternative 
method, defined in 'pseudo-code'.
All this could speed up the creation of this new system enormously.

Frankly, by this time, I have become convinced we're not just 
brainstorming here, but having an entirely new disk system for the 
MSX is a VERY REAL possibility.


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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: Bigger sector numbers

1999-02-10 Thread Alwin Henseler
ber = 1:

   DE = low 16 bit of sector number  (was: sector number)
   IX = high 16 bit of sector number  (was: unused)

Other parameters as usual, output as usual


How to determine the presence of features


As a programmer, you're mostly not interested in system version 
numbers; you don't really care if it's an MSX-1 or MSX2+, you care 
what videochip is in there, and if you can use a mapper or not.
You don't really care if it's DOS1 or DOS2, you care about being able 
to use file handles, mapper support routines, or not.

For that reason, I propose that any new disk system should report 
itself as version 2.x, as before, and indicate the presence of new 
features (FAT16 support, big sector number support, etc.) through a 
specialised function call. I think function #71 hex would be free for 
this purpose, and I suggest calling this: 'get feature info'.

This would be a general function; for each feature to determine, the 
programmer would call it with a 'feature-ID' in the A register, if 
necessary with other input in other registers, and the return 
parameters would indicate the presence/support of that particular 
feature, with the exact return info depending on the particular 
feature.
For each feature NOT supported, the return values for both new AND 
EXISTING systems IS defined as: A=B=0 (probably zero-flag set as 
well). So it already works that way in DOS1 or DOS2, as it exists 
now.

I would propose these 2 sub-functions here:

If called with A=1 (get info on 32-bit sector number support):
returns:
  A=B=0  -> no 32 bit sector number support
  A<>0   -> 32 bit sector number support for BIOS-routine 0144h / 
FFA7h hook
  B<>0   -> 32 bit sector number support for DOS functions 2F/30h

In other words, A and B would serve as flags, where A would indicate 
32-bit sector number support for the BIOS-routine, B would indicate 
this for the DOS functions.
I think it's usefull to indicate this separately, this would allow to 
implement it seperately. If you implement both, you can set both 
flags. If a programmer needs both, he/she can simple OR these flags 
together.

If called with A=2 (get info on FAT16 support):
returns:
   A=0:  no FAT16 support
   A<>0:  FAT16 supported
Any extra info to be determined later, if necessary

If called with any other value for A then 1 or 2, this function would 
return A=B=0 (let's leave A=0 for input alone, shall we? It's sort of 
a magic number...)


Only thing left then, would be finding a way for the system, to 
determine if a driver supports 32-bit sector number I/O, or not. I 
suggest using one of the existing diskROM-entries (preferably one of 
those besides 4010h), with some special input value, to determine 
this.
If you would use some special ROM memory location, which location to 
use then? If you would use a new entry, how to fit this in existing 
ROM's? Using a special sub-function for 4010h entry could have an 
undesirable impact on performance. I'm sure we can find some special 
calling sequence to put into one of the other entries, that will do 
fine.


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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: Bigger sector numbers

1999-02-10 Thread Alwin Henseler
ble device
> driver ROMs. Just like "OPLL" is used for FM-PAC.

A good idea.
You might use the fact that all existing drivers that I know off, 
have most of the entries filled with a JP instruction. You could take 
the destination address of this jump, subtract a few bytes, and look 
for such a signature there. You could even use the DSKIO-entry itself 
for this, no impact on performance, and very little extra bytes to be 
added, very easy to implement.

I think a 2 or 3-byte signature would do, maybe followed (damn no! 
preceeded!) by a 'feature flag byte', version number or such. 
Checking it would work as follows then:

  Get byte at address #4010
  =C3h (jump?)
  If not, no 32 bit sector number support by this driver
  If yes, take address of the jump
  Lower this address by 2 or 3
  Signature at this address?
  If no, no 32 bit sector number support by this driver
  If yes, 32 bit sector numbers supported, extra info might be 
  found at this address -1, -2 etc.



Why use a new DOS function for indicating the presence of these new 
features?

I think the main advantage of using a DOS call is 2-fold:
-Easy for programmers, call it just like any other DOS function
-Reliable; if you use Extended Bios-hook for it, you might get 
incorrect results if some program modified this hook in a not-so-neat 
manner, if you use a couple of flag bytes at fixed memory 
locations, these might be corrupted by not-so-neat working 
programs. DOS functions generally don't suffer from that.

It need not take up any page-3 memory space, and calls could work 
fast (not that it matters for this purpose).


By the way, re-routing calls to DOS entries at both F37Dh and 0005h 
is not really that difficult.
Entry F37Dh can be re-routed without any problem AFAIK, the same goes 
for DOS-entry 0005h. There are some conditions to watch here, like 
the fact that the address of this 0005h-jump also indicates the free 
DOS memory. There might be some other system variables using this/ 
used to set this as well.
One way or the other, this can be done, I did it myself sometime. I 
don't know exactly how anymore, but this really is not that 
difficult.


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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: speeding up interrupts

1999-02-10 Thread Alwin Henseler


Hi,

About stopping the diskdrive after disk actions:
This particular address mentioned earlier contains a drive-off 
counter. It is set to, I think, 254, after every disk action, and 
decreased 1 on every call to the diskROM's interrupt handler (so 
every timing-interrupt). If it reaches zero (so after some 5 
seconds), the drive motor is stopped. If THIS drive is accessed again 
in the meanwhile, the interval starts again. The value 255 has a 
special meaning: 'keep running'. If you do something with the drive, 
and POKE 255 in this memory location quickly (before the counter 
reaches zero), this diskdrive motor simply keeps running.

The address is simply the same on many MSX machines, because they use 
similar working diskROM(s), but it is NOT a fixed address in any way, 
not documented, not guaranteed or such, in one word: don't rely on 
something like this, if you do, someone will have troubles because of 
it, some other time.


I figured out this approach to stopping disk drive motor(s, note 
there might still be another drive running, if you start this game 
quickly enough from a different one):

   LD IX,#4029
   LD IY,(#F347)
   CALL #001C

This is a call to a diskROM entry, which (should) contain a routine 
that 'scans' all diskROMs, and calls another entry in each, which 
should be present in each diskROM, to stop the drive. The address 
F348h contains the slot-address of the 'main' diskROM (the first one, 
that handles the initialising stuff and so on), the address 4029h is 
one of a small number of entries present in any diskROM, and are 
described in the MSX Technical Databook (I'm not sure if they're also 
in the MSX2 Tech Handbook). You can call the method above pretty 
solid, and it should work whenever there IS a diskdrive (contents of 
FFA7h<>C9h).

But: on using this myself, I found these drawbacks:
-It stops DRIVE-motors, doesn't do anything with other 
interrupt-related processes that might be running.
-On my Novaxis SCSI, it stopped the HDD motor as well (great, mine 
made a lot of noise). But those stupids from Gouda did implement this 
diskROM-entry, but forgot to turn on the drive again when accessed, 
in case it was shut down this way (! stupid, stupid...)
So, shutdown the drives this way, and you'd have to reset the machine 
again, just to get the HDD spinning again (I switched it on and off 
instead).
-This diskROM-entry might not be (properly, or not at all) 
implemented with a particular disk system


I would say calling the hook at FD9Fh 256 times (do yourself a favor, 
no less than 256..), is by far the best, AND most 
compatible/problem-free way of shutting down disk-drives and such.


I'd say this IM2 approach is not a bad idea (and yes, there need to 
be 257 of the same values on the address I*256), it prevents you from 
HAVING to switch RAM in page 0, and you can select a different 
starting address for your interrupt routine, which is called 
immediately on each interrupt, rather than having to wait for a few 
instructions at #0038 to get executed first, before a hook-address is 
called.

If you'd switch RAM in page 0, you'd also have to setup at least the 
slotswitching-routines, which are the same under DOS, BASIC, and even 
present in MSX-2 subROM. I'd say, a lot of work.
Best way would be to use this IM2-approach during run-time, using 
all 'common' hardware (VDP, keyboard etc.) by direct I/O (remember 
any BIOS call might re-enable interrupts, and mess up things when 
you'd expect these to be off at that time), and temporarily switching 
back to IM1, and restoring memory settings etc. when making any BIOS 
or disk CALLs.
Your program might have a setup like this:

On startup:
-Store any memory settings, in case you need to change, and restore 
these later

(other initialisation)

-Set up your interrupt handler
-Set up this 257 byte table (interrupt handler at address 
257*fillbyte), starting at a 256-byte boundary (low byte 0)
-Set Z80 I-register to the high byte of the address of this table
-switch to IM 2
-enter a main loop of your program


On a disk-access/BIOS-call:
-restore memory settings, if needed, possibly update some system 
memory locations containing VDP-register contents and so forth
-switch back to IM 1
-make your BIOS/disk CALL
-(.. make some more disk CALLs)
-call FD9Fh 256 times
-switch to IM 2 again

On exit:
-Do the same restoring as before
-Switch back to IM 1


If that still doesn't do it:
-Use a faster METHOD of obtaining your goal
-Write even faster code
-make a turbo-circuit (6/7 MHz. or my own) a system requirement
-or make it a TurboR program


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx(MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(Computerclub Enschede)



MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsu

Re: DOS 1/2 support (was: Split v1.1)

1999-02-10 Thread Alwin Henseler


Hi all,


(To Laurens: thanks for your nice comment on my pages).

>> Quickly after my previous upload, I again uploaded a utility I 
>> wrote once. It's called "Split" (v1.1),
>> (..)
>> Only 'shortcoming': it needs MSX-DOS 2.

Laurens Holst  <[EMAIL PROTECTED]> replied:

> Dos2 RULEZ!!!
> 
> I was wondering... is there still anybody who hasn't got Dos2??? If not,
> then I could just make utilities Dos2-only... Lot easier than inluding
> (terrible) Dos1-support...
> Oh, I was also wondering who hasn't got a harddisk?
> Ok, I know the MSX-ers on this list are only the real die-hards, so this
> will not be a relyable question for the general MSX-user, but still... I'd
> like to know.

Yes, I agee, but:
Not supporting DOS 1 is simply a LIMITATION, and I don't like 
limitations...

For instance, something that only supports DOS2, can
not, or very difficult be used with emulators, and when you're 
writing something for MSX these days, I think you should do it so, 
that it will also work on emulators, or at least don't go to great 
lengths to PREVENT it from doing so.8-(

(Same thing on PC's: although writing for DOS, it's unbelievable how 
much trouble programmers go through to prevent something from working 
under Windows 9x-DOS or in a DOS-box...)

In these days, I think there will also be many people who might 
only occasionally use their MSX, and for that purpose have only a 
'standard' MSX (probably MSX2), often without DOS2 built-in.
If something needs DOS2, that would require having this built in, 
extra plugging in a cartridge or HDD interface with DOS2, etc., which 
is just more trouble.

If something also supports DOS1 as well, you can just work with what 
you've got, rather than with what the programmer would like you to 
have.   ;-)


In general, I think you should support all things that are not TOO 
difficult to support, that are not too rare.
Only exception would be if the program is for a very special purpose, 
or if it would mean a really big amount of extra work.

For instance, if you're writing a music program to get the best 
possible out of MSX-Music, you should not only support a particular 
FM-PAC, but also the -PAK, Korean or other versions, because people 
might have these, and they all work about the same.

Also supporting MSX Audio for this program could mean re-writing the 
entire program, so it would be understandable to drop support for 
that.

But when you're writing an entire music program, disk functions will 
only be a small part of it. So her you SHOULD support both DOS1 and 
DOS2, or at least write it so, that it will also work under DOS2, 
using DOS1-compatible functions. That's the general idea...


For a disk-utillity like this "Split" I made, a large part of the 
work is command-line parsing, and converting results in disk 
functions. If I would have wanted DOS1-support for this, I would have 
had to make a huge part of it disk-version dependant. I might as well 
have written a separate DOS1- and DOS2-version in that case.
So for this, I decided to drop DOS1 support, and make full use of 
DOS2. If I had to include DOS1 disk functions as well, I might not 
have done it all (a lot more work).


Speaking of DOS2:
Strict requirements for DOS2 are a memory mapper, and some 
kind of disk-drive to work with.
Maybe it will even work with only the built-in RAMdisk, without even 
any real drive attached. Does anyone know if this is true?

But what I asked myself some time ago:
Would DOS2 work on a MSX-1 as well? Think of it: as far as I know, it 
doesn't use any SPECIFIC MSX-2 features, only things that are 
commonly found on MSX-2's, like the memory mapper.
But MSX-1's and memory mappers don't byte each other, nor do MSX-1's 
and harddisks or so.

So suppose you have a MSX-1 with sufficient cartridge-slots, and you 
would plug in a memory mapper, DOS2 cartridge, and disk-interface.
After initialising the mapper by hand, and resetting the machine once 
more, would things work as normal, with Disk BASIC 2.x to go with it?
Can anyone try this, just to satisfy our curiosity?
(P.S. The combination MSX-1/mapper DOES work as normal, I know this 
for a fact. You can even run some MegaROM cracks on such a system, 
that are stating to be MSX-2 only...)


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx MSX Tech Doc page



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: some y2k trivia 'n stuff..

1999-02-10 Thread Alwin Henseler


Hi all,


Claudio Massao Kawata   <[EMAIL PROTECTED]>  wrote:

(..)
> Alwin Henseler ([EMAIL PROTECTED]) wrote
> about the way the leap years are calculated (once each four
> years, except once each century, except once each four
> centuries). I already knew that (many years ago, I needed a
> reliable calendar program for an "time-travel" adventure). He
> called it a "ridiculous system". I don't think it is ridiculous.

I meant the way you have to calculate it, this system itself 
is genius indeed. To keep in sync with the sun & planets, 1 year 
would have to be something like 365,24 days (don't know the exact 
value, and this is not really a constant either, but shifting slowly 
as well).
So, add a day every 4 years, and average year becomes 365,25
Hmm, to much...take out this extra day once every 100 years.
Hmm, a bit to little...add it back in every 400 years (you calculate 
the aproximate value, which, you're right, is still not exactly on 
the dot, but close).
Genius indeed, considering this was figured out back in the year 15xx 
(I doubt it was that pope himself who did it, though).


> Why I mention all this?
> Because MSX don't have a 2000-year-bug, but a 2080-year-bug.

Wrong...
Whether or not a system is affected by a year 2000-bug, or similar 
bugs (other systems use different ways of counting time, and suffer 
similar bugs, but on different times), is a combination of factors:

-Hardware: MSX2 & up uses Ricoh RP5C01 compatible clockchip, which 
DOES count wrong every 100th year (even Ricoh itself says so), 
because it simply takes EVERY 4th year as a leap year. In the year 
2000 this just doesn't show.

-System software
   -BIOS
   -Basic
   -DOS date functions
Just showing that the date rolls over correctly from dec. 31, 1999 to 
jan. 1, 2000 says something, but not that much. Showing that you can 
store a date beyond 2000, and retrieve it correctly, doesn't say 
everything either. You can only say for sure that this is processed 
correctly, if you analyse the exact functions & code involved, 
looking at what range of numbers are processed, how these are 
'clipped' etc.
Did you check all the BIOS/diskROM/DOS code involved? Neither did I. 
So that's not an 'okay', but rather a 'don't know, looks okay'

-Application software:
There's gotta be thousands of MSX programs, and probably hundreds or 
more dealing with dates in one way or another. I would simply say 
here: SURELY plenty of programs that don't get it right, so bugs are 
in here as well.

All this ofcourse only with respect to the year 2000, take a broader 
view, and you'll surely find more of such problems (like the year 
2079).

(departing from MSX here...)
And this is no little software-update problem either. Some institute 
estimated that all this work to get year-2000-ready will/has taken so 
much effort, that it will lower economic growth with at least a full 
percent (that's globaly, or for most industrialised nations).
Not doing this work to check and fix systems, would probably have a 
similar effect because of all the problems that would result, when 
non-checked system do go wrong.
That makes the y2k-problem a problem with at least a similar 
magnitude as the earthquake in Kobe, Japan (you know, economists were 
up in arms about the economic effect when this happened).
I'm not scared the world will come to an end as some might believe, 
but calling al this plain 'paranoia', is equally far from the truth.


> More trivia about dates: the years start from 1, not zero, as
> most people think.

It is true


> There is no zero-eth year, an error many people make

Sure there were years before 1!... I think the year '0' would 
commonly be referred to as 'the year 1 before Christ', so:
3 before Christ
2 before Christ
1 before Christ
the year 1
the year 2
  .
  .
the year 99  (1st century)
the year 100 (2nd century)

Sure, technically the 2nd century would start only in the year 101, 
and the 21st century in 2001, but who cares? That's just a matter of 
convention. If everyone feels a next century started when 19xx 
changed to 20xx, then it did, didn't it?


Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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: MSX cassette port

1999-02-10 Thread Alwin Henseler


Shevek  <[EMAIL PROTECTED]>  wrote:

> On my computer, I have connected the printer port, the joystick
> ports and the cassette port to some easy-accessable plugs. I'm
> planning on doing the cartridge slots, too. The joystick and the
> printer port are easy to access, and so is the tape motor. My
> question is: How do I send data to the tape output and what kind of
> signal will be on it when I do so? A connected question: What kind
> of signal should I give the input-line in order to get a 0 or a 1,
> when reading it? I've disassembled the bios and it looks like it I
> have to put &H0A or &H0B on i/o-port &HAB to make it high or low.
> But it didn't give any voltage, when measured. Does anyone know how
> to do this? Thanks, shevek

The cassette connector is for connecting to a cassette recorder, and 
therefore doesn't input/output digital signals, but audio signals. 

For the cassette out (to the MICrophone input of a cassette 
recorder), it's an audio signal with a voltage level in the order of 
10's of millivolts, and only passes through signals in a limited 
frequency range (some 10's up to a couple of KHz.). So no use for 
controlling anything. It's coupled to register C, bit 5 of the PPI 
(Programmable Peripheral Interface, a 8255 or compatible IC).

The cassette input takes an audio signal. Same limitation here: 
frequency limited, and no exactly defined or fixed input levels. This 
signal is input through Port A, bit 7 of the PSG (Programmable Sound 
Generator).

The cassette motor connections are usually simply hooked up to a 
relais (that's giving the well known clicks when giving MOTOR ON or 
OFF), and it's controlled through register C, bit 4 of the PPI ('next 
to' the cassette write signal), with "0" meaning "motor on".


The PSG is located starting at I/O-address A0h (-A2h), so to read the 
casette input signal:

out (&hA0), 14  ;set PSG register 14 (=port A)

after this, bit 7 of I/O-port &hA2 contains the cassette input 
signal.


For the PPI (on I/O-ports A8-ABh):

out (&hAA), inp (&hAA) and &b1110  or:
out (&hAB), &b0xxx1000

("x" = don't care)
Sets cassette motor on,

out (&hAA), inp (&hAA) or &b0001 or:
out (&hAB), &b0xxx1001

sets cassette motor off.

 out (&hAA), inp (&hAA) or &b0010  or:
 out (&hAB), &b0xxx1011

sets cassette output ("MIC") to "1"

  out (&hAA), inp (&hAA) and &b1101  or:
  out (&hAB), &b0xxx1010

sets cassette output to "0"

The 1st instructions shown above, address PPI register C on its 'own' 
I/O-address, the second instructions do the same, but in a different 
way, by using a single bit set/reset function of register C of the 
PPI (also used in the BIOS routines).


Ofcourse, you'd have to do some assembly programming to get a decent 
audio frequency tone out of the cassette port.

If you're thinking of using it to control anything, like LED's, 
relais, other hardware, I would use the printer port or the joystick 
port instead.


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm (Computerclub Enschede)



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





TP 3.3 / MCCE copyright issues

1999-02-09 Thread Alwin Henseler
7;can't do'.


The main argument against it was this: if you sold it to a number of 
people for xx bucks, how are they gonna feel if you put it on a 
website to get for free, some time after.
How would people feel who once bought Konami's Salamander for say, 50 
bucks, and Konami would put it on their website a year later?

I think this is mainly a matter of time. The longer you wait between 
the last time you sold it, and a moment you would make it freely 
available, the less buyers of an original would feel offended by 
that.
However, I am very curious on your view on this argument. So please 
let us (or me personally) know: if you bought some Konami ROMs 
once (or other software) for 'big bucks', how would you feel if they 
opened up an FTP-site now, with all these ROMs to get for free, 
themselves? Would you think: "damn, I hate'm for doing that", or 
would you say: "nice, to see them showing of those oldies" ?


I hope this clears the 'legal issues' here. For any questions related 
to these things, please read the documentation first. If that states 
an address, or bank account number where you can put your donations, 
please use that.
If not, it's okay to ask me about it. Both Herman Post and Frits 
Hilderink didn't mind if I would handle that for them, and I'll see 
to it that they will get any gifts or postcards, if you send those to 
me.

For Turbo Pascal 3.3, only bug reports ARE taken. If you happen to 
find a bug in the compiler, the maker of it would still like to know 
that. However, there's no guarantee he (we) will do anything with it.
If you happen to find a bug, please send your (Pascal) program that 
shows this bug, preferrably with the sources, not only a compiled 
version, along with all the things YOU used to produce this bug, so 
the DOS system files, Memman binairies, GIOS etc. etc. YOU used, that 
lets this bug show up. It would be preferred if you could make your 
program just small enough so that it will show this bug when 
compiled, and remove everything that doesn't affect it. All this 
would make it easier for us to reproduce or find that bug.
Frits Hilderink said it would be okay to send such requests to me, so 
that I can filter these, and only need to bother him with a real bug, 
not with any 'minor' requests you might have.
Maybe you can even exactly locate such a bug yourself, which ofcourse 
would save us a lot of trouble, improving chances for an update.

Note: this only applies to bugs IN THE COMPILER, so in case your 
program was compiled incorrectly. For bugs in your programs itself, 
you'll have to ask someone else or figure these out yourself.


One final note:


Following the above, I think it's okay to put Minesweeper, Tetravex 
or Logi-Bal on any site, as long as you keep all files intact. For 
Turbo Pascal 3.3 or Age8, this would be illegal.
Personally, I would like to see it otherwise, but I just don't have 
the final word about these programs.
For the most part, copyrights are clearly stated in the programs or 
documentation itself, and still valid.

You will also understand, that we don't have the time or means, or 
are willing to search the web for any illegal copies, or send lawyers 
after you (we probably wouldn't even want to).
So you have probably nothing to fear, but whether or not you 
choose to violate any existing copyrights, is your own decision, I 
didn't tell you that's okay, nor will I try to keep you from doing 
so.
For these copyrighted things, this is just the same as with Konami's 
or any other copyrighted software (we've had this discussion already, 
I believe).


Greetings,

Alwin Henseler
Oldenzaalsestraat 116
7514 DS Enschede
the Netherlands

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
e-mail:  [EMAIL PROTECTED]



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: Bigger sector numbers

1999-02-09 Thread Alwin Henseler


Hi again (we keep trying),


> > My idea: why not indicate a big sector number with the highest bit of
> > the drive number (passed with A register)?
 (chop, chop...)


New calling convention:


(drive numbers: for BIOS-routine 0144h: 0=A, 1=B, etc.,
for driver entry 4010h: drivenumber = 'local' drive)

For the programmer:
- 'old' disk-I/O: as normal
- 'Big disk-I/O':

 LD A,drivenumber
 SET 7,A
 LD DE,pointer to 32-bit sectornumber
 CALL DSKIO

(other parameters as usual)   

The pointer simply points somewhere in memory.
Although diskROM is switched into 4000-7FFFh during the call, I think 
this pointer can point anywhere. For the BIOS-routine (0144 or 
FFA7h), DOS can copy the contents at the pointer address to an 
internal save address (in page 3-workspace, for example).
For calls from disk-system to driver via 4010h, this pointer will 
already point somewhere else.
If diskROM is directly called at 4010h by an old program, pointer 
will be 16-bit sector-number, and things will work as usual.
If called for 'Big I/O' directly from a (new) non-standard-obeying 
proggie, only problem will occur if pointer address is in 4000-7FFF 
range, but is no problem either, because this would be -illegal-
(directly calling 4010h for 'Big I/O', that is)



For the DSKIO entry (4010h) in the driver ROM:


  (check read or write)

  Bit 7 of A register:
   if 0, higher bits of sector number = 0, or other 'base'
   lower bits are in DE register
   if 1, memory address (DE) contains big sector number

   (treat equally from here)


For those of you who worry about performance:
Suppose you need an extra of say, 20 Z80-instructions, with an 
average time-consumption of say, 10 clockcycles, that would take 
about 200/3.58e6 is about 0,06 milliseconds  (@3.58 MHz).
(there go these 10 milliseconds access times...)
So don't complain about this, any single interslot-call consumes a 
big multiple of that.
With an extremely fast driver (like one using a HDD with read-ahead 
cache memory), this could even allow sector-reading from an 
interrupt-routine (!!)
Probably not allowed, but this calling method method wouldn't stand 
in the way.


So, this calling method is:

-100% Compatible: if you call an old driver with it, nothing will 
happen, and an error gets returned. Any old calling methods have the 
normal effect
-'Interslot-call proof'
-Fast
-Easy for programmers

I challenge you to come up with a better way.


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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: JoyNet serial transfer routines

1999-02-09 Thread Alwin Henseler
sic module (or separate cartridge): just send a 
byte once, in 1 programming action, and without any software 
interference, it gets sent to any other receiver connected to the 
MIDI-out, with little delay.

For data-transfer, I would rather make a 'dedicated' cable, optimised 
for either speed, simple construction (largely 1:1 connection) or as 
few wires as possible.


BTW: I checked the 'official' JoyNet pages, and although I doubt the 
practical use of defining such a standard, especially when it only 
defines the cable (that is the simple part, anyone can do that), from 
a hardware point of view, I'd say there's no problem with what's on 
those webpages now. Connecting the signals as shown, shouldn't cause 
any hardware parts to burn, regardless of what programmers do.


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(Computerclub Enschede)



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





DOS1 diskROM disassembly

1999-02-09 Thread Alwin Henseler


Hi,


Upon your request, I have added a partial disassembly of a DOS1 
diskROM to my webpages. Just visit my pages (address on the bottom), 
and click on the 'documentation' icon.

It also contains a FULL disassembly of the driver part of this 
diskROM. This part you can re-arrange to your likings (within certain 
constraints, such as available memory size, or the order/size of SOME 
small parts in it), but as long as its function is kept intact, it 
can be assembled, and made into a working diskROM again, I did it 
numerous times (how-to included).

Comments in the listings are in Dutch. Sorry, but I don't think I'll 
translate it, too much work.

If you have any comments, additions or such, I think most of these 
are best 'dropped' on this mailing-list, rather than directed to me 
personally, because it seems to interest quite a lot of people.

Feel free to upload it to an FTP-site (Funet for example). Please let 
me know where it's at, if you make a copy available somewhere.


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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





DOS2+, FAT16 etc.

1999-02-09 Thread Alwin Henseler
ge these, any calls to 
disk-I/O will then automaticly be in the first 32 Meg, if it wants to 
access anything beyond that, it has to set this BEFORE every call to 
disk-I/O.
This has a big advantage: you could define quite large sector 
numbers. If programs use only smaller disks, they only have to keep 
track of the number of bits they actually use, the higher bits are 
automaticly set to 0 by the system between disk-I/O calls.


For sectornumbers: I don't like adding small pieces, if you change 
something because it became too small, make it a whole lot bigger 
right away, don't mess with a few bits extra.

Frankly, I find the maximum number of drives not really a problem, I 
have no more than 5 drives in my PC as well:
A: floppy drive
B: virtual second floppy drive (what's it do anyway, I never use it)
C: 1 Gig. HDD
D: another HDD
E: CD-ROM
I wouldn't like messing with 20 drives on a MSX, to allow direct 
access to bigger sizes. So the problem is not this number of drives, 
but the maximum size per drive.


FAT16 support would be nice, but it's really useless without access 
to bigger drives, so shall we figure that out first?


I have one question here: can anyone make it clear what exactly those 
special values for cluster numbers (FFx for FAT12, and ??? for FAT16) 
are, and what they mean?


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)

** Solve all your smaller problems first, then your bigger problems 
will turn out to be not so big after all  ***



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: JPEG file format

1999-02-09 Thread Alwin Henseler


Hi again,


It was written:

>>   Isn't there a JPG file viewer for MSX?
>>
>> Yes there are few, thank god. I'm just suprised, that nobody 
has done one
>> for GFX9000. (This is a tip for someone)
>>
>>Ok, I can do that. If someone can tell me about the JPG-format, 
that is.
>>(this is a question for someone)
>> 
>> U can find JPEG specifications in ftp://x2.ouli.fi.
>> 
> Doesn't work. Are you sure it's the right address?

Doesn't work for me either, because I don't (yet) have direct FTP 
access...   ;-(


The JPEG file format is in fact 2 things:
-The JPEG compression method
-The .JPG/JPEG/JFIF file format

The JPEG compression method is standardised in some ISO standard
(ISO/IEC 10918 part 1), but: you can -order- this for $$$..., it's 
not (officially) on the web. But do some looking around, and you 
might find some pirate copies out there.

For these kind of things I consider that a good thing, it's 
ridiculous that first a lot of people & companies get together to 
develop such standards for the 'common good', after which some 
standard organisation like ISO goes out and sells copies of the final 
documents for xx $$$ a piece. So I really don't mind if some people 
stick some 'unofficial' copies of such things on their webpages
BTW. the compression method itself is free to use, just this ISO 
document specifying it is copyrighted.

Only this ISO standard didn't specify an actual file format (!), just 
the compression method. Some company (C-Cube microsystems, 
www.c-cube.com, don't bother looking there) defined the JFIF file 
format, which does define the file format, and is a 'basic' 
application of this JPEG compression method. This file format is 
what's been used for most actual .JPG files.

What should be easy to obtain:
-This JFIF file format specification
-Sample compression/decompression source codes

Some links:

http://www.jpeg.org JPEG home page
   not much here but some usefull links
http://www.w3.org/Graphics/JPEG/jfif.txtJFIF 1.02 spec's
http://ftp.sunet.se/pub/simtelnet/msdos/graphics/jpegsr6b.zip
  sample JPEG compression/decompression source codes, from the
  Independent JPEG Group (www.ijg.org)

Well, that's the easy part. I think for JPEG, the file format would 
be easy. The (de)compression method is the hard part, cmmplicated 
& CPU-intensive (good luck).

P.S. Who not do a PNG (Portable Network Graphics, the 
'GIF-replacement-to-be') encoder/decoder instead?


Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx(MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(Computerclub Enschede)



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: IDE HDDs formated in MSX

1999-02-09 Thread Alwin Henseler


Giovanni dos Reis Nunes   <[EMAIL PROTECTED]>  wrote:


>   How I can read, using a PC, one Harddisk formated in a
>   MSX with IDE interface? I receibe a old Conner 20Mb HD
>   but I can't read it in DOS or Linux. All Linux and DOS
>   FDISK utilities shows a "20Mb FAT <32M" partition  but
>   in DOS I always receive the 'Sector not  found'  error
>   message. I'm thinking that this HD  isn't  a  formated
>   partition... Or I'll format this drive. :)

20 Mb.yep, that IS old   ;-(

AFAIK, this is a software issue, having to do with with the exakt 
formats used when initialising/partioning the HDD's.

Not being able to recognise a HDD partition's contents on an other 
system, means to me, that either of both used an incompatible format. 
And when I say you could call that format used by PC's the standard, 
that would mean the format used by MSX harddisk-interfaces (goes for 
SCSI as well) was incompatible. Damn !%$(@ fools, why create any 
other format, than the one used on PC HDD's?

The way to go here would be to make the partitions using that 
PC-compatible format, for instance by partitioning the HDD on a PC, 
and then using a MSX HDD-interface that recognises/can use that 
format (what interfaces would that be?), or, if necessary, modifying 
the software in those MSX HDD interfaces so, that they do. Only 
limitations you have to watch here, are that MSX only supports up to 
64K sectors per partition (thus max. 32 MB. per partition with 512 
byte sectors), and FAT12 system (I think MS-DOS FDISK makes FAT16 
partitions above some 15 MB.)

More info, please!


Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx   (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(Computerclub Enschede)



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: MSX in MIR

1999-02-09 Thread Alwin Henseler


Laurens Holst  <[EMAIL PROTECTED]>  wrote:

> :  People,
> :
> :  I knew this story of a SONY MSX2 in MIR, but anybody has a
> :  photography of this conputer in the space station? Anybody
> :  know how this computer gone in MIR? How is the function of
> :  this computer inside MIR, etc...
> :
> :  Will be nice to play SD snatcher in zero gravity... :)
> 
> it was in an edition of MCCM... I don't know which one, but if I find it
> I'll post it on funet.

It was MCCM #71 (november '94), page 37, titled "MSX in space"

And yep, it sure looks like a Sony HB-G900(R?  ;-) with about equally 
big video extension ("videotizer") attached. 

It seems it was on German local ("Beierse") television, in something 
to do with the fact that 25 years earlier, there was this Apollo 
flight to the moon (so that should fix the date to about . (date 
of Apollo mission) 1994). Maybe someone living around there in 
Germany could call that television station, and get a copy of that 
video?


Alwin([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx(MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(Computerclub Enschede)



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: XRAM

1999-02-09 Thread Alwin Henseler


Hi again,

Mark   <[EMAIL PROTECTED]>wrote:

> (..)
> As far as I know, 
> the only commercial type of memory that keeps its contains, even when the power 
> supply is cut off, is FlashRAM. It is used for instance in chipcards etc. 
> However, besides FlashRAM, there also other designs of non-volatile memory like 
> (..)

Wrong! It's good this fella here did his homework a bit better. 
This 'FlashRAM' you mention, IS no Flash-RAM. These chipcards used 
as solid-state disk, are either DRAM (mostly temporary use), Flash 
EPROM, or battery-backupped SRAM.

The defining difference here is that Flash memory needs to be erased 
first, before it can be re-written, and that makes it EPROM memory. 
You can't just toggle single bits, like with RAM. In practice, this 
is done in 'sectors' (like in xx KB. parts). From the users point 
of view, when writing a modified sector to such a solid-state Flash 
disk, it might APPEAR as if such a sector was directly overwritten, 
but in fact: -the sector might have been written to a different 
physical place, erased earlier, or -the (entire!) sector was erased 
first, then re-written.

Next to that, Flash (EPROM) memory can only be re-written a limited  
number of times. This might as much as 100.000 times, and such 
solid-state disks sometimes use sophisticated techniques to 
re-arrange sectors, so that if the same area on such a solid-state 
disk would be re-written a million times, this might be 'diverted' to 
100 different sectors each being re-written 10.000 times. But such a 
limit remains.

To overcome this, SRAM becomes the alternative, but needs battery 
backup. DRAM might even be used for that, with some extra 
refresh-circuitry (might be built in the IC's), and would probably 
consume somewhat more power, but that's just practical matters.

All such different types of chipcards might be called differently. 
For instance a 'SRAM' card may in fact be DRAM, with self-sustaining 
refresh-circuitry, in some low-power arrangement, and...with battery 
backup. Or a 'Flash' card might in fact be SRAM, with 
very-long-lasting battery, it all comes down to the same thing: in 
essence, there simply aren't that many different types of memory, and 
as far as I know, Flash-RAM is not among these (prove me wrong).

If you don't agree with this, I suggest you do some reading on actual 
existing devices, instead of confusing us all here.


But indeed there are more types of non-volatile memory. I know 
another one, maybe 'related' to what you mentioned, called 'bubble 
memory'. I don't know what the technical name would be, but that is 
how it's called. The idea with this type of memory is this: in a 
harddisk/floppy disks, the magnetic areas defining 1's & 0's, reside 
on fixed places on a magnetic material, and this material itself is 
moved around under some reading/writing circuit.

In 'bubble memory', the magnetic areas containing the 0's and 1's 
(the 'bubbles'), are moved instead, so that the reading/writing 
hardware can stay in one place, and no parts need to be moving 
('solid state'). How this works exactly is a riddle to me, but the 
disadvantage of this type of memory was, that the magnetic area's 
signalling "1" and "0" needed to be far larger than in the 
floppy/harddisk system, making 'bubble memory' large and difficult to 
handle devices. That's why they're not, or barely used anymore, only 
nice toys for scientists.

There are surely more of such exotic memory types out there, that 
grey stuff in our heads would qualify as one...


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx(MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(computerclub Enschede)



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: MSX Y2K bug / RP5C01 datasheets

1999-02-09 Thread Alwin Henseler


Hi again,


> On Thu, 8 Oct 1998, I wrote:
> 
> > As for the significance of a year2k-bug on MSX: I doubt anything much 
> > will happen as a result of a MSX year2k-bug, simply because MSX's are 
> > probably used in very few, or non, 'critical' applications. There's 
> > surely not an airport anywhere that relies on MSX-computers for the 

NYYRIKKI  <[EMAIL PROTECTED]> replied:

> 
> Well... We have here airplane comppany called Finnair. They used to use
> Sony HB-G900p. Anyway they didn't controll traffic, but they used these
> computers for secury and simulation training (Don't ask me, what that
> means, but they said so) Anyway they did not use these computers anymore,
> but they still have few ones with HBU-G900p U-MATIC interface, HBI-G900p
> videotizer and Video-CD player.

I guess that would be an application where a modern 'multimedia' PC 
would be used instead these days. I guess that would simply be using 
such a machine as some sort of 'tutor', where a Video-CD 
(LaserDisc- I think) player that can be hooked up to a HB-G900 
(controlled over the built-in RS-232) would show the 'reading 
material'. Sounds like a typical application for a HB-G900.

On that Russian MIR space station: after all the mess they made in 
there, I'm 100% sure that any Year2K-bugs showing up in there, won't 
be the reason for that thing coming back down to earth =8-<


Anyway, as I wrote earlier, I wasn't really refering to MSX COMPUTERS 
being used in critical applications, but much more about MSX-like 
TECHNOLOGY (system software, similar system set-up, use of parts 
otherwise typically found in MSX systems, etc.). I think many of you 
are indeed missing the point here, and its significance IS big for 
sure. It just MIGHT get solved in other ways by the people dealing 
with such systems, when we wouldn't get ourselves involved. 


Greetings,

Alwin  ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx(MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm (computerclub Enschede)

P.S. I found datasheets on the RP5C01 clockchip online recently, it 
seems that Ricoh put it on their website a couple a months ago. 
Finally some 'hard data' on MSX parts showing up on a manufacturers' 
websiteI'll include some pointers to it on my pages soon...

They had a nice Year2K statement on these parts as well, stating more 
or less what I observed earlier: Rx5C01 clockchip HAS a 
'century-bug', in the year 2000 it just doesn't show up.



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: HARDWARE PROPOSAL (7MHz related)

1999-02-09 Thread Alwin Henseler
al KC megamapper
-modify your mapper, to use an other way of generating DRAM control 
signals (several ways to do this, but might require some research). I 
have a 'home-built' mapper myself, with 2 DRAMs of 256K x 
4 bit each (256 K mapper, thus) which I changed such, that it doesn't 
need CPU clock either, and works fine on both turbo or 3.58 
MHz.
-construct a mapper using SRAM, not needing "CPU clock" for any 
purpose either

-Why not fix one of the cartridgeslot clock signals to 3.58 MHz., and 
the signal on the other cartridgeslot (most MSX's do have 2, don't 
they?) to "CPU clock". With turbo on, you can put cartridges 
(un-modified) using "CPU clock" in the one slot, and cartridges 
(un-modified) using 3.58 MHz. in the other slot. Just try 
possible combinations of cartridges you have, then decide 
what signal to put on each cartridgeslot. Cartridges not using either 
one can be put in both, and with turbo off, it's all the same, and 
anything should work. 

-Or use a combination of the above


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm (computerclub Enschede)



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: Some questions about MSX hardware...

1999-02-09 Thread Alwin Henseler




MSX Year2K bug

1999-02-09 Thread Alwin Henseler
 people with 
detailed knowledge on MSX-related issues, in a wide field of 
interests.


My proposal:
-

Let us set up some kind of 'MSX Year2K Center'. Anybody needing 
information from some related field, like professionals involved in 
solving year2k-issues, might be given a valuable source of 
information with that. For anyone simply interested in it, such a 
'MSX Year2K Center' could provide direct answers. This mailing-list 
might be a good medium for sharing information related to it. If any 
new problems come up, such a 'MSX Year2K Center' could be the central 
place to address it, and for any solutions found, or facts 
determined, it would be the central place to find such facts or 
solutions.

You might not see the possible importance of this, but if anyone 
should provide some central place for MSX-related year2K issues, 
shouldn't it be a couple of MSX-freaks like us, running that store?

And why would you take part in it? To finally put some of that 
knowledge to some really important use, or...for the fun of it.


Alwin Henseler([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(computerclub Enschede)



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: Some questions about MSX hardware...

1999-02-09 Thread Alwin Henseler


Hi all,


Gabriel D.   <[EMAIL PROTECTED]>  wrote:

> SRAM = Static-RAM , doesn't need any power to keep data, but only to change
> the stored bit value. I'm sure you can find lot of information about SRAM
> (AFAIK called FLASH in some commercial products) functionning.

You got some things confused here: SRAM only needs 'ordinary' power 
when used (reading/writing), and because it's static, 'none' when not 
used. That 'none' power is only in principle. It does need to keep 
its supply voltage, and in practice does use SOME current, to keep 
its contents.

Modern SRAM's work near-perfect in this respect, and there are 
sometimes specially selected/produced low power types. For such a 
SRAM, a simple battery can maintain a supply voltage for years (like 
a CR2032 3 Volt Lithium battery), where an important factor becomes 
the discharging of the battery itself. These days, for some purposes 
there are even some type of 'super-capacitors' (GoldCaps is a common 
name) that can do this. When the SRAM is used, ofcourse it will need 
an ordinary power supply, instead of the backup.

Memory IC's that really don't need ANY power supply to keep their 
contents, are ROM (contents put in there when manufactured), and 
EPROM. The main disadvantage an EPROM has when compared with 
battery-backupped SRAM, is that it can only be re-written a limited 
number of times, usually in the order of a couple of thousand times. 
This also mostly needs to happen outside the system it's used in.

For SRAM, such a limit doesn't exist (well, until it goes broke). Big 
advantage for EPROM's on the other hand, is that they don't 
need such a power supply backup.

For 'normal' EPROMs erasing is done by ultra-violet light, and the 
glass window in the EPROM shows it to be such a type.

Flash memory is in essence similar to EPROM, but can be erased 
electrically, so these don't need, and thus don't have such a glass 
window.

FInally, there's even PROM, this is essentially EPROM as well, but to 
keep it cheap, this is put into ordinary glass-less IC packages. That 
makes them cheaper to produce, but because they miss that glass 
window, they can't be erased with ultra-violet light, and so they can 
only be programmed once.

If you want to know more about these, there's plenty of reading 
material on this available from the manufacturers of such IC's, like 
Intel, AMD, Texas Instruments, .(some 50 or 100 more to choose 
from)


Greetings,

Alwin Henseler ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm (computerclub Enschede)



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: copy ethics

1999-02-09 Thread Alwin Henseler
ed with a 'key' file. I think TED for 
instance, is one of the best examples: no extra troubles for the 
users, every copy 'branded' with the name of the rightfull owner, and 
even if this would be ignored, I'm sure that the mentioning of the 
good case it was related to (Multiple Scleroses) will have made 
several people buy one, when they wouldn't have otherwise. This cause 
it was related to, surely benefited from that somehow. And yes, if 
you want to, you can keep using it on your PC (works fine on 
emulators I tried). Isn't that the way to go?


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm (computerclub Enschede)



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: make that ANY clockspeed

1999-02-09 Thread Alwin Henseler


Manuel Bilderbeek <[EMAIL PROTECTED]> wrote:

> > I know that the clockspeed of the MSX-computer can be increased with a
> > 'special' upgrade. In the past such 'upgrades', increasing to +/- 7 MHz,
> > existed and could be bought.
> > 
> > Does anyone know of the existence of such upgrades or knows where I can find
> > such schematics? Or any information?
> 

Look in old MSX magazines (like the MSX Club Magazine, which later 
merged with MCM), for example numbers 31 (sept./okt.1990, original 
publication of 7 MHz. design), and 34 (mrt./apr. 1991, imrovements & 
corrections). Forget about 6 MHz. though, this design was always 
'buggy' from the start, I doubt it's ever been perfected


> Alwin Henseler (the hardware man of former MSX CLub Enschede) promised to me 
> that he would publish a complete 7 MHz schematic on the Computer Club 
> Enschede's homepage. Look for it on 
> 
> http://www.twente.nl/~cce/index.htm
> 

No, this is not a 7 MHz. schematic, but for ANY speed (your MSX can 
cope with). Actually it switches between two 'random' speeds (wide 
range possible), so you can as well use it to have your MSX run on a 
speed switching between 2 and 5, or 6.1 and 3.2 MHz. (whatever, don't 
ask me what your MSX will do in such a case). BTW. it's probably 
suited for other Z80-based systems as well, but don't bother me about 
how to speed up a ZX-Spectrum or so with it, you figure that one 
out...


And no, it will not be on the HOMEPAGE of the computerclub Enschede, 
because we don't do all that much with MSX anymore (apart from the 
occasional emulator). I do feel a stronger getting need to create 
some MSX pages of my own (probably hardware-stuff mainly), but either 
it will be as a 'sub-site', or it will be on some personal webpages 
of mine, but not on the homepage of our computerclub.

Do look out for it though!


Alwin Henseler   ([EMAIL PROTECTED])

P.S. I believe our site is still the only place where you can get a 
fl. 2,50 discount on the entrance fee for the upcoming Zandvoort 
fair! (check out, what you have to do for that)


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




MSX Super Turbo

1999-02-09 Thread Alwin Henseler


Hi you MSX lovers!

This might interest all you speed-freaks (and I mean hardware-wise, 
for those who still use a standard 3,6 MHz. MSX): In the past I have 
developed my own turbo-circuit, I call it MSX Super Turbo, and this 
has been entirely through the process of refining, testing, updating, 
redesigning, having it built into a bunch of MSX machines, and let 
these work for a couple of months (or years), to find out any 
problems with it.

In other words: we're talking about a 'solid' piece of circuitry 
here. What is it: it is a solution to the general problem of 
switching the clockspeed of a Z80 CPU between 2 'random' frequencies, 
that don't have any relation to each other (unlike for instance the 
well known 7 MHz. design). Because of timing requirements of the Z80 
CPU, this is not all that easy, but I found a good way to do it.

Several people have been asking me if I still build these things into 
MSX machines, and I'm rather reluctant to do it, having not TOO much 
interest anymore in MSX, were further development is concerned. 
Therefore I've been wanting to put my stuff on the web, so that 
anyone interested can build it for him/herself, or find someone 
else to do it for them (and don't need to bother me about it 
anymore). Only: they would ofcourse need stuff like the schematics, a 
practical building description, and some info to go with it.

That's coming up now! In contrast to other things I (have) put on the 
web, I will use a new approach here: I will put everything on this on 
the web, as soon as I have it, in other words: if a picture doesn't 
look right yet, I will put it up there anyway, and if I have a better 
one next day, there will be a better one up there the next day.

That's where you come in: ofcourse you will find a mess on this page, 
and I want you to tell me what should be done! The end result will be 
that I have my design available on the web, you have an excellent 
piece of MSX hardware 'for grabs', and you will know that the form 
it's available in, is tailored to YOUR desires!

So, I have 'allocated' the following address for it (in the page 
itself is a link to it, so that you can use a previously saved 
version to jump to the web-address where it came from):

http://huizen.dds.nl/~alwinh/msx/supturbo

If you want to, please add this to MSX hardware-related pages, so 
that other people 'just browsing' will come along, and be able to 
comment on it.


Let's see what happens!

Alwin Henseler
e-mail:  [EMAIL PROTECTED]

MSX lives! (one way or the other, but there's no doubt about it)



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




VG8235 for sale...

1999-02-09 Thread Alwin Henseler


Hi folks!

I place this 'add' here for a 3rd person, I don't know if this is the 
'right' place to put such an add, but I think it's a SUITABLE place 
for it:

For sale is:  (it's in the Netherlands, if you're outside the 
Netherlands, forget it, replies are probably preferred in Dutch)

Philips MSX-2-computer VG 8235
   (it's got a SS drive; original type?)
Philips MSX Matrix printer NMS 1421
Philips MSX Monitor VS0040
All included instruction booklets and software (Home Office, 
Designer)
All equipment working fine.
price: fl.50,- for the lot


Also available: a Sony MSX color monitor
(exact data nor condition mentioned)

Replies shoud go to:

e-mail:  [EMAIL PROTECTED]
phone:  053-4329887   (in Enschede, the Netherlands)




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: NO ACTION REPLAY FOR THE MSX

1999-02-09 Thread Alwin Henseler


> DEAR SIR
> > 
> >I AM TRYING TO FIND THIS CARTIDGE THAT HELPS ME IN FREEZING ANY PROGRAM IN THE 
>MSX MEMORY AND TRANSFER IT TO TAPE OR DISK ,SO PLEASE CAN U HELP IN THIS REQUEST ?
> > 
> >   
>TRULY YOURS
> >   
>NABIL WAFAI
> > 

Stop looking, there is no such thing!

Such a cartridge usually works by some special electronics inside it 
taking control of the computer for a short while, and transferring 
CPU status, memory contents etc. to the cartridge, so that it can be 
restored later on, or saved to disk, whatever.

This will not work on any MSX, because:
-MSX machines are just too complex for this (in this respect it is 
the same as for PC's, ever seen such a cartridge for a PC? Just can't 
be done)
-The MSX system doesn't support Direct Memory Access (DMA), required 
to read out system memory from 'outside'
-For these other 'simple' systems, like ZX Spectrum, C64 etc., 
something in the order of 64 K storage in such a cartridge will do, 
in the MSX you might need 512 K, 1, 2, 4 MB., or even more

So: forget it.

Only way to accomplish something similar, is to run MSX software on 
an emulator, that supports saving/restoring the emulated MSX's 
status, but this is another matter


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

check out my MSX Super Turbo design (webpage almost finished), it 
OBSOLETES things like 6 & 7 MHz

http://huizen.dds.nl/~alwinh/msx/supturbo



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




6 or 7 MHz. info 'online'?

1999-02-09 Thread Alwin Henseler


Hi you MSX-freaks,

I'm about to finish the work on my MSX Super Turbo page

http://huizen.dds.nl/~alwinh/msx/supturbo

and, just as a matter of 'reference', I'm curious: does any of you 
know of a description of either CUC's 6 MHz. circuit (let's just 
forget about it), or the well known MSX 7 MHz. circuit, ON THE WEB?
(or at least, in an electronic form, like on a disk-magazine or 
something like that). And I mean, a description OF these things (how 
they're built, circuit layout, schematics, how to build these into 
MSX's, that sort of stuff, NOT what they would cost, or where they 
could be bought, once upon a time)

Then, about these things: I have in my possesion a number of MSX 
magazines. In numbers 31, and 34 of MSX Club Magazine, there is the 
publication of the 7 MHz. circuit (it's a long time ago). Does anyone 
now of any other publications (this, in any form) containing more 
TECHNICAL specifics about this 7 MHz. circuit, like improvements, or 
a new circuit layout, in a magazine I don't have?

About this 6 MHz. circuit, I wonder: has it EVER been PUBLISHED? And 
what became of it anyway? As far as I know, there's always been a 
copyright issue involved in this 6 MHz. circuit, maybe therefore I've 
never seen a publication of it, and when the 7 MHz. circuit 'hit the 
market', I suspect it was more or less abandoned. Maybe they buried 
the papers of it somewhere, never to be found again


And last (but not least?): does anyone know of other circuits like 
this, apart from Z180 or Z380 projects heard of earlier, so 
let's say, "7 MHz. replacements"?


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])
website:  www.twente.nl/~cce/index.htm

Hit this site for your Zandvoort fair discount ticket..!! (Dutch & 
English versions available, both in HTML and text format)



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: clockchip battery

1999-02-09 Thread Alwin Henseler



[EMAIL PROTECTED]wrote:

> But apropos clockchip: my 8250 is having problems keeping up to date.
> I guess the battery will not live till the end of the year, let alone
> till the millenium-change :-(
> I know that the battery is soldered to the mainboard. Could it be possible
> to take it out and replace it with e.g. a battery holder and a normal
> AA (penlite) battery? If not, what alternatives do I have?

There's a difference here you will have to watch: that between 
rechargable batteries, and that of 'discharge-only' types.
The one normally in there is a rechargeable one (in a broke 8280 I've 
got here, it's a 3.6 V/45 mAh type, it should be ABOUT 3 V, so 2 OR 3 
penlites would replace it). This type needs to be recharged, and is 
done so, when the computer is on (duuhhh...). It might be, that your 
clockchip battery just ran empty, when you didn't use the machine for 
a while, or use it very short, now and then. I would recommend just 
leaving your MSX on for a day or so, maybe your problem disappears 
after that.

If not, any replacement would depend on whether you think of using 
this machine regularly in the future, or not. If yes, replace it by 
rechargeable batteries (try 2 mini-penlites, there's gotta be space 
for that, just 1:1 replacement will do, I guess). If not to be used 
regularly, you'd probably better replace it by some long-lasting 
battery, take 2 alkaline mini-penlights, or such a 3 V flat round 
lithium-type.

But: if you use a non-rechargable battery, you have to make sure it 
doesn't get recharged (!!!), these things can't stand that. I've 
never seen it, but they might go broke in some spectacular way, and 
leave your home smelling bad for a couple of days=8-((

How not to recharge these: remove in the 8250 either resistor R162 
(220 ohm), or diode D130 (any one of these, or both, doesn't matter, 
I suggest you take the resistor). Both are next to the battery, 
on the + side, and you can put it back in when you decide to change 
the battery for a rechargeable one later on


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])
website:  www.twente.nl/~cce/index.htm



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: TEAC drive

1999-02-09 Thread Alwin Henseler


Hi you all...


Maarten ter Huurne <[EMAIL PROTECTED]> wrote:

> >From an old PC, I got the following drive:
> TEAC FD-235HF
> 

Sounds familiar somehow, I think it's a 720 K type...

> It has a huge jumper area (5 jumpers and 28 positions). So finding out
> what-is-what by trail-and-error is a not something I look forward to.
> 
> My questions:
> - Does anyone have a description of which jumper position means what?
> - Does anyone have this type of drive working in an MSX? If so, please tell
> me your jumper settings, your MSX type and whether it's connected as
> A-drive or as B-drive.

There's only 2 things that should be needed, where jumper settings 
are concerned:

a) Drive select, usually marked with something like "DS0 / DS1 / DS 2 
/ D3" (number of Dx can differ), where "DS0" stands for A:, and "DS1" 
stands for B:  (ever seen a floppy drive C: on MSX?). If it should be 
the A: drive, set it to DS0, if it's a second drive, set it to "DS1" 
(=factory default)

b) Some MSX-machines require a 'ready' signal on pin 34 of the 
floppy-connector. To avoid unexpected problems resulting from this, 
look for a jumper named something like "DC / RDY" (sets DiskChange, 
or ReaDY signal on pin 34). If you spot something like that, set it 
to "RDY".

Other jumpers can usually be left alone. If things are not working, 
you can try setting these differently. One at a time, no setting 
should be able to cause permanent damage, so try anything. If no 
effect is seen, set it back the way it was, and try another. If that 
doesn't help after setting all jumpers present back and forth, 
consider it a lousy diskdrive

I found a Teac FD-235F (sounds a lot like it) in a box with trash at 
my place, it's got jumpers named "FG" (forget this one), "D0" (A:), 
"D1" (B:), "DC" (DiskChange, should be empty), "RY" (ReadY, should be 
present), "IR" (?, leave it alone), and "MS" (?, rather not mess with 
it either). "D2" (C:) & "D3" (D:) a bit further on, but not as 
jumpers, just soldering pads. Maybe this helps?


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://www.twente.nl/~cce/index.htm
http://huizen.dds.nl/~alwinh/msx/supturbo



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: TEAC drive

1999-02-09 Thread Alwin Henseler



Maarten ter Huurne   <[EMAIL PROTECTED]> wrote:

> > >From an old PC, I got the following drive:
> > > TEAC FD-235HF
> > 
> > Sounds familiar somehow, I think it's a 720 K type...
> 
> No, it's a 1.44MB (HD) drive.
>  
Aah, so:
Teac FD-235F  =  720 K
Teac FD-235HF = 1.44 MB
(at least we know that then)


> I am connecting it to an FS-A1GT (turbo R), which needs both Ready and 
> DiskChange.
> 
Ai, that might be difficult indeed...


> But I still have some troubles with this drive. Symptom: drive will 
> not spin and the LED only flashes a few times.
> I think the problem is somewhere in the order of the Ready and 
> MotorOn signals. It seems the turbo R won't give MotorOn until it has 
> received Ready and the drive won't give Ready until it has received 
> MotorOn. Is this possible?
> I came to this idea because I noticed that short-circuiting the 
> MotorOn signal made the drive work, as did short-circuiting the Ready 
> signal.

As far as I know, MotorOn instructs the drive to start spinning, some 
'dumb' drives do this right away, other drives with a bit of 'brains' 
only react on it, when a disk is detected in the drive, and keep 
still when not. When de-activated, most drives keep the disk running 
a few seconds after that, regardless of any software-controlled 
delays. If you permanently ground it, that means that a disk you put 
in the drive will start spinning right away, and will keep on doing 
so 'infinitely' as long as it's in the drive. If it solves your 
problem, you might do so, but it doesn't seem like a good idea to me.

The Ready-signal indicates whether the disk has reached 'normal 
operating spinning-speed' (5 times round / second), so normally, the 
drive should only be able to activate this, when the disk already is 
(MotorOn activated previously). I guess you kind of got this far.


I own a MSX2+ myself, with the same floppy-controller (TC8566) as in 
the Turbo-R, and have hooked up quite a number of drives to it in 
past years. My impression is, that this FDC is a bit more 'choosy' 
when it comes to whether a drive 'will do' or not, I suspect it's got 
to do with signal timings (as you mentioned). As a result, some older 
drives can't get to work with it, most newer (new) drives are no 
problem. But, IF they work, it usually works far more reliable, far 
less 'strange disk errors'. It might be that you're just out of luck 
on this one, and that there's no way to get your drive to work with 
this Turbo-R floppy-controller.


But then I remembered something else that might do the trick. I don't 
know if this an issue here, but I will mention it. I've got a 
magazine artricle somewhere, I looked it up, and found this: some 
older HD drives determine DoubleDensity or HighDensity by looking at 
pin 2 of their connector. Practicly all newer drives do this by 
detecting the extra hole in HD disks, but some older drives need to 
be told by the FDC, how to go about. If this is so, pin 2 on your 
drive might need to be grounded (open = HD, grounded = DD).

'Officially' pin 2 is simply 'undefined', I'm not sure, but I think 
some drives use it to put a DiskChange signal on this pin, for 
instance.


If all this still doesn't help, I suggest you forget about hooking 
this Teac FD-235HF up to a Turbo-R


Greetings,

Alwin Henseler  ([EMAIL PROTECTED])

http://www.twente.nl/~cce/index.htm
http://huizen.dds.nl/~alwinh/msx/supturbo



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: Ramfile expansion?

1999-02-09 Thread Alwin Henseler


> Jimmy Hoffa   <[EMAIL PROTECTED]> wrote:
>
> I have something called a "Ramfile" made by a company named "Tecall". It has
> 16 kb batterybackuped RAM, and my question is if its possible to expand ram on
> it? Its very useful, since it allows the usage of files similar to
> autoexec.bas and so. The two memory circuits, are of type 6464. 
> 
> "JAPAN 8707
>  HM6264LP-15
>  UO522YYO"
> 

I read: 6264 -> 64 Kbit Static RAM (8K x 8 bit = 8 KByte), 28-pin
the "-15" reads as: access time: 150 nanoseconds max.
"LP" probably stands for Low Power, which can be read something like: 
specially selected/produced devices with extremely low power 
consumption (under certain conditions), usefull for battery-backup 
for instance (or laptops, or )
I'd gamble the "HM" before it means these parts were produced by 
Hitachi, doesn't matter much who produced these anyway.

These can be easily replaced by 'bigger' types: 62256: 32 K x 8 bit 
(would give 64 KB. on your thing), 621024: 128K x 8 bit (would give 
256 K on your thing). There are bigger ones, and under different type 
numbers, but they are available. Mail me if you need pinouts or 
something.


> The ROM is of kind "HN27128AG-25".
> 
This reads as: 128 Kbit EPROM (16 K x 8 bit, so 16 KByte), access 
time 250 nanoseconds max.
Probably contains the software controlling this thing.

> Please help me with this. :)
> 
> // Jimmy Hoffa
> 
> 
>  - -- -- -  ---  -- -- -- ---     ---  --
>  [EMAIL PROTECTED]  --  -  http://c5.hakker.com/
>  
>  For PGP key and additional information, finger [EMAIL PROTECTED]
>  -- -- --- --- -- -- --- --   -- -   ---  -- -  - - -
> 

There are about a 1000 ways to put such a thing together, or expand 
it, it would see 3 basic steps:

a) Put in larger memory (piece of cake here, altough SRAM's are 
relatively expensive, up to a couple of hundred KB's this should be 
no problem). Usually these newer/larger memory IC's have a power 
consumption comparable, or less, than older parts, PER IC. So a 128 
KByte SRAM would use about as much, or less current as a 32 Kbyte 
one. No need to make changes to the battery backing these up...

b) Expand the controlling mechanism, so that these can be used

c) Modify the software, so that it uses this new controlling 
mechanism & extra memory


I find this an interesting piece of equipment (I made a design for 
something like it sometime, just never took te time to build it...), 
but please answer these questions:

a) Can you read out this 16 KByte ROM, and maybe put it on the web 
somewhere?
b) Is it possible for you to make some kind of a circuit diagram of 
the hardware in this cartridge (maybe send me a copy, on paper would 
be okay) ?

If you need any extra info about this, like IC pinouts, or MSX 
cartrdige-slot connections, please mail me.

Alwin Henseler   ([EMAIL PROTECTED])

http://www.twente.nl/~cce/index.htm
http://huizen.dds.nl/~alwinh/msx/supturbo



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




Zandvoort fair 1998: final warning...

1999-02-09 Thread Alwin Henseler


Juuussst in case you didn't know already:

Thursday.Friday.Saturday, and then there is another MSX-fair 
in Zandvoort, the Netherlands (september 19).
The place: sporthal (in English = ???) Pellikaan (double L, no 
writing error), Moolenstraat 5 in Zandvoort. It's very close to the 
train station, if you get there, you can just follow the masses (?) 
flowing into the building:-))

Time: 10.00-17.00 hours.
Entrance fee: fl. 7,50 dutch guilders

Get a fl. 2,50 discount with a discount ticket, available at:

http://www.twente.nl/~cce/index.htm   (computerclub Enschede)

Dutch & English versions available, both in text & HTML format.


Greetings,

Alwin Henseler,

'webmaster' for the (small !) computer users group Enschede
e-mail:  [EMAIL PROTECTED]

One more thing: don't forget your umbrella   :-<



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: VDP 9938

1999-02-09 Thread Alwin Henseler


Hi you all!

> Oberleithner Wolfgang <[EMAIL PROTECTED]> wrote:
> 
> Does anybody know how the Video-Ram-contents is changed
> depending on the settings of the moderegisters?
> 
> mode registers:
> M5/1  - Screen select
> 0 Screen 1
> 1 Screen 0 (WIDTH 40)
> 00010 Screen 3
> 00100 Screen 2
> 01000 Screen 4
> 01001 Screen 0 (WIDTH 80)
> 01100 Screen 5
> 1 Screen 6
> 10100 Screen 7
> 11100 Screen 8
> 
As far as I know, there is NO DIRECT influence from these VDP mode 
registers on the VRAM, they only control how the VDP handles it 
(display, command execution). So changing these does not do anything 
with the VRAM, set these bits back, and the VRAM is still the same.

2 remarks here:

-Ofcourse it might have an influence on an already running 
VDP-command. Sounds a like a good way to screw up VRAM contents: 
start some VDP block command, and then toggle some of those mode 
bits, while it's running. Might be a nice way to produce all kinds of 
beautifull screen patterns

-For most screens, there is a relationship between the exact VRAM 
address, and the VRAM page/pixel-coordinates that is about what you 
would expect. In some screen modes (I think Graphic 5 & 6 modes, that 
is, SCREEN 6 & 7), this relationship is different, so the contents of 
for instance 2 SCREEN 5-pages is not visible in one SCREEN 7-page, 
but 're-arranged' somehow (does anyone know how exactly?). In SCREEN 
8, this is 'back to normal'.


> 
> Is there any relation between the _SINGLE_ bits and the vdp-behaviour?
> 
> f.e.  bit 1 set:maximum 256 colors (unset: 16 colors)
>   bit 2 set:display 128 bytes per line (unset: 256 bytes)
> ...

Hey, I guess there must be, because it's all implemented in hardware 
somehow...
V9938 databook doesn't tell, so this is 'undefined'. Only way to find 
out is to investigate a real V9938, and no guarantees it will work 
the same in for instance a V9958 (or other compatible?)

 
Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx
http://www.twente.nl/~cce



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: MSX1 & slot-expansion

1999-02-09 Thread Alwin Henseler


Time to set some things straight here:

(and would you guys/dolls please change the subject of your messages 
when this changes?)

> >
> >MSX1 and slotexpander... Some how I don't think so...
> 
> Why not? After all, the slot expander is switched using memory mapped I/O
> at $. MSX1 can do that as well.
> Note that the MSX1 BIOS doesn't support slot expansion, though. Which means
> that only cartridges in the first subslot will be recognized by the BIOS.

BULLSHIT !!!

MSX-1 and expanded slots are perfectly 100 % compatible, AND 
supported by BIOS-routines:

-MSX-1 Technical Databook even shows a sample circuit diagram for 
expanded slot select control
-MSX-1 BIOS routines dealing with slotswitching have the same 
'specifications' as MSX-2 counterparts, and INCLUDE sub-slot 
switching/reading/writing/calling
-MSX-1 and MSX-2 slotswitching-routines ARE essentially the same, I 
think I figured out some minor differences once, but that's just 
details (performance-related or such), sub-slot use is absolutely 
FULLY supported by MSX-1 BIOS routines
-I had a Philips NMS 8020/40 once (with expanded slot 3, like the 
Philips MSX-2 models). Apart from having to add this famous POKE -1 
to several game loaders, which wouldn't be necessary for most 
MSX-1's, I had absolutely NOOO problems with it, running programs on 
this MSX-1 was 'business as usual'. I even had a memory mapper in 
there once, after a first initialisation 'by hand' (MSX-1 BIOS 
routines don't do THIS, but otherwise MSX-1 and memory mappers are no 
problem either), several 'MSX-2 only' MegaROM cracks (Nemesis and 
such, originally MSX-1 as you will know) ran fine, even in a sub-slot 
(and no, this was not the first sub-slot only, or the last, but slot 
3-2, as in the Philips MSX-2 models).


Besides:
This RAM-file cartridge that started all this, must be something like 
a 'stand-alone disk-driver', that more a less works just like a 
separate disk-interface, so I'm sure this guy CAN simply boot to 
BASIC, and read out the ROM by software.

Apart from that:
If you DO want to insert a cartridge in a running MSX, there's a 
safer way to do it: hook up a switch between +5 V and the slot-select 
signal of the slot you want to disable, then, when booting the 
machine, switch it on shortly, just after the MSX-logo appeared (when 
slots are searched), which short-circuits the particular slot-select 
signal with +5 V, making it 'high' (inactive), and thus disabling 
this slot, for as long as you keep the switch on.

Absolutely worst thing that can happen if you do it this way, is 
destructing a slot-select signal output of some custom IC (S-3527 
MSX-engine for instance), which would make this particular 
cartridge-slot useless.
In practice, you would probably have to short-circuit it for a long 
time (minutes, hours) to do so, and in fact I doubt it would ever 
happen (if only 1 output is short-circuited, for most IC's this means 
no more than handling the excessive heat-production caused by the 
short-circuit current of this 1 output, making it 'peanuts' for many 
IC's).

All clear now?


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://www.twente.nl/~cce/index.htm(computerclub Enschede)
http://huizen.dds.nl/~alwinh/msx
(yep, some MSX-pages of my own have appeared, I called it 'the MSX 
Tech Doc page', a bit empty now, just my MSX Super Turbo circuit, and 
a home-built cartridge-loader (check it out if you could use one!), 
but more will come...in time)



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: VDP 9938

1999-02-09 Thread Alwin Henseler



> By the way, there are some bits in a VDP register controlling "VRAM
> config". Have you tried them? Any effect?
> 
I tried these once, I can't remember having noticed ANY effect. I can 
imagine this: some older DRAM-IC's (like ...K x 1 bit types) have 
separate data inputs and outputs, and/or require different timings 
for the control signals. My guess is, that these VDP-bits indicate to 
the V9938, what timings/control methods to use.
In practice, it's probably so, that the usually used 64 K x 4 bit 
DRAM's also accomodate timings as used for older DRAM's, making the 
exact method used a don't care (and therefore don't show any effect 
on common MSX machines).


Then somebody mentioned that he couldn't find any 'new' screen modes, 
well I know of one, but I guess this must be more or less known 
already, it's MSX-1 specific:

In SCREEN 1, colors for the characters are set for groups of 8 
characters. In SCREEN 2 (graphic mode), this is for each 'character' 
separate (background/foreground-color set per horizontal line of 8 
pixels, in both cases), and the screen consists of 3 groups of 256 
'characters'. I know of an 'in-between' of this, giving a textmode, 
with 256-element character-set, where for each character separately, 
a backgrond/foreground-color can be set per line of 8 pixels.
The BASIC listing below uses this effect, and you could study it, to 
see how it's done (not that I care, just maybe an interesting fact):


10 DEFINT A-Z
20 ' DE TRUC: (VARIATIE OP SCREEN 1)
30 BASE(5)=6144: BASE(6)=8192: BASE(7)=0: BASE(8)=6912:
 BASE(9)=4096
40 SCREEN 1: COLOR 10,1,1: CLS
50 VDP(0)=VDP(0) OR 2: VDP(3)=159: VDP(4)=0
60 A=&HF3E9:K=16*PEEK(A)+PEEK(A+1)
70 FOR A=BASE(6) TO BASE(6)+2047: VPOKE A,K: NEXT
80 ' DRUK KARAKTERSET AF
90 FOR K=32 TO 255: PRINT CHR$(K);: NEXT K 
100 ' STEL KLEURKODES IN VOOR 'SCHADUWLETTERS' 
110 FOR K=0 TO 255
120 A=BASE(6)+8*K
130 VPOKE A+3,144: VPOKE A+4,144
140 VPOKE A+2,128: VPOKE A+5,128
150 VPOKE A+1,96: VPOKE A+6,96
160 VPOKE A,208: VPOKE A+7,208
170 NEXT K
180 ' ZET NOG EVEN EEN SPRITE OP HET SCHERM
190 SCREEN ,2: S$="": RESTORE 220
200 FOR N=0 TO 31: READ B$: S$=S$+CHR$(VAL("&H"+B$)): NEXT N
210 SPRITE$(0)=S$: PUT SPRITE 0,(220,160),10,0
220 END
230 DATA 
3,F,1F,3F,3F,7F,7F,FF,FF,FF,7F,7F,3F,3F,1F,7,C0,F0,F8,38,7E,F8,E0,80, 
8 0,E0,F8,FC,F8,F0,E0,80

Ofcourse, on the V9938 and higher you can combine this with color 
palette functions. Maybe this works as well with SCREEN 4 (SCREEN 2, 
with improved sprite-functions), but I haven't tried that (who uses 
SCREEN 2 or 4 anyway).


What WOULD be interesting to know:

If there is a number of bits controlling the screen modes, and there 
are less screen modes, than possible combinations of these bits, WHAT 
screen-modes DO you get, when setting one of these undefined 
combinations that are possible?
If anyone ever figures this out, I'm sure it will interest some of 
us, so dump it on this mailing-list, should you find any answers to 
this


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://www.twente.nl/~cce/index.htm (computerclub Enschede)
http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)

Aaahhh, I think the weather clears up after all, and you can leave 
your umbrella's at home when going to Zandvoort...:->




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: some MSX HAS lightpen built-in

1999-02-09 Thread Alwin Henseler


Hi guys (& dolls?),


NYYRIKKI <[EMAIL PROTECTED]> wrote:


> This VDP is not so stuppid that it looks. I'm waiting instructions to
> build my own Light pen for it. I have heard, that it can use Light pen
> even in screen 0 and 1 !!! Why any MSX has no ready light pen connector ?
> Light pen is so sheap, and easy to make ! (it has only one
> light-transistor, one resistor, button and ofcource cable and connectors)

Oops! Some MSX HAVE a light-pen connection buit in, using the VDP!
I investigated a Korean-built MSX-2 once, it looked a bit like the 
Philips 8250/55, but with different parts, and highly incompatible 
with many MSX software.
This thing had a light-pen connector on the front of the machine, and 
curious as I was, I made a circuit diagram of the way it was hooked 
up to the VDP. Want it? Mail me!
(contents of the ROM in this machine, and other hardware details 
available as well). I do remember that the construction of this 
light-pen connection was really simple

Oh yeah, I'm talking about a Daewoo CPC-400S here (not such a funny 
looking 'gameconsole', but a 'regular' built home computer).


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx(MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(computerclub Enschede)



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: 8235/00 and 8235/20

1999-02-09 Thread Alwin Henseler



> >>Ah, the famous /20-series... Can anybody tell me the difference between
> >the
> >>VG8235 and the VG8235/20???
> 
A service manual I got, indicates there are even /02 and /19 types, 
apart from /00 and /20. I can't remember ever having seen a /02 or 
/19 type. I'm not quite sure, but I think there is a 8235/40 as well.

>From the outside, there's no difference to be seen, other than the 
type number on the bottom plate. The difference is on the inside.

>From a hardware-builders point of view, there's only 2 kinds of 
Philips 8235's: 'older models' (I think that would be /00 up to /19 
types), and 'new' models (that would be /20 or higher).

These older models have a relatively big motherboard, with a 
relatively large number of parts on them. The circuit is put together 
so clumsy in some ways, Philips ought to be ashamed to have attached 
their name to it once (for instance, the VERY first memory mapper 
circuits I built myself once, as an experiment, were put together 
better already than the circuits used inside these machines).
In fact, these machines are built so lousy in just about every way 
(never did like the 8235 anyway), that if you have one, there's no 
shame in piling these up in some corner, to maybe use them for spare 
parts some time.
I know, a REALLY sad, sad way to go for any computer ;-((
But hey, if you could use a part from such an old 8235 to bring 
another MSX back to life, that might be a good deal indeed...

The newer 8235 models have a completely different designed 
motherboard: much more compact, all ROM's packed together in one, 
etc. In fact, these 8235's look (on the inside) just like the Philips 
NMS 8245 (that one with DS drive, and non-adjustable keyboard). The 
print-layout IS different, but most (maybe even all?) parts are 
numbered/named the same as in the 8245. In fact, when you have such a 
newer model 8235 in front of you, you can just take the service 
manual for the NMS 8245, and use this as if it were of this 8235, 
just about everything checks out (you might have to look somewhere 
else on the circuit board for a certain part though)! Only power 
supply circuits, and mechanical construction differs between these 
newer 8235's, and the 8245 (and the SS vs. DS drive, ofcourse).

I guess that would explain the disappearing of such a dumb memory bug 
too, simply a more modern circuit & printed circuit board layout in 
the 8235/20.
BTW: I think this memory bug on older 8235's has some easy 'fix', I 
could try and look it up, if anyone wants it.

I'm not sure what this memory bug was about, I did reproduce it 
myself once or twice, it more or less simply came down to: 
'unreliable memory mapper switching'.


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)
http://www.twente.nl/~cce/index.htm(computerclub Enschede)

Aaahhh, for once, the weather really was great, today in Zandvoort!



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: Interrupts

1999-02-09 Thread Alwin Henseler


Hi,

> Rainier Maas schreef:
> 
>> Hi!
>>
>> I have a little question:
>>
>> -  Interrupt occurs
>> -> (DI)
>> -> Interrupt Routine (-> new interrupt occurs)
>> -> EI
>> -> ret
>>
>> What will happen if a NEW interrupt occurs when the MSX is
>> processing obove mentioned "routine-part"?
>>
>> - After switching the interrupts on, will the MSX remember the
>>   interrupt and calls again the interrupt-routine?
>>
>> OR:
>>
>> - Is the additional interrupt lost forever?

The interrupts (both maskable & non-maskable) are not 'remembered' by 
the Z80, they are only 'sampled' at certain times. If the interrupts 
are enabled at that time, the interrupt is 'taken', if they are 
disabled at that time, this particular interrupt is lost.

When a (maskable) interrupt is taken, an automatic "DI" is done, so 
that (maskable) interrupts are disabled right after that, followed by 
a restart-instruction, of which the address depends on the interrupt 
mode. With the normal IM 1 used in MSX, this is a "RST 38h" ("CALL 
38h"). A databook I have, says that during the acceptance of this 
interrupt, 2 extra wait states are added, to give the hardware extra 
time to place an interupt vector on the data bus in IM 2, but these 
extra wait states are also added for the other interrupt modes.

You SHOULD end a routine for processing maskable interrupts with RETI 
(RETurn from Interrupt).

BTW:  RETI <-> RET:
As far as I know, RETI and RET work exactly the same in all respects, 
and are different only in the exact instruction bytes, and the number 
of T cycles they consume. My guess is, that RETI simply serves to 
INDICATE that it ends an interrupt-routine, rather than a normal 
subroutine. For the rest, it's my belief that these 2 instructions 
can fully replace each other (so that you can use a RET wherever a 
RETI is used, and vice versa). There IS a difference between RETN 
(with NON-maskable interrupts) on the one hand, and RET/RETI on the 
other hand, but did anyone ever find a difference between RET and 
RETI (other than instruction bytes and T cycles)?


When you want interrupts to keep occuring, than you have to re-enable 
interrupts ("EI") SOMEWHERE before the end of the interrupt-routine.
I think in the MSX this is done somewhere after it has been 
determined that the interrupt actually came from the VDP (as it 
normally is), so that either the VDP can give a next interrupt after 
it was determined that this one came from it, or in the rest of the 
interrupt routine, interrupts remain disabled until some other source 
of the interrupt is determined.
Of course, when calling BIOS routines, or other subroutines in such 
an interrupt-processing routine, you have to carefully watch whether 
it's okay if interrupts are re-enabled at that time, or avoid using 
subroutines that re-enable interrupts.


Such an interrupt-routine might finally end with:

EI
RETI

When the EI instruction is executed, interrupts remain disabled (!) 
for 1 more INSTRUCTION, in other words: after the EI, an interrupt at 
that time would still not be accepted. First one more instruction is 
executed, and THEN another interrupt might be accepted.
In the above example, an interrupt between the EI and RETI would 
still be ignored, only after the RETI is executed, a new interrupt 
could occur.
This one-instruction delay after EI is provided, so that if you end 
an interrupt-routine with a RET(I) directly after the EI-instruction, 
the RET's get executed first (getting a return-address from the 
stack), so that the stack won't get bigger all the time if interrupts 
follow directly after each other.

For the rest, it's perfectly possible to have an interrupt-processing 
routine being interrupted, and this next routine being interrupted 
itself, etc. etc.

This is only limited by practical issues, like stack space, time 
required to process interrupts, and the frequency at which they 
occur. If you want things to keep working, you have to provide enough 
stack space, make sure that interrupts occur only at such a rate that 
the CPU can process them, and make sure an interrupt-processing 
routine is built properly.


Well, it's time to interrupt this thing now;-)


Greetings,

Alwin Henseler   ([EMAIL PROTECTED])

http://www.twente.nl/~cce/index.htm(computerclub Enschede)
http://huizen.dds.nl/~alwinh/msx (MSX Tech Doc page)



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




lightpens only directly hooked to V9938..

1999-02-09 Thread Alwin Henseler


Hi all,

I mentioned earlier a Korean MSX2 (Daewoo CPC-400S), with a 
lightpen-connection built in. Some of you got excited, and said: why 
not hook this to my MSX? Just a couple of wires to the VDP

There's a couple of things I forgot to mention here:

-I don't think you can do this with the MSX-1 VDP, at least not in 
the same way (apart from other ways of hooking up light-pens).
-In the V9958 (MSX 2+), this function is deleted. 'uninteresting'? 
Anyway, from V9938 -> V9958: composite video output and 
mouse/lightpen interface deleted, the signal pins involved used for 
something different. So this hooking up of a lightpen directly to the 
VDP, only goes with a V9938 (MSX-2)

Not that MSX-1 matters much in this repect...
About using a V9990 for this: I wouldn't know...


Need any software for it? Just debug any MSX-2 subROM, I think 
light-pen software is built in the same BIOS-routine(s) handling the 
mouse, and paddles, and graphic tablets, and lightpens (if any).

Interesting thought:
Maybe there already exists some software using such a lightpen (via 
these BIOS-routines), just nobody knows, because these lightpens are 
not around that much


Greetings,

Alwin Henseler([EMAIL PROTECTED])

http://www.twente.nl/~cce/index.htm(computerclub Enschede)
http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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: Return to interrupts

1999-02-09 Thread Alwin Henseler
) The RET after that is simply shorter, and faster than a RETI

The 'signal' function of a RETI mentioned earlier by someone, is 
simply not used in any MSX hardware, so ending the interrupt routine 
with a normal RET just makes it a tiny bit faster.


The rest of interrupt-related stuff is just a matter of how 
peripherals, like the VDP, generate them, and how you can control 
these peripherals doing this. Damn, these VDP's are complicated 
enough, though


I hope this helps things a bit further,

Alwin Henseler([EMAIL PROTECTED])

http://www.twente.nl/~cce/index.htm (computerclub Enschede)
http://huizen.dds.nl/~alwinh/msx(MSX Tech Doc page)



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: PAUSE key - no BlaBlaBla

1999-02-09 Thread Alwin Henseler
tofire (also 
working with the space bar), but NOT doing anything with CPU clock 
speed. In fact, I don't think there are ANY MSX-machines that have 
hardware for controlling CPU clock speed built in. Not even the 
Turbo-R, this thing doesn't change clock speeds, but changes CPU's 
instead...


I did figure out this about this MSX2+ hardware-controlled pause: a 
Z80 "DI" instruction seems to disable it (jippie! yes! chaka!). I'm 
not QUITE sure, check out this piece of code to make sure:


 DI
loop:
 (some dummy loop, taking up, say, 1 minute of CPU time)
 (no use of ANY other piece of hardware in this loop! No VDP, No 
I/O-ports, no memory-mapped I/O use!)

 EI
 RET


Make your MSX2+ (or Turbo-R in Z80 mode?) enter this loop, and after 
say, 5 seconds, press the pause key, wait, say 40-50 seconds, then 
press it again (get out your stopwatch).
If this pause function worked anyway, you should still have to wait 
some 55 seconds after that for the machine to come out of this loop. 
If the DI did disable the pause function, the pressing of the pause 
key within the loop would be ignored, and you would come out of this 
loop right after the 'planned' amount of CPU time is up.

There is one big problem with this: it seems that there are various 
low-level hardware-actions that immediately re-enable the pause 
function again:
-any VDP access, EVEN if still in "DI" state (damn..)
-Z80 "EI" instruction (regardless of interrupt routines used)

I'm not quite sure about these things either, and maybe there are 
more, you'd have to check these out one by one, for anything you plan 
on using during a period with pause disabled.

But you see, it might still be possible...
(hope this helps)


Alwin Henseler([EMAIL PROTECTED])

http://www.twente.nl/~cce/index.htm(computerclub Enschede)
http://huizen.dds.nl/~alwinh/msx  (MSX Tech Doc page)



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




  1   2   >