Qbasicnews.com
February 28, 2020, 05:30:57 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Back to Qbasicnews.com | QB Online Help | FAQ | Chat | All Basic Code | QB Knowledge Base
 
   Home   Help Search Login Register  
Pages: [1] 2
  Print  
Author Topic: ASCII Graphics Challenge! :P  (Read 11670 times)
adosorken
*/-\*
*****
Posts: 3655



WWW
« on: December 18, 2003, 03:43:40 AM »

Yeah yeah yeah...y'all are movin' into SVGA, 3D, and all that jazz. But nothing beats good old ASCII graphics. Tongue And since I don't think anyone's really going to try this thing out normally anyways, I figured this was a good chance to see some real-world applications built with this library.

http://www.nodtveidt.net/useless_10a.zip

Here's the challenge:

-Create any kind of game you want, but it has to be ASCII graphical, and in a non-graphics mode (aka you can't use SCREEN 7 but use ASCII graphics, for example)
-Create this game using ONLY the library at the listed URL, no other libraries are allowed
-You are allowed to add your own routines in BASIC code, or in CALL ABSOLUTE strings
-You must provide the sourcecode upon submission as proof that only this library was used

This competition begins right now (December 18th) and will run until March 1st.

Why am I doing this? It's simple, really. I have no real tests for the library, and am curious as to how well it does in a production environment. Since KOQB'04 won't be ready for some time, it'd be nice to see one or two people trying to make a game with this library. I figure this is a great way of seeing how well this thing does in a real production environment Cheesy

Soooo...anyone up to the challenge? Cheesy
Logged

I'd knock on wood, but my desk is particle board.
wildcard
*.*
Administrator
__/--\__
*****
Posts: 2370



« Reply #1 on: December 18, 2003, 07:58:50 AM »

I'm checking out the library, I'll give the challenge a go; I can't exactly moan about lack of graphics now can I ;-)

[*Looks around wondering if "The Beast" is going to enter and blow the competition away*]
Logged
na_th_an
*/-\*
*****
Posts: 8244



WWW
« Reply #2 on: December 18, 2003, 09:25:37 AM »

Hmmm - Good, this compo starts today that's my birthday...
I will take a glance to the lib.
Logged

SCUMM (the band) on Myspace!
ComputerEmuzone Games Studio
underBASIC, homegrown musicians
[img]http://www.ojodepez-fanzine.net/almacen/yoghourtslover.png[/i
Neo
Na_th_an
*****
Posts: 2150



« Reply #3 on: December 18, 2003, 09:38:29 AM »

HAPPY BIRTHDAY Na Than!!! And many years. Cheesy

About any programming, I wonder how my computer is atm... Wink
Logged
na_th_an
*/-\*
*****
Posts: 8244



WWW
« Reply #4 on: December 18, 2003, 10:35:16 AM »

Thanks, Neo Smiley

Really cool routines. This library is really interesting. Adosorken, I love text mode stuff, if ya wanna I could try to help you providing some functions Wink I've seen the "future plans" section and I can provide the 512 characters mode and the extended text resolutions, as well as the custom character set loader.

---

This is my little set of routines to use the 512 characters mode and to load the customized char maps into VGA memory:

Code:
DECLARE SUB LoadCharInMap (file$, Map%)
DECLARE SUB BlockBitPlane2 ()
DECLARE SUB UnBlockBitPlane2 ()
DECLARE SUB SelectMaps (Map0%, Map1%)
DECLARE SUB OutPortW (dir%, a%)
'$INCLUDE: 'QB.BI'

SUB BlockBitPlane2
EgaVgaSequencer% = &H3C4
EgaVgaGraphCtr% = &H3CE
OutPortW EgaVgaSequencer%, &H100
OutPortW EgaVgaSequencer%, &H402
OutPortW EgaVgaSequencer%, &H704
OutPortW EgaVgaSequencer%, &H300
OutPortW EgaVgaGraphCtr%, &H204
OutPortW EgaVgaGraphCtr%, &H5
OutPortW EgaVgaGraphCtr%, &H6
END SUB

SUB LoadCharInMap (file$, Map%)
d$ = CHR$(0)
aBase% = &H4000 * Map%
DEF SEG = &HA000
f% = FREEFILE
OPEN file$ FOR BINARY AS #f%
FOR i% = 0 TO 255
FOR j% = 0 TO 15
GET #f%, , d$
POKE aBase% + j%, ASC(d$)
NEXT j%
aBase% = aBase% + 32
NEXT i%
CLOSE #f%
DEF SEG
END SUB

SUB OutPortW (dir%, a%)
OUT dir%, a% AND 255
OUT dir% + 1, a% \ 256
END SUB

SUB SelectMaps (Map0%, Map1%)
DIM Regs AS RegType
DIM OutPortWs AS RegType
' Bytes:
Map0% = Map0% AND 255
Map1% = Map1% AND 255
' Acceso a los registros
Regs.ax = &H1103
b% = (Map0% AND 3) + (Map0% AND 4) * 4
c% = (Map1% AND 3) * 4 + (Map1% AND 4) * 8
bc% = b% + c%
Regs.bx = bc%
INTERRUPT &H10, Regs, OutPortWs
END SUB

SUB UnBlockBitPlane2
EgaVgaSequencer% = &H3C4
EgaVgaGraphCtr% = &H3CE
OutPortW EgaVgaSequencer%, &H100
OutPortW EgaVgaSequencer%, &H302
OutPortW EgaVgaSequencer%, &H304
OutPortW EgaVgaSequencer%, &H300
OutPortW EgaVgaGraphCtr%, &H4
OutPortW EgaVgaGraphCtr%, &H1005
OutPortW EgaVgaGraphCtr%, &HE06
END SUB


To use it you just do this:

Code:
BlockBitPlane2
LoadCharInMap "charset1.fnt", 0
LoadCharInMap "charset2.fnt", 1
SelectMaps 0, 1
UnBlockBitPlane2


... where charset1.fnt and charset2.fnt are standard 4096 bytes text-mode font files (all the 256 characters, 16 bytes each).

Now remember that with colour 0-7 you print with the charset1 font and with colour 8-15 you print with the charset2 font, so adjust your palettes.

If you, reader, don't know what the heck the 512 characters mode is, check this demo Right-click -> Save as

---

Edited once more: I can't work with the enhaced SVGA text modes 'cause my card doesn't seem to support them. I just call the interrupt and it does... nothing Tongue Shocked
Logged

SCUMM (the band) on Myspace!
ComputerEmuzone Games Studio
underBASIC, homegrown musicians
[img]http://www.ojodepez-fanzine.net/almacen/yoghourtslover.png[/i
Anonymous
Guest
« Reply #5 on: December 18, 2003, 12:20:42 PM »

happy bday nathan! my bday was actually yesterday Smiley

as for the ascii compo, i think maybe ill join... i dunno if i have time it sounds cool! well peace
Logged
adosorken
*/-\*
*****
Posts: 3655



WWW
« Reply #6 on: December 18, 2003, 12:32:13 PM »

Quote from: "na_th_an"
Hmmm - Good, this compo starts today that's my birthday...
I will take a glance to the lib.

ahhhhhhhhhhhhhhhhhh nooooooooooooooo! You share yer birthday with one of my ex's!!! nooooooooooooo!

:lol:

Seriously though Cheesy happy birthday man, and I'll add the stuff to the lib asap Smiley And happy belated birthday to you cha0s Cheesy
Logged

I'd knock on wood, but my desk is particle board.
na_th_an
*/-\*
*****
Posts: 8244



WWW
« Reply #7 on: December 18, 2003, 01:05:54 PM »

Thanks chaos and Adosorken.

Adosorken: I think your could wrap these functions inside one. Having them separated would allow do some tweaks and stuff, but in 99.99% of cases you just want to switch to 512 characters mode, load the fonts, and that's all. That "BlockBitPlane2" & co. stuff may look way too strange for most people :lol:
Logged

SCUMM (the band) on Myspace!
ComputerEmuzone Games Studio
underBASIC, homegrown musicians
[img]http://www.ojodepez-fanzine.net/almacen/yoghourtslover.png[/i
adosorken
*/-\*
*****
Posts: 3655



WWW
« Reply #8 on: December 18, 2003, 01:27:41 PM »

Yeah that's probably a good idea. Will do Cheesy

...as soon as Rhiannon gives me the network cable so I can download this stuff to my dev computer...sheesh we need a hub badly Sad
Logged

I'd knock on wood, but my desk is particle board.
barok
Na_th_an
*****
Posts: 1727


How about a tasty lead sandwich?


« Reply #9 on: December 18, 2003, 08:07:22 PM »

A Most Happy Birthday, Na_th_an!  And many more!!!


whew, got that out of my system...  Just wanted to see for once what that would be like.  Not trying to make fun of someone  :wink:
Logged

Jumping Jahoolipers!
Rhiannon
Been there, done that
*****
Posts: 1031



WWW
« Reply #10 on: December 18, 2003, 09:01:39 PM »

Quote from: "barok"
A Most Happy Birthday, Na_th_an!  And many more!!!


whew, got that out of my system...  Just wanted to see for once what that would be like.  Not trying to make fun of someone  :wink:


of course not! who would ever suggest such a thing?! Happy bday boys, i'll give ya your bday spankings later Cheesy anywho, this promised to be a fun challenge Wink
Logged

igitalblackie.com - Done! Smiley Ask about our hosting Wink

-Goddess of the of the No More Religion Threads movement Smiley
oracle
*/-\*
*****
Posts: 3652



WWW
« Reply #11 on: December 18, 2003, 09:42:16 PM »

Happy b'day nath! Greetz from ME (dbl meaning) :lol:

(save me some cake, ok? I'll be over soon... :lol:)

Anyway, I'll definately have a look at the lib, I'll try to make my character with it too, but I don't think I'll make a game, I've got too much on...
Logged

relsoft
*/-\*
*****
Posts: 3927



WWW
« Reply #12 on: December 18, 2003, 11:49:00 PM »

Happy Birthday bro!!!!

Hah!!!!

My entry: http://rel.betterwebber.com/junk.php?id=11
 Cheesy
j/k
Logged

y smiley is 24 bit.


Genso's Junkyard:
http://rel.betterwebber.com/
Lachie Dazdarian
I hold this place together
*****
Posts: 955



WWW
« Reply #13 on: January 08, 2004, 04:41:32 AM »

Cheesy run is a masterpiece!

And no. I did not laughed. It was a pleasant surprise. Deffinetly
better than somekind of pureQB 3D raceing game that would run with
0.05 FPS on my PC.

I love the game. Reached level 18. There should be an end though.
Logged
relsoft
*/-\*
*****
Posts: 3927



WWW
« Reply #14 on: January 09, 2004, 03:39:33 AM »

WOW!!!  That means yer better than me.  ;*)  Yeah, but it was made to torture anyone who plays it. ;*)
Logged

y smiley is 24 bit.


Genso's Junkyard:
http://rel.betterwebber.com/
Pages: [1] 2
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!