Memory mapper
Hi Does anyone have a schematic of a memory mapper that can use 1 MB SIMMs ? 2nd question: where do I get 50 pin header connectors or experimental MSX slot PCB's ? 3rd question: anybody happens to have the schematics of a Canon V20 MSX1 ? 4th question: does anyone know of a MSX-site that has anything related to MSX-hardware (schematics etc.) Thanx 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: [real coding] DOS2 and Memory...
At 10:13 PM 2/22/99 +0100, you wrote: [about using IM2] >You should set your >interruptpointer at address #C0FF instead. As some of you might know, the >databus in the MSX is connected to VCC with pull-up resistors. As a >consequence the Z80 will always fetch the value 0xFF when reading from the >databus at a moment that no device is writing to the databus. For example, >when the Z80 reads the databus in IM2 after having received an interrupt >request. Years ago, one of the NOP programmers told me that some devices do write a value to the databus during an interrupt. To make sure your program will work in any configuration, you need to fill 257 bytes with the same value. For example #81 for a routine at #8181. Bye, Maarten 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: [real coding] DOS2 and Memory...
] This is true on a standard MSX with correct devices connected to it. If on ] the other hand a device only checks IORQ and not M1, it might put data on ] the bus when it is read at interrupt-time (In this mode IORQ and M1 are ] both active). A device which ignores M1 does not respect the Z80 nor the MSX bus protocol, hence is not MSX compatible! Such a device will not only cause problems in IM2 but also in IM0 (the Z80 expects to get an instruction, in the MSX it will always be 0xFF which is RST 38h) and even in IM1 such a device may cause problems. In the last case because a device may generate wait-states. Especially when it is slow. This might impact the timing of games, copyprotections and other softwares that rely on accurate timing. And ofcourse it might also impact the functionality of the device itself. Some devices reset/set some internal bits after they have been read or think that they have been read. For example, the VDP resets the interrupt request bit after its status port has been read and it increases the address counter after its dataport has been read. Ofcoure, the I/O decoding for the VDP does respect the MSX bus protocol so we have never had any problems with that. Anyway, as far as I'm concerned you should ban devices from your MSX that are not MSX compatible. ] ] Conclusion: Putting the interrupt vector on [I]fe (I believe the ] last bit is set to 0, since a 2-byte address is fetched) should be enough The last bit is not set to 0 but read from the databus. Just like the other 7 bits. If you store the interrupt vector at the even address, your program will NOT work. Just try it. In a system that really supports IM2, you can have a convention that the device will only set the highest 7 bits and that the lowest bit musts always be set to 0. You can even enforce this with a specially designed circuit. But as far as the Z80 is concerned: it really reads all bits that are placed on the databus. In the case that an incompatible device would place an arbitrary number on the bus -which can be both an odd and an even number- there is only one real good solution: make sure that the high byte and the low byte of the interruptroutine are the same. For example: jumptable: equ &hc000 interrupt_routine: equ &h8080 ld a,.high. jumptable ld i,a ;initialize table ld hl,jumptable ld (hl),.low. interrupt_routine ;fill table up (from c000 upto and including c100) ld de,jumptable+1 ld bc,&H100 ldir org interrupt_routine ; the real interruptroutine But as I already mentioned, you should ban such a device from your MSX anyway. And when using only compatible devices, my original routine is sufficient (store the pointer only at ofset 0xff in the table). Kind regards, Alex Wulms -- Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever See my homepage for info on the *** XSA *** format http://www.inter.nl.net/users/A.P.Wulms 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: [real coding] DOS2 and Memory...
On Mon, 22 Feb 1999, Alex Wulms wrote: > Thinking that you should set the interruptvector at #C000 when you set I to > #C0 is a commonly made mistake in the MSX world. You should set your > interruptpointer at address #C0FF instead. As some of you might know, the > databus in the MSX is connected to VCC with pull-up resistors. As a > consequence the Z80 will always fetch the value 0xFF when reading from the > databus at a moment that no device is writing to the databus. For example, > when the Z80 reads the databus in IM2 after having received an interrupt > request. This is true on a standard MSX with correct devices connected to it. If on the other hand a device only checks IORQ and not M1, it might put data on the bus when it is read at interrupt-time (In this mode IORQ and M1 are both active). Conclusion: Putting the interrupt vector on [I]fe (I believe the last bit is set to 0, since a 2-byte address is fetched) should be enough on a corruct machine, but it is more secure to fill the whole table from [I]0 to [I]fe, so: jumptable: equ &hc000 ld a,.high. jumptable ld i,a ld hl,interrupt_routine ld (jumptable),hl ;fill table up ld hl,jumptable ld de,jumptable+2 ld bc,&Hfe ldir Bye, shevek --- Visit the internet summercamp via http://polypc47.chem.rug.nl:5002 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: [real coding] DOS2 and Memory...
] You probably won't get problems. ] However, in Dos it is easiest to replace the bytes at adress #38, for ] example putting a JP Interrupt there. In Basic, it is -to my opinion- better ] if you swith away the ROM, however you could also set the other interrupt ] mode (mode 2?) in which the high byte of the adress of a jumptable is set in ] the I-register and the low byte of the adress is determined by the devie. ] For example, set I to #C0, and then fill adresses #C000-#C0FF with words of ] the adress the interrupt should jump to (yes, indeed, the device can only ] set odd adresses) (there are no devices delivering this lower byte of the ] adress on the MSX. So #C000 can be assumed as the set adress. However, it is ] still safe to fill the omplete 128 words with the right value, just in ] case...) Hi people, Thinking that you should set the interruptvector at #C000 when you set I to #C0 is a commonly made mistake in the MSX world. You should set your interruptpointer at address #C0FF instead. As some of you might know, the databus in the MSX is connected to VCC with pull-up resistors. As a consequence the Z80 will always fetch the value 0xFF when reading from the databus at a moment that no device is writing to the databus. For example, when the Z80 reads the databus in IM2 after having received an interrupt request. This is for example a codefragment, which I used in the 'No Waste' demo: intvector: equ #88ff ; int. vector int mode 2 scroll: di im 2 ld a,.high. intvector ld i,a ; Startoffset for int table ld hl,vertint ld (intvector),hl ; Set interruptvector ei ret vertint:in a,(#99) ; some code cut-out ei reti Kind regards, Alex Wulms -- Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever See my homepage for info on the *** XSA *** format http://www.inter.nl.net/users/A.P.Wulms 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: [real coding] DOS2 and Memory...
>I read (nearly) all the messages from the last time... >- Oh my god! I really miss mails refering to (program-) technical thingies... > >So - lets start a "serious" thread... ;cP **Great** >DOS 2 & memory >-- >I found out that the DOS2 page-switch routines are >kinda slow. Does anybody know a simple, "legal", and >compatible way to speed up those bottlenecks? > >Compatible, because I dunno how many different versions >of DOS2 are in use. - And I want it to work with every >kind of DOS2. The segment number Dos2 returns is the same as the MemMap page-number. Therefor, you can use the number you get if you allocate a page with OUT (#FC-#FF). It is illegal (ofcourse), but it works. This way you an also switch away page 3. But beware: If you set pages this way and you want to read from disk to that page the Bdos sets the old page he's got in his table. Really, these routines are made as fast as possible, so don't worry about speed. And if you do use the thing stated above, take care... >Oh - another question comes in mind: >In DOS1 you are not allowed to "ask" the outs (#fe...) about >the page number which they may contain. You can't. Just use the pages starting with 0. So if you need 96k then use pages 0-5... >-> How will I know which ones are selected? >-> Is there a _STANDARD_ definition which > memmaps are selected after the bootstrap? In dos1, the following table is valid: -3FFF: page 3 4000-7FFF: page 2 8000-BFFF: page 1 C000-: page 0 In Dos2 you should request the segment-nrs. using Get_Seg. >DOS2 and Interrupts: > >I want to redirect the standard-interrupt (with use of >IMx). Will I get troubles if there is NO(!) ROM selected >in page0/1 the whole time? - I dont wanna load in this >situation, only wanna switch mem... You probably won't get problems. However, in Dos it is easiest to replace the bytes at adress #38, for example putting a JP Interrupt there. In Basic, it is -to my opinion- better if you swith away the ROM, however you could also set the other interrupt mode (mode 2?) in which the high byte of the adress of a jumptable is set in the I-register and the low byte of the adress is determined by the devie. For example, set I to #C0, and then fill adresses #C000-#C0FF with words of the adress the interrupt should jump to (yes, indeed, the device can only set odd adresses) (there are no devices delivering this lower byte of the adress on the MSX. So #C000 can be assumed as the set adress. However, it is still safe to fill the omplete 128 words with the right value, just in case...) 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
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/)
AW: Memory...
> -- > Van: Laurens Holst[SMTP:[EMAIL PROTECTED]] > Verzonden:dinsdag 12 januari 1999 15:48 > Aan: [EMAIL PROTECTED] > Onderwerp:Re: Memory... > > In MSX INFO BLAD Hans van Oranje wrote how to use SIMMs as MSX-RAM... > So I guess it depends on the price of SIMMs and the parts used... > > Willem Cazander told me this design was not optimal, but I guess the > design > he was talking about is a little more expensive... > > > ~Grauw > I know that there are kits available to build normal PC SIMMS into an MSX Turbo R I bought such a kit last year (40 guilders). This was a set for Turbo R, but maybe there are also kits for other Panasonic computers. Robert > > 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 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/)
AW: Memory...
>Too much. Programmes don't arrive even to 512 K. >If you refer to the price, something like 85 US$ or so... > >BTW, did you were a programmer for Sunrise and or Cain? Moonsoft and Sunrise, but not a programmer, btw... I was involved with the Sunrise Picturedisc and made songs for Moonblaster (and I was alpha and beta tester for MB). Grtz Coen 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: Memory...
In MSX INFO BLAD Hans van Oranje wrote how to use SIMMs as MSX-RAM... So I guess it depends on the price of SIMMs and the parts used... Willem Cazander told me this design was not optimal, but I guess the design he was talking about is a little more expensive... ~Grauw 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: Memory...
At 15:39 08/01/99 +0100, you wrote: >Maybe an odd question but how much is 4 MB memory for the MSX nowadays? Enough 4 all the crazy things that I've in mind! 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/)
Memory...
Maybe an odd question but how much is 4 MB memory for the MSX nowadays? Grtz Coen 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: Memory...
Hi! >Maybe an odd question but how much is 4 MB memory for the MSX nowadays? > Depends on where you buy it. The cheapest I have seen is the Padial´s one. It´s wthout the box, only the card. It cost approx 80USD. Grets from TRD __ Get Your Private, Free Email at http://www.hotmail.com 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: Memory...
On Fri, 8 Jan 1999 15:39:37 +0100, Coen van der Geest wrote: >Maybe an odd question but how much is 4 MB memory for the >MSX nowadays? Too much. Programmes don't arrive even to 512 K. If you refer to the price, something like 85 US$ or so... BTW, did you were a programmer for Sunrise and or Cain? CYA Get EuroLinked!!! [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: Memory...
Coen van der Geest wrote: > > Maybe an odd question but how much is 4 MB memory for the MSX nowadays? Too much :-) ,_. _=_=_=_=!_MSX_!=_=_=_=_=_=_=_=_, ! A1ST ~--- - I ( o o o o o o )i /`, / .::;::; ., / :::.:.:.::::!. -=- `, ~== NYYRIKKI : [EMAIL PROTECTED] ICQ:24863850 http://www.clinet.fi/~nyke 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/)
memory problems with fmsx
Hi to all, I'm here again for another question about fmsx. I made a .dsk copy of xevius (space arcade), but this is one of that games that when starts needs to press ctrl to have more memory. I tried with poke &h,170, but it doesen't work. I also tried with -ram 32, -ram 16, -rom 1, but nothing. Can someone suggest me a solution ? Thanks --- Fronteddu Stefano [EMAIL PROTECTED] [EMAIL PROTECTED] 0338/3645458 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: Memory...
>In MSX INFO BLAD Hans van Oranje wrote how to use SIMMs as MSX-RAM... >So I guess it depends on the price of SIMMs and the parts used... > >Willem Cazander told me this design was not optimal, but I guess the design >he was talking about is a little more expensive... Are those schematics online somewhere? Or can somebody mail them to me? Second hand SIMM's aren't that expensive... Jasper Lautenbag. 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: Memory...
On Tue, 12 Jan 1999 17:24:17 +0100, J. Lautenbag wrote: >>In MSX INFO BLAD Hans van Oranje wrote how to use SIMMs as MSX-RAM... >>So I guess it depends on the price of SIMMs and the parts used... >> >>Willem Cazander told me this design was not optimal, but I guess the >design >>he was talking about is a little more expensive... > >Are those schematics online somewhere? Or can somebody mail them to me? >Second hand SIMM's aren't that expensive... Yeah, I'm interested too !! There's no nothing like that for Philips 8245 ? by Frengo Web Editor of : Miri Software MSX Computer System Italy e-mail (Leader) : [EMAIL PROTECTED] e-mail : [EMAIL PROTECTED] HomePage :http://Frengo.dragonfire.net/MSX.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: memory problems with fmsx
>I tried with poke &h,170, but it doesen't work. I also tried with -ram >32, -ram 16, -rom 1, but nothing. >Can someone suggest me a solution ? The POKE -1,shit is different for every machine. Try with this universal formula: POKE -1,((PEEK(-1)XOR&HFF)AND&HF0)*1.0625 It should work if the emulator is minimally good (BTW I don't know becasue I don't use emulators...) --- Konami Man - AKA Nestor Soriano (^ ^)Y Itsumo MSX user [EMAIL PROTECTED] http://www.geocities.com/SiliconValley/Bay/9797/msx.htm This Pentium will become obsolete in 5 seconds... 4... 3... 2... --- 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: memory problems with fmsx
Stefano Fronteddu wrote: > > Hi to all, > I'm here again for another question about fmsx. I made a .dsk copy of > xevius (space arcade), but this is one of that games that when starts needs > to press ctrl to have more memory. > I tried with poke &h,170, but it doesen't work. I also tried with -ram > 32, -ram 16, -rom 1, but nothing. > Can someone suggest me a solution ? > Thanks Just use the "rom" vesion of xevious.Try fmsx xevious.rom and that's it.I got it and it works just fine. Greetx, -- Jorge Vidal Wulff [EMAIL PROTECTED] [EMAIL PROTECTED] Licenciatura en ciencia de la computación. Depto. de Matemática y ciencia de la Computación. Universidad de Santiago de Chile - USACH. 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: Memory...
On Tue, 12 Jan 1999, J. Lautenbag wrote: > >In MSX INFO BLAD Hans van Oranje wrote how to use SIMMs as MSX-RAM... > >So I guess it depends on the price of SIMMs and the parts used... > > > >Willem Cazander told me this design was not optimal, but I guess the > design > >he was talking about is a little more expensive... > > Are those schematics online somewhere? Or can somebody mail them to me? > Second hand SIMM's aren't that expensive... Please put them online. I would like them too. Bye, shevek 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/)
Another memory problem?
Greetings Erik Maas, EM>H What was the subject that resulted into these Flash >memory topics??? Hmmm... maybe you could use a little nonvolatile memory yourself! ;) Here's a refresher, of the note that I replied to... On Wed, 7 Oct 1998, MetalGear wrote: >> De : Gabriel D. <[EMAIL PROTECTED]> >> Date : mercredi 7 octobre 1998 12:18 >> >> >> >1. I´m wondering how is the SRAM memory of Panasonic FM-PAC kept alive? >> >Is there a battery (rechargeable?) inside ? >> >I just don´t dare to splity my cartridge to check :-) >> >> >> 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. >> >> if I'm wrong, I hope to receive a copy of the correct information ;-) > >FLASH memory must be erased/rewritten by writing a (complex) bytesequence >to certain memorylocations. So you can't use it as RAM. > >Jon De Schrijder <[EMAIL PROTECTED]> Cheers, Greg_ http://www.netcom.ca/~telic 1998.Oct.13, Toronto, Canada 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: Memory...
-Oorspronkelijk bericht- Van: shevek <[EMAIL PROTECTED]> Aan: [EMAIL PROTECTED] <[EMAIL PROTECTED]> Datum: dinsdag 12 januari 1999 18:16 Onderwerp: Re: Memory... >On Tue, 12 Jan 1999, J. Lautenbag wrote: > >> >In MSX INFO BLAD Hans van Oranje wrote how to use SIMMs as MSX-RAM... >> >So I guess it depends on the price of SIMMs and the parts used... >> > >> >Willem Cazander told me this design was not optimal, but I guess the >> design >> >he was talking about is a little more expensive... >> >> Are those schematics online somewhere? Or can somebody mail them to me? >> Second hand SIMM's aren't that expensive... > >Please put them online. I would like them too. In MSX-Info Blad 8 there was a complete description of how to build SIMM memory into a Philips NMS 8250/55/80 or into a Sony HB-500. In all MSX-computers with a S-3527 engine this can be done! Unfortunately this description is in Dutch only. If you can read Dutch, then you might consider to order this issue of MSX-Info Blad. You can do this by contacting Rinus Stoker on [EMAIL PROTECTED] or me on [EMAIL PROTECTED] ! The e-mail address of the author is [EMAIL PROTECTED] Without permission of MSX-Info Blad or the author this information may not be distributed freely! Greetings, Gerrit van den Berg MSX-Info Blad 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 BASIC compiler (dynamic memory)
Marcelino Luna Espinosa <[EMAIL PROTECTED]> wrote: [CUT] > Yes, I'm a C maniac : )In fact, i want to make possible > dynamic memory (one of the best carachteristics of high level > languages) in the BASIC compiler, but I don't know how to > implement it. Does anybody knows? Maybe the idea is silly, but I'll tell about it: since the new BASIC compiler must be in memory to permit new development in this new BASIC, why not simple write a tiny C program, (once compiled, it's machine code, isn't it ;-) that only contains a "int" variable, set to what ever you want, plus a "malloc()" instruction sized to your int * sizeof(char), and once done, just unassemble this program, to see what's the ML code for a malloc in C ;-) (or even better, compare the code with and without the malloc() instruction) [CUT] I hope I understood "dynamic memory" the same way you did... And if you meant "untyped" variable, thing about imitating the "VARIENT" type from MS-VisualBasic... (IMHO very very silly) it will be a very consuming memory system... MetalGear --- Email: [EMAIL PROTECTED] [EMAIL PROTECTED] WEB:http://www.ping.be/metalgear Les Petits Déjeuners du Cinéma http://www.ping.be/metalgear/ptitdej Forum MSX mag. http://www.mygale.org/05/forummsx http://www.ping.be/metalgear/mirror/forummsx --- 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/DD2
> > > 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). You're right! Last night, I also got the idea to use MCM's MSXMEM, and those computers have indeed the SAME memory-layout (as described above)! > > 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! > > Ehhh, this memory mapper SIZE is not what does it, is it? You're right again, the size is not what it does... However, I now know what does it: In my 8255 I have a DOS2 built-in. With DOS2 activated, the game doesn't crash at all, also it doesn't matter whether CTRL is pushed or not. I also tried to run the game on my 8235 with a DOS2-cartridge, and naturally the game runs as well... But in the version I have, you can choose the stage you want to play in the beginning, but when you are supposed to progress to the next stage, you start in the same stage again??? > 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) Sorry, I'm not (yet) a programmer... Greetings, See Loy. 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/)
Memory, memory, memory...
Ramon, > STOPPP!!! > Do you know how can this computer (FS A1 WX) be upgraded or > you have any schem about it? I'm interested on it (and not > just to 128 kb). I found in a old MSX Magazine. But, like A1ST, it have a space to place the memory chips, or not? But the text is in japanese and is a 128Kb upgrade for A1WX (with 64Kb of RAM), because the A1WSX was sold with 128Kb of RAM. I have a A1ST with a internal expansion from 1024Kb using a 30 pin SIMM module. I don't have this schem but involve connections with S1990 and R800. --- Giovanni Nunes http://www.geocities.com/ResearchTriangle/2472 Email: [EMAIL PROTECTED] "Os numeros complexos sao nossos amigos" 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/)
Ramfile memory expansion...
Greetings Jimmy Hoffa, JH>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" >The ROM is of kind "HN27128AG-25". >Please help me with this. :) An optimistic answer is "Maybe", depending on the Ramfile hardware and firmware. The likely realistic answer is "No". The two 6264s are 8k static RAM (SRAM) chips; the 27128 is a 16k EPROM chip -- for a total of 8k+8k+16k = 32k memory. The next larger capacity SRAM is the 32k 62256. The physical difference between the 6264 & 62256 is pin #1; for the 6264 pin #1 is "no connection"; for the 62256, pin #1 is address line bit 14. There are 3 potential obstacles to expanding Ramfile memory... 1) Hardware. If the Ramfile designers left the two SRAM pin-1 unconnected, you can't use a 62256 as is; you'd have to do some soldering-iron surgery to the circuit board. 2) Firmware. If that 27128 EPROM code doesn't know to use any more than 16k, then adding more memory hardware won't help. 3) Memory map. The MSX uses a banked memory-mapping scheme to get around the Z-80's 64k limit. Adding memory must take into account where the new memory will reside, to avoid conflicts with other memory banks, and then the hardware decoding and firmware bank-switching routines created accordingly. Greg_ http://www.netcom.ca/~telic 98.Sept.13, Toronto, Canada. 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/)
Question about 8235/00 , 8235/20 + Memory mapper designs
Philip wrote: >>>Ah, the famous /20-series... Can anybody tell me the difference between >>the >>>VG8235 and the VG8235/20??? > > >Well, as far as I know, there is just a little difference between these two >machines. I used to have the 00-version and that caused many problems!! > >Why, coz the 00 has a hardware memory bug, which makes it IMPOSSIBLE to play >most cracked MEGAroms on disk, although you HAVE the necessary 128kB of >memory. In the 20-versions, the bug is solved, so with that machine, you CAN >play the cracked games... > >Greetz, > Does this problem have something to do with the read of the mapper registers ? I know that some of the japanese memory mappers has no possibility to reply the data on the mapper registers , making it unreadable. (You get only FF from it when reading) Wich makes allmost all dutch software unusable on it. I was working on my own memory mapper project using static memory chips. I used 8 62256 , 2 74ls138 , 1 74ls30 and 2 74ls670 The 1st 74ls670 does the mapper mapping and the second holds the register value to make the mapper ports readable. Without this second one I noticed that programs like Moonblaster or any other european software wich uses mapper hangs or resets the coputer while loading. By adding the 2nd 74ls670 I got all the tested software running fine I´m going to put the schematics online when I finish all my MSX hardware projects . -- Leonard Silva de Oliveira MSX user since 1987 MSX users channel on the undernet : #MSX the MSX user's channel Nickname : Vic_Viper [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: Question about 8235/00 , 8235/20 + Memory mapper designs
Leonard Silva de Oliveira schreef: > Philip wrote: > >>>Ah, the famous /20-series... Can anybody tell me the difference > between > >>the > >>>VG8235 and the VG8235/20??? > > > > > >Well, as far as I know, there is just a little difference between > these two > >machines. I used to have the 00-version and that caused many > problems!! > > > >Why, coz the 00 has a hardware memory bug, which makes it IMPOSSIBLE > to > play > >most cracked MEGAroms on disk, although you HAVE the necessary 128kB > of > >memory. In the 20-versions, the bug is solved, so with that machine, > you > CAN > >play the cracked games... > > > >Greetz, > > > > Does this problem have something to do with the read of the mapper > registers ? > I know that some of the japanese memory mappers has no possibility to > reply the data on the > mapper registers , making it unreadable. (You get only FF from it when > reading) > No this problem is a pure disign problem , it has something to do with incorrect timing > Wich makes allmost all dutch software unusable on it. I was working on > my own memory mapper > project using static memory chips. > I used 8 62256 , 2 74ls138 , 1 74ls30 and 2 74ls670 > The 1st 74ls670 does the mapper mapping and the second holds the > register value to make the > mapper ports readable. Without this second one I noticed that programs > like Moonblaster > or any other european software wich uses mapper hangs or resets the > coputer while loading. > > By adding the 2nd 74ls670 I got all the tested software running fine > > most MSX's (like the NMS8250) use only 1 LS670 but the use a LS125 for readbackthe design with 2 LS670 (also used in the megamapper from digital KC) will use less components (1 IC less) but a more complicated pcb design. > I´m going to put the schematics online when I finish all my MSX > hardware projects . > greetings erik de boer -- 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: Question about 8235/00 , 8235/20 + Memory mapper designs
:Does this problem have something to do with the read of the mapper :registers ? :I know that some of the japanese memory mappers has no possibility to :reply the data on the :mapper registers , making it unreadable. (You get only FF from it when :reading) : :Wich makes allmost all dutch software unusable on it. I was working on :my own memory mapper Well I think (hope) every programmer knows that the result of a readout of ports #FC-#FF cannot be trusted... ~Grauw 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: [real coding] DOS2 and Memory...
Hi! I've got a mistake to fix... I wrote: >Did you know that you shouldn't put the MoonSound volume too high? If you >do, it will clip the sound and it will sound bad. >I made a single channel that plays a sample which uses the full amplitude >range. I put the volume for that channel on maximum and put the mixer on >maximum too. About one third of the sample was clipped! And this occurs when >playing a single channel, the other 23 were silent. >Does anyone know what mixer setting MoonBlaster uses? I use %010 (2) for >both channels now, that avoids clipping in most cases and is still loud >enough. Well, it was my PC soundcard (PCI SoundBlaster) that did the clipping. I blamed the MoonSound although it was not doing anything wrong... The strange thing is that my soundcard clips around sample value 24000, instead of 32767 as one would expect of a 16-bit sample. That's why I thought the MoonSound did the clipping. OK, a new MSX sound card trivia: Did you know that Konami used 90 different SCC instruments in Solid Snake? And it seems they can also mix instruments when playing, creating a new waveform from two different source waveforms. This feature is not present in any other Konami replayer I've ever seen. Bye, Maarten 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: [real coding] DOS2 and Memory...
] I've been wondering. Except for the opcode and the timing, is there a ] difference between RET and RETI? I know RETN does iff1=iff2, RET. But my ] documentation on RETI only says that the program knows the interrupt is ] finished. Quoted from a book about the Z80, describing the RETI instruction: 'The Zilog-periferal-chips can see that an interrupt routine has ended by the fact that the ED and 4D opcodes appear on the databus during the M1 cycle. When using a daisy chain, this instruction makes sure that nested interrupts with different priorities are handled in the proper order, by resetting the IEO of the device for which the interrupt service routine has just finished' As you can understand from the above description, using the RETI instruction does not make much sense in a standard MSX computer. The standard MSX computer simply does not have any hardware device monitoring the bus to see if the RETI instruction has been executed. Though, one might build a cartridge or a hardware extension with such a hardware device... Kind regards, Alex Wulms -- Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever See my homepage for info on the *** XSA *** format http://www.inter.nl.net/users/A.P.Wulms 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: [real coding] DOS2 and Memory...
On Fri, 5 Feb 1999, Maarten ter Huurne wrote: > The default MSX interrupt handler pushes all registers (normal and > alternative) to the stack. This is safe, but slow. > If you choose not to use the alternative registers in your program, and not > to use them and IX and IY in your interrupt routine, you can make a much > faster interrupt handler: > > intHandler: > ex af,af' > exx > ... handle interrupt ... > exx > ex af,af' > ei > ret I've been wondering. Except for the opcode and the timing, is there a difference between RET and RETI? I know RETN does iff1=iff2, RET. But my documentation on RETI only says that the program knows the interrupt is finished. Now my programs don't know anything themselves... Is it just to be compatible with later (or earlier) versions of the Z80, which might do something different, or does it do something I don't know about? Bye, shevek --- Visit the internet summercamp via http://polypc47.chem.rug.nl:5002 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: [real coding] DOS2 and Memory...
At 08:31 PM 2/5/99 +0100, you wrote: >DOS 2 & memory >-- >I found out that the DOS2 page-switch routines are >kinda slow. Does anybody know a simple, "legal", and >compatible way to speed up those bottlenecks? Slow? This is what PUT_P2 does on my GT: jp #EE3A #EE3A: ld (#F2C9),a out (#FE),a ret If that is too slow for your program, maybe you are simply doing too many page switches... But, if you really need to do it faster, here are a couple of suggestions: You can "safely" assume that the jump table only contains "C3 ll hh" entries. So you can jump to "hhll" instead of jumping into the jump table. Saves one jp instruction. A bit more risky solution is to use the addresses #F2C7..#F2CA hardcoded in your program. I think that will work on all current DOS2 implementations, but it's not good conduct. Anyway, this will save one CALL/RET pair, which only a couple of clockticks, so don't do it unless you really need the speed. >Oh - another question comes in mind: >In DOS1 you are not allowed to "ask" the outs (#fe...) about >the page number which they may contain. > >-> How will I know which ones are selected? You can assume the mapper registers are initialised like this: #FC : mapper page 3 #FD : mapper page 2 #FE : mapper page 1 #FF : mapper page 0 This is true in DOS, BASIC and when booting. I can't think of any other situation from which your program is executed. >-> Is there a _STANDARD_ definition which > memmaps are selected after the bootstrap? See above. >DOS2 and Interrupts: > >I want to redirect the standard-interrupt (with use of >IMx). Will I get troubles if there is NO(!) ROM selected >in page0/1 the whole time? - I dont wanna load in this >situation, only wanna switch mem... As long as there is an interrupt handler where the Z80 expects it, there is no problem. An interrupt handler can be located in RAM. You can use IM2 to set up an interrupt handler at any address, but it's cumbersome to make it compatible. There was a discussion about this on this list a while ago. If putting the interrupt handler at #0038 is no problem, you can stick with the normal interrupt mode (IM1). There are a couple of things an interrupt handler must do: - tell the device that caused the interrupt that it can stop asking for an interrupt (example: read VDP status register 0) - after that and before the end of the interrupt handler, execute the EI instruction - modify absolutely none of the registers that are used by the program running About that last point: The default MSX interrupt handler pushes all registers (normal and alternative) to the stack. This is safe, but slow. If you choose not to use the alternative registers in your program, and not to use them and IX and IY in your interrupt routine, you can make a much faster interrupt handler: intHandler: ex af,af' exx ... handle interrupt ... exx ex af,af' ei ret For a normal 50/60Hz interrupt, such a speedup is not necessary. But if you use more frequent interrupts (line interrupts, OPL1 or OPL4 timer), it could be a good idea. >hope to get interesting answers... Thanks for the opportunity to boost the tech-level on this list. I wonder why there is more chatting on this list than on the MSX IRC channel... Today's MSX soundcard trivia: Did you know that you shouldn't put the MoonSound volume too high? If you do, it will clip the sound and it will sound bad. I made a single channel that plays a sample which uses the full amplitude range. I put the volume for that channel on maximum and put the mixer on maximum too. About one third of the sample was clipped! And this occurs when playing a single channel, the other 23 were silent. Does anyone know what mixer setting MoonBlaster uses? I use %010 (2) for both channels now, that avoids clipping in most cases and is still loud enough. Bye, Maarten 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/)
[real coding] DOS2 and Memory...
Hi! I read (nearly) all the messages from the last time... - Oh my god! I really miss mails refering to (program-) technical thingies... So - lets start a "serious" thread... ;cP DOS 2 & memory -- I found out that the DOS2 page-switch routines are kinda slow. Does anybody know a simple, "legal", and compatible way to speed up those bottlenecks? Compatible, because I dunno how many different versions of DOS2 are in use. - And I want it to work with every kind of DOS2. Oh - another question comes in mind: In DOS1 you are not allowed to "ask" the outs (#fe...) about the page number which they may contain. -> How will I know which ones are selected? -> Is there a _STANDARD_ definition which memmaps are selected after the bootstrap? DOS2 and Interrupts: I want to redirect the standard-interrupt (with use of IMx). Will I get troubles if there is NO(!) ROM selected in page0/1 the whole time? - I dont wanna load in this situation, only wanna switch mem... hope to get interesting answers... greetz JJoS (or call me chief-gavaman) 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/)