Jump to content
IGNORED

Camellia sinensis


sometimes99er

Recommended Posts

A good morning with no sprites ...
 

100 CALL CLEAR :: CALL SCREEN(4)
110 CALL COLOR(1,4,4,2,4,16,3,4,16,4,16,16,5,13,16,6,4,13,7,4,13,8,13,13,9,7,16,10,7,16)
120 CALL CHAR(40,"FFFFFFFFFFFFFFFEFFFFFFFFFFF88000FFFFFFFFFF000000FFFFFFFF")
130 CALL CHAR(44,"FFFFFFFFFF1F0100FFFFFFFFFFFFFF7FF8E08080000000001F070101")
140 CALL CHAR(48,"000000000000FCFE7F1F0F0703010100FEFC00000000000000010103070F1F7F")
150 CALL CHAR(52,"8080E0F8FEFFFFFF000000000080F8FF")
160 CALL CHAR(64,"00000000000000FF0000000000011FFF0101071F7FFFFFFF")
170 CALL CHAR(72,"FFFFFFFFFF3F0F03FF3F0F0300000000FFFFFFFFFF7F3F3FC0F0FCFFFFFFFFFF")
180 CALL CHAR(76,"00000000C0F0FFFF00000000000000FF00000000000003FF000000030F3FFFFF")
190 CALL CHAR(80,"3F7FFFFFFFFFFFFF")
200 CALL CHAR(96,"00073F7FFFFF7F3F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00E0FCFEFFFFFEFC")
210 CALL CHAR(100,"0700010307070707FFE0C08080000000FFFF000000000000FF")
220 CALL CHAR(104,"E000000000000000070707070707070707070707070606060606060606060606")
230 CALL CHAR(108,"07070F0F0F0F0F0E")
240 FOR L=8 TO 18 :: READ D$ :: DISPLAY AT(L,10):D$ :: NEXT L
250 DATA "()*++*,-",".`abbac/","8deffgh8","8i88888801","8j888888 8","8k888888 8"
260 DATA "8l888888 8","8888888823","88888888H","45@88@ABXIJ","  KLMXXXNOP"
270 GOTO 270
RUN

 
:)

Somewhat inspired by Calimari Carl ... Camellia sinensis, cup of tea, cup of coffee ...

Edited by sometimes99er
Twice due to AtariAge updates.
  • Like 5
Link to comment
Share on other sites

A good morning with no sprites ...

 

100 CALL CLEAR :: CALL SCREEN(4)
110 CALL COLOR(1,4,4,2,4,16,3,4,16,4,16,16,5,13,16,6,4,13,7,4,13,8,13,13,9,7,16,10,7,16)
120 CALL CHAR(40,"FFFFFFFFFFFFFFFEFFFFFFFFFFF88000FFFFFFFFFF000000FFFFFFFF")
130 CALL CHAR(44,"FFFFFFFFFF1F0100FFFFFFFFFFFFFF7FF8E08080000000001F070101")
140 CALL CHAR(48,"000000000000FCFE7F1F0F0703010100FEFC00000000000000010103070F1F7F")
150 CALL CHAR(52,"8080E0F8FEFFFFFF000000000080F8FF")
160 CALL CHAR(64,"00000000000000FF0000000000011FFF0101071F7FFFFFFF")
170 CALL CHAR(72,"FFFFFFFFFF3F0F03FF3F0F0300000000FFFFFFFFFF7F3F3FC0F0FCFFFFFFFFFF")
180 CALL CHAR(76,"00000000C0F0FFFF00000000000000FF00000000000003FF000000030F3FFFFF")
190 CALL CHAR(80,"3F7FFFFFFFFFFFFF")
200 CALL CHAR(96,"00073F7FFFFF7F3F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00E0FCFEFFFFFEFC")
210 CALL CHAR(100,"0700010307070707FFE0C08080000000FFFF000000000000FF")
220 CALL CHAR(104,"E000000000000000070707070707070707070707070606060606060606060606")
230 CALL CHAR(108,"07070F0F0F0F0F0E")
240 FOR L=8 TO 18 :: READ D$ :: DISPLAY AT(L,10)$ :: NEXT L
250 DATA "()*++*,-",".`abbac/","8deffgh8","8i88888801","8j888888 8","8k888888 8"
260 DATA "8l888888 8","8888888823","88888888H","45@88@ABXIJ","  KLMXXXNOP"
270 GOTO 270

:)

 

 

