Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : asciimation
Page 1 of 2 | |||||
Author | Message | ||||
Martin H. Guru Joined: 04/06/2022 Location: GermanyPosts: 1113 |
When one has a lot of time and desire, translate this to VT100 'no comment |
||||
Hans Senior Member Joined: 18/10/2022 Location: CanadaPosts: 116 |
Hi Martin; Nice find, thank you for shareing that with us. I'm retired and I don't have the time to create a remake of that. Then again I spend a lot of time with my trains. I guess its all about where your passion lies. Thanks again, Hans ... |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6787 |
That's brilliant! :D Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
Martin H. Guru Joined: 04/06/2022 Location: GermanyPosts: 1113 |
the uncompressed TXT File is on Github that would be the easiest way and wouldnt take to much Time, to write a little Player. the Time, how long (How many Ticks) a Picture should be shown is encoded in the text File. The normal playback speed is 15fpS, so every "TICK" should be 65ms..enough time to load the 15 Lines of Text The disadvantage is that the uncompressed TextFile is 1,999,080 bytes long 1.9MB, so this does not work from A: but most of the Text is chr 32 (Space) so I think it could be easy compressed, if the Spaces are just counted) so that every chr 32 is followed by the Number of them. LIke we compress the Sprites for Csubs Edited 2024-02-07 03:58 by Martin H. 'no comment |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4233 |
Looking at the format, I would add line numbers in front of each line. Then do a line for line compare with the previous frame, and only keep The changed lines. This would shrink the file by 70% And the player would be super simple. I’ll give it a try tomorrow. Should not cost more than an hour to write, on MMB4W. The player will not be more than 10 lines of code on picomite. Volhout Edited 2024-02-07 04:51 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
EDNEDN Senior Member Joined: 18/02/2023 Location: United StatesPosts: 118 |
When doing software schedules, it is usually more accurate to double the number and increment the units of the initial estimate. Accordingly, I'm expecting this to take 2 days. |
||||
PeteCotton Guru Joined: 13/08/2020 Location: CanadaPosts: 368 |
I love this. It reminds me of a power station I worked in in the early 90's. The VAX admin would always add a little VT100 animation to the user login screen at Christmas (Christmas pud with snowflakes etc.). Edited 2024-02-07 06:01 by PeteCotton |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4233 |
All, find attached ZIP file. It contains the start wars movie, and a test file called "rick_roll.txt" In it is a file compressor "compress.bas" based on only adding different lines. it compresses the 95kb file "rick_roll.txt" to 34kb file "rick_roll_c.txt" in the ZIP is also a player "player.bas" for the compressed file. This works in MMB4W. Tested on the rick_roll.txt file that is 13 lines x 68 characters video window. The programs are a little more complex than I expected since MMB4W removes leading <SPACE> characters in a string when reading from a file when using INPUT #1,a$ The player cannot play uncompressed files. No guarantee for this set of programs, use at your own risk... asciimovie.zip Regards, Volhout p.s. The timer tick in the rick_roll movie is set to 500ms. I thought it was too fast else. Edited 2024-02-07 07:27 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
homa Guru Joined: 05/11/2021 Location: GermanyPosts: 351 |
Not bad! Thanks for that. BUT where is the sound? ;-) I tested it on a PicoMiteVGA. It's still a bit rough compared to the original ... Pause t*50 'previous time and changing the timers only helps to a limited extent ... then the text becomes too fast ... I have attached the sw1_c.txt. sw1_c.zip Matthias > option list PicoMiteVGA MMBasic Version 5.08.00 OPTION SYSTEM I2C GP14,GP15 OPTION COLOURCODE ON OPTION KEYBOARD GR OPTION CPUSPEED (KHz) 252000 OPTION SDCARD GP13, GP10, GP11, GP12 OPTION AUDIO GP4,GP5', ON PWM CHANNEL 2 OPTION RTC AUTO ENABLE OPTION MODBUFF ENABLE |
||||
Martin H. Guru Joined: 04/06/2022 Location: GermanyPosts: 1113 |
I'm glad you asked, looking ahead as I am, I created the matching soundtrack about 2 years ago. Have fun with it 'no comment |
||||
Martin H. Guru Joined: 04/06/2022 Location: GermanyPosts: 1113 |
This works on a freshly installed Picomite in Tera Term without any special accessories . just copy it and the "rick_roll_c.txt" to a: 'ascii movie player VT edition Open "rick_roll_c.txt" For input As #1 'cls Print Chr$(27); "[2J"; 'Cursor off Print Chr$(27);"[?25l"; t=1 'fh=MM.Info(FONTHEIGHT) Do 'first character in a line ch$=Input$(1,#1) If Asc(ch$)>127 Then 'movie line vpos=1+Asc(ch$)-128 lin$="" Do ch$=Input$(1,#1) If Asc(ch$)>31 Then lin$=lin$+ch$ Loop Until Asc(ch$)<27 Print @(0,vpos*10),Space$(68) 'text 0,vpos*fh,space$(68) 'Text 0,vpos*fh,lin$ Print @(0,vpos*10),lin$ Else 'time marker Pause t*250 'previous time tim$=ch$ ' do ' ch$=input$(1,#1) ' if asc(ch$)>31 then tim$=tim$+ch$ ' loop until asc(ch$)<32 t=Val(tim$) 'new time marker EndIf Loop Until Eof(1) Close #1 'Cursor on Print Chr$(27);"[?25h"; Edited 2024-02-07 15:53 by Martin H. 'no comment |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4233 |
For the PicoMiteVGA users... Here is the movie player and movie for PicoMiteVGA. The size will fit on the A: drive of a PicoMiteVGA, but it runs just as well from the SD card. UNzip, and run "player.bas" If needed change the variable "fps" to your desired speed. Have fun. SW1.zip Volhout P.S. Homa, thanks for compressing P.S.S. Martin: nice sound track. Would be a nice MOD to attach to the rick_roll move, if we could ever get it synchronous.... EDIT: I noted one line that did not update well at 10 minutes roughy. Not sure if this is in the compressed file or the player. But in general...it works. Edited 2024-02-07 19:15 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Martin H. Guru Joined: 04/06/2022 Location: GermanyPosts: 1113 |
so cude 'no comment |
||||
Bleep Guru Joined: 09/01/2022 Location: United KingdomPosts: 509 |
Hi Harm, Using PicoMiteVGA MMBasic Version 5.08.00 I've been looking at this, and have found a problem, which I can't explain? any text line that contains a comma ',' is truncated at the comma, including the comma, you can see this in the early scrolling text, I've experimented with different ways of doing the Text command , but cannot get it to print anything after the comma? it is as though the Text command is treating it as a delimiter, in the string? I suspect this may be a bug. Just found it's not the Text command, it must be the Input command as doing a standard Print ? also misses of the end of the line from the comma? Just found it is the Input, from the manual, "Input will take a list of variables separated by a comma (,)" So we need a different way of reading the file? Regards, Kevin. Edited 2024-02-08 03:43 by Bleep |
||||
Martin H. Guru Joined: 04/06/2022 Location: GermanyPosts: 1113 |
I tested LINE INPUT. so from Do Input #1,ch$ 'read one line from file If Asc(Left$(ch$,1))>127 Then 'movie line vpos=1+Asc(Left$(ch$,1))-128 'extract line number Text xs,ys+vpos*fh,Space$(68) 'clear this line on screen Text xs,ys+vpos*fh,Right$(ch$,Len(ch$)-1) 'write the new line Else 'time marker FRAMEBUFFER copy f,n Pause t*tick 'previous time t=Val(ch$) 'get new frame time EndIf Loop to Do Line Input #1,ch$ 'read one line from file If Asc(Left$(ch$,1))>127 Then 'movie line vpos=1+Asc(Left$(ch$,1))-128 'extract line number Text xs,ys+vpos*fh,Space$(68) 'clear this line on screen Text xs,ys+vpos*fh,Right$(ch$,Len(ch$)-1) 'write the new line Else 'time marker FRAMEBUFFER copy f,n Pause t*tick 'previous time t=Val(ch$) 'get new frame time EndIf Loop btw .. with Font 8 the Game*mite is also able to play the Movie Edited 2024-02-08 04:06 by Martin H. 'no comment |
||||
Bleep Guru Joined: 09/01/2022 Location: United KingdomPosts: 509 |
Well done Martin, :-) I've been scouring the manual looking for something like that. Yes it fixes it. Regards, Kevin. |
||||
Martin H. Guru Joined: 04/06/2022 Location: GermanyPosts: 1113 |
Here is my version adapted for Game*Mite GameMite.zip copy both files in the SW1 Folder and start the GM_Player.bas Edited 2024-02-08 04:38 by Martin H. 'no comment |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4039 |
I've seen this before, but it's awesome to have it on the Game*Mite. These changes to the player help it find the assets, though you do have to start it with RUN rather than through the EDITor (because that doesn't set the path): 'ascii movie player for compressed (indexed) files 'Game*Mite Version Option default integer Font 8 'open "sw1_c.txt" for input as #1 Open MM.Info(Path) + "sw1_c.txt" For input As #1 ' < ---- fps=16 'set up theater environment FRAMEBUFFER create:FRAMEBUFFER write f Load image MM.Info(Path) + "title_s.bmp",20,10 ' < ---- 'TILE 0,0,RGB(yellow),,80,13 FRAMEBUFFER copy f,n ... Thanks, Tom Edited 2024-02-08 05:10 by thwill Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
homa Guru Joined: 05/11/2021 Location: GermanyPosts: 351 |
@Volhout: Many thanks for the VGA version! This is brilliant. You misunderstood me ... on purpose ... the sound of the saga, of course! |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4233 |
Thanks HOMA for finding the issue with the comma's. Thanks Martin_H for fixing it. Volhout PicomiteVGA PETSCII ROBOTS |
||||
Page 1 of 2 |
Print this page |