About
Docs
Files
Support
Index

Essentials
AutoDocs
Library functions
Cooperate
Process mastering
Debug
Own debugging kit
FGE
Smart modeid pick
Loader
Shared lib. loader
Macros
Helper macros
Structs
All the structures
Logs
Library changelogs
Tools
Progs baked inside

Logs
a-crt_xxxargv.c1.00
a-crt_xxxinstance.c1.00
a-crt_xxxmethod.c1.00
a-ctl_clipath.c1.01
a-ctl_devmount.c1.01
a-ctl_devunmount.c1.03
a-ctl_devunmsupp.c1.00
a-ctl_diskreqxxx.c1.00
a-ctl_findscreensafe.c1.00
a-ctl_haltidcmp.c1.01
a-ctl_newshell.c1.01
a-ctl_rearrangecon.c1.06
a-ctl_relabel.c1.00
a-ctl_setclistack.c1.00
a-ctl_swapbackpen.c1.00
a-ctl_udirassign.c1.00
a-ctl_xxxbartrigger.c1.04
a-ctl_xxxconlogo.c1.12
a-ctl_xxxconlogof.c1.15
a-ctl_xxxconscreen.c1.37
a-ctl_xxxconswitch.c1.02
a-ctl_xxxidcmphandler.c1.00
a-ctl_xxxscreensafe.c1.00
a-ctl_xxxviewctrl.c1.08
a-ctl_zoomifycon.c1.05
a-dev_getdiskcmdset.c1.00
a-dev_xxxdiskdev.c1.00
a-dev_xxxdiskgeo.c1.00
a-dev_xxxdiskrdb.c1.00
a-dmt_mountcb.c1.04
a-dos_addfdrelay.c1.49
a-dos_addfdrglue.c1.01
a-dos_addlinkpoint.c1.18
a-dos_checkdevice.c1.01
a-dos_ctrlfdrelay.c1.02
a-dos_dclinkpoint.c1.00
a-dos_devbymsgport.c1.00
a-dos_dopacket.c1.00
a-dos_qfxxx.c1.01
a-dos_remfdrelay.c1.02
a-dos_remlinkpoint.c1.00
a-dos_replypacket.c1.00
a-dos_swapmpfdrelay.c1.00
a-dos_waitpacket.c1.01
a-dos_xxxdevice.c1.03
a-dos_xxxfmfdrelay.c1.01
a-han_binaryifh.c1.01
a-han_rollifh.c1.01
a-han_rwifh.c1.01
a-han_termifh.c1.00
a-mem_allocbmapthere.c1.01
a-mem_convimgtobmap.c1.02
a-mem_cooperate.c1.01
a-mem_dosynctask.c1.03
a-mem_freepentab.c1.00
a-mem_getwbstartup.c1.00
a-mem_grabqarea.c1.00
a-mem_iloadseg.c1.03
a-mem_iloadseg2.c1.02
a-mem_initemptybmap.c1.00
a-mem_makebmapfromimg.c1.01
a-mem_remapbitmap.c1.03
a-mem_remapbitmap2.c1.00
a-mem_signalsafe.c1.00
a-mem_xxxhandler.c1.06
a-mem_xxxhotvec.c1.02
a-mem_xxxifh.c1.08
a-mem_xxxitnimage.c1.03
a-mem_xxxjtslot.c1.00
a-mem_xxxjumptable.c1.00
a-mem_xxxlfvec.c1.01
a-mem_xxxpenholder.c1.00
a-mem_xxxpicture.c1.07
a-mem_xxxpooled.c1.05
a-mem_xxxregion.c1.02
a-mem_xxxsniffer.c1.01
a-mem_xxxterm.c1.00
a-mem_xxxtokenlist.c1.01
a-mod_codefind.c1.00
a-mod_codexxx.c1.02
a-mod_findktpresby.c1.02
a-mod_getmemlist.c1.01
a-mod_kicktagxxx.c1.01
a-mod_ktprescount.c1.00
a-mod_ktpresunlink.c1.00
a-mod_xxxdiskmodule.c1.01
a-mod_xxxmodule.c1.02
a-nfo_devvercmp.c1.02
a-nfo_findgfxentry.c1.07
a-nfo_findgfxrange.c1.03
a-nfo_findgfxreso.c1.02
a-nfo_findgfxsm.c1.01
a-nfo_fsquery.c1.03
a-nfo_fssmvalid.c1.00
a-nfo_getcmcolors.c1.00
a-nfo_getconioreq.c1.00
a-nfo_getconunit.c1.00
a-nfo_getdrimap.c1.00
a-nfo_getscparams.c1.01
a-nfo_getviscount.c1.01
a-nfo_getvisstate.c1.00
a-nfo_getwinaddr.c1.00
a-nfo_grepml.c1.05
a-nfo_idcmptoindex.c1.00
a-nfo_isblitable.c1.00
a-nfo_ischildofproc.c1.00
a-nfo_isdev64bit.c1.00
a-nfo_isdirectory.c1.01
a-nfo_isinstack.c1.00
a-nfo_isonmemlist.c1.00
a-nfo_ispdev64bit.c1.01
a-nfo_issegremote.c1.00
a-nfo_istask.c1.01
a-nfo_iswindow.c1.00
a-nfo_ktm.c1.07
a-nfo_libvercmp.c1.02
a-nfo_m68kcputype.c1.01
a-nfo_modeidcount.c1.00
a-nfo_scanlist.c1.01
a-nfo_scanturbo.c1.00
a-nfo_screencount.c1.00
a-nfo_stackreport.c1.01
a-nfo_stackvalid.c1.01
a-nfo_typeofgfxmem.c1.01
a-nfo_waitback.c1.02
a-nfo_whichchipset.c1.00
a-nfo_xxxargsource.c1.03
i-cnv_altoulong.c1.01
i-cnv_altouquad.c1.00
i-cnv_atoulong.c1.07
i-cnv_atouquad.c1.00
i-cnv_ulongtoa.c1.04
i-cnv_uquadtoa.c1.00
i-ctl_relocdrimap.c1.01
i-dev_sizeingigs.c1.01
i-dos_copydevice.c1.01
i-mem_csumchs32.c1.00
i-mem_csumeor32.c1.00
i-mem_csumint32.c1.00
i-mem_fnv128hash.c1.00
i-mem_fnv64hash.c1.00
i-mem_pjw64hash.c1.01
i-nfo_isconsole.c1.00
i-nfo_ismode15khz.c1.00
i-nfo_isprime.c1.00
i-nfo_nearestprime.c1.00
i-nfo_numdivisors.c1.00
i-txt_bstrncat.c1.01
i-txt_bstrncatlc.c1.00
i-txt_bstrncatuc.c1.00
i-txt_bstrnpcat.c1.00
i-txt_bstrnpcatlc.c1.00
i-txt_bstrnpcatuc.c1.00
i-txt_datdat.c1.01
i-txt_datidat.c1.00
i-txt_fixquotes.c1.00
i-txt_fnv128hash.c1.00
i-txt_fnv128ihash.c1.00
i-txt_fnv64hash.c1.00
i-txt_fnv64ihash.c1.00
i-txt_iniparse.c1.01
i-txt_memcmp.c1.01
i-txt_memfill.c1.01
i-txt_memicmp.c1.00
i-txt_needslash.c1.00
i-txt_noansi.c1.02
i-txt_nocomment.c1.02
i-txt_parseline.c1.00
i-txt_pjw64hash.c1.01
i-txt_pjw64ihash.c1.00
i-txt_psnprintf.c1.00
i-txt_quickhash.c1.00
i-txt_quickihash.c1.00
i-txt_skipcc.c1.01
i-txt_strchr.c1.00
i-txt_strcmp.c1.01
i-txt_strcspn.c1.00
i-txt_strichr.c1.00
i-txt_stricmp.c1.00
i-txt_stripansi.c1.01
i-txt_stristr.c1.00
i-txt_strlen.c1.00
i-txt_strncat.c1.01
i-txt_strncatlc.c1.00
i-txt_strncatuc.c1.00
i-txt_strnpcat.c1.00
i-txt_strnpcatlc.c1.00
i-txt_strnpcatuc.c1.00
i-txt_strnvacat.c1.00
i-txt_strspn.c1.00
i-txt_strstr.c1.01
i-txt_strtok.c1.01
i-txt_tokenify.c1.00
i-txt_vcbpsnprintf.c1.00
i-txt_vpsnprintf.c1.06
p-ctl_clirun.c1.01
p-ctl_makedir.c1.00
p-ctl_xxxsmparams.c1.01
p-mem_addrfrombase.c1.00
p-mem_dbsupport.c1.02
p-mem_dbsupportqo.c1.00
p-mem_findinfile.c1.01
p-mem_lzwcompress.c1.03
p-mem_lzwdecompress.c1.03
p-mem_lzwfree.c1.03
p-mem_scanfile.c1.01
p-mem_scanlbl.c1.01
p-mem_scanlblncc.c1.01
p-mem_xxxarray.c1.02
p-mem_xxxcluster.c1.02
p-mem_xxxsmlcb.c1.01
p-mem_xxxsrcimage.c1.00
p-nfo_getsystime.c1.00
p-nfo_scanml.c1.06
p-txt_debugprintf.c1.01
p-txt_strboth.c1.00
p-txt_striboth.c1.00
p-txt_stripat.c1.00
p-txt_strpat.c1.01
qcrt0.c1.00