Very nice! It's been said before, but your mastery of the graphic arts is something to behold. I wish I had a tenth of the skill.

 

As a brand-new convert to Classic99, I have to say, I am so excited about copying and pasting code and seeing instant results. It's pretty remarkable! I'm still coding Herding Cats on my real TI, but man, I dunno... I may have to 'cross over' with the rest of you soon. :)

  • Like 1
Link to comment
Share on other sites

Hehe, thanks. Absolutely, pasting in Classic99 is good fun.

 

I was sitting here this morning with the first cup of coffee, and suddenly I got this idea, that I could draw a cup. Using the TI-99/4A palette, a 8x8 grid on a 256x192 image, I started painting, and 5 minutes later I added shadow.

 

I tried to change the green colors with blue ones, and the dark red (should have been brown or beige) with black. My coffee is not black, got a touch of cream, but anyways. The changes didn’t do it (for me), so I went back to the original colors. I googled and found some red tea originating from a tea plant called Camellia sinensis (hey, that would be a nice title).

 

I then cut individual 8x8 characters and pasted them in a color set oriented way. Ran it through my image to pattern converter. I now had code to paste into Classic99. Next the tedious task of making up the data for the display statement. I gotta make that utility someday. - And I might do a series of graphical tutorials for YouTube. I’ll try to remember and videotape my next paint job.

 

:cool:

Link to comment
Share on other sites

  • 2 weeks later...

Just tried this out for the first time... Must have missed it... Beautiful, man. :). I love patterns.swf on your site, and I DLed Grapefruit last night... Wish I understood the format a little better... I can't seem to get what I want.... I went into MSWord and typed out the whole chararacter set of a font I wanted to rip, then took a screen capture... The pic imported to Grapefruit nicely, but it was distorted and I couldn't figure out how to set each character up as an individual "clickable" character. More than likely it was user error on my part. :). This XB pic is beautiful.

  • Like 1
Link to comment
Share on other sites

Thanks.

 

You know, patterns.swf, was done thanks to you and also in hope that especially you and hopefully other would find it useful. Later I did play around with a fancy rotate functionality, the animation is slick, basic, but slick anyway. The behind the scenes data manipulation wasn’t all done. And suddenly I thought the animation might be a bit too much over the top. Well, I have to concentrate on Destroyer for now.

 

You have to import a pic with dimensions 64 pixels in width and 256 pixels in height, and it has to be monochrome (for now). Try and open one of the demo files with Paint or some other graphic application. Then try and zoom (not resize). Now try and paint the individual characters. It helps if the graphic software can lay out a 8 by 8 pixel grid for you.

 

I think Grapefruit takes about any resolution and number of colors and almost automatically (I told it to) resize and reduce color depth. Let me have a look at your MSWord file, maybe I can suggest what to do.

 

:)

Link to comment
Share on other sites

Well I am certainly glad you created it... I have had more TI fun in the past 24 hours than i've had all year!!! Almost have all the graphics finished for my demo of "The Legend of Beryl Reichardt" in one day. This one little program has single-handedly changed the way I go about doing graphics and implementing them onto a gamescreen. Now we just need a 24x32 grid to move defined characters to.... :). Sounds more and more like the makings of a graphic IDE to me.....

  • Like 1
Link to comment
Share on other sites

Well I am certainly glad you created it... I have had more TI fun in the past 24 hours than i've had all year!!!

Wow ! That’s amazing ! And I’m certainly glad I did it. One thing is pleasing oneself doing stuff like that, but to make other people happy is just ... marvellous !!! :)

 

Almost have all the graphics finished for my demo of "The Legend of Beryl Reichardt" in one day. This one little program has single-handedly changed the way I go about doing graphics and implementing them onto a gamescreen.

Hehe, excellent !!! Now, don’t let me take away the fun of using graph paper. I still use it. It’s flexible. You can tear it up and throw it out. Later you can go search a waste container looking for those wonderful pixels that you now miss. :D

 

Now we just need a 24x32 grid to move defined characters to.... :). Sounds more and more like the makings of a graphic IDE to me.....

Not impossible. But the project maybe 100 times bigger. There will be many issues to deal with. Even starting out small with something operational is a task. Like when you finished a 24x32 grid design, should it output HCHAR, DISPLAY or DATA statements to the clipboard or something completely different. One could of course allow different types of output. Hehe, there’s something to think about there. :cool:

Link to comment
Share on other sites

