Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Roadmap

roadmap

Commands

Each command that may be processed by the file system is matched by an input command line. The syntax of these command lines, and the processing to be performed, is as follows:

  • CREATE type name

"type" is either U or D, and indicates whether a User data file or a Directory file is to be created.
"name" is a full file name in the form described above.
Neither of these items is enclosed in quotes.
The CREATE command should cause a new directory entry to be created for the type of file specified.
If CREATE is given for an existing file, no error should occur, but the file should ve deleted and then reCREATEd.
CREATE also leaves the file in the same states as an OPEN in the output mode.

  • OPEN mode name

"mode" is either I, O or U indicating the file named "name" is to be opened in the Input, Output, or Update mode.
Input mode means that only READ and SEEK commands are permitted.
Output mode means only WRITE commands are permitted.
Update mode allows READ, WRITE, and SEEK commands.
Associated with each open file is a pointer to the next byte to be read or written.
Opening a file for input or update places the pointer at the first byte of the file, while opening a file for output places the pointer athe the byte immediately after the last byte of the file.

  • CLOSE

This command causes the last OPENed or CREATEd file to be closed. No filename is given.

  • DELETE name

This command causes the named file to be deleted.

  • READ n

This command may only be used between an OPEN (in input or update mode) and the corresponding CLOSE.
If possible, "n" bytes of data should be read and displayed. If fewer than "n" bytes remain before the end of file, then those bytes should be read and displayed with a message indicating that the end of file was reached.

  • WRITE n 'data'

This command causes the first "n" ata bytes from 'data'(actually enclosed in single quotes in the comman line) to be written to the file.
If fewer than "n" bytes are given, then append sufficient blanks to 'data' to make "n" bytes.
If it is impossible to write "n" bytes(because the disk is full) then an appropriate message should be issued, but the command should be otherwise treated as if the largest possible value o "n" was specified. (That is, the remaining available disk space should be filled.)

  • SEEK base offset

"base" is either -1, 0, or +1 indicating the beginning of the file, the current position in the file, or the end of file.
"offset" is a signed integer indicating the number of bytes from the "base" that the file pointer should be moved.
For example, "SEEK -1 0" is equivalent to a rewind, "SEEK +1 0" is equivalent to a position to end of file, and "SEEK 0 -5" positions the file pointer backward by five bytes.

About

Simulates OS file system operation with 100 sectors in memory

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Roadmap

roadmap

Commands

Each command that may be processed by the file system is matched by an input command line. The syntax of these command lines, and the processing to be performed, is as follows:

  • CREATE type name

"type" is either U or D, and indicates whether a User data file or a Directory file is to be created.
"name" is a full file name in the form described above.
Neither of these items is enclosed in quotes.
The CREATE command should cause a new directory entry to be created for the type of file specified.
If CREATE is given for an existing file, no error should occur, but the file should ve deleted and then reCREATEd.
CREATE also leaves the file in the same states as an OPEN in the output mode.

  • OPEN mode name

"mode" is either I, O or U indicating the file named "name" is to be opened in the Input, Output, or Update mode.
Input mode means that only READ and SEEK commands are permitted.
Output mode means only WRITE commands are permitted.
Update mode allows READ, WRITE, and SEEK commands.
Associated with each open file is a pointer to the next byte to be read or written.
Opening a file for input or update places the pointer at the first byte of the file, while opening a file for output places the pointer athe the byte immediately after the last byte of the file.

  • CLOSE

This command causes the last OPENed or CREATEd file to be closed. No filename is given.

  • DELETE name

This command causes the named file to be deleted.

  • READ n

This command may only be used between an OPEN (in input or update mode) and the corresponding CLOSE.
If possible, "n" bytes of data should be read and displayed. If fewer than "n" bytes remain before the end of file, then those bytes should be read and displayed with a message indicating that the end of file was reached.

  • WRITE n 'data'

This command causes the first "n" ata bytes from 'data'(actually enclosed in single quotes in the comman line) to be written to the file.
If fewer than "n" bytes are given, then append sufficient blanks to 'data' to make "n" bytes.
If it is impossible to write "n" bytes(because the disk is full) then an appropriate message should be issued, but the command should be otherwise treated as if the largest possible value o "n" was specified. (That is, the remaining available disk space should be filled.)

  • SEEK base offset

"base" is either -1, 0, or +1 indicating the beginning of the file, the current position in the file, or the end of file.
"offset" is a signed integer indicating the number of bytes from the "base" that the file pointer should be moved.
For example, "SEEK -1 0" is equivalent to a rewind, "SEEK +1 0" is equivalent to a position to end of file, and "SEEK 0 -5" positions the file pointer backward by five bytes.

About

Simulates OS file system operation with 100 sectors in memory

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Roadmap