A
-
D
O
S
_
A
D
D
F
D
R
E
L
A
Y
.
C

-------------------------------=| PROJECT |=-------------------------------

Bump : 1.00
Date : 20-08-2010
File : a-dos_addfdrelay.c

-------------------------------=| HISTORY |=-------------------------------

Bump : 1.00
Date : 20-08-2010
Dude : megacz

Stat : NO
0001 : Although idea was taken from  SWLoader, code  will be  written  from
0001 : scratch  to eliminate certain limitations. At the moment  there is a
0001 : packet skeleton  and some helper functions. Work will resume as soon
0001 : as  the device make/kill and  enhanced packet related functions will
0001 : be ready.



Bump : 1.01
Date : 27-11-2010
Dude : megacz

Stat : FA
0001 : Packet handling was established. It is possible to interrupt in-loop
0001 : handler, so that immediate termination is possible.

Stat : FA
0002 : File handling was implemented in  '___dos_addclient()'. For now only
0002 : filenames are accepted.



Bump : 1.02
Date : 28-11-2010
Dude : megacz

Stat : FA
0001 : Basic  channel handling was  implemented. Now merged  with file I/O.

Stat : BF
0002 : From  now on all files will be opened in  MODE_OLDFILE  for  maximum
0002 : security. This way appending is also possible.

