Alcatel’s Idol 4s With Windows 10 Mobile

WP_20170103_21_30_52_Pro (2)Ever since I saw the announcement for the Alcatel Idol 4s With Windows 10 Mobile, I’ve wanted that phone.  Well, it is out and I finally bought it.  Why? Well, many reasons, biggest being its ability to support Continuum and its price: $469 from T-Mobile, in the United States.

The current package also includes Alcatel’s VR headset and the phone comes with a smattering of impressive imagery and a couple of VR games, both of which seem more like tech demos than actual games.

The phone is gorgeous, one of the prettiest phones I’ve ever seen, on par with the Apple iPhone 4, which I previously regarded as the best LOOKING piece of hardware.  The Idol 4s looks better.  It’s glass back, metallic rim and a screen that, for now, never WP_20170103_21_31_23_Pro (2)seems to get finger prints. It is just the right weight and the screen is amazing.

The phone sports a Snapdragon 820 CPU, which is a quad core processor running at 2.15ghz.  It has 4gb of RAM and 64gb of storage, expandable with an SD card.  It also features a 21megapixel back camera and an 8 megapixel forward camera.  The camera can be started via a hardware button on the side of the device, a convenient if annoying feature.

The phone ships with a release of Windows 10 Mobile that was a bit behind. It immediately wanted to update to, I think, the ‘anniversary update’ rollup.  Fortunately, it went off without a problem.

The camera, which I had read was a weak point, is actually pretty decent.  In lower light, the colors are a bit washed out, just like the Alcatel Fierce XL I have, but the resolution is excellent and the images still look really nice.  I have not yet tried outdoors at night, but will do so soon.

Perhaps the best thing about the phone…and Windows 10…is the ability to use the device as a deWP_20170103_20_06_00_Prosktop or laptop computer.  That is where this device really shines.  While I had to purchase a USB C to HDMI converter, the converter works great and also sports a spare USB 3.0 connector (for a keyboard or mouse) and a USB C female connector for charging the device while connected.  The HDMI port is 4k capable and is full size, so you don’t need any funky sized connector or adaptor. The particular hub I purchased was from Mokin and sold via Amazon. I paid $23 for the device.

Connecting the phone to the Mokin switched it to Continuum and presented the desktop, as you would expect from a desktop PC.  The phone screen turns into a mouse, though using this instead of an actual mouse can be frustrating as there is no obvious way to ‘click and hold’ to drag things. At least, I have not figured that out yet. A bluetooth keyboard was paired to the deviwp_ss_20170103_0001ce and, bam! There I was, using my phone as a desktop.

Continuum, admittedly, is not perfect. For example, nothing I had on the SD card would work. For whatever the reason, Microsoft is not allowing applications on the SD card to run in Continuum. Also, not every application is Continuum compatible either.  And, protected content will not work in this mode.

Overall, however, Continuum seems, to me, to be the killer feature (until MS introduces x86 emulation to the Snapdragon) for Windows Mobile 10.  I can see carrying just the phone and adapter.  Most places one would need a computer will, very likely, have an HDMI monitor along with keyboard and mouse. Or, you can take the travel size keyboard/mouse.  I can forsee this more than taking my old laptop or even a tablet, though, admittedly, tablets can be just as productive.

61tocr  emL._SL1500_While running Continuum, I was able to run Word, Excel, OneNote, Facebook and take a call…at the same time.  The phone showed no perceptible slowdown at all.

The VR gimmick is just that, a gimmick and really not a reason to buy this phone.  That said, and taking into account the limitation of the screen, it is still rather impressive, at first.  The screen is HD, 1080p.  That’s a problem only because the screen gets split in two to present the left and right images.  This makes things a bit fuzzy and pixelated. However, it is not so bad as to make the experience a poor one.  Quite the contrary, it works well.  Too well, I got a headache and was a bit nauseated by it because my brain knew I was not really experiencing anything, though my eyes said otherwise.