roadmap

Commands

Each command that may be processed by the file system is matched by an input command line. The syntax of these command lines, and the processing to be performed, is as follows:

  • CREATE type name

"type" is either U or D, and indicates whether a User data file or a Directory file is to be created.
"name" is a full file name in the form described above.
Neither of these items is enclosed in quotes.
The CREATE command should cause a new directory entry to be created for the type of file specified.
If CREATE is given for an existing file, no error should occur, but the file should ve deleted and then reCREATEd.
CREATE also leaves the file in the same states as an OPEN in the output mode.

  • OPEN mode name

"mode" is either I, O or U indicating the file named "name" is to be opened in the Input, Output, or Update mode.
Input mode means that only READ and SEEK commands are permitted.
Output mode means only WRITE commands are permitted.
Update mode allows READ, WRITE, and SEEK commands.
Associated with each open file is a pointer to the next byte to be read or written.
Opening a file for input or update places the pointer at the first byte of the file, while opening a file for output places the pointer athe the byte immediately after the last byte of the file.

  • CLOSE

This command causes the last OPENed or CREATEd file to be closed. No filename is given.

  • DELETE name

This command causes the named file to be deleted.

  • READ n

This command may only be used between an OPEN (in input or update mode) and the corresponding CLOSE.
If possible, "n" bytes of data should be read and displayed. If fewer than "n" bytes remain before the end of file, then those bytes should be read and displayed with a message indicating that the end of file was reached.

  • WRITE n 'data'

This command causes the first "n" ata bytes from 'data'(actually enclosed in single quotes in the comman line) to be written to the file.
If fewer than "n" bytes are given, then append sufficient blanks to 'data' to make "n" bytes.
If it is impossible to write "n" bytes(because the disk is full) then an appropriate message should be issued, but the command should be otherwise treated as if the largest possible value o "n" was specified. (That is, the remaining available disk space should be filled.)

  • SEEK base offset

"base" is either -1, 0, or +1 indicating the beginning of the file, the current position in the file, or the end of file.
"offset" is a signed integer indicating the number of bytes from the "base" that the file pointer should be moved.
For example, "SEEK -1 0" is equivalent to a rewind, "SEEK +1 0" is equivalent to a position to end of file, and "SEEK 0 -5" positions the file pointer backward by five bytes.

About

Simulates OS file system operation with 100 sectors in memory

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Roadmap

roadmap

Commands

Each command that may be processed by the file system is matched by an input command line. The syntax of these command lines, and the processing to be performed, is as follows:

  • CREATE type name

"type" is either U or D, and indicates whether a User data file or a Directory file is to be created.
"name" is a full file name in the form described above.
Neither of these items is enclosed in quotes.
The CREATE command should cause a new directory entry to be created for the type of file specified.
If CREATE is given for an existing file, no error should occur, but the file should ve deleted and then reCREATEd.
CREATE also leaves the file in the same states as an OPEN in the output mode.

  • OPEN mode name

"mode" is either I, O or U indicating the file named "name" is to be opened in the Input, Output, or Update mode.
Input mode means that only READ and SEEK commands are permitted.
Output mode means only WRITE commands are permitted.
Update mode allows READ, WRITE, and SEEK commands.
Associated with each open file is a pointer to the next byte to be read or written.
Opening a file for input or update places the pointer at the first byte of the file, while opening a file for output places the pointer athe the byte immediately after the last byte of the file.

  • CLOSE

This command causes the last OPENed or CREATEd file to be closed. No filename is given.

  • DELETE name

This command causes the named file to be deleted.

  • READ n

This command may only be used between an OPEN (in input or update mode) and the corresponding CLOSE.
If possible, "n" bytes of data should be read and displayed. If fewer than "n" bytes remain before the end of file, then those bytes should be read and displayed with a message indicating that the end of file was reached.

  • WRITE n 'data'

This command causes the first "n" ata bytes from 'data'(actually enclosed in single quotes in the comman line) to be written to the file.
If fewer than "n" bytes are given, then append sufficient blanks to 'data' to make "n" bytes.
If it is impossible to write "n" bytes(because the disk is full) then an appropriate message should be issued, but the command should be otherwise treated as if the largest possible value o "n" was specified. (That is, the remaining available disk space should be filled.)

  • SEEK base offset

"base" is either -1, 0, or +1 indicating the beginning of the file, the current position in the file, or the end of file.
"offset" is a signed integer indicating the number of bytes from the "base" that the file pointer should be moved.
For example, "SEEK -1 0" is equivalent to a rewind, "SEEK +1 0" is equivalent to a position to end of file, and "SEEK 0 -5" positions the file pointer backward by five bytes.

About

Simulates OS file system operation with 100 sectors in memory

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Roadmap

