Jump to content

apc

New Members
  • Content Count

    83
  • Joined

  • Last visited

Community Reputation

124 Excellent

About apc

  • Rank
    Star Raider

Profile Information

  • Location
    Czech Republic

Recent Profile Visitors

206 profile views
  1. SIO communication looks OK, no issue there. How did you get there? Was the CONFIG working for some time to allow you to select the WiFi+password? Could you mount some known ATR disk image as D1: via web interface and then press "Option" on Atari to try to boot into it. If booted after pressing Option key the issue could be with setting up the display at CONFIG startup... interesting, no others reported this, AFAIK. Anyone with A800/48K can check and report? Jan
  2. Happy emulating with 4.00-test39 🙂 CUSTOMDEV: Hi CUSTOMDEV: event CMD ON 58910483 CUSTOMDEV: thread CMD ON 58910484 CUSTOMDEV: event CMD OFF 58917924 CUSTOMDEV: thread CMD OFF 58917925 CUSTOMDEV: event CMD ON 58976893 CUSTOMDEV: thread CMD ON 58976894 CUSTOMDEV: event CMD OFF 58983871 CUSTOMDEV: thread CMD OFF 58983872
  3. Take care when making your TNFS server reachable from wild world. Ensure only UDP port 16384 is exposed. In general, follow security practices: - restrict TNFS to vm/container/jail/chroot/etc. - run it with dedicated user - limit the permissions on files/dirs to allow only read access - be prepared, bad ass will exploit it - do backups I am not security expert, I'm sure someone can add more rulz
  4. Time to move to 4.00 🙂 Thanks a lot for helping on this topic! Jan
  5. It looks like a bug in tnfs/tnfsd/datagram.c I can trigger crazy tnfsd output with netcat (or telnet) to TCP port 16384 (which is open by tnfsd): $ nc localhost 16384 # just hit ctrl+c to close the connection ^C $ And you will get: DEBUG: rx of tcpmsg: 0 bytes: � DEBUG: rx of tcpmsg: 0 bytes: � DEBUG: rx of tcpmsg: 0 bytes: � DEBUG: rx of tcpmsg: 0 bytes: � ... Currently, if you are running any network probes to the TCP port 16384 (network scanning or service monitoring) it will make tnfsd very unhappy.
  6. I am calling $sio.enable_raw(true) in cold_reset (only there). I believe, it is running in raw mode, the waits are working. The output corresponds to SIO activities. It is not like one shot and stop (by VM). Only $timestamp is not updated. Running this test... function void command_thread_handler() { Debug.log("Hi"); loop { $sio.wait_command(); Debug.log_int("thread CMD ON ", $timestamp); $sio.wait_command_off(); Debug.log_int("thread CMD OFF ", $timestamp); } } event "sio_command_changed": function { if ($sio.command_asserted()) { Debug.log_int("event CMD ON ", $timestamp); } else { Debug.log_int("event CMD OFF ", $timestamp); } }; ...is producing result like this. Only $timestamp in thread is not changing but waits in thread corresponds with command level changes captured by event handler. CUSTOMDEV: Hi CUSTOMDEV: event CMD ON 82819965 CUSTOMDEV: thread CMD ON 46135568 CUSTOMDEV: event CMD OFF 82828552 CUSTOMDEV: thread CMD OFF 46135568 CUSTOMDEV: event CMD ON 82870396 CUSTOMDEV: thread CMD ON 46135568 CUSTOMDEV: event CMD OFF 82877359 CUSTOMDEV: thread CMD OFF 46135568 ... Maybe it is expected behavior. From help: Ok, I see.
  7. Wait, in sample device rverter.atdevice in "network_interrupt" handler the send_raw_byte() is called. I am confused now. Is network_interrupt handler different from other handlers as the source of the event is not emulator (but device server)?
  8. $timestamp variable was not changing when used in thread, not sure what can be wrong: function void command_thread_handler() { loop { $sio.wait_command(); $network.post_message($11, 0); Debug.log_int("CMD ON ", $timestamp); $sio.wait_command_off(); $network.post_message($10, 0); Debug.log_int("CMD OFF ", $timestamp); } } OK. Oops, I have to fix my "network_interrupt" handler which is calling send_raw_byte() directly! (but it was working somehow). I assume to set a PIN with set_proceed() or set_command() should be fine from event handler.
  9. It will not help in this case, ... tnfs/tnfsd/datagram.c printf("DEBUG: rx of tcpmsg: %d bytes: %s\n", sz, buf); I am wondering are you connecting to or listening on TCP? NTFS runs usually over UDP. Edit: Hmm, tnfsd seems to be listening always on both, UDP and TCP. The question is what triggers TCP handler in your case (as there is 0 bytes available from your logs)? Strange select()?
  10. I am trying to debug and understand some timing issues. @phaeron I have a dilemma, better to use event handler, like "sio_command_changed" or separate thread with loop doing $sio.wait_command(); ... $sio.wait_command_off(); ... ? To be able to use $timestamp I switched from thread/loop to event handler... not sure is there any significant difference between above two methods. Event handler blocks the emulator execution, thread based handler does not? Jan
  11. Missing hardware buttons on fujinet-pc ... at least I added Restart button into web interface. 2021-08-23_20-26-12.mp4 If interested, pick the code from GitHub, build it and run it with: ./run-fujinet run-fujinet is simple wrapper script to start fujinet executable and to restart it if it previously exited with specific exit code. 🙂 Jan
  12. Command line option was added -u URL , to specify URL the web server should listen on. Updated code is available as usually on https://github.com/FujiNetWIFI/fujinet-pc After new build, you can start fujinet with -u option like this: # to serve web on all available interfaces/addresses, on port 8881 ./fujinet -u http://0.0.0.0:8881 # to serve web interface only on specific interface/address, on port 8882 ./fujinet -u http://192.168.192.168:8882 # to limit the web interface only for machine which is running fujinet ./fujinet -u http://127.0.0.1:8000 # or ./fujinet -u http://localhost:8000 :-)
  13. @phaeron I started to play with this. Found your sampledevices and deviceservers (+ Altirra help) very helpful to make first steps. Thanks for it! I am dealing now with serial port speed change and how to detect it. Altirra always provides proper output bytes to custom device - provided output does not depend on speed. On FujiNet side the toggle between standard speed and high speed is based on detecting checksum errors in received frames - but this does not happen with custom device. Do you have some idea how to detect the serial output speed change in custom device? Then it would be possible to notify the receiver to toggle its speed too. Jan
×
×
  • Create New...