Well, you've got my interest peaked.... Whatever I can do to help, let me know. I'm not much of a PC programmer, but if I can do any legwork or any tedius typing stuff to ease your pain--- just point and I will go. :). Great stuff man.... You might be the best guy for the job of building us a little pseudo-IDE for graphics.... He'll, you've already got alot of the stuff built!!! :)

  • Like 1
Link to comment
Share on other sites

At this stage it’s nothing more than playing around with ideas. Like saying this could be cool. Once you start prototyping, quite a few things get “stuck” in the minds of people, and that’s even convenient for the designers and programmers. That’s have I’ve seen it. So the initial brainstorming and free flow of ideas is actually darn important. At least I think so.

 

Bottomline. If you have any nice ideas or like to sketch something out on paper, do so. If you’re serious about going Assembler this year, then that would seriously indicate, that we might take the Grapefruit way and go from there instead.

 

My prime efforts lay with Destroyer right now though.

 

PS. Something like a sound designer and a music composer for Basic and Assembler is other nice tools to think about.

 

:cool:

Link to comment
Share on other sites

PS. Something like a sound designer and a music composer for Basic and Assembler is other nice tools to think about.

 

Yes, that would be nice. You know what would also be nice?

 

COM automation in Classic99. (Probably not suitable for MESS, since MESS has to run in Linux too)

 

Classic99 could expose classes, methods, and properties allowing an external Windows program access into the TI's CPU memory, VDP memory, and GROM memory.

 

Thus, a program like grapefruit could *directly* drop an assembly language program into TI memory hosted by Classic99, and run it!

 

Something like (Visual Basic code):

Set TI=New Classic99.TI  ' get reference to TI top class
Set TMS9900=TI.Processor ' get reference to the Processor
Set CPUMem=TI.CPUMem     ' get reference to the CPU memory space
TMS9900.Halt             ' halt the processor
CPUMem.Dump(AddressOf MyProgramArray, A000h) ' drop executable code into the TI memory space
TMS9900.SetPC &A000h     ' point the program counter at our code
TMS9900.SetWP &8300h     ' set our workspace
TMS9900.Resume           ' classic99 is now running *our* code :-)

'release resources
Set CPUMem=Nothing
Set TMS9900=Nothing
Set TI=Nothing

 

How cool would THAT be? This would allow seamless interaction between an external Windows application, and Classic99 - and hence the "TI". For example, it would be possible to write an Assembler in Windows, and have it dump the assembled code into memory and run it in one click.

 

Nice. :cool:

Edited by Willsy
  • Like 1
Link to comment
Share on other sites

Hehe, absolutely. An IDE could use one of the existing cross assemblers. As does TommyGun and batari Basic.

 

It would make it much easier to build an IDE with Classic99 as backbone (versus doing everything with even an emulator to support debug). From what I see there (your code), I guess the IDE could control Classic99 to the point where it would appear to have an integrated debugger.

 

Both Classic99 and MESS are open source, so they could be part of an IDE. Am I wrong there ?

 

And maybe the IDE idea is still a too big supertanker. As I see it now, assembler shouldnt be the only option. I like the idea of a low budget hybrid of batari, TI and Extended Basic.

 

And maybe its not an IDE, but some tools that would connect in the first place. Like learn to crawl before you walk.

 

Maybe we could integrate notepad++ and/or UltraEdit to go to relevant tools, transferring data forth and back ? That would be nice for me as an assembler game developer.

 

Nice to throw some ideas around.

 

:cool:

Edited by sometimes99er
Link to comment
Share on other sites

  • 13 years later...
