1. Poke, poke....
- Posted by mistertrik at hotmail.com Nov 26, 2001
- 382 views
Hey Euphoria people.... I'm making a simple graphics library that will be able to do page flipping style graphics... ie: draw everything to buffer, then call update() to show it onscreen, to stop flickering. I haven't been able to find anything of the sort on the website, and I wanted something of the sort. My problem is: If I am in graphics mode 18... I can just poke the color value I wish into the correct memory location. However, in any other mode.. it does these strange monochrome patterns.. I guess corresponding to the bits of the number I inserted. How do I poke the values properly? Another thing, where are the machine code libraries? and their documentation? Thatz all for now ===================================================== "A social life? Where can I download that from?" ______<-------------------\__ / _____<--------------------__|=== ||_ <-------------------/ \__|Mr Trick
2. Re: Poke, poke....
- Posted by pampeano at ROCKETMAIL.COM Nov 26, 2001
- 391 views
Hi Trick, I can't answer you question, I tried once to make an engine like that but my attemps failed. But I can suggest you to take a good look at the contributions, I have Mode19, M19lib, ModeX, Neil, Vgraph and more libraries that helps to do thing like using a buffer. Best Regards, Guillermo Bonvehi AKA: Knixeur PS: Another engine would be great of course =) --- mistertrik at hotmail.com wrote: > > Hey Euphoria people.... > > I'm making a simple graphics library that will be able to do page > flipping > style graphics... > ie: draw everything to buffer, then call update() to show it > onscreen, to > stop flickering. > > I haven't been able to find anything of the sort on the website, and > I > wanted something of the sort. > > My problem is: > > If I am in graphics mode 18... I can just poke the color value I wish > into > the correct memory location. > However, in any other mode.. it does these strange monochrome > patterns.. I > guess corresponding to the bits of the number I inserted. How do I > poke the > values properly? > > Another thing, where are the machine code libraries? and their > documentation? > > Thatz all for now > ===================================================== > "A social life? Where can I download that from?" > ______<-------------------\__ > / _____<--------------------__|=== > ||_ <-------------------/ > \__|Mr Trick > > > > ===== Best Regards, Guillermo Bonvehi AKA: Knixeur - Caballero Rojo
3. Re: Poke, poke....
- Posted by mtsreborn_again at yahoo.com Nov 26, 2001
- 386 views
First of all, mode 18 is 640*480 in size, you can't just poke values for a 640*480 screen to #A0000 or you'll get a machine exception. Any screen larger than 320*240 can't be poked to video memory directly. You ought to use bank switching to divide a larger screen up into 320*240 parts. So basically what I'm saying is that poking only works in mode 19. Use Vesa20.e to be able to draw your backbuffers to the screen in any video mode. Make sure you remember that a 256-color display needs 1-byte per color, 16-bit color 2, and 24/32 bit color 4 bytes. So 'back = allocate(640*480)' for a 256-color backbuffer, and 'back = allocate(640*480*4)' for a 32-bit color backbuffer, for example. Use poke() and poke4() to write the colors to the backbuffer. --- mistertrik at hotmail.com wrote: > > Hey Euphoria people.... > > I'm making a simple graphics library that will be > able to do page flipping > style graphics... > ie: draw everything to buffer, then call update() to > show it onscreen, to > stop flickering. > > I haven't been able to find anything of the sort on > the website, and I > wanted something of the sort. > > My problem is: > > If I am in graphics mode 18... I can just poke the > color value I wish into > the correct memory location. > However, in any other mode.. it does these strange > monochrome patterns.. I > guess corresponding to the bits of the number I > inserted. How do I poke the > values properly? > > Another thing, where are the machine code libraries? > and their > documentation? > > Thatz all for now > ===================================================== > "A social life? Where can I download that from?" > ______<-------------------\__ > / _____<--------------------__|=== > ||_ <-------------------/ > \__|Mr Trick > > > > > >
4. Re: Poke, poke....
- Posted by Igor Kachan <kinz at peterlink.ru> Nov 27, 2001
- 385 views
Hello mtsreborn_again, ---------- > Îò: mtsreborn_again at yahoo.com > Êîìó: EUforum <EUforum at topica.com> > Òåìà: Re: Poke, poke.... > Äàòà: Tuesday, November 27, 2001 10:34 > First of all, > mode 18 is 640*480 in size, > you can't just poke values for a 640*480 > screen to #A0000 or you'll get a > machine exception. No, you *can* just poke byte values in mode 18 from #A0000 address. But these *byte values* take 8 dots in horisontal line, same as bits in those bytes - black or not black. So, you'll get 640 dots in one line with just 80 addresses from #A0000 to #A0000 + 79 (see 79 is decimal) for y coordinate = 0 That *not black* is color #15. If you change the palette of 15 color then all not black dots will have new mono-color. Very handy for very very fast output of the text in 18 mode on black background. See for example my n-font package at : http://www.rapideuphoria.com/n-font.zip and Polyglot package at: http://www.rapideuphoria.com/polygl_b.zip http://www.rapideuphoria.com/polyglot.zip which use this trick for the fast printing in classic mode 18. Regards, Igor Kachan kinz at peterlink.ru
5. Re: Poke, poke....
- Posted by mtsreborn_again at yahoo.com Nov 27, 2001
- 384 views
Granted, but I was talking about actually displaying some colors :p That's what this guy is doing wrong, he probably thinks color values can be poked as-is. Mike The Spike --- Igor Kachan <kinz at peterlink.ru> wrote: > No, you *can* just poke byte values in mode 18 > from #A0000 address. > > But these *byte values* take 8 dots in horisontal > line, same as bits in those bytes - > black or not black. > > So, you'll get 640 dots in one line with just > 80 addresses from #A0000 to #A0000 + 79 > (see 79 is decimal) for y coordinate = 0 > > That *not black* is color #15. > If you change the palette of 15 color then > all not black dots will have new mono-color. > > Very handy for very very fast output > of the text in 18 mode on black > background. > > See for example my n-font package at : > > http://www.rapideuphoria.com/n-font.zip > > and Polyglot package at: > > http://www.rapideuphoria.com/polygl_b.zip > http://www.rapideuphoria.com/polyglot.zip > > which use this trick for the fast printing > in classic mode 18. > > Regards, > Igor Kachan > kinz at peterlink.ru > > > > > >