Stat : BF
0003 : Window requests: CONSOLE, * are now satisified using user's process.



Bump : 1.03
Date : 29-11-2010
Dude : megacz

Stat : FA
0001 : Caller  signaling was implemented  so user can  now be notified when
0001 : FDR goes down for some reason.

Stat : BF
0002 : Client  allocation was reworked  due to design  flaw that would make
0002 : it unable to switch to clustered memory in the future.

Stat : BF
0003 : Channel and file name truncation is now being performed before going
0003 : to search. This makes sure that too long names are always matched.



Bump : 1.04
Date : 13-12-2010
Dude : megacz

Stat : FA
0001 : Dead channel removal was added using access counter. It is now up to
0001 : FDR  to cleanup the channel. This makes it possible to have some I/O
0001 : treshold so clients can init channel, leave it and come back later.

Stat : FA
0002 : Buffered and non-buffered writes are now possible using two distinct
0002 : functions.



Bump : 1.05
Date : 21-12-2010
Dude : megacz

Stat : FA
0001 : Fast  ANSI  filtration option was added upon relay attempt per file.

Stat : FA
0002 : Text to be  relayed can now contain  prefixes per line. This will be
0002 : useful  to match weird  behaviour  based on timestamps  and addesses
0002 : that can be inserted before actual program output.