On 1/22/2010 at 1:59 PM, InfernalKeith said:
100 CALL CLEAR :: CALL SCREEN(4)
110 CALL COLOR(1,4,4,2,4,16,3,4,16,4,16,16,5,13,16,6,4,13,7,4,13,8,13,13,9,7,16,10,7,16)
120 CALL CHAR(40,"FFFFFFFFFFFFFFFEFFFFFFFFFFF88000FFFFFFFFFF000000FFFFFFFF")
130 CALL CHAR(44,"FFFFFFFFFF1F0100FFFFFFFFFFFFFF7FF8E08080000000001F070101")
140 CALL CHAR(48,"000000000000FCFE7F1F0F0703010100FEFC00000000000000010103070F1F7F")
150 CALL CHAR(52,"8080E0F8FEFFFFFF000000000080F8FF")
160 CALL CHAR(64,"00000000000000FF0000000000011FFF0101071F7FFFFFFF")
170 CALL CHAR(72,"FFFFFFFFFF3F0F03FF3F0F0300000000FFFFFFFFFF7F3F3FC0F0FCFFFFFFFFFF")
180 CALL CHAR(76,"00000000C0F0FFFF00000000000000FF00000000000003FF000000030F3FFFFF")
190 CALL CHAR(80,"3F7FFFFFFFFFFFFF")
200 CALL CHAR(96,"00073F7FFFFF7F3F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00E0FCFEFFFFFEFC")
210 CALL CHAR(100,"0700010307070707FFE0C08080000000FFFF000000000000FF")
220 CALL CHAR(104,"E000000000000000070707070707070707070707070606060606060606060606")
230 CALL CHAR(108,"07070F0F0F0F0F0E")
240 FOR L=8 TO 18 :: READ D$ :: DISPLAY AT(L,10)$ :: NEXT L
250 DATA "()*++*,-",".`abbac/","8deffgh8","8i88888801","8j888888 8","8k888888 8"
260 DATA "8l888888 8","8888888823","88888888H","45@88@ABXIJ","  KLMXXXNOP"
270 GOTO 270
100 CALL CLEAR :: CALL SCREEN(4)
110 CALL COLOR(1,4,4,2,4,16,3,4,16,4,16,16,5,13,16,6,4,13,7,4,13,8,13,13,9,7,16,10,7,16)
120 CALL CHAR(40,"FFFFFFFFFFFFFFFEFFFFFFFFFFF88000FFFFFFFFFF000000FFFFFFFF")
130 CALL CHAR(44,"FFFFFFFFFF1F0100FFFFFFFFFFFFFF7FF8E08080000000001F070101")
140 CALL CHAR(48,"000000000000FCFE7F1F0F0703010100FEFC00000000000000010103070F1F7F")
150 CALL CHAR(52,"8080E0F8FEFFFFFF000000000080F8FF")
160 CALL CHAR(64,"00000000000000FF0000000000011FFF0101071F7FFFFFFF")
170 CALL CHAR(72,"FFFFFFFFFF3F0F03FF3F0F0300000000FFFFFFFFFF7F3F3FC0F0FCFFFFFFFFFF")
180 CALL CHAR(76,"00000000C0F0FFFF00000000000000FF00000000000003FF000000030F3FFFFF")
190 CALL CHAR(80,"3F7FFFFFFFFFFFFF")
200 CALL CHAR(96,"00073F7FFFFF7F3F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00E0FCFEFFFFFEFC")
210 CALL CHAR(100,"0700010307070707FFE0C08080000000FFFF000000000000FF")
220 CALL CHAR(104,"E000000000000000070707070707070707070707070606060606060606060606")
230 CALL CHAR(108,"07070F0F0F0F0F0E")
240 FOR L=8 TO 18 :: READ D$ :: DISPLAY AT(L,10):D$ :: NEXT L
250 DATA "()*++*,-",".`abbac/","8deffgh8","8i88888801","8j888888 8","8k888888 8"
260 DATA "8l888888 8","8888888823","88888888H","45@88@ABXIJ","  KLMXXXNOP"
270 GOTO 270

Really cracking picture @sometimes99er ... I wasn't around at the time to see this.
Line 240 has been corrected to display :D$ properly ... an interesting result on two different TI computers. On the left is the 99/4 and on the right , the 99/4A  

994vs994a.thumb.png.f24d009977afa85e0b8d39e941aaa003.png

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

RXB change line 240 

240 FOR L=8 TO 18 :: READ D$ :: DISPLAY AT(L,10):D$ :: NEXT L

to

240 FOR L=8 TO 18 :: READ D$ :: CALL HPUT(L,12,D$) :: NEXT L

 

It will be done in Assembly not GPL so slightly faster on screen.

 

 

  • Thanks 1
Link to comment
Share on other sites

Yeah ciick on the page thingy on the forum, go back to page 50-odd and click his profile when you see him, then "see their activity" ... he was a nice lad but he had his moments.  He's not a part of the TI world anymore, and the last thing he ever said to me was "You're ready for assembly" .... One day I shall honour that.  I have to find an IDE that doesn't require me to fudge around with my Windows too much and then i'll give it a go.  

  • Like 1
Link to comment
Share on other sites

1 hour ago, Retrospect said:

Yeah ciick on the page thingy on the forum, go back to page 50-odd and click his profile when you see him, then "see their activity" ... he was a nice lad but he had his moments.

This is the guy https://forums.atariage.com/profile/23893-marchull/content/

 

