rcamp48 Posted May 29, 2022 Share Posted May 29, 2022 (edited) I have had a bit of a breakthrough on the atr of Puff BBS, this video shows you exactly what the .MOD files are in that atr, they are module files written in Basic XE... The files need some work however as they refer to several R: devices. Here is a short video and a few list able files in ascii : Puff BBS Listings.mp4 startbbs.bas mainprm.bas INitbbs.bas Edited May 29, 2022 by rcamp48 corrections Quote Link to comment Share on other sites More sharing options...
Mrshoujo Posted May 29, 2022 Share Posted May 29, 2022 (edited) Why would a BBS Init program need to open the Cassette for data? Line 200 opens channels to Cassette and Keyboard. However, didn't Bob use his own MyDOS? Though I would think 'C:' would still refer to Cassette. 'C:' - no filename needed D2:filename.ext - filename needed. Edited May 29, 2022 by Mrshoujo C: changed to unintended emoticon Quote Link to comment Share on other sites More sharing options...
rcamp48 Posted May 29, 2022 Author Share Posted May 29, 2022 3 minutes ago, Mrshoujo said: Why would a BBS Init program need to open the Cassette for data? Line 200 opens channels to Cassette and Keyboard. However, didn't Bob use his own MyDOS? Though I would think 'C:' would still refer to Cassette. 'C:' - no filename needed D2:filename.ext - filename needed. That is probably a multi IO device that it is opening as it uses many com ports I assume a multi-IO device, the "C:" device would not be cassette as it is used rather like an sio command in further lines down Quote Link to comment Share on other sites More sharing options...
rcamp48 Posted May 29, 2022 Author Share Posted May 29, 2022 10 Rem MAINPRM.MOD 12/30/90 50 C1=1:C2=2:C3=3:C4=4:C10=10:C12=12 100 Main=20030:Update=20040:Trap 20000:For X=C1 To C4:Close #X:Next X 110 Open #C3,C12,C0,"C:":Open #C4,C12,C0,"K:" 200 Dim Fn$(40),F$(40),Q$(80),Lev$(32) 300 If Peek(1777) Then Open #C2,C12,C0,"M:":Status #C2,Node:Xio 35+Node,#C2,128,C0,"M:":? #C2;"Available for Chat" 310 Xio 41,#C3,C0,C0,"C:":Input #C3;Lev$ 320 Poke 1667,C0:Poke 1672,C3:Poke 1677,C0:Poke 1679,C1:Poke 1688,C0:Poke 16,64:Poke 53774,64:Poke 1691,C1 330 Poke 1692,255:Poke 1664,C0 500 If Peek(1790) Then 600 As you can see the program is using xio commands in the first part of the mainprm.mod file Line 110 opens the channels to a type of R: device, not once but twice Line 300 and line 310 uses 2 different xio commands to again R: devices, not cassette or keyboard.... and it is using Basic XE. I could diagnose and explain the whole program, I know Basic Xe fairly well....it will not be easy to convert, unless Thomas implements Multiple R: devices in the Fujinet, then you could theoretically have maybe 4 nodes open at the same time , maybe more. Anyways thats just my 2 cents worth , I have to go home soon and get some sleep, tomorrow is another day. Russ Quote Link to comment Share on other sites More sharing options...
rcamp48 Posted May 29, 2022 Author Share Posted May 29, 2022 (edited) 10 Rem MAINPRM.MOD 12/30/90 50 C1=1:C2=2:C3=3:C4=4:C10=10:C12=12 100 Main=20030:Update=20040:Trap 20000:For X=C1 To C4:Close #X:Next X 110 Open #C3,C12,C0,"C:":Open #C4,C12,C0,"K:" 200 Dim Fn$(40),F$(40),Q$(80),Lev$(32) 300 If Peek(1777) Then Open #C2,C12,C0,"M:":Status #C2,Node:Xio 35+Node,#C2,128,C0,"M:":? #C2;"Available for Chat" 310 Xio 41,#C3,C0,C0,"C:":Input #C3;Lev$ 320 Poke 1667,C0:Poke 1672,C3:Poke 1677,C0:Poke 1679,C1:Poke 1688,C0:Poke 16,64:Poke 53774,64:Poke 1691,C1 330 Poke 1692,255:Poke 1664,C0 500 If Peek(1790) Then 600 510 ? : ? "Sorry, your time has expired!!" 520 Poke 1536,Asc("Y"):X=Usr(38923,Adr("LOGOFF.MOD "),47):If X>127 Then X=Usr(38923,Adr("DROPCAR.MOD "),47) 600 X=Peek(1536):If X Then Poke 1536,C0:Goto 1110 610 If Not Peek(1777) Then 1000 620 Xio 19+Node,#C2,C0,C0,"M:":Status #C2,Node:If Peek(747)<C4 Then 1000 630 Input #C2;Q$:? : ? "Notify:":? Q$:? "Use [K] to Enter Multi-User Chat" 1000 X=Usr(38939) 1010 ? : ? "<Main> Use [?] for Menu: "; 1100 Poke 1678,C2:Get #C4,X:Poke 1678,C0:? Chr$(X):If X=155 Then X=63 1110 If X=63 Then 1220 1120 If X=Asc("*") Then X=91 1130 If X<65 Or X>91 Then ? :Goto 500 1140 X=X-65:Restore 10010+X*C10:Read F$:If Len(F$)<C4 Then 1220 1150 A=Peek(1731+X):If Not A Or Peek(1) Then 1200 1160 If Lev$(A,A)="1" Then 1200 1170 ? : ? " Access to this function Denied!":? :Goto 500 1200 X=X+65:If X=91 Then X=42 1205 Gosub 6000:If F$(Len(F$)-C2)="TXT" Then Fn$=F$:Goto 3010 1210 Poke 1536,X:Goto 5000 1220 X=Usr(38935,Adr("MAIN.TXT "),128):Goto 500 3010 Fn$(Len(Fn$)+1)=" ":X=Usr(38935,Adr(Fn$),128):Goto 500 5000 F$(Len(F$)+1)=" " 5010 X=Usr(38923,Adr(F$),47) 5015 ? #C4;"** Missing MOD file ";F$ 5020 ? : ? " Function not Available! ":Poke 1536,C0:Goto 500 6000 Xio 17,#C3,C0,C0,"C:":Put #C3,X:Return 10000 Rem [A] 10010 Data ATASCII.MOD 10020 Data BULLET.TXT 10030 Data CHKMAIL.MOD 10040 Data FM_MAIN.MOD 10049 Rem [E] 10050 Data --- 10060 Data FILES.MOD 10070 Data LOGOFF.MOD 10080 Data HELP.MOD 10089 Rem 10090 Data SYSINFO.TXT 10100 Data GAMEMENU.MOD 10110 Data CHAT2.MOD 10120 Data USERGET.MOD 10129 Rem [M] 10130 Data MSGBASE.MOD 10140 Data TD.MOD 10150 Data BBSLIST.MOD 10160 Data FILES.MOD 10169 Rem [Q] 10170 Data MSGBASE.MOD 10180 Data SIGSEL.MOD 10190 Data SYSOP.MOD 10200 Data UTILS.MOD 10209 Rem 10210 Data READU.MOD 10220 Data DBASE.MOD 10230 Data WFILE.TXT 10240 Data SURVEY.MOD 10249 Rem [Y] 10250 Data YELL.MOD 10260 Data SIGSEL.MOD 10269 Rem [*] 10270 Data TOPTEN.TXT 20000 Close #C4:Open #C4,C12,C0,"K:" 20010 ? #C4;"* SYSTEM ERROR #";Peek(195);" at line ";Peek(186)+256*Peek(187);" in MAINPRM.MOD. File:";Fn$ 20020 ? "System Error #";Peek(195);" at ";Peek(186)+256*Peek(187):X=C1^C1^C1^C1^C1:Poke 1536,C0 20030 Run 20040 F$="UPDATE.MOD":Goto 5010 This is the whole main module. Russ Edited May 29, 2022 by rcamp48 unintended emoticons Quote Link to comment Share on other sites More sharing options...
rcamp48 Posted May 29, 2022 Author Share Posted May 29, 2022 The same directory has Object files, they are written in machine language, and probably coded for multi nodes, it will be tough to convert. I spent more than 4 hours looking at all of the files in that atr anyways. Quote Link to comment Share on other sites More sharing options...
rcamp48 Posted May 29, 2022 Author Share Posted May 29, 2022 (edited) This may help as this is what was used to run Bob Puff's BBS , a Multi-IO device: Microsoft Word - ICD Multi IO Board Manual _Rev 5-20-1987_.doc (atarimania.com) Edited May 29, 2022 by rcamp48 Quote Link to comment Share on other sites More sharing options...
rcamp48 Posted May 29, 2022 Author Share Posted May 29, 2022 I was just thinking that we could well have a useful way of using Puff BBS. Back in the days of modems isps used what we call racks of com ports. I may have a lead on getting a few of these racks cheaply, if they have not been scrapped then i could get my hsnds on several of them. But what's the point of this you ask as they use modems? Well you don't have to use modems, a friend of mine turns old modems into wifi modems, with all lights being used. Imagine 16 wifi modems being used on one rack! , each one on a different telnet port. With a rack you are talking a couple of hundred dollars to buy one. Each wifi modem would use a $2 ESP chip. So what are your thoughts on this? Russ Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted May 29, 2022 Share Posted May 29, 2022 (edited) You are giving me a headache.... The 'multi device' would be a MUX system that Puff sold under CSS... the serial device et al etc. would be a Black Box... the DOS was normally MyDOS... while people did use the MIO with all manner of applications and though the Puff BBS was able to work with other devices, it primarily stayed in the wheel house of CSS's product line. Why are you under the impression the BBS software all needs fixing? All of the BBS's that have been provided have been workable thus far... they just needed the files to be located in the correct places and all the normal configurations to be done. Puff's BBS was multi user and allowed for chat between nodes (callers). The mux system sold by CSS was used with MIO and black box systems co mingled at a later time if I recall as Carden worked it into TCIP Express and as the MIO remake was completed used mostly MIO's thereafter in real world use. Edited June 4, 2022 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
+DjayBee Posted May 29, 2022 Share Posted May 29, 2022 Perhaps you want to listen to Kay Savetz' interview with Bob where he talks in detail about his BBS. https://ataripodcast.libsyn.com/antic-interview-414-bob-puff-computer-software-services 1 Quote Link to comment Share on other sites More sharing options...
Alfred Posted May 31, 2022 Share Posted May 31, 2022 Puff never had an MIO and the Puff BBS is written in Atari Basic, not Basic XE. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.