Bump : 1.06
Date : 23-12-2010
Dude : megacz

Stat : FA
0001 : Default  channel can now be set so all  'CONSOLE:' requestes will be
0001 : routed to it.

Stat : BF
0002 : ANSI  stripping is now being done just once using cache. So there is
0002 : no need to repeat this per file in the chain.

Stat : BF
0003 : Client  signaling and auto. file closing are now mutually exclusive!
0003 : This is because  if you do not care about FileHandle then you cannot
0003 : receive the signal and vice versa.



Bump : 1.07
Date : 25-12-2010
Dude : megacz

Stat : FA
0001 : FileHandle address as input was implemented. Can now relay purely by
0001 : address. Random inputs are checked  against OS constant to make sure
0001 : it is really FH.

Stat : FA
0002 : Implemented  symbolic password  protection per channel using weakest
0002 : hash routine.

Stat : BF
0003 : Workaround in prefix stuffer was added so that  CRLF does not messup
0003 : the resulting line.



Bump : 1.08
Date : 26-12-2010
Dude : megacz

Stat : BF
0001 : Channel  can only be automatically  deallocated when it is not being
0001 : protected  with symbolic password. This  ensures user  intention  no
0001 : matter global settings.

Stat : BF
0002 : Channel  that is the default  and password  protected  was alterable
0002 : without providing a password!

Stat : BD
0003 : Relay  loop causes packets to hog the CPU  for too  long before they
0003 : arrive  at the corresponding  ports. Output  is not  in sync  on all
0003 : console windows... Maybe harmless, but possible trouble maker.



Bump : 1.09
Date : 07-01-2011
Dude : megacz

Stat : FA
0001 : Virtual  rollover files support was added. Now channels can memorise
0001 : the traffic using private file that can be read by the user.

Stat : FA
0002 : Channels are  now date/time stamped to have a clue how long they are
0002 : up.



Bump : 1.10
Date : 11-01-2011
Dude : megacz

Stat : BF
0001 : ANSI  is  no longer being  stripped for  virtual files. From  now on
0001 : virtual files  memorise everything  without alterations and the user
0001 : can request data without ANSI when needed.



Bump : 1.11
Date : 13-01-2011
Dude : kowalsky

Stat : BF
0001 : There was a bug in  `___dos_remdeadchans()'  that trashed  memory on
0001 : potential channel removal. Node was not buffered before `Remove()'.

Stat : BF
0002 : Potential illegal memory read in formatted text export was found and
0002 : is now fixed.

Stat : BF
0003 : Missing error codes were added to the client initialization routine.



Bump : 1.12
Date : 15-01-2011
Dude : megacz

Stat : NO
0001 : Major  code cleanup before  next phase. Lets  hope there  is no more
0001 : nasty bugs.

Stat : BF
0002 : Inconvinience detected in 1.08/0004 was fixed by switching loop into
0002 : cooperative mode. This helps when FDR runs at priority below CON.



Bump : 1.13
Date : 01-02-2011
Dude : megacz

Stat : FA
0001 : Extensive status generation was implemented so one can 'type <FDR>:'
0001 : and see what is where. The  very same formatting options can also be
0001 : used in prefix addon.

Stat : BF
0002 : Structures  were cleaned up from  old, now obsolete variables. Did i
0002 : miss something?



Bump : 1.14
Date : 02-02-2011
Dude : megacz

Stat : BF
0001 : Switched to  clustered client allocation so  that device access will
0001 : be faster and guaranteed for up to 256 clients. 

Stat : BF
0002 : ANSI in fmt is now being filtered upon expansion so that overhead is
0002 : greatly reduced when relaying.



Bump : 1.15
Date : 05-01-2011
Dude : kowalsky

Stat : BF
0001 : Each  read from virtual files must be tracked independently(!) Added
0001 : new variables to client structure that are attached upon request.