roadmap

Commands

Each command that may be processed by the file system is matched by an input command line. The syntax of these command lines, and the processing to be performed, is as follows:

  • CREATE type name

"type" is either U or D, and indicates whether a User data file or a Directory file is to be created.
"name" is a full file name in the form described above.
Neither of these items is enclosed in quotes.
The CREATE command should cause a new directory entry to be created for the type of file specified.
If CREATE is given for an existing file, no error should occur, but the file should ve deleted and then reCREATEd.
CREATE also leaves the file in the same states as an OPEN in the output mode.

  • OPEN mode name

"mode" is either I, O or U indicating the file named "name" is to be opened in the Input, Output, or Update mode.
Input mode means that only READ and SEEK commands are permitted.
Output mode means only WRITE commands are permitted.
Update mode allows READ, WRITE, and SEEK commands.
Associated with each open file is a pointer to the next byte to be read or written.
Opening a file for input or update places the pointer at the first byte of the file, while opening a file for output places the pointer athe the byte immediately after the last byte of the file.

  • CLOSE

This command causes the last OPENed or CREATEd file to be closed. No filename is given.

  • DELETE name

This command causes the named file to be deleted.

  • READ n

This command may only be used between an OPEN (in input or update mode) and the corresponding CLOSE.
If possible, "n" bytes of data should be read and displayed. If fewer than "n" bytes remain before the end of file, then those bytes should be read and displayed with a message indicating that the end of file was reached.

  • WRITE n 'data'

This command causes the first "n" ata bytes from 'data'(actually enclosed in single quotes in the comman line) to be written to the file.
If fewer than "n" bytes are given, then append sufficient blanks to 'data' to make "n" bytes.
If it is impossible to write "n" bytes(because the disk is full) then an appropriate message should be issued, but the command should be otherwise treated as if the largest possible value o "n" was specified. (That is, the remaining available disk space should be filled.)

  • SEEK base offset

"base" is either -1, 0, or +1 indicating the beginning of the file, the current position in the file, or the end of file.
"offset" is a signed integer indicating the number of bytes from the "base" that the file pointer should be moved.
For example, "SEEK -1 0" is equivalent to a rewind, "SEEK +1 0" is equivalent to a position to end of file, and "SEEK 0 -5" positions the file pointer backward by five bytes.

About

Simulates OS file system operation with 100 sectors in memory

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Roadmap

roadmap

Commands

Each command that may be processed by the file system is matched by an input command line. The syntax of these command lines, and the processing to be performed, is as follows:

  • CREATE type name

"type" is either U or D, and indicates whether a User data file or a Directory file is to be created.
"name" is a full file name in the form described above.
Neither of these items is enclosed in quotes.
The CREATE command should cause a new directory entry to be created for the type of file specified.
If CREATE is given for an existing file, no error should occur, but the file should ve deleted and then reCREATEd.
CREATE also leaves the file in the same states as an OPEN in the output mode.

  • OPEN mode name

"mode" is either I, O or U indicating the file named "name" is to be opened in the Input, Output, or Update mode.
Input mode means that only READ and SEEK commands are permitted.
Output mode means only WRITE commands are permitted.
Update mode allows READ, WRITE, and SEEK commands.
Associated with each open file is a pointer to the next byte to be read or written.
Opening a file for input or update places the pointer at the first byte of the file, while opening a file for output places the pointer athe the byte immediately after the last byte of the file.

  • CLOSE

This command causes the last OPENed or CREATEd file to be closed. No filename is given.

  • DELETE name

This command causes the named file to be deleted.

  • READ n

This command may only be used between an OPEN (in input or update mode) and the corresponding CLOSE.
If possible, "n" bytes of data should be read and displayed. If fewer than "n" bytes remain before the end of file, then those bytes should be read and displayed with a message indicating that the end of file was reached.

  • WRITE n 'data'

This command causes the first "n" ata bytes from 'data'(actually enclosed in single quotes in the comman line) to be written to the file.
If fewer than "n" bytes are given, then append sufficient blanks to 'data' to make "n" bytes.
If it is impossible to write "n" bytes(because the disk is full) then an appropriate message should be issued, but the command should be otherwise treated as if the largest possible value o "n" was specified. (That is, the remaining available disk space should be filled.)

  • SEEK base offset

"base" is either -1, 0, or +1 indicating the beginning of the file, the current position in the file, or the end of file.
"offset" is a signed integer indicating the number of bytes from the "base" that the file pointer should be moved.
For example, "SEEK -1 0" is equivalent to a rewind, "SEEK +1 0" is equivalent to a position to end of file, and "SEEK 0 -5" positions the file pointer backward by five bytes.

About

Simulates OS file system operation with 100 sectors in memory

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Roadmap