Overall, the Alcatel Idol 4s with Windows 10 Mobile is an excellent, premium phone at a great price…half what most others would cost.  It looks great, works well and is fast.  Windows 10 Mobile needs a little work, but it is, overall, a great operating system and works very well. Don’t let the notion of a poor ‘store’ steer you away. The app system on all of the mobile devices is bad, I don’t care if there aren’t five hundred fart apps.  I don’t even care that there is no Youtube app, the web site works and there are a few third party apps that fill in for what is missing.

I think you’d be satisfied with this phone. I sure am.

Advertisements

An ATTiny85 based handheld game

WP_20161228_21_29_19_Pro (2)Yes, I love gaming.  And there is nothing more satisfying, to me, than building, sometimes coding and playing something I made.  Now, I don’t always WRITE the code, after all, time is a premium these days, but I don’t mind taking something someone else did and making it work with what I built.  For this project, I was very lazy: the design is also someone else’s.  I really wanted to do something with the ATTiny85, but have not really done anything outside of playing with the Adafruit Trinket or Digispark.

So, for this little project, I wanted to also use one of my cool little ssd1306 OLED screens.  While perusing the net, I came across Webboggles.com.  Here, they are selling a nifty little kit called the ATTiny Arcade Keychain. It looks to be of high quality and the author (Ilya Titov) goes through much detail in the design and build.  There are several posts about it and the games.  The game code and schematic have been made readily available. The first of the games was breakout and that is where I started. 