We had some harsh words between us but I never once thought ill of him.

  • Like 1
Link to comment
Share on other sites

I couldn't resist trying this one. :)

Spoiler
\ coffee cup translated from Extended BASIC on Atariage by @sometimes99er 2010

NEEDS CALLCHAR FROM DSK1.GRAFIX
NEEDS CHARSET  FROM DSK1.CHARSET
NEEDS AT"      FROM DSK1.VTYPE
NEEDS RND      FROM DSK1.RANDOM

DECIMAL
: DEFINERS
S" FFFFFFFFFFFFFFFEFFFFFFFFFFF88000FFFFFFFFFF000000FFFFFFFF00000000"
40 CALLCHAR

S" FFFFFFFFFF1F0100FFFFFFFFFFFFFF7FF8E08080000000001F07010100000000"
44 CALLCHAR

S" 000000000000FCFE7F1F0F0703010100FEFC00000000000000010103070F1F7F"
48 CALLCHAR

S" 8080E0F8FEFFFFFF000000000080F8FF" 52 CALLCHAR
S" 00000000000000FF0000000000011FFF0101071F7FFFFFFF" 64 CALLCHAR

S" FFFFFFFFFF3F0F03FF3F0F0300000000FFFFFFFFFF7F3F3FC0F0FCFFFFFFFFFF"
72 CALLCHAR
S" 00000000C0F0FFFF00000000000000FF00000000000003FF000000030F3FFFFF"
76 CALLCHAR

S" 3F7FFFFFFFFFFFFF" 80 CALLCHAR

S" 00073F7FFFFF7F3F00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00E0FCFEFFFFFEFC"
96 CALLCHAR

S" 0700010307070707FFE0C08080000000FFFF000000000000FF00000000000000"
100 CALLCHAR
S" E000000000000000070707070707070707070707070606060606060606060606"
104 CALLCHAR

S" 07070F0F0F0F0F0E" 108 CALLCHAR
;

: SPRITECHARS   ( 8 chars that make an animation of steam)
    S" 1008040418202010" 128 CALLCHAR
    S" 0804041820201010" 129 CALLCHAR
    S" 0404182020101008" 130 CALLCHAR
    S" 0418202010100804" 131 CALLCHAR
    S" 1820201010080404" 132 CALLCHAR
    S" 2020101008040418" 133 CALLCHAR
    S" 2010100804041820" 134 CALLCHAR
    S" 1010080404182020" 135 CALLCHAR
;

DECIMAL
: CUP
   11  7 AT" ()*++*,-"
   11  8 AT" .`abbac/"
   11  9 AT" 8deffgh8"
   11 10 AT" 8i88888801"
   11 11 AT" 8j888888 8"
   11 12 AT" 8k888888 8"
   11 13 AT" 8l888888 8"
   11 14 AT" 8888888823"
   11 15 AT" 88888888H"
   11 16 AT" 45@88@ABXIJ"
   11 17 AT"   KLMXXXNOP" ;

: COLORIZER
    4  4  4 COLOR
    5  4 16 COLOR  6 4 16 COLOR
    7 16 16 COLOR
    8 13 16 COLOR
    9  4 13 COLOR  10 4 13 COLOR
   11 13 13 COLOR
   12  7 16 COLOR
   13  7 16 COLOR ;

: REVERT
    DELALL STOPMOTION
    CLEAR  8 SCREEN
    0 19 2 1 COLORS
    CHARSET ;

: SPRITES
    128 15 102 52 0 SPRITE   \ HI steam
    129 15 102 60 1 SPRITE   \ LO steam

    130 15 115 52 2 SPRITE
    131 15 115 60 3 SPRITE

    132 15 128 52 4 SPRITE
    133 15 128 60 5 SPRITE
;

\ CIRCULAR pattern change from char: 128 to 135
HEX 87 CONSTANT PATTERN.MASK
DECIMAL
: SP.PAT++ ( spr# -- )
  SP.PAT DUP VC@ 1+  PATTERN.MASK AND  SWAP VC! ;

: ?BREAK   ?TERMINAL IF  REVERT ABORT THEN ;

: VAPOUR
   BEGIN
     6 0
     DO
       I SP.PAT++
       30 RND 4 + MS
       ?BREAK
     LOOP
  AGAIN
;

: COFFEE
    CLEAR
    4 SCREEN
    DEFINERS
    SPRITECHARS
    COLORIZER
    CUP
    SPRITES
    VAPOUR
;

 

 

  • Like 5
  • Haha 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...