fleshing out the computer

Post and debate ideas and concepts

fleshing out the computer

Postby Kaluce » Tue Apr 08, 2014 4:50 pm

Ok, I'd like to propose extensions to the computer design, and make it a bit more of a full experience, especially since we're going to spend so much time with it in game. This is going to be at 30,000 feet, because I'm way out of practice of writing code. First my ideas mean that you'd be able to stay in-game without needing to go out too much (unless you wanted to).

Floppy Drive:
1980s era 360kb or (much rarer in-game) 800kb floppy. This is in-line with double density floppies for the day, and if you give a maximum of 10 floppies to a person that's 3.5mb or 7.8mb allocated per person. The filesystem could be a flat with no subfolders. Code side, the file could be a container to be loaded or unloaded at will by interacting with a floppy drive and a UI. Bonus points if you give the player a pen, and only a few labels so they have to cross out what was on them before. These floppy files could be stored server side, with a hard limit on the amount of floppies a person could have to avoid the potential of abuse, or possibly putting data on the floppy that could intentionally break the game. A server admin should be able to delete the stored floppies when a user instance is deleted from the server itself.

Realistically, read and write to this file should be low priority on the server code, because real drives were noisy, slow, and in some cases requiring up to 30 seconds to load a floppy into memory. Maximum time I suppose should be 10 seconds for loading a full floppy, because it would be a huge pain in the butt to wait for 30 seconds every time you wanted to load a program. Floppies can be marked Read-Only by the user to prevent accidental overwriting as well.

File extensions:
.prog, program
.text, text file
.asmb assembly file
.imag, bitmap image

OS:
I'd like to see a basic OS reminiscent of 1980s era computers to fit the system. This could be provided on a floppy installed in the system itself, or using a cartridge. This could be a requirement for getting alternate CPUs running, as it wouldn't come with anything by default. It would be like it currently is, where the processor executes a basic free running test to check the ram or boot to the floppy, for example a program on the floppy named boot.prog.

On OS startup:
This could change if you install a new CPU in the system, like a Z80 core. (%r is max ram installed, %p is processor installed, %f is ram free, in bytes)

%r RAM, %p SYSTEM %f BYTES FREE
MEMTEST OK, READY
~>

Commands:
LOAD (drive)/(file) On all computers since computers have had a monitor, has had a way of loading files. On DOS, this was just running the command on the prompt (C:\win.exe). File extension should be .prog
LIST (floppy drive number) list the files on a floppy drive image
EDIT (filename.extension) basic text editor. provides loading and saving files only.
ASSM (filename.asmb) assemble a program for the DCPU.

I had the idea of a help manual written of continuous feed paper sitting on a desk near the computer, that would give you a basic program to run, the DCPU specs, ram, and how to run some things. If we're given floppy disks from the start, one should be a read only "BBS" program where you could connect to a repository of information, similar to the old days, where computers could access a BBS through a modem. This disk should be read only, being as it's an online help system and give the player a way to access help from within the game. The trade off to this is that maybe it requires an antenna, or modem, or something to connect to the system. sometimes it might glitch out, or maybe lose signal (CARRIER LOST).
Kaluce
 
Posts: 5
Joined: Tue Apr 08, 2014 3:51 am

Re: fleshing out the computer

Postby DaveSparhawk » Sat Apr 12, 2014 2:00 am

I like the idea of a cartridge instead of a built in bios. The CPU could begin executing instructions from the device memory that is mapped to the system. It may be possible to make custom carvtridges but they would be functionally ROM.

Many of the developers agree with your sentiment that the game will be centred around and based on interaction with the computer.
DaveSparhawk
 
Posts: 28
Joined: Sat Mar 08, 2014 11:14 am

Re: fleshing out the computer

Postby Kaluce » Sun Apr 13, 2014 3:49 am

The only thing I don't like about players making their own cartridges is that IRL now-a-days we have things like EEPROM which allows you to erase chips infinitely. If this is going to take place using the same original design as 0x10c, (1980s era equipment), you'd have access to PROM chips only, and it would require a machine that (at the time) would've been extremely large and heavy, and capable of burning the chips exactly once. If we're going for a Hard Sci-Fi feel, I feel that it would be almost unheard of to put a PROM flasher on the ship. The other option would've been SRAM, which was faster than PROM, but still requires special hardware.