To build the little game, you will need the following:

  • Attiny85 + dip8 socket
  • SSD1306 OLED screen
  • 3x push buttons
  • 2x resistors (10kOhm optimal)
  • Piezo speaker
  • 3V 2032 coin cell battery
  • perf or vero board
  • I used a little speaker out of a toy cell phone instead of the piezo. I would also recommend socketing the screen instead of soldering it directly, you don’t have to, but I wish I had now.attiny85game_schem

    One other thing to keep in mind, you will need a way to program the ATtiny 85 chip, which I will describe in a follow up post. I actually built two programmers: one on breadboard and a quasi shield for the UNO.  I like that better.

    As you can see from the schematic, it is really simple. Even so, I made a few mistakes at first.  Not paying attention to the chip pinout, I got the pins reversed from pin 8 to pin 5. I, for whatever the reason, assumed the actual pin 8 was pin 5, instead of going from pin 4 to pin 5 at the bottom of the chip. Once I figured that out (I had yet to apply power) the rest was easy. I also got SCL and SDA backward (hey, I’m old).  Once I got my mistakes corrected, I was amazed that this simple circuit was now a little game machine.  Now, you aren’t going to play Call of Duty or even Doom, but you can play many classics on the devices.  I am going to build one or two more as this was a blast. I would also encourage ordering a kit from Webboggles as well.

    My next post will discuss creating an Attiny 85 programmer for the UNO.

    WP_20161231_15_20_15_Pro (2)

    Type in Game: PONG! (or, something close)

    WP_20160911_21_48_56_Pro (3)Today’s type in game for HB Tiny Basic is a PONG! variant.  I cannot take full credit for this one, I found the original on a Japanese educational site devoted to teaching microcontroller programming, using Half-Byte’s Tiny Basic(!) (a variation of it, anyway) and for basic electronics.  The original was written in a variant of HB Tiny Basic and also used a 10k potentiometer for the controller.  I fixed a couple of bugs, got it to work with Nunchuk AND squeezed into a somewhat smaller memory footprint.

    The game has a little bit of intelligence, it does a decent job of trying to guess where the ball will go, but, it is not perfect and it is possible to win the game.  There are some nice uses of the language, such as trying to include something like an OR statement when figuring out where the ball is going and takes advantage of an undocumented ‘feature’ of LINE: if you specify ‘2’ as the ‘color’ parameter, it simply inverses the pixels in the line.  This eliminates the need for multiple statements to draw and erase the paddles.  Quite clever.

    Gameplay is super simple: the computer ALWAYS serves, the score goes to nine and stops. You are always on the right. You use the thumb stick up and down to control your paddle.

    Weird things are likely to happen, it is not perfect and there’s no more room for improvement (challenge?)

    Anyway, have fun!

    10 CLS:A=0:B=0:W=48:H=32
    30 BOX 0,0,W,H,1
    40 U=H/2-3:V=U
    50 LINE W-5,U,W-5,U+5,2:LINE 4,V,4,V+5,2
    60 CURSOR 8,1:? A:IF A=9 STOP
    70 CURSOR 3,1:? B:IF B=9 STOP
    80 D=1:E=1:IF (U+V)&1 E=-1
    90 X=5:Y=V+3:SET X,Y
    100 C=50
    110 IF C>0 C=C-1:GOTO 240
    120 RESET X,Y
    130 X=X+D
    140 IF X=0 A=A+1:GOTO 60
    150 IF X=W B=B+1:GOTO 60
    160 IF X=W-6 IF Y>=U IF Y<=U+6 D=-D:TONE 440,100
    170 IF X=5 IF Y>=V IF Y<=V+6 D=-D:TONE 440,100
    180 Y=Y+E
    190 IF Y=1 E=-E
    200 IF Y=H-1 E=-E
    210 IF X=W-6 IF Y=U IF E=1 E=-1
    220 IF X=W-6 IF Y=U+5 IF E=-1 E=1
    230 SET X,Y
    240 LINE W-5,U,W-5,U+5,2
    250 U=H-2-PAD(1)/8
    260 IF U<0 U=0
    270 IF U>H-6 U=H-6
    280 LINE W-5,U,W-5,U+5,2:LINE 4,V,4,V+5,2
    300 IF D=1 GOTO 370
    310 IF X>=28 GOTO 370
    320 IF X=27 IF A<=B GOTO 370
    330 IF E=1 Q=Y+X-4:IF Q>=H Q=32-H
    340 IF E=0 Q=Y-X+4:IF Q<0 Q=-Q
    350 IF Q<V+3 IF V>1 V=V-1
    360 IF Q>V+3 IF V<25 V=V+1
    370 LINE 4,V,4,V+5,2
    380 RESET X,Y
    400 DELAY 20:GOTO 110

    HB Tiny Basic Type in Game: Hurkle

    For those of you who are old enough to know and remember the TRS-80, Cromemco or Altair will remember the game of Hurkle.

    WP_20160908_23_16_10_Pro (2)A Hurkle is a legendary beast that, even today, remains highly elusive creature.  So elusive, in fact, that few have seen a Hurkle and lived to tell about it.  Of course, you, our intrepid adventurer, are different.  For, you, you have HALF-BYTE’S Tiny Basic and an Arduino or compatible microcontroller at your disposal.  An arsenal worthy of such of hunt.

    Our Hurkle adventure takes place on a 10 by 10 grid.  You have to find the creature by deducing its where abouts on the 10 by 10 grid. Unfortunately for you, you will have from five to twenty moves in which to find the creature. Each time your adventure begins, your time is recalculated. This makes the level of difficulty even higher. You will, of course, through the use of the microcontroller, be told which direction you must travel.  Your grid follows a North-South, East-West pattern.  The X axis is West to East and Y axis is North to South. 

    This simple game is rather difficult to play.  Sure, there is a way to cheat, but I’ll let you figure that out. And, once you do, you should just type NEW and move on to something else.

    This game was originally published by the People’s Computer Company in Menlo Park California. I have adapted it from the Big Book of Computer Games, published in the early 1970’s.

    NOTE: I had originally posted a version of the game, as part of a sample code page. The listing was broken and the game did not work correctly, as published.  This one does.  Apologies for that.

    Below is the HB Tiny Basic listing.

    10  CLS: ?”HURKLE”
    20  ?”FOR HB TINY BASIC”
    99  # Converted to TINY BASIC by George Gray
    100 # HURKLE – PEOPLE’S COMPUTER COMPANY, MENLO PARK CA
    110 N=RND(10)+5
    120 G=10
    210 ?
    220 ? “A hurkle is hiding on a “,G,” by “,G,” grid.”
    230 A = RND(G)
    240 B = RND(G)
    310 FOR K=1 TO N
    320 ? “Guess #”,K
    330 ?”X=”;: INPUT X
    335 ?”Y=”;: INPUT Y
    340 IF ABS(X-A)+ABS(Y-B)=0 GOTO 500
    350 # ? INFO
    360 GOSUB 610
    380 NEXT K
    420 ? “Sorry, that’s “,N,” guesses.”
    430 ? “The hurkle is at “,A,”,”,B
    450 ? “Let’s play again. Hurkle is hiding.”
    470 GOTO 285
    500 ? “You found him in “,K,” guesses!”
    530 FOR I=1 TO 10
    532 TONE 1000,75
    534 NEXT I
    540 GOTO 440
    610 ? “Go “;
    620 IF Y=B GOTO 670
    630 IF Y<B GOTO 660
    640 ? “South “
    650 GOTO 670
    660 ? “North “
    670 IF X=A GOTO 720
    680 IF X<A GOTO 710
    690 ? “West “
    700 GOTO 720
    710 ? “East “
    720 ?””
    730 RETURN

    Mario and iPhone 7…Pokemon and Apple Watch

    Apple had its September press event to announce Apple Watch, Series 2, iOS 10 and iPhone 7.  But, perhaps the biggest thing announced at the event was a game.

    Early on in the event, Tim Cook said that there were over 500,000 games in the app store, but that one had been missing. Rather, one character had been missing…MARIO. And, with that, he introduced Shigeru Miyamoto, the creator of Mario.

    Mr. Miyamoto explained the new game while a demo was being played on the big screen.  This Mario game looks and sounds like a Wii U game, but is controlled via touch on the iPhone or iPad.  You use a single finger to control Mario’s jumps…the longer you hold your finger down, the higher he jumps. 

    While the game looked great, the game play is like a neutered Super Mario Brothers 2D side scroller. Neutered in that it appeared that Mario only goes in one direction in single hand play.  The goal is to collect as many coins as you can and raise the end of level flag, before the time runs out. 

    More importantly, the game will NOT be a ‘freemium’ game in the traditional sense. You only pay one time, there are no in game purchases.  There’s no having to wait two hours for your lives to replenish.  It is a nice change from the current game mobile game model.

    Now, for the other announcements, and I’m not going into detail as it has already been covered else where.

    Apple Watch 2 will be out in September and will be faster and more responsive.  Oh, and Pokemon GO! is coming to the Apple Watch.  With some health monitoring additions, this looks pretty decent.

    iPhone 7, though, is what I am more excited to talk about. 

    Now, before I go on, let me say that I am still not an Apple fan and I LOVE my Windows Mobile 10 phone(s). 

    So, what has me excited about the iPhone 7?  Well, even though it isn’t a huge, earth shattering advance in mobile technology, the camera, faster processor and MICROSOFT have me excited for the new iPhone. 

    The iPhone 7 will feature a new image sub system, new API’s and better optics. In addition, iPhone 7Plus, the phablet edition, will feature TWO 12 mp cameras in addition to the front camera.  The new image processor enables the phone to record in 4K video as well.

    Here are some of the nice new photo related features, from Apple:

    • New Apple-designed Image Signal Processor, which processes over 100 billion operations on a single photo in as little as 25 milliseconds, resulting in incredible photos and videos;
    • New 7-megapixel FaceTime HD camera with wide color capture, advanced pixel technology and auto image stabilization for even better selfies; and
    • New Quad-LED True Tone flash that is 50 percent brighter than iPhone 6s including an innovative sensor that detects the flickering in lights and compensates for it in videos and photos.

    Iapple-iphone7plus-zoomn addition to the photo features, Microsoft’s entire suite of apps that are on the iPhone mean that I can continue using my Microsoft services and apps with my Windows 10 desktop just as seamlessly as I can, now, with my Windows Mobile phone.

    There are other things, like the subtle changes to iOS and to the phone chassis itself.

    There are things I don’t like, such as the removal of the headphone jack, inability to upgrade storage via SD card, no way to project the phone to another screen (at least, I haven’t seen this) and the lack of home screen tiles…a feature I’ve really grown to love on my Windows Mobile phone.  In fact, the lack of live tiles is almost a deal breaker for me. Almost.

    For now, I am on the verge of mothballing my Windows Mobile phone and going Apple again.  I’m going to have play with one for a bit.   But, today’s announcements look encouraging.  Of course, if I wait a year, I may like iPhone 8 more…

    More type in goodness…Half-Byte Tiny Basic type in game, Zapp the Moon Man, take 2

    zappthemoonmanRelease three of Half-Byte Tiny Basic ate up about eight more bytes of memory than the previous release, so there are now 938 bytes free for user code to reside.  My last version of Zapp the Moon Man—previously unpublished—featured the Moon man’s ability to move down the screen and attack as well as the user’s ability to move the cannon back and forth.  Sadly, for this release, I’ve had to remove the downward mobility of the Moon Man, but I have left in the user’s ability to move and also made the ‘hit box’ better, resulting in a somewhat easier game play.

    This game shows off just how versatile Tiny Basic can be, how speedy the ATMega 328 is and how quickly Tiny Basic can interpret your code.

    At any one time in the game, both your cannon and the Moon Man can be moving as well as the torpedo you are shooting at the moon man.  Three objects to track on the screen. In interpreted BASIC. Running on a microcontroller that was meant for turning relays on and off, not playing video games. And, it does it rather smoothly.  The jerkiness that is there is there by design, to mimmick those games from the 1970’s.

    The game is pretty primitive. It resembles Space Invaders, but there is only one ‘invader’, the Moon Man, and there are no protective shields…heck, the Moon Man does not even shoot at you…yet.  It does feature some primitive, character based, animated graphics.  The Moon Man sort of looks like a Space Invader. As it moves back and forth, its antennae move and its ‘feet’ swivel side to side.  You use a Wii Nunchuck’s thumb stick to move and the Z button to fire your torpedo. The game keeps a score…10 points for every Moon Man you destroy.  You hear a launch tone when you fire and, when you hit a Moon Man, you see a little explosion like effect. And…that’s it.  Simple and not earth shattering (that will be in a future update.)

    So, with out any further delay…(One note: when typing in the code, do not put in extra spaces.  Use one space between the line number and the code, and one space before line numbers in things like GOTO or GOSUB.  The listing below inserted additional spacing, you can ignore it.)

    100 CLS:ECHO 0
    110 A=0:B=0:O=75
    120 X=10:Y=10:Z=5:F=0:D=1:S=0
    140 LINE 0,48,80,48,1
    150 GOSUB 700
    160 GOSUB 900
    170 P=PAD(3):Q=PAD(0)
    180 IF P=1 F=1:TONE 200,100
    190 IF F=1 GOSUB 1000
    192 IF Q>200 GOSUB 600
    194 IF Q<100 GOSUB 600
    200 A=A+D
    210 IF A>15 D=-1
    220 IF A<3 D=1
    230 GOSUB 1200
    290 GOTO 140
    600 CURSOR X,Y:?”  “;
    610 IF Q>200 I=1
    620 IF Q<200 I=-1
    630 X=X+I
    640 IF X<2 X=2
    650 IF X>17 X=17
    660 GOSUB 900
    690 RETURN
    700 IF D=1 CURSOR A,B:?CHR(152);:DELAY O:CURSOR A,B:?CHR(153);:DELAY O:CURSOR A,B:?”  “;
    710 IF D=-1 CURSOR A,B:?CHR(153);:DELAY O:CURSOR A,B:?CHR(152);:DELAY O:CURSOR A,B:?”  “;
    790 RETURN
    900 CURSOR X,Y:?CHR(150);
    990 RETURN
    1000 CURSOR X,Z:?”|”;:DELAY 20:CURSOR X,Z:?” “;:DELAY 20
    1050 Z=Z-1
    1060 IF Z=0 IF A=X Z=5: GOTO 1100
    1070 IF Z=0 IF A=X+1 Z=5: GOTO 1100
    1080 IF Z=0 Z=5:F=0
    1090 RETURN
    1100 CURSOR A,B
    1110 ?”***”;:DELAY 180:CURSOR A,B:?”XXX”;:DELAY 170:CURSOR A,B:?”   “;:A=0:B=0:F=0
    1190 S=S+10
    1200 CURSOR 0,5:?”SCORE:”,S;
    1290 RETURN

     

    If you come up with any improvements, optimization, etc., please let us know.

    Oh, one big caveat…as it does use up all but 15 bytes of RAM, your keyboard buffer is limited to 15 bytes…Tiny Basic does not set aside a dedicate memory for keyboard input. It dwindles as you use up memory.  So, keep in mind that you may have to delete a long line and split it up—which will use at least three bytes plus the content of the line.

    UPDATE:  Since this was posted, I have made a few improvements to the game AND saved even more RAM, about 90 bytes total.  Among the improvements: a random speed for the moon man, the ability of the moon man to descend on you and…you can lose the game.

    The updated code is below.

    100 CLS
    110 A=0:B=0:O=RND(100)
    120 X=10:Y=8:Z=5:F=0:D=1:S=0
    140 LINE 0,48,80,48,1
    150 GOSUB 700
    160 GOSUB 900
    170 P=PAD(3):Q=PAD(0)
    180 IF P=1 F=1:TONE 200,100
    190 IF F=1 GOSUB 1000
    192 IF Q>200 I=1:GOSUB 600
    194 IF Q<100 I=-1:GOSUB 600
    200 A=A+D
    210 IF A>16 D=-1:B=B+1:if b>=Y CLS:?”You lose!”:Delay 3000:goto 100
    220 IF A<1 D=1
    230 GOSUB 1200
    290 GOTO 140
    600 CURSOR X,Y:?”  “;:X=X+I
    640 IF X<2 X=2
    650 IF X>17 X=17
    660 GOSUB 900
    690 RETURN
    700 CURSOR A,B:?CHR(152);:DELAY O:CURSOR A,B:?CHR(153);:DELAY O:CURSOR A,B:?”  “;
    790 RETURN
    900 CURSOR X,Y:?CHR(150);
    990 RETURN
    1000 CURSOR X,Z:?”|”;:DELAY 20:CURSOR X,Z:?” “;:DELAY 20
    1010 Z=Z-1
    1060 IF X=A IF Z=B GOTO 1100
    1070 IF X=A+1 IF Z=B GOTO 1100
    1080 IF Z=0 Z=5:F=0
    1090 RETURN
    1100 CURSOR A,B
    1110 ?”***”;:DELAY 180:CURSOR A,B:?”XXX”;:DELAY 170:CURSOR A,B:?”   “;:A=0:B=0:F=0
    1120 Z=5
    1190 S=S+10:O=RND(100)
    1200 CURSOR 0,5:?”SCORE:”,S;
    1290 RETURN

    More type in goodness…Half-Byte Tiny Basic type in game, Zapp the Moon Man, take 2

    zappthemoonmanRelease three of Half-Byte Tiny Basic ate up about eight more bytes of memory than the previous release, so there are now 938 bytes free for user code to reside.  My last version of Zapp the Moon Man—previously unpublished—featured the Moon man’s ability to move down the screen and attack as well as the user’s ability to move the cannon back and forth.  Sadly, for this release, I’ve had to remove the downward mobility of the Moon Man, but I have left in the user’s ability to move and also made the ‘hit box’ better, resulting in a somewhat easier game play.

    This game shows off just how versatile Tiny Basic can be, how speedy the ATMega 328 is and how quickly Tiny Basic can interpret your code.

    At any one time in the game, both your cannon and the Moon Man can be moving as well as the torpedo you are shooting at the moon man.  Three objects to track on the screen. In interpreted BASIC. Running on a microcontroller that was meant for turning relays on and off, not playing video games. And, it does it rather smoothly.  The jerkiness that is there is there by design, to mimmick those games from the 1970’s.

    The game is pretty primitive. It resembles Space Invaders, but there is only one ‘invader’, the Moon Man, and there are no protective shields…heck, the Moon Man does not even shoot at you…yet.  It does feature some primitive, character based, animated graphics.  The Moon Man sort of looks like a Space Invader. As it moves back and forth, its antennae move and its ‘feet’ swivel side to side.  You use a Wii Nunchuck’s thumb stick to move and the Z button to fire your torpedo. The game keeps a score…10 points for every Moon Man you destroy.  You hear a launch tone when you fire and, when you hit a Moon Man, you see a little explosion like effect. And…that’s it.  Simple and not earth shattering (that will be in a future update.)

    So, with out any further delay…(One note: when typing in the code, do not put in extra spaces.  Use one space between the line number and the code, and one space before line numbers in things like GOTO or GOSUB.  The listing below inserted additional spacing, you can ignore it.)

    100 CLS:ECHO 0
    110 A=0:B=0:O=75
    120 X=10:Y=10:Z=5:F=0:D=1:S=0
    140 LINE 0,48,80,48,1
    150 GOSUB 700
    160 GOSUB 900
    170 P=PAD(3):Q=PAD(0)
    180 IF P=1 F=1:TONE 200,100
    190 IF F=1 GOSUB 1000
    192 IF Q>200 GOSUB 600
    194 IF Q<100 GOSUB 600
    200 A=A+D
    210 IF A>15 D=-1
    220 IF A<3 D=1
    230 GOSUB 1200
    290 GOTO 140
    600 CURSOR X,Y:?”  “;
    610 IF Q>200 I=1
    620 IF Q<200 I=-1
    630 X=X+I
    640 IF X<2 X=2
    650 IF X>17 X=17
    660 GOSUB 900
    690 RETURN
    700 IF D=1 CURSOR A,B:?CHR(152);:DELAY O:CURSOR A,B:?CHR(153);:DELAY O:CURSOR A,B:?”  “;
    710 IF D=-1 CURSOR A,B:?CHR(153);:DELAY O:CURSOR A,B:?CHR(152);:DELAY O:CURSOR A,B:?”  “;
    790 RETURN
    900 CURSOR X,Y:?CHR(150);
    990 RETURN
    1000 CURSOR X,Z:?”|”;:DELAY 20:CURSOR X,Z:?” “;:DELAY 20
    1050 Z=Z-1
    1060 IF Z=0 IF A=X Z=5: GOTO 1100
    1070 IF Z=0 IF A=X+1 Z=5: GOTO 1100
    1080 IF Z=0 Z=5:F=0
    1090 RETURN
    1100 CURSOR A,B
    1110 ?”***”;:DELAY 180:CURSOR A,B:?”XXX”;:DELAY 170:CURSOR A,B:?”   “;:A=0:B=0:F=0
    1190 S=S+10
    1200 CURSOR 0,5:?”SCORE:”,S;
    1290 RETURN

     

    If you come up with any improvements, optimization, etc., please let us know.

    Oh, one big caveat…as it does use up all but 15 bytes of RAM, your keyboard buffer is limited to 15 bytes…Tiny Basic does not set aside a dedicate memory for keyboard input. It dwindles as you use up memory.  So, keep in mind that you may have to delete a long line and split it up—which will use at least three bytes plus the content of the line.