Commit 2e469ba7 authored by Roger Sanders's avatar Roger Sanders

Major update incorporating changes to the site framework, as well as initial...

Major update incorporating changes to the site framework, as well as initial content for the Mega Drive and Saturn sections.
parent ecee5c1d
Pipeline #78613130 passed with stage
in 1 minute and 39 seconds
This diff is collapsed.
---
layout: default
title: "Copying System 24 Disks"
pageGroup: "SegaSystem24"
---
# Overview
......
---
layout: default
title: "Sega System 24"
pageGroup: "SegaSystem24"
---
# Sega System 24
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
---
layout: default
title: "Sega Mega Drive (Genesis)"
pageGroup: "SegaMegaDrive"
---
# Sega Mega Drive (Genesis)
![](MegaDrive1.jpg)![](MegaDrive2.jpg)
# Overview
The Sega Mega Drive (known as Genesis in North America) is Sega's most successful video game console. For general information about this system and its games, please refer to other sources such as [segaretro.org](https://segaretro.org/Sega_Mega_Drive). This site focuses on the technical details of the system that are important for emulation and development, and assumes a familiarity with the general and historical facts of the console.
# Sections
{% include contents pageGroup=page.pageGroup %}
This diff is collapsed.
This diff is collapsed.
---
layout: default
title: "Sega Saturn"
pageGroup: "SegaSaturn"
---
# Sega Saturn
![](SegaSaturn.jpg)
# Overview
The Sega Saturn is the follow-up to Sega's very successful Mega Drive (Genesis), however the Saturn saw mixed results, being popular in Japan but largely a commercial failure in other markets. For general information about this system and its games, please refer to other sources such as [segaretro.org](https://segaretro.org/Sega_Saturn). This site focuses on the technical details of the system that are important for emulation and development, and assumes a familiarity with the general and historical facts of the console.
##TODO##
# Sections
{% include contents pageGroup=page.pageGroup %}
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 3.8.3"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.0"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.0" if Gem.win_platform?
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 3.8.3"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.0"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.0" if Gem.win_platform?
---
layout: toc
title: "Table of Contents"
pageGroup: "SegaMegaDrive"
---
---
layout: toc
title: "Table of Contents"
pageGroup: "SegaSaturn"
---
---
layout: toc
title: "Table of Contents"
pageGroup: "SegaSystem24"
---
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Exodus Technical Documentation
description: >- # this means to ignore newlines
Write an awesome description for your new site here. You can edit this
line in _config.yml. It will appear in your document head meta (for
Google search results) and in your feed.xml site description.
# Build settings
markdown: kramdown
#theme: minima
#plugins:
# - jekyll-feed
# Exclude from processing.
# The following items will not be processed, by default. Create a custom list
# to override the default setting.
# exclude:
# - Gemfile
# - Gemfile.lock
# - node_modules
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Exodus Technical Documentation
description: >- # this means to ignore newlines
Write an awesome description for your new site here. You can edit this
line in _config.yml. It will appear in your document head meta (for
Google search results) and in your feed.xml site description.
# Build settings
markdown: kramdown
#kramdown:
# parse_block_html: true
# parse_span_html: true
#theme: minima
#plugins:
# - jekyll-feed
# Exclude from processing.
# The following items will not be processed, by default. Create a custom list
# to override the default setting.
# exclude:
# - Gemfile
# - Gemfile.lock
# - node_modules
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/
contentsData:
- title: Home
url: index.html
- title: Arcade Info
childlist:
- title: Sega System 1/2
url: Arcade/SegaSystem1/
- title: Sega Pre System 16
- title: Sega System 16A/16B
- title: Sega System 18
- title: Sega System 24
url: Arcade/SegaSystem24/
childlist:
- title: Copying Disks
url: Arcade/SegaSystem24/CopyingDisks.html
- title: Sega System 32/Multi 32
- title: Sega X Board
- title: Sega Y Board
- title: Sega H1
url: Arcade/SegaH1/
- title: Sega System E
- title: Sega System C
- title: Sega Mega-Tech
- title: Sega Mega Play
- title: Sega Titan Video (STV)
- title: Sega Hang-On/Space Harrier
- title: Sega OutRun
- title: Sega Model 1
- title: Sega Model 2
- title: Sega Model 3
- title: Sega Naomi
- title: Console Info
childlist:
- title: Sega Master System
- title: Sega Game Gear
- title: Sega Mega Drive (Genesis)
- title: Sega Mega CD/LD
- title: Sega 32x
- title: Sega Saturn
- title: Sega Dreamcast
- title: IC Info
childlist:
- title: CPU
childlist:
- title: Z80 [Zilog]
- title: 68000 [Motorola]
- title: SH2/SH7604 [Hitachi]
- title: SH4/SH7750 [Hitachi]
- title: V60/uPD70616 [NEC]
- title: V70/uPD70632 [NEC]
- title: Audio
childlist:
- title: SN76489 [Texas Instruments]
- title: YM2151 [Yamaha]
- title: YM2203 [Yamaha]
- title: YM2608 [Yamaha]
- title: YM2612/YM3438 [Yamaha]
- title: Graphics
childlist:
- title: 315-5313 [Sega]
- title: Bus Control
- title: Other
contentsData:
- title: Home
url: /index.html
- title: Arcade Info
childlist:
- title: Sega System 1/2
url: /Arcade/SegaSystem1/index.html
- title: Sega System 16A
- title: Sega System 16B
- title: Sega System 18
- title: Sega System 24
url: /Arcade/SegaSystem24/index.html
pageGroup: SegaSystem24
childlist:
- title: Copying Disks
url: /Arcade/SegaSystem24/CopyingDisks.html
- title: Sega System 32
- title: Sega System Multi 32
- title: Sega X Board
- title: Sega Y Board
- title: Sega H1
url: /Arcade/SegaH1/index.html
- title: Sega System E
- title: Sega System 14/C/C2
- title: Sega Mega-Tech
- title: Sega Mega Play
- title: Sega Titan Video (STV)
- title: Sega Hang-On/Space Harrier
- title: Sega OutRun/Super Hang-On
- title: Sega Model 1
- title: Sega Model 2
- title: Sega Model 3
- title: Sega Naomi
- title: Console Info
childlist:
- title: Sega Master System
pageGroup: SegaMasterSystem
childlist:
- title: Sega Game Gear
url: /Console/SegaMasterSystem/index.html#game-gear
- title: Sega Mega Drive (Genesis)
url: /Console/SegaMegaDrive/index.html
pageGroup: SegaMegaDrive
childlist:
- title: Hardware
childlist:
- title: Mega Drive
- title: Mega CD Expansion
- title: 32x Expansion
- title: Peripherals
- title: Development Hardware
url: /Console/SegaMegaDrive/Hardware.html#development-hardware
- title: Documentation
childlist:
- title: Mega Drive
url: /Console/SegaMegaDrive/Documentation.html#mega-drive-documentation
- title: Mega CD
url: /Console/SegaMegaDrive/Documentation.html#megacd-documentation
- title: 32x
url: /Console/SegaMegaDrive/Documentation.html#32x-documentation
- title: Service Manuals
url: /Console/SegaMegaDrive/Documentation.html#service-manuals
- title: Software/Tools
childlist:
- title: Original Tools
url: /Console/SegaMegaDrive/Software.html#original-development-tools
- title: Community Tools
url: /Console/SegaMegaDrive/Software.html#community-development-tools
- title: Test ROMS
url: /Console/SegaMegaDrive/Software.html#test-roms
- title: Sega Saturn
url: /Console/SegaSaturn/index.html
pageGroup: SegaSaturn
childlist:
- title: Hardware
childlist:
- title: Saturn
- title: Peripherals
- title: Development Hardware
- title: Documentation
childlist:
- title: Saturn
url: /Console/SegaSaturn/Documentation.html#saturn-documentation
- title: Service Manuals
url: /Console/SegaSaturn/Documentation.html#service-manuals
- title: Software/Tools
childlist:
- title: Original Tools
- title: Community Tools
- title: Sega Dreamcast
- title: IC Info
childlist:
- title: CPU
childlist:
- title: Z80 [Zilog]
- title: 68000 Family [Motorola]
childlist:
- title: 68000
- title: SuperH Family [Hitachi]
childlist:
- title: SH1 (SH7034)
- title: SH2 (SH7604)
- title: SH4 (SH7750)
- title: V-Series [NEC]
childlist:
- title: V60 (uPD70616)
- title: V70 (uPD70632)
- title: Audio
childlist:
- title: SN76489 [Texas Instruments]
- title: YM2151 (OPM) [Yamaha]
- title: OPN Series [Yamaha]
childlist:
- title: YM2203 (OPN)
- title: YM2608 (OPNA)
- title: YM2612 (OPN2)
- title: YM3438 (OPN2C)
- title: Graphics
childlist:
- title: TMS9900 Based
childlist:
- title: TMS9918A/TMS9928A/TMS9929A [Texas Instruments]
- title: 315-5124/315-5246 (Master System) [Sega]
- title: 315-5313 (Mega Drive) [Sega]
- title:
- title: Bus Control
- title: Other
This source diff could not be displayed because it is too large. You can view the blob instead.
<ul class="contentsRoot">
{% for childEntry in site.data.contentsPageList.contentsData %}
{% include contentsEntry.html entry=childEntry entryPageGroup=entry.pageGroup pageGroup=include.pageGroup parentIncluded=false %}
{% endfor %}
</ul>
{% if include.entryPageGroup == include.pageGroup %}
{% assign pageGroupMatches = true %}
{% else %}
{% assign pageGroupMatches = false %}
{% endif %}
{% if include.entry.childlist[0] %}
{% if pageGroupMatches and include.parentIncluded %}
<li class="contentsEntry">
{% if include.entry.url %}
<a class="contentsGroupHeaderWithLink" href="{% include siteRelativeURL target=include.entry.url %}" target="_top">{{ include.entry.title }}</a>
{% else %}
<span class="contentsGroupHeaderNoLink">{{ include.entry.title }}</span>
{% endif %}
<ul class="contentsGroupChildList">
{% endif %}
{% for childEntry in include.entry.childlist %}
{% if childEntry.pageGroup == nil %}
{% assign childPageGroup = include.entryPageGroup %}
{% else %}
{% assign childPageGroup = childEntry.pageGroup %}
{% endif %}
{% include contentsEntry.html entry=childEntry entryPageGroup=childPageGroup pageGroup=include.pageGroup parentIncluded=pageGroupMatches %}
{% endfor %}
{% if pageGroupMatches and include.parentIncluded %}
</ul>
</li>
{% endif %}
{% else %}
{% if pageGroupMatches and include.parentIncluded %}
<li class="contentsEntry">
{% if include.entry.url %}
<a class="contentsEntryWithLink" href="{% include siteRelativeURL target=include.entry.url %}" target="_top">{{ include.entry.title }}</a>
{% else %}
<span class="contentsEntryNoLink">{{ include.entry.title }}</span>
{% endif %}
</li>
{% endif %}
{% endif %}
{% assign downloadPathFirstChar = include.target | slice: 0 %}{% if downloadPathFirstChar == '/' %}{% assign downloadPath = include.target %}{% else %}{% assign pageUrlLastChar = page.url | split: "" | reverse | first %}{% if pageUrlLastChar == '/' %}{% assign pageBaseUrl = page.url %}{% else %}{% assign pageBaseUrl = page.url | split: '/' | pop | join: '/' | append: '/' %}{% endif %}{% assign downloadPath = pageBaseUrl | append: include.target %}{% endif %}{% assign downloadEntry = site.data.externalDownloadLinks.externalFileList | where: "path", downloadPath | first %}{% assign linkText = include.title | default: include.target | split: '/' | last %}{% if downloadEntry %}https://drive.google.com/drive/u/3/folders/{{ downloadEntry.id }}{% else %}<span class="missingDownload">{{ include.target }}</span>{% endif %}
\ No newline at end of file
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="{{ "styles/default.css" | relative_url }}" rel="stylesheet" type="text/css">
<title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
<meta name="description" content="{{ site.description }}">
</head>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="{{ "styles/default.css" | relative_url }}" rel="stylesheet" type="text/css">
<link href="{{ "favicon.ico" | relative_url }}" rel="shortcut icon" type="image/x-icon" >
<title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
<meta name="description" content="{{ site.description }}">
</head>
{% assign siteUrlLastChar = site.baseurl | split: "" | reverse | first %}{% if siteUrlLastChar == '/' %}{% assign siteBaseUrl = site.baseurl %}{% else %}{% assign siteBaseUrl = site.baseurl | split: '/' | pop | join: '/' | append: '/' %}{% endif %}{% assign targetPathFirstChar = include.target | slice: 0 %}{% if targetPathFirstChar == '/' %}{% assign targetPathTrimmed = include.target | slice: 1,include.target.size %}{% else %}{% assign targetPathTrimmed = include.target %}{% endif %}{% assign targetPathCombined = siteBaseUrl | append: targetPathTrimmed %}{{ targetPathCombined }}
\ No newline at end of file
<li class="tocEntry">
{% if include.entry.childlist[0] %}
{% if include.entry.url == '/' %}
<a class="tocGroupHeaderWithLink" href="{{ site.url }}" target="_top">{{ include.entry.title }}</a>
{% elsif include.entry.url %}
<a class="tocGroupHeaderWithLink" href="{{ include.entry.url }}" target="_top">{{ include.entry.title }}</a>
{% else %}
<span class="tocGroupHeaderNoLink">{{ include.entry.title }}</span>
{% endif %}
<ul class="tocGroupChildList">
{% for childEntry in include.entry.childlist %}
{% include tocEntry.html entry=childEntry %}
{% endfor %}
</ul>
{% else %}
{% if include.entry.url == '/' %}
<a class="tocEntryWithLink" href="{{ site.url }}" target="_top">{{ include.entry.title }}</a>
{% elsif include.entry.url %}
<a class="tocEntryWithLink" href="{{ include.entry.url }}" target="_top">{{ include.entry.title }}</a>
{% else %}
<span class="tocEntryNoLink">{{ include.entry.title }}</span>
{% endif %}
{% endif %}
</li>
<li class="tocEntry">
{% if include.entry.childlist[0] and (include.entry.pageGroup == nil or include.entry.pageGroup == include.pageGroup) %}
{% if include.entry.url %}
<a class="tocGroupHeaderWithLink" href="{% include siteRelativeURL target=include.entry.url %}" target="_top">{{ include.entry.title }}</a>
{% else %}
<span class="tocGroupHeaderNoLink">{{ include.entry.title }}</span>
{% endif %}
<ul class="tocGroupChildList">
{% for childEntry in include.entry.childlist %}
{% include tocEntry.html entry=childEntry pageGroup=include.pageGroup %}
{% endfor %}
</ul>
{% else %}
{% if include.entry.url %}
<a class="tocEntryWithLink" href="{% include siteRelativeURL target=include.entry.url %}" target="_top">{{ include.entry.title }}</a>
{% else %}
<span class="tocEntryNoLink">{{ include.entry.title }}</span>
{% endif %}
{% endif %}
</li>
<!DOCTYPE html>
<html lang="en">
{% include head.html %}
<body class="docBody">
<div class="tocFrame">
<iframe src="{{ "TableOfContents.html" | relative_url }}" class="tocTable"></iframe>
</div>
<div class="docFrame">
<div class="mainContent">{{content}}</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
{% include head.html %}
<body class="docBody">
<div class="tocFrame">
{% capture TableOfContentsURL %}TableOfContents{{page.pageGroup}}.html{% endcapture %}
<iframe src="{{ TableOfContentsURL | relative_url }}" class="tocTable"></iframe>
</div>
<div class="docFrame">
<div class="mainContent">{{content}}</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
{% include head.html %}
<body>
<div class="mainSection">
<img alt="ContentsHeaderImage" src="ContentsHeaderImage.png">
<ul class="tocRoot">
{% for childEntry in site.data.contentsPageList.contentsData %}
{% include tocEntry.html entry=childEntry %}
{% endfor %}
</ul>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
{% include head.html %}
<body>
<div class="mainSection">
<img alt="ContentsHeaderImage" src="ContentsHeaderImage.png">
<ul class="tocRoot">
{% for childEntry in site.data.contentsPageList.contentsData %}
{% include tocEntry.html entry=childEntry pageGroup=page.pageGroup %}
{% endfor %}
</ul>
</div>
</body>
</html>
class ExternalDownloadTag < Liquid::Tag
def initialize(tag_name, input, tokens)
super
@input = input
end
def render(context)
escapedName = escape_name(@input)
# Write the output HTML string
output = "#{escapedName}"
# Render it on the page by returning it
return output;
end
def escape_name(rawName)
rawName
end
end
Liquid::Template.register_tag('ed', ExternalDownloadTag)