roadmap

Commands

Each command that may be processed by the file system is matched by an input command line. The syntax of these command lines, and the processing to be performed, is as follows:

  • CREATE type name

"type" is either U or D, and indicates whether a User data file or a Directory file is to be created.
"name" is a full file name in the form described above.
Neither of these items is enclosed in quotes.
The CREATE command should cause a new directory entry to be created for the type of file specified.
If CREATE is given for an existing file, no error should occur, but the file should ve deleted and then reCREATEd.
CREATE also leaves the file in the same states as an OPEN in the output mode.

  • OPEN mode name

"mode" is either I, O or U indicating the file named "name" is to be opened in the Input, Output, or Update mode.
Input mode means that only READ and SEEK commands are permitted.
Output mode means only WRITE commands are permitted.
Update mode allows READ, WRITE, and SEEK commands.
Associated with each open file is a pointer to the next byte to be read or written.
Opening a file for input or update places the pointer at the first byte of the file, while opening a file for output places the pointer athe the byte immediately after the last byte of the file.

  • CLOSE

This command causes the last OPENed or CREATEd file to be closed. No filename is given.

  • DELETE name

This command causes the named file to be deleted.

  • READ n

This command may only be used between an OPEN (in input or update mode) and the corresponding CLOSE.
If possible, "n" bytes of data should be read and displayed. If fewer than "n" bytes remain before the end of file, then those bytes should be read and displayed with a message indicating that the end of file was reached.

  • WRITE n 'data'

This command causes the first "n" ata bytes from 'data'(actually enclosed in single quotes in the comman line) to be written to the file.
If fewer than "n" bytes are given, then append sufficient blanks to 'data' to make "n" bytes.
If it is impossible to write "n" bytes(because the disk is full) then an appropriate message should be issued, but the command should be otherwise treated as if the largest possible value o "n" was specified. (That is, the remaining available disk space should be filled.)

  • SEEK base offset

"base" is either -1, 0, or +1 indicating the beginning of the file, the current position in the file, or the end of file.
"offset" is a signed integer indicating the number of bytes from the "base" that the file pointer should be moved.
For example, "SEEK -1 0" is equivalent to a rewind, "SEEK +1 0" is equivalent to a position to end of file, and "SEEK 0 -5" positions the file pointer backward by five bytes.

About

Simulates OS file system operation with 100 sectors in memory

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Roadmap

roadmap

Commands

Each command that may be processed by the file system is matched by an input command line. The syntax of these command lines, and the processing to be performed, is as follows:

  • CREATE type name

"type" is either U or D, and indicates whether a User data file or a Directory file is to be created.
"name" is a full file name in the form described above.
Neither of these items is enclosed in quotes.
The CREATE command should cause a new directory entry to be created for the type of file specified.
If CREATE is given for an existing file, no error should occur, but the file should ve deleted and then reCREATEd.
CREATE also leaves the file in the same states as an OPEN in the output mode.

  • OPEN mode name

"mode" is either I, O or U indicating the file named "name" is to be opened in the Input, Output, or Update mode.
Input mode means that only READ and SEEK commands are permitted.
Output mode means only WRITE commands are permitted.
Update mode allows READ, WRITE, and SEEK commands.
Associated with each open file is a pointer to the next byte to be read or written.
Opening a file for input or update places the pointer at the first byte of the file, while opening a file for output places the pointer athe the byte immediately after the last byte of the file.

  • CLOSE

This command causes the last OPENed or CREATEd file to be closed. No filename is given.

  • DELETE name

This command causes the named file to be deleted.

  • READ n

This command may only be used between an OPEN (in input or update mode) and the corresponding CLOSE.
If possible, "n" bytes of data should be read and displayed. If fewer than "n" bytes remain before the end of file, then those bytes should be read and displayed with a message indicating that the end of file was reached.

  • WRITE n 'data'

This command causes the first "n" ata bytes from 'data'(actually enclosed in single quotes in the comman line) to be written to the file.
If fewer than "n" bytes are given, then append sufficient blanks to 'data' to make "n" bytes.
If it is impossible to write "n" bytes(because the disk is full) then an appropriate message should be issued, but the command should be otherwise treated as if the largest possible value o "n" was specified. (That is, the remaining available disk space should be filled.)

  • SEEK base offset

"base" is either -1, 0, or +1 indicating the beginning of the file, the current position in the file, or the end of file.
"offset" is a signed integer indicating the number of bytes from the "base" that the file pointer should be moved.
For example, "SEEK -1 0" is equivalent to a rewind, "SEEK +1 0" is equivalent to a position to end of file, and "SEEK 0 -5" positions the file pointer backward by five bytes.

About

Simulates OS file system operation with 100 sectors in memory

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages