Search the Community
Showing results for tags 'fujinet'.
-
Hello Apologies if I missed it, but is there any way to set up a local only TNFS server that operates within my firewall? I bookmarked the page on setting up a TNFS and it seemed as though it was geared towards establishing an online server. Many thanks!!!
-
Hello there, I don't really know if that's the right category for this topic, don't know where else to put it... ¯\_(ツ)_/¯ Does anyone have experience in hosting a server for the PLATO protocol (like irata.online:8005)? I'd like to try it out, nothing serious though, just for fun.... so is there possibly any software or instructions available? Because I couldn't really find what I'm looking for on irata and I don't know any other sites who host PLATO. Thanks in advance for any advice. Cheers
-
- irata.online
- platoterm
-
(and 1 more)
Tagged with:
-
Hi to all, I need to understand why some softwares in .ATR images are not loading correctly from the MicroSD Card with Fujinet, I have an Atari 800XL with the Ultimate 1MB and the PIA COVOX, my Fujinet is 1.0, it is updated with the latest firmware and have a MicroSD of 16GB. Maybe you think that maybe this upgrade is creating a compatibility issues, but no, I have a 130XE and a 64XE in perfect condition and I've got the same problem, loading with errors, look at these examples: AlleyCat: Chaos Music Composer: I think Fujinet is awesome but this is so weird because the softwares that are not loading are so specific, I tried to load the same softwares with an SDrive Max and works great. Can you give me some advice to fix this problem? Thank you all!
-
Hey guys, so I've started on a set of bindings for ACTION! and they almost work(tm). https://github.com/FujiNetWIFI/fujinet-apps/tree/master/netcat-action What does not work: * Write doesn't work. * Interrupt routine isn't being called, even though I vector it in, and toggle PACTL's PROCEED interrupt enable. Anybody want to peer at this and give some insight?
-
This is a research topic that I hope certain people familiar with SIO routines, such as @HiassofT can chime in: While the current OS routines work great for using N: in many contexts, such as writing turn based games, or communicating with existing services, these routines do not allow for any processing to occur while in use, which occludes their use in applications like arcade games. I do know that there were certain custom loader routines, such as those used by early Lucasfilm games (Ballblazer and Rescue on Fractalus being the two biggest examples), that allowed for two-channel sound use + graphics + logic while disk data was being loaded. I would estimate that the average amount of packet information needing to be sent would be on average about 16 to 32 bytes, to encode changes in game state. Could a new set of routines be developed that could work well in this situation? e.g. have two different routines depending on whether you need to run critical code during these network transfers or not (e.g. DLIs) ? -Thom
- 1 reply
-
- 1
-
I'm trying to get #fujinet working, so I've built a prototype according to the schematics found at github (https://github.com/FujiNetWIFI/fujinet-hardware/blob/master/Prototype-Schematics/fujinet-schematic_20200229_esp32-devkitc.jpg). The board I'm using is a ESP32-DEVKITC-VB Dev.kit Combo ESP32-WROVER-B ESPRESSIF (https://www.amazon.co.uk/gp/product/B07L9JM29R/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). So I choose fujinet-v1-4mb and build, upload file system image and upload. The monitor shows this: > Executing task in folder fujinet-platformio: platformio device monitor --environment fujinet-v1-4mb < --- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/ttyUSB0 921600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- 19:44:02.017 > 19:44:02.017 > --~--~--~-- 19:44:02.017 > FujiNet 0.1.547ff5cf 2020-07-26 16:55:01 Started @ 4 19:44:02.018 > Starting heap: 4133392 19:44:02.018 > PsramSize 3932108 19:44:02.018 > himem phys 4456448 19:44:02.018 > himem free 4456448 19:44:02.020 > himem reserved 262144 19:44:02.020 > SPIFFS mounted. 19:44:02.104 > SD mount failed with code #263, "ESP_ERR_TIMEOUT" 19:44:02.117 > fnConfig::load 19:44:02.119 > fnConfig deleting configuration file and skipping SD check 19:44:02.119 > WIFI_EVENT_STA_START 19:44:02.245 > disk MOUNT 19:44:02.269 > mounted ATR to Disk: 19:44:02.269 > num_para: 5760 19:44:02.269 > sectorSize: 128 19:44:02.269 > num_sectors: 720 19:44:02.269 > Creating a default printer using FS_SPIFFS storage and type 1 19:44:02.270 > SIO SETUP 19:44:02.270 > Available heap: 4057020 19:44:02.270 > Setup complete @ 257 (253ms) 19:44:02.272 > BOOT_KEY: LONG PRESS 19:44:03.446 > OTHER_KEY: LONG PRESS 19:44:03.446 > Shutdown handler called 19:44:03.447 > disk UNMOUNT 19:44:03.447 > disk UNMOUNT 19:44:03.447 > disk UNMOUNT 19:44:03.447 > disk UNMOUNT 19:44:03.447 > disk UNMOUNT 19:44:03.448 > disk UNMOUNT 19:44:03.448 > disk UNMOUNT 19:44:03.448 > disk UNMOUNT 19:44:03.448 > WIFI_EVENT_STA_STOP 19:44:03.448 > �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� 19:44:04.506 > 19:44:04.506 > --~--~--~-- 19:44:04.506 > FujiNet 0.1.547ff5cf 2020-07-26 16:55:01 Started @ 4 19:44:04.507 > Starting heap: 4133392 19:44:04.507 > PsramSize 3932108 19:44:04.507 > himem phys 4456448 19:44:04.507 > himem free 4456448 19:44:04.509 > himem reserved 262144 19:44:04.509 > SPIFFS mounted. 19:44:04.593 > SD mount failed with code #263, "ESP_ERR_TIMEOUT" 19:44:04.606 > fnConfig::load 19:44:04.608 > fnConfig deleting configuration file and skipping SD check 19:44:04.608 > WIFI_EVENT_STA_START 19:44:04.734 > disk MOUNT 19:44:04.758 > mounted ATR to Disk: 19:44:04.758 > num_para: 5760 19:44:04.758 > sectorSize: 128 19:44:04.758 > num_sectors: 720 19:44:04.758 > Creating a default printer using FS_SPIFFS storage and type 1 19:44:04.759 > SIO SETUP 19:44:04.759 > Available heap: 4057020 19:44:04.759 > Setup complete @ 258 (254ms) 19:44:04.761 > BOOT_KEY: LONG PRESS 19:44:05.935 > OTHER_KEY: LONG PRESS 19:44:05.935 > Shutdown handler called 19:44:05.935 > disk UNMOUNT 19:44:05.935 > disk UNMOUNT 19:44:05.935 > disk UNMOUNT 19:44:05.935 > disk UNMOUNT 19:44:05.935 > disk UNMOUNT 19:44:05.937 > disk UNMOUNT 19:44:05.937 > disk UNMOUNT 19:44:05.937 > disk UNMOUNT 19:44:05.937 > WIFI_EVENT_STA_STOP 19:44:05.937 > �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� This goes into an endless loop. The card doesn't have an SD card so I can understand that failure but its skipping that step so that should be OK. The thing is that I haven't connected it to the Atari yet. But there is no change if I have it connected to the Atari, still an endless loop of boot failures. Has anyone else seen this and even better know of a solution? Regards, JGroth
-
The R: firmware implementation in #FujiNet needs to be rounded out. Unfortunately, while I was able to get this to work with the initial tests I wrote, I am having trouble getting BBS Express to behave in the platform.io version of the firmware. BBS Express does some _VERY_ strange things: * It sends zero byte SIO writes. * It sends CONFIGURE commands with baud rate set to 0. I know there are people on here who HAVE the BBS Express! source code, I need to see what's happening, so I can replicate behavior. -Thom
-
Hey guys, Sorry, slightly stumped. Thanks to @flashjazzcat's excellent ultd example, I was able to make the N: handler self-relocatable, without the need of a separate loader segment. This has allowed the N: handler to now work under disk-based SpartaDOS, and other CP's that do not exactly follow the binary loader behavior in the DOS 2 mini-DUP. However, the relocation seems to have slipped the alignment of the 256 bytes used for both the RX/TX buffer (split down the middle at 128 bytes), and I'm not sure why. At the end of the day, I just need to load the handler in, and adjust memlo by driver end + one page, so that the buffer sits after the driver code. While I can use e.g. (ptr),Y in the init code, I can't reliably use it in the CIO handler code itself, so am not 100% sure how I can fix the relocation of the RBUF and TBUF labels, so that they sit exactly at $00 and $80 offsets within the target page. (pardon if there is something obvious, again, I do not write assembler all the time, and literally have been guessing and questioning my way through writing this whole thing, and it's almost ready.) The current handler code is here: https://github.com/FujiNetWIFI/fujinet-nhandler/blob/relocate-try-6/handler/src/ndev.s#L116 While I am indeed curious as to why my page alignment is being shifted, I'm honestly more interested to see how I can just side-step the problem.. -Thom
-
We now have, thanks to AtariAge users, a buildable version of Atari DOS 2.5, which can be built with MAC/65 to produce a usable disk image. I'm curious, as to whether we can move the non-resident part of DUP further up in memory by about 512 bytes or so, so that my #FujiNet N: driver can exist and function under DUP, without being clobbered? I know it's possible, but I'm not seeing immediately the equates to change to re-assemble to the new location? -Thom
-
For anyone who can answer. I have a CIO handler, that I've ported entirely to assembler (using AMAC), and it works. It loads just above the memlo that is imposed by DOS XL 2.30 with two double density disks ($2300), and with this, I am able to test and work through the rest of the CIO handler actions and debug without the weird side effects imposed by the C prototype version. In addition to the attached files here, I've uploaded my current work to the #FujiNet repo: https://github.com/FujiNetWIFI/atariwifi/tree/master/n-handler/production However, I've noticed a bit of an issue, What about DOS 2.0/2.5? Specifically, If I load at MEMLO (e.g. $1CFC or similar), then DUP will clobber my code. Normally, for devices like R: this is fine, because they're not being used by the DUP potentially for file operations (like copying or loading binary files), so DUP can swap back in via MEM.SAV, and things don't go awry. However...if I try to binary load using NDEV.COM in DOS 2.0, the DUP has overwritten my handler, and it doesn't know to swap the overwritten memory back in. whoops. The solution I had done, to continue debugging on DOS 2.0, was to make a version that assembled roughly at MEMHI, which puts it out of reach of the DUP, and then things work. But this isn't ideal. Is there a better solution? or am I going to have to patch a version of DOS 2.0/2.5 to add the N: handler for those who want to use it? (roughly 975 bytes + 2K of buffers.) What's the right decision, here? -Thom n-handler-asm-alpha-listing.pdf amac.atr n-asm.atr
-
Could I use the below code (this is from the DOS 2.0 source code), as a starting point for my XIO 39/40 implementation? 1170 .PAGE 1171 ;========================================================================= 1172 ; **** LOADER ROUTINE *** 1173 ;========================================================================= 1174 ; LOADS FROM THE FILE (MUST BE LOAD FORMAT) 1175 ; INTO MEMORY. RETURNS: 1176 ; X=0 LOAD OK 1177 ; X=1 OPEN ERRORS Y=CIO CODE 1178 ; X=2 READ ERRORS Y=CIO CODE 1179 ; X=3 BAD LOAD FILE 1180 ; ON ENTRY, IOCB 1 POINTS TO FILENAME. 1181 ;------------------------------------------------------------------------- 1182 DUPFLG .BYTE 0 ;FLAG -IF DUP IN MEMORY NOT ZERO 1183 OPT .BYTE 0 ;HOLDS VALUE OF OPTION GIVEN BY USER 1184 LOADFG .BYTE 0 ;FLAG = $80 IF MEMORY FILE DOESN'T HAVE 1185 HDBUF *=*+4 1186 HILO HDBUF 1187 HDBUFH = HDBUF/256 1188 HDBUFL = (-256)*HDBUFH+HDBUF 1189 SFLOAD LDA #$80 1190 STLOAD STA LOADFG 1191 LOAD LDA #.LOW.RTS 1192 STA RUNAD 1193 LDA #.HIGH.RTS 1194 STA RUNAD+1 ;MAKE RUN AT EOF DEFAULT TO RTS 1195 LDX #$10 1196 LDA #OPEN 1197 STA ICCOM,X 1198 LDA #4 ;OPEN TYPE=INPUT 1199 STA ICAX1,X 1200 JSR CIO ;TRY TO OPEN FILE 1201 BPL RDLF ;CONT IF OK 1202 LDA #1 ;OPEN ERRORS 1203 BNE CLFX ;CLOSE AND EXIT 1204 RDLF LDX #$10 1205 LDA #.LOW.DBUFL 1206 STA ICBAL,X 1207 LDA #.LOW.DBUFH 1208 STA ICBAH,X 1209 LDA #2 1210 STA ICBLL,X 1211 LDA #0 1212 STA ICBLH,X 1213 STA MEMLDD ;CLEAR MEM.SAV LOADED FLAG 1214 LDA #GETCHR 1215 STA ICCOM,X 1216 JSR CIO 1217 BMI ERST ;IF ERRS 1218 LDA #$FF 1219 CMP DBUF ;CHECK FOR VALID LOAD FILE 1220 BNE LNLF 1221 CMP DBUF+1 1222 BNE LNLF ;BRANCH IF NOT A LOAD FILE 1223 RDDRC LDX #$10 1224 LDA #.LOW.HDBUFL 1225 STA ICBAL,X 1226 LDA #.LOW.HDBUFH 1227 STA ICBAH,X 1228 LDA #4 1229 RDDRC1 STA ICBLL,X 1230 LDA #0 1231 STA ICBLH,X 1232 JSR CIO ;NO ERROR CHECK SO CAN CATCH EOF 1233 BPL STOK ;IF NO ERROR 1234 CPY #$88 ;SEE IF EOF 1235 BNE ERST ;IF SOME ERROR STATUS 1236 ;========================================================================= 1237 ;EOF SO DONE, EXIT 1238 ;========================================================================= 1239 JSR CLOSX ;CLOSE IOCB'S 1 AND 2 1240 BIT OPT 1241 BMI DRUN ;BRANCH IF NO RUN OPTION 1242 JSR JMPRUN ;JUMP THROUGH RUN VECTOR 1243 DRUN LDA #0 ;OK STATUS 1244 BIT LOADFG ;WAS MEMORY SWAPPED? 1245 STA LOADFG 1246 BMI CLFX ;BRANCH IF MEMORY WASN'T SWAPPED 1247 JSR MEMSVQ ;DOES MEMORY SAVE FILE EXIST? 1248 BMI DRUN1 ;BRANCH IF NOT 1249 PLA 1250 PLA 1251 JMP GOOD ;WRITE MEMORY AND RELOAD DUP 1252 ;========================================================================= 1253 ; SEE IF DUP WRITTEN OVER. IF IS RELOAD & TELL USER NEED MEM.SAV TO 1254 ; LOAD THIS FILE. 1255 ;========================================================================= 1256 DRUN1 LDA DUPFLG ;SEE IF DUP CLOBBERED 1257 BNE DRUN2 ;NO, THEN RETURN 1258 LDA #.LOW.NMSFL ;ELSE TELL USER NEED MEM.SAV 1259 LDX #.LOW.NMSFH 1260 JSR PRNTMSG ;PRINT MSG 1261 JMP RRDUP ;RELOAD & RUN DUP 1262 ;========================================================================= 1263 ; RETURN TO CALLING ROUTINE 1264 ;========================================================================= 1265 DRUN2 LDA #0 ;NO DUP ERR MSG ON EOF 1266 CLFX TAX 1267 RTS RTS -Thom
-
Certain DOS (MyDOS, SpartaDOS, etc.) implement binary load in the FMS, which means they'll be off limits to my N: device. Which means, I need to implement CIO commands 39 and 40. (WHY THE FUCK ARE THERE _TWO_ OF THEM?!) I think I have two options: (1) write my own little loader and shove into CIO handler. (2) figure out which DOS I am under, and call its handler on the open IOCB. Am I smoking crack? Which one is better? Is there a third option I haven't considered? -Thom
-
fujinet Re-vectoring DOSINI for CIO handler...
tschak909 posted a topic in Atari 5200 / 8-bit Programming
ok, what in the hell am I doing wrong, in my INIT... 2300 202023 JSR IHTBS 2303 A50C LDA DOSINI 2305 8DDC26 STA DSAV 2308 A50D LDA DOSINI+1 230A 8DDD26 STA DSAV+1 230D A919 LDA #LOW RESET 230F 850C STA DOSINI 2311 8923 STA #HIGH RESET 2313 850D STA DOSINI+1 2315 18 CLC 2316 6CDC26 JMP (DSAV) 2319 RESET 2319 202023 JSR IHTBS 231C 18 CLC 231D 6CDC26 JMP (DSAV) ; INSERT INTO HATABS 2320 IHTBS PROC DSAV is zero initialized., IHTBS is my insert into HATABS routine. It's 2am and I am about ready to go bash my brains against the wall -
Hey guys, I'm digging into the DOS 2 memory map, but I thought I'd ask here too, I have a prototype CIO handler which works well under CLI DOSes like SpartaDOS and OS/A+, but when I load in DOS 2, and use DUP, it obliterates my handler, and since i'm trying to USE my device in the DUP, it can't just be paged back in via MEM.SAV. I am going to move my handler up past DUP, but I thought I'd ask for a saner approach? I ask this, with the understanding that this is just a prototype, and that there will be a new handler written in assembler... -Thom
-
carina ii Anybody want to help debug a Carina II setup?
tschak909 posted a topic in Atari 8-Bit Computers
Hey guys, I'm in the middle of putting together a Carina II installation that can run on Fujinet, and I've managed to make it through the configuration system, however, it seems to fail to a ready prompt, causing MOE to constantly re-initialize the modem. Image is attached, maybe somebody notices something? -Thom carina2.atr -
fujinet Bobverter always keeps MOTOR line high, why?
tschak909 posted a topic in Atari 8-Bit Computers
Hey guys, Am asking this question on behalf of @mozzwald who is knee deep in trying to do the next iteration of R: firmware for #FujiNet. He's noticing that once BOBVERTER is loaded, the MOTOR line just stays high, no matter whether concurrent mode is active or not. Is there something being missed here? We need to be able to flip between normal fujinet mode and r-verter mode, for this iteration. -Thom