Stat : BF
0002 : Virtual  files have not been  reallocated properly on request. There 
0002 : could be situation where unallocated file was valid.



Bump : 1.16
Date : 09-02-2011
Dude : megacz

Stat : FA
0001 : Added a  bunch of new formatting  options to the  parser. Status was
0001 : expanded too.

Stat : BD
0002 : Sometimes  packets arrive in wrong order. What the hell is going on?



Bump : 1.17
Date : 12-02-2011
Dude : kowalsky

Stat : BF
0001 : Circular  reference was eliminated. You  cannot relay  over the same
0001 : device with own channels since it is single tasking(!)



Bump : 1.18
Date : 15-02-2011
Dude : kowalsky

Stat : BF
0001 : Checked  few things  and it looks  that the routine  responsible for
0001 : packet fetching is broken. This would explain  1.16/0002. I reworked
0001 : it.

Stat : BF
0002 : Virtual  file removal code lacked  direct pointer comparison so that
0002 : it would be the other file that could have been removed(!)

Stat : BF
0003 : Client slots have been reused silently  due to commented  `Remove()'
0003 : in deallocation routine(!) Enforcer  was silent  because  memory was
0003 : already allocated.



Bump : 1.19
Date : 19-02-2011
Dude : megacz

Stat : FA
0001 : Added  a channel option that allows  to terminate all files if there
0001 : are no clients. Flush is now more effective.

Stat : NO
0002 : Code cleanup before next phase:  Single tasking pipe implementation.



Bump : 1.20
Date : 20-02-2011
Dude : kowalsky

Stat : BF
0001 : ANSI  filtering switches were  recognized wrongly  in relay routine.
0001 : Fixed.



Bump : 1.21
Date : 01-03-2011
Dude : megacz

Stat : FA
0001 : After  many attempts finally introducing  first single  tasking pipe
0001 : implementation that sort of works :-) .



Bump : 1.22
Date : 02-03-2011
Dude : megacz

Stat : BF
0001 : Added  special code that kicks all pipe  callers who  wait for reply
0001 : if channel is to be removed. Otherwise they would block forever!



Bump : 1.23
Date : 03-03-2011
Dude : kowalsky

Stat : BF
0001 : Added pipe  sanity check before read/write op so that no blockage is
0001 : possible if user removed pipe facility from channel between packets.

Stat : BF
0001 : Added small flagset that allows to cause intentional IO failure when
0001 : required.



Bump : 1.24
Date : 05-03-2011
Dude : megacz

Stat : FA
0001 : Added  no-EOF option so that multiple  writers can output to channel
0001 : and the last one can generate end-of-input.

Stat : FA
0002 : Added  CON query support so  that the  very first console handler on
0002 : the  list will be used  to communicate in  RAW mode. This  allows to
0002 : send  private CSI  sequences and read  the answer.  This is not pipe
0002 : related.



Bump : 1.25
Date : 08-03-2011
Dude : megacz

Stat : FA
0001 : Implemented  ACTION_DISK_INFO that  allows to forward this packet to
0001 : first  console on the channel  so that programs will  get what  they
0001 : expect. In case  there is no console  handler default values will be
0001 : returned.



Bump : 1.26
Date : 09-03-2011
Dude : kowalsky

Stat : BF
0001 : Fixed  CSI query mode  to work aside  virtual files.  Now  both  are 
0001 : possible. User has to use  `SetMode()' to decide what source to read
0001 : from.



Bump : 1.27
Date : 12-03-2011
Dude : megacz

Stat : FA
0001 : Implemented  path-finder that user  can install on a  channel  which
0001 : will  be able to find primary  path as established  earlier by first
0001 : caller  within -this- task. The  idea is to follow  default  channel
0001 : as  it changes per task. So  each time user 'Open()'s  this  channel
0001 : it  will  find  the  default  route  automatically. This  will  work 
0001 : regardless of if channel is requestable through 'CONSOLE:'.