However, the good thing about the cartridge system is that it makes it important to get both the cartridge and the board required to upgrade the computer. I was toying with the idea that you need to have both to boot the system, rather than letting the system do "error checking" but I'm not sure what others feel about it.
Kaluce
 
Posts: 5
Joined: Tue Apr 08, 2014 3:51 am

Re: fleshing out the computer

Postby Zardoz » Sun Apr 13, 2014 10:10 pm

Kaluce wrote: (1980s era equipment), you'd have access to PROM chips only, and it would require a machine that (at the time) would've been extremely large and heavy, and capable of burning the chips exactly once. If we're going for a Hard Sci-Fi feel, I feel that it would be almost unheard of to put a PROM flasher on the ship. The other option would've been SRAM, which was faster than PROM, but still requires special hardware.


There is a thing called EPROM, were you can write it many times, but before writing it, you need to clean it, using UV light (sun light), so they have a sticker hidding a crystal window to the chip, to avoid accidental erasing of the chip. This chips, had capacity between a few KiB to 64 KiB. But it wasn't cheaper, and the writer hardware wasn't initially cheaper, plus you need a computer working to write on it.

Kaluce wrote:Ok, I'd like to propose extensions to the computer design, and make it a bit more of a full experience, especially since we're going to spend so much time with it in game. This is going to be at 30,000 feet, because I'm way out of practice of writing code. First my ideas mean that you'd be able to stay in-game without needing to go out too much (unless you wanted to).

Floppy Drive:
1980s era 360kb or (much rarer in-game) 800kb floppy. This is in-line with double density floppies for the day, and if you give a maximum of 10 floppies to a person that's 3.5mb or 7.8mb allocated per person. The filesystem could be a flat with no subfolders. Code side, the file could be a container to be loaded or unloaded at will by interacting with a floppy drive and a UI. Bonus points if you give the player a pen, and only a few labels so they have to cross out what was on them before. These floppy files could be stored server side, with a hard limit on the amount of floppies a person could have to avoid the potential of abuse, or possibly putting data on the floppy that could intentionally break the game. A server admin should be able to delete the stored floppies when a user instance is deleted from the server itself.


Realistically, read and write to this file should be low priority on the server code, because real drives were noisy, slow, and in some cases requiring up to 30 seconds to load a floppy into memory. Maximum time I suppose should be 10 seconds for loading a full floppy, because it would be a huge pain in the butt to wait for 30 seconds every time you wanted to load a program. Floppies can be marked Read-Only by the user to prevent accidental overwriting as well.


Check : http://trillek-team.github.io/trillek-c ... drive.html
I put sizes of 360KiB and 1200 KiB because was usual sizes (I have yet floppies of 1200 KiB ), but the system is flexible to work with any other size, as QUERY_MEDIA will return the total number of sectors of the floppy and the sector size is fixed (512 bytes). So 40 tracks with 18 sectors per track -> 40 * 18 * 512B = 360KiB ; 80 tracks with 30 sectors per track -> 80 * 30 * 512B = 1200 KiB
An other posible size is 80 tracks with 18 sectors per track -> 80 * 18 * 512B = 720 KiB
Yep, I have a blog : http://zardoz.es
Emulator DCPU-16 VM
User avatar
Zardoz
 
Posts: 359
Joined: Mon Aug 12, 2013 8:54 pm
Location: Spain

Re: fleshing out the computer

Postby niksu » Tue Apr 22, 2014 6:12 am

This could be provided on a floppy installed in the system itself, or using a cartridge


Well you could just stack up few floppy drives, use the main one for OS and load data on others or even point specific floppys for cpu's so you could have different OS running same time, so actual gameplay with floppys isn't that hassle when you get more hardware on your shiny desk.

Image
niksu
 
Posts: 6
Joined: Mon Jan 27, 2014 5:43 pm


Return to Design

Who is online

Users browsing this forum: No registered users and 1 guest