Jump to content
IGNORED

RIP graphics can work wit FuSiON BBS!


Shift838

Recommended Posts

so I started toying around the idea that the RIP file graphics format could be used to create some really cool graphical screns for use with FuSiON BBS.

 

I have done a preliminary test with a couple of graphics files to determine if they would even load up. And they did. There were a hand ful of garbage characters at the end of the file, but that was as expected. I should be able to find the values and zero them out to make them look good.

 

When I have some test area to throw up that has some i will let you know. Please remember you will need to call into the BBS via a terminal program that supports RIP like Ripterm 1.54.

 

If I decided to put some code to cycle though RIP graphics or utiilize RIP graphic menus then I will put it for download in my section.

 

Any questions just send me a PM.

 

 

Screenshot shows promise!

 

 

post-35187-0-16866700-1473222091_thumb.jpg

  • Like 2
Link to comment
Share on other sites

I added a routine in the BBS remote management functions to deal with the garbage characters. Essentially, you need to know the -real- size of the file from the PC side, divide that by 128 (record size of the DF128 file), and clear the remaining bytes. There might still be some tweaking you'll need to do. Anyway, here is that routine.

 

 

!Use:  CALL ANSIFIX(pathname$)
!P$ is the period-terminated pathname passed from the main program's remote disk catalog routine
!Note that this subprogram uses its own error handling during file IO, since you should not branch outside of a subprogram.  The main program's error recovery branch point is restored just prior to exiting, with the return stack adjusted if there was an error.
!CALL G is user/terminal input
!CALL C is display
 
7000 SUB ANSIFIX(P$)
7020 CALL G("~~(c/r) or FIX:\"&P$,10,A$) :: IF A$="" THEN 7110
7025 ON ERROR 7104 :: OPEN #88:P$&A$,DISPLAY,FIXED 128,RELATIVE,INPUT :: CLOSE #88
7026 OPEN #88:P$&A$,DISPLAY,FIXED 128,RELATIVE
7030 CALL H("~Total Bytes (PC):",6,B$) :: IF B$="" THEN 7110 ELSE A=VAL(B$)
7040 B=INT(A/128) :: OFFSET=A-B*128+1
7050 CALL M("~Modify Rec#"&STR$(B)&" Offset: "&STR$(OFFSET)&" (y/n):",AJ,"YyNn") :: IF AJ>1 THEN CLOSE #88 :: GOTO 7110
7060 ON ERROR 7105
7070 LINPUT #88,REC B:B$
7080 C$=SEG$(B$,1,OFFSET-1)&RPT$(CHR$(0),128-OFFSET)
7090 PRINT #88,REC B:C$ :: CLOSE #88
7100 CALL C("~File updated") :: SUBEXIT
7104 CALL C("~** FILE ERROR, aborted") :: RETURN 7106
7105 CALL C("~** Processing error, aborted.") :: RETURN 7106
7106 ON ERROR 2670
7110 CALL C("~") :: SUBEND
Link to comment
Share on other sites

 

I added a routine in the BBS remote management functions to deal with the garbage characters. Essentially, you need to know the -real- size of the file from the PC side, divide that by 128 (record size of the DF128 file), and clear the remaining bytes. There might still be some tweaking you'll need to do. Anyway, here is that routine.

!Use:  CALL ANSIFIX(pathname$)
!P$ is the period-terminated pathname passed from the main program's remote disk catalog routine
!Note that this subprogram uses its own error handling during file IO, since you should not branch outside of a subprogram.  The main program's error recovery branch point is restored just prior to exiting, with the return stack adjusted if there was an error.
!CALL G is user/terminal input
!CALL C is display
 
7000 SUB ANSIFIX(P$)
7020 CALL G("~~(c/r) or FIX:\"&P$,10,A$) :: IF A$="" THEN 7110
7025 ON ERROR 7104 :: OPEN #88:P$&A$,DISPLAY,FIXED 128,RELATIVE,INPUT :: CLOSE #88
7026 OPEN #88:P$&A$,DISPLAY,FIXED 128,RELATIVE
7030 CALL H("~Total Bytes (PC):",6,B$) :: IF B$="" THEN 7110 ELSE A=VAL(B$)
7040 B=INT(A/128) :: OFFSET=A-B*128+1
7050 CALL M("~Modify Rec#"&STR$(B)&" Offset: "&STR$(OFFSET)&" (y/n):",AJ,"YyNn") :: IF AJ>1 THEN CLOSE #88 :: GOTO 7110
7060 ON ERROR 7105
7070 LINPUT #88,REC B:B$
7080 C$=SEG$(B$,1,OFFSET-1)&RPT$(CHR$(0),128-OFFSET)
7090 PRINT #88,REC B:C$ :: CLOSE #88
7100 CALL C("~File updated") :: SUBEXIT
7104 CALL C("~** FILE ERROR, aborted") :: RETURN 7106
7105 CALL C("~** Processing error, aborted.") :: RETURN 7106
7106 ON ERROR 2670
7110 CALL C("~") :: SUBEND

thanks. I'll work on getting this in Fusion and see how it goes.

 

So from reading this it looks like it just modifies the files if needed on the fly?

Link to comment
Share on other sites

thanks. I'll work on getting this in Fusion and see how it goes.

 

So from reading this it looks like it just modifies the files if needed on the fly?

Not quite... the BBS remote functions allow uploading files. After uploading an ANSI file using Xmodem, the file is modified by this routine manually. If you use the DFMSG routine, you can look for ASCII 0 as a stop character to avoid printing them. That's a separate function though.

Link to comment
Share on other sites

I put in some code to have a basic RIP support for the a PreLogin page but that's it.

 

Not sure if I will go all out with RIP or not. It's all about how much time I want dedicate to learning RIP script.

 

So if you have access to a terminal that supports RIP graphics and you call just hit Y when prompted for RIP support and after you login you will see my basic RIP screen.

 

Also after creating it, i ended up not having to modify the RIP binary at all on the TI/Geneve. Just copied it over and it was in the required format already. So i bet with any RIP graphic i find I can just resave it within PabloDraw and it should come out fine.(more testing will be needed of course to make sure)

 

So that part was easy!

Link to comment
Share on other sites

Also after creating it, i ended up not having to modify the RIP binary at all on the TI/Geneve. Just copied it over and it was in the required format already. So i bet with any RIP graphic i find I can just resave it within PabloDraw and it should come out fine.(more testing will be needed of course to make sure)

It is possible/probable the RIP scrip contains its own end of file/end of processing 'marker'. The S&T assembly doesn't interpret the file stream when reading DF128 formatted files, so for ANSI files (or any DF128 transferred files) the last 128 bytes is a crapshoot based on what was uploaded, hence sometimes needing to 'fix' them.

Edited by InsaneMultitasker
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...