Bump : 1.28
Date : 13-03-2011
Dude : megacz

Stat : BF
0001 : Added router support for  relays and pipes so that both can be found
0001 : with two or more channels.

Stat : NO
0002 : Next phase is to implement ACTION_WAIT_CHAR that works with pipes in
0002 : a single process!



Bump : 1.29
Date : 17-03-2011
Dude : kowalsky

Stat : BF
0001 : Code  responsibe for CSI queries  was reworked. Consider direct mode
0001 : switches  rather than forwarding which  may not be what is needed at
0001 : the moment.



Bump : 1.30
Date : 18-03-2011
Dude : kowalsky

Stat : BF
0001 : A bug  in pipe writer code that did not care about outstanding reads
0001 : was fixed. Now all these readers will receive EOF.

Stat : BD
0002 : Flushed  channels counter does not  remember peek value. Not  really
0002 : important but this should be fixed at some point.

Stat : BD
0003 : Sometimes FDR crashes when successful ACTION_DIE  was sent. It seems
0003 : there is a bug in device kill function. Will investigate later.



Bump : 1.31
Date : 24-03-2011
Dude : kowalsky

Stat : BF
0001 : File status  line was produced with  wrong formating options. Number
0001 : of clients was displayed as a number of flushed channels(!)



Bump : 1.32
Date : 25-03-2011
Dude : megacz

Stat : FA
0001 : Added low level structure access to it is possible to alter  FDR own
0001 : settings from outside. For now ACTION_LOCK_RECORD/ACTION_FREE_RECORD
0001 : are used.



Bump : 1.33
Date : 01-04-2011
Dude : megacz

Stat : FA
0001 : Implemented wait char packet using packet synchroniser as taken from
0001 : experimental  branch. It  is possible  to use single  timer  request
0001 : which is renewed periodically at decent rate and enqueue dos packets
0001 : by sniffing on message port.

Stat : FA
0002 : Added  interrupt driven packet  forwarder so that it is  possible to
0002 : glue  client pointer to dp_Res2. The  drawback is that  clients must
0002 : now use private message ports.



Bump : 1.34
Date : 05-04-2011
Dude : kowalsky

Stat : BF
0001 : Fixed  packet prediction in packet synchroniser so all writes are to
0001 : be replied in the right order.

Stat : BD
0002 : It is not safe to forcibly unmount  FDR  now due to packet forwarder
0002 : that sits in the main code segment(!)

Stat : BD
0003 : Treshold is too unstable in `WaitForChar()' when using single FDR in
0003 : many processes. The CPU load is enormous(!)

Stat : NO
0004 : Ahhh, cramp! Did  not take that into account. The CPU load is indeed
0004 : way too high. -- megacz



Bump : 1.35
Date : 09-04-2011
Dude : megacz

Stat : BF
0001 : Fixed  a bug in pipe  handling where  read request  was possibly not
0001 : satisified in whole.

Stat : BD
0002 : Weird  deadlocks have been  observed when  there is  too many  WFC()
0002 : requests. Looks like packet synchroniser is to blame...



Bump : 1.36
Date : 01-05-2011
Dude : megacz

Stat : BF
0001 : Packet  synchroniser  was  dropped. I  do  not want  anyone  to have 
0001 : anything to do with this code. Todays episode: Sortcuts cost more.



Bump : 1.37
Date : 03-05-2011
Dude : megacz

Stat : FA
0001 : Now clients have their  own timer request spaces that they attach to
0001 : the  wait list. Special  timer packet  was added  to  poll completed
0001 : requests. Considering 1.34/0003 fixed. Considering  ACTION_WAIT_CHAR
0001 : implemented.

Stat : NO
0002 : What  a relief(!) This  code is superrior compared to friggin packet
0002 : predictor. I  see that the  `moonbuggy'  keeps up with the  timmings
0002 : while I browse with `lynx'. Well done(!) -- kowalsky



Bump : 1.38
Date : 04-05-2011
Dude : kowalsky

Stat : BD
0001 : Too soon victory was celebrated(!) I receive random crashes when two
0001 : instances of `lynx' are running in `amiscreen'.

