Merge pull request 'development' (#21) from development into main

Reviewed-on: #21
This commit is contained in:
BvdW 2024-05-04 18:42:58 +02:00
commit ca0e79798f
3 changed files with 16 additions and 3 deletions

Jenkinsfile vendored
View File

@ -82,7 +82,7 @@ pipeline {
stage('Publish ZIP file') {
steps {
sshagent(credentials: ['jenkins-sshkey']) {
sh 'scp ./doscontainer-${BUILD_NUMBER}.zip uploader@${BUILD_NUMBER}.zip'
sh 'scp ./doscontainer-${BUILD_NUMBER}.zip uploader@${BUILD_NUMBER}.zip'

View File

@ -25,6 +25,8 @@ period appropriate operating system like IBM PC-DOS 2.00. A manifest for this ga
type: pcxt
size: 10
os: IBMDOS200
full_install: false
- url: ""
checksum: 0316fb862c67fdf9318a5c8513d99e5af185ce10306d20c27f5c6da099b5b176
@ -74,8 +76,13 @@ systems.. what's 10MB among friends right?
\section{Operating system}
The \textit{os} variable is currently just a single value because there is, as of this writing, nothing to configure yet. You
can set the operating system to install here. Currently only the English version of IBM PC-DOS 2.00 is supported, which is
signified by the shorthand value of \texttt{IBMDOS200}. Many others will follow. Eventually the YAML structure will expand
to accommodate tweaks and settings to the operating system like different languages if available. For now, this is it.
signified by the shorthand value of \texttt{IBMDOS200}. Many others will follow.
\section{Operating system settings}
The \textit{os_settings} contains one knob you can turn. Set \textit{full_install} to \textit{true} to load all of the distribution
files of the operating system into the VHD instead of just the bare minimum for a bootable disk. This is useful in cases where
you intend the VHD to be a base for productivity applications where the user can be expected to break out into DOS from time to
Here we define a list of ZIP-files that get downloaded, extracted and shipped into the final VHD. The \textit{url} field takes

View File

@ -48,6 +48,11 @@ struct GameConfig {
config: String,
#[derive(Debug, Deserialize, Serialize)]
pub struct OsSettings {
full_install: Option<bool>,
#[derive(Debug, Deserialize, Serialize)]
pub struct Manifest {
pub version: Option<u32>,
@ -58,6 +63,7 @@ pub struct Manifest {
pub disktype: String,
pub application: Vec<Application>,
pub os: String,
pub os_settings: Option<OsSettings>,
#[serde(rename = "AUTOEXEC")]
pub autoexec: Option<String>,
#[serde(rename = "CONFIG")]