dMZX Forums: Virtual Files -> Archived Requests -> Tracker

Jump to content

Report ID 422 Title Virtual Files
Product Archived Requests Status Implemented (Severity 0 - None Assigned)
Version 2.90 Fixed in GIT

Page 1 of 1
  • Cannot start a new Issue
  • Closed Issue This issue is locked

Report ID #422: Virtual Files

#1 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 03 February 2012 - 11:57 PM

The point of this feature is to reduce runtime disk IO, and no new datatype would need to be added because strings are pretty much already perfect for this. I am also proposing another string counter that simplifies putting the content of a file into a string, but it's not really necessary.

set "$myFile" "LOADFILE:data/fockyou.txt"
set "$myFile" "LOAD_ROBOT"


set "$myFile" "LOADFILE:actually_ten_char_sets.chr"
loop start
set "$frame" "$myFile+('LOOPCOUNT'*256*14)#(256*14)"
load char set "$frame"
wait 1
loop 9


copy block "#0" "#0" 80 25 "@$temp" 1
...
put "@$temp" image_file p01 0 0

"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository


Page 1 of 1  
  • Cannot start a new Issue
  • Closed Issue This issue is locked

Replies (1 - 10)

#2 User is offline  
ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 04 February 2012 - 04:39 PM

Is disk I/O really a bottleneck? The costly bit for modern filesystems is the directory entry lookup, and that's done once, when the files are opened.

I think this can be folded into a grander "support loading games directly from ZIP" idea. That way, there's only one real file, the rest are streamed from a ZIP file. No robotic changes are required.

--ajs.

#3 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 07 February 2012 - 07:56 PM

A real benefit to be found in what I've suggested is that strings are far more dynamic than files -- strings can easily be spliced and put back together whereas file access can be pretty clunky. You can empty the string to a temporary file first but that seems unnecessary.
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository

#4 User is offline  
Dr Lancer-X 

  • 電波、届いた?
  • Group: DigiStaff
  • Posts: 8,936
  • Joined: 20-March 02
  • Location:ur mom nmiaow

Posted 07 February 2012 - 09:07 PM

Yeah, the justification here is mostly that it could be a relatively transparent and simple way to drastically improve the ability to manipulate chars, colours and large blocks of tiles through stringified load char set / load palette / put image_file commands. At the moment, these are all relatively slow activities to do, requiring a large number of commands.

It would also be nice to have this available to the mod and sam commands (or perhaps only the sam command, I can see why it would be difficult to do with the mod command) allowing audio to be created and played on the fly.

Again, all this stuff could just be dumped to files in the meantime but this is a somewhat messy approach.
Posted Image
<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(

#5 User is offline  
ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 13 February 2012 - 06:50 PM

Okay guys, I see what you're saying. The fact that this is a "one shot" operation, opening the file, copying the data into the string, and closing it, means that it won't interact with existing file stuff in MZX and should be quite easy to add.

Loading mods from memory shouldn't be a problem for ModPlug, but MikMod will need some modification, as it currently streams from disk to reduce memory consumption.

I assume we're all OK with the existing 1MB string limit.

--ajs.

#6 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 08 December 2012 - 04:27 AM

Updating status to: Flagged For Future Version
Updating version to: 2.85
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository

#7 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 20 May 2017 - 03:39 AM

Updating status to: Approved

Strings-as-file support for LOAD CHAR SET and LOAD PALETTE implemented in GIT 87d11a5.
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository

#8 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 20 May 2017 - 10:30 PM

String-as-file support for LOAD_ROBOT and LOAD_SOURCE_FILE implemented in GIT 5633f92.
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository

#9 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 21 May 2017 - 08:23 AM

String-as-file support for MZMs implemented by Lancer-X in GIT f7ac256.
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository

#10 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 12 June 2017 - 04:55 PM

Updating status to: Implemented
Issue fixed in: GIT
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository

#11 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,895
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 29 June 2017 - 06:51 AM

Moving to: Archived Requests


Page 1 of 1
  • Cannot start a new Issue
  • Closed Issue This issue is locked

0 User(s) are reading this issue
0 Guests and 0 Anonymous Users


Powered by IP.Tracker 1.3.2 © 2025  IPS, Inc.