Stat : BF
0002 : Requests must be intially sorted out when writer cannot do the op at
0002 : this time or callers that are now waiting will never resume(!)



Bump : 1.39
Date : 06-05-2011
Dude : megacz

Stat : NO
0001 : 1.38/0001: Crash here too! Spent quite  a time but still cannot find
0001 : the cause of this :-( .

Stat : BF
0002 : Timer  request skeleton is now  being created on init and copied per
0002 : caller instead of setting all from scratch on each call.



Bump : 1.40
Date : 13-05-2011
Dude : kowalsky

Stat : BF
0001 : Found the problem of 1.38/0001. In  `___dos_checkperiod()'  node was
0001 : removed  after it  could have  already  been removed by the timer or
0001 : when requests were about to be sorted out(!)



Bump : 1.41
Date : 20-05-2011
Dude : megacz

Stat : NO
0001 : Code cleanup time. Removing  all dirt permanently. Copy of  1.40 can
0001 : be found in garbages.



Bump : 1.42
Date : 29-03-2012
Dude : megacz

Stat : BF
0001 : Packet  forwarder is now a modular  segment that gets  loaded on FDR
0001 : startup. This fixes 1.34/0002.



Bump : 1.43
Date : 09-04-2012
Dude : megacz

Stat : FA
0001 : Implemented  VCR support  which allows to  track packet delays using 
0001 : high precision timer. This allows to record console interaction with
0001 : real intervals.



Bump : 1.44
Date : 10-04-2012
Dude : megacz

Stat : BF
0001 : Delays are being computed using 'GetSysTime()' instead of taking the
0001 : time from E-Clock. Overall playback feeling is better.



Bump : 1.45
Date : 11-04-2012
Dude : megacz

Stat : BF
0001 : ESC  sequence tracker was added to  VCR to detect when it is safe to
0001 : output delay sequence.

Stat : BF
0002 : Export  function  '___dos_vcrexport()' uses now temporary packets to
0002 : deal with pre and post data chunks.



Bump : 1.46
Date : 18-04-2012
Dude : megacz

Stat : BF
0001 : Delays  are now to be NULLed when channel is going to be cleaned up.
0001 : This prevents extreme delays on new VCRs.

Stat : FA
0002 : Added special VCR macros to private header to easily deal with sync.
0002 : Now delay sequence is of:  'ESC[#p'(delay in micros) which should be
0002 : ignored by most terminals since it lacks second param. Clip sync is:
0002 : 'ESC[0000p'.



Bump : 1.47
Date : 01-04-2013
Dude : megacz

Stat : FA
0001 : Added kludgy ACTION_WRITE  packet defragmenter that can be activated
0001 : by sending ACTION_INHIBIT (dp_Arg1 == 1) - On, (dp_Arg1 == 0) - Off.
0001 : This is temporary!



Bump : 1.48
Date : 12-10-2013
Dude : megacz

Stat : BD
0001 : Disabled  ACTION_DISK_INFO completly due to bad implementation which
0001 : caused hits. The code was unusable anyway by most programs. This bug
0001 : showed up first in  Directory Opus 5 II  after device  list request.
0001 : This bug was found thanks to Stellan Pistoor who submitted  Enforcer
0001 : output.



Bump : 1.49
Date : 01-11-2013
Dude : megacz

Stat : BF
0001 : Fixed  FH  address checking. Please  note that  fm_fdcheck  does not 
0001 : point at fh_Func1 anymore, but instead at an array of 2  LONGs where
0001 : fh_Func1 of buffered and unbuffered FH live.

Stat : FA
0002 : Added  data-flush-per-write mode. This way buffered data will always
0002 : reach the destination without being stored until next write happens.
0002 : Activate with 'BF 2' on the command line.

-------------------------------=| E::O::F |=-------------------------------
    


No more fear cus pure HTML is here!
Copyright (C) 2013-2014 by Burnt Chip Dominators