port docs to minumal-mistakes Jekyll theme

This commit is contained in:
Tom Nisbet 2023-09-17 19:29:21 -04:00
parent 49877f6708
commit be2ba37114
41 changed files with 2117 additions and 136 deletions

View File

@ -1,87 +1,296 @@
# 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.github_repo }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: "TommyPROM"
description: "A programmer for EEPROMs and EPROMs using Arduino hardware"
baseurl: "/TommyPROM"
url: "https://tomnisbet.github.io"
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your entire site, values
# which you are expected to set up once and rarely need to edit after that.
# For technical reasons, this file is *NOT* reloaded automatically when you use
# `jekyll serve`. If you change this file, please restart the server process.
remote_theme: pmarsceill/just-the-docs
# Theme Settings
#
# Review documentation to determine if you should use `theme` or `remote_theme`
# https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/#installing-the-theme
permalink: pretty
#exclude: ["node_modules/", "*.gemspec", "*.gem", "Gemfile", "Gemfile.lock", "package.json", "package-lock.json", "script/", "LICENSE.txt", "lib/", "bin/", "README.md", "Rakefile"]
# theme : "minimal-mistakes-jekyll"
remote_theme : "tomnisbet/minimal-mistakes"
minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise"
# Set a path/url to a logo that will be displayed instead of the title
#logo: "/docs/images/logo.png"
# Site Settings
locale : "en-US"
title : "TommyPROM"
title_separator : "-"
subtitle : "Arduino-based EEPROM programmer"
name : "Tom Nisbet"
description : "A programmer for EEPROMs, Flash, and EPROMs using Arduino hardware"
url : https://tomnisbet.github.io # the base hostname & protocol for your site e.g. "https://mmistakes.github.io"
#baseurl : "/test-doc2" # the subpath of your site, e.g. "/blog"
repository : "tomnisbet/TommyPROM"
teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png"
logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png"
masthead_title : # overrides the website title displayed in the masthead, use " " for no title
# breadcrumbs : false # true, false (default)
words_per_minute : 200
comments:
provider : "false" # false (default), "disqus", "discourse", "facebook", "staticman_v2", "staticman", "utterances", "custom"
disqus:
shortname : # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname-
discourse:
server : # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org
facebook:
# https://developers.facebook.com/docs/plugins/comments
appid :
num_posts : # 5 (default)
colorscheme : # "light" (default), "dark"
utterances:
theme : # "github-light" (default), "github-dark"
issue_term : # "pathname" (default)
staticman:
branch : # "master"
endpoint : # "https://{your Staticman v3 API}/v3/entry/github/"
reCaptcha:
siteKey :
secret :
atom_feed:
path : # blank (default) uses feed.xml
search : # true, false (default)
search_full_content : # true, false (default)
search_provider : # lunr (default), algolia, google
algolia:
application_id : # YOUR_APPLICATION_ID
index_name : # YOUR_INDEX_NAME
search_only_api_key : # YOUR_SEARCH_ONLY_API_KEY
powered_by : # true (default), false
google:
search_engine_id : # YOUR_SEARCH_ENGINE_ID
instant_search : # false (default), true
# SEO Related
google_site_verification :
bing_site_verification :
yandex_site_verification :
naver_site_verification :
# Social Sharing
twitter:
username :
facebook:
username :
app_id :
publisher :
og_image : # Open Graph/Twitter default site image
# For specifying social profiles
# - https://developers.google.com/structured-data/customize/social-profiles
social:
type : # Person or Organization (defaults to Person)
name : # If the user or organization name differs from the site's name
links: # An array of links to social media profiles
# Analytics
analytics:
provider : false # false (default), "google", "google-universal", "custom"
google:
tracking_id :
anonymize_ip : # true, false (default)
# Enable or disable the site search
# Supports true (default) or false
search_enabled: true
search:
# Split pages into sections that can be searched individually
# Supports 1 - 6, default: 2
heading_level: 2
# Maximum amount of previews per search result
# Default: 3
previews: 3
# Maximum amount of words to display before a matched word in the preview
# Default: 5
preview_words_before: 5
# Maximum amount of words to display after a matched word in the preview
# Default: 10
preview_words_after: 10
# Set the search token separator
# Default: /[\s\-/]+/
# Example: enable support for hyphenated search words
tokenizer_separator: /[\s/]+/
# Display the relative url in search results
# Supports true (default) or false
rel_url: true
# Enable or disable the search button that appears in the bottom right corner of every page
# Supports true or false (default)
button: false
# Site Author
author:
name : "Tom Nisbet"
avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg"
bio : "I am an **amazing** person."
location : "Somewhere"
email :
links:
- label: "Email"
icon: "fas fa-fw fa-envelope-square"
# url: "mailto:your.name@email.com"
- label: "Website"
icon: "fas fa-fw fa-link"
# url: "https://your-website.com"
- label: "Twitter"
icon: "fab fa-fw fa-twitter-square"
# url: "https://twitter.com/"
- label: "Facebook"
icon: "fab fa-fw fa-facebook-square"
# url: "https://facebook.com/"
- label: "GitHub"
icon: "fab fa-fw fa-github"
# url: "https://github.com/"
- label: "Instagram"
icon: "fab fa-fw fa-instagram"
# url: "https://instagram.com/"
# Enable or disable heading anchors
heading_anchors: true
# Aux links for the upper right navigation
aux_links:
"Project Home":
- "//github.com/TomNisbet/TommyPROM"
# Makes Aux links open in a new tab. Default is false
aux_links_new_tab: false
# Site Footer
footer:
links:
- label: "Twitter"
icon: "fab fa-fw fa-twitter-square"
# url:
- label: "Facebook"
icon: "fab fa-fw fa-facebook-square"
# url:
- label: "GitHub"
icon: "fab fa-fw fa-github"
# url:
- label: "Project Home"
icon: "fas fa-fw fa-link"
url: "https://github.com/TomNisbet/TommyPROM"
- label: "Bitbucket"
icon: "fab fa-fw fa-bitbucket"
# url:
- label: "Instagram"
icon: "fab fa-fw fa-instagram"
# url:
# Sort order for navigation links
nav_sort: case_insensitive # default, equivalent to nil
# nav_sort: case_sensitive # Capital letters sorted before lowercase
# Reading Files
include:
- .htaccess
- _docs
exclude:
- "*.sublime-project"
- "*.sublime-workspace"
- vendor
- .asset-cache
- .bundle
- .jekyll-assets-cache
- .sass-cache
- assets/js/plugins
- assets/js/_main.js
- assets/js/vendor
- Capfile
- CHANGELOG
- config
- Gemfile
- Gruntfile.js
- gulpfile.js
- LICENSE
- log
- node_modules
- package.json
- package-lock.json
- Rakefile
- README
- tmp
- /test # ignore Minimal Mistakes /test
keep_files:
- .git
- .svn
encoding: "utf-8"
markdown_ext: "markdown,mkdown,mkdn,mkd,md"
# Footer content
# appears at the bottom of every page's main content
# Back to top link
back_to_top: true
back_to_top_text: "Back to top"
# Conversion
markdown: kramdown
highlighter: rouge
lsi: false
excerpt_separator: "\n\n"
incremental: false
footer_content: "<a href=\"https://github.com/TomNisbet/TommyPROM\">Return to GitHub project</a>"
# Footer last edited timestamp
#last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter
#last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https://ruby-doc.org/stdlib-2.7.0/libdoc/time/rdoc/Time.html
# Markdown Processing
kramdown:
input: GFM
hard_wrap: false
auto_ids: true
footnote_nr: 1
entity_output: as_char
toc_levels: 1..6
smart_quotes: lsquo,rsquo,ldquo,rdquo
enable_coderay: false
# Footer "Edit this page on GitHub" link text
gh_edit_link: false # show or hide edit this page link
gh_edit_link_text: "Return to GitHub project"
gh_edit_repository: "https://github.com/tomnisbet/TommyPROM"
gh_edit_branch: "master" # the branch that your docs is served from
gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately
# Color scheme currently only supports "dark", "light"/nil (default), or a custom scheme that you define
color_scheme: nil
# Collections
collections:
docs:
output: true
permalink: /:collection/:path/
# Defaults
defaults:
# _pages
- scope:
path: "_pages"
type: pages
values:
layout: single
author_profile: true
# _docs
- scope:
path: ""
type: docs
values:
layout: single
classes: wide
read_time: false
author_profile: false
share: false
comments: false
sidebar:
nav: "docs"
# Sass/SCSS
sass:
sass_dir: _sass
style: compressed # https://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
# Outputting
permalink: /:categories/:title/
# paginate: 5 # amount of posts to show
# paginate_path: /page:num/
timezone: America/New_York # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
# Plugins (previously gems:)
plugins:
- jekyll-seo-tag
- jekyll-paginate
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jekyll-include-cache
# mimic GitHub Pages with --safe
whitelist:
- jekyll-paginate
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jekyll-include-cache
# Archives
# Type
# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default)
# - Jekyll Archives plugin archive pages ~> type: jekyll-archives
# Path (examples)
# - Archive page should exist at path when using Liquid method or you can
# expect broken links (especially with breadcrumbs enabled)
# - <base_path>/tags/my-awesome-tag/index.html ~> path: /tags/
# - <base_path>/categories/my-awesome-category/index.html ~> path: /categories/
# - <base_path>/my-awesome-category/index.html ~> path: /
category_archive:
type: liquid
path: /categories/
tag_archive:
type: liquid
path: /tags/
# https://github.com/jekyll/jekyll-archives
# jekyll-archives:
# enabled:
# - categories
# - tags
# layouts:
# category: archive-taxonomy
# tag: archive-taxonomy
# permalinks:
# category: /categories/:name/
# tag: /tags/:name/
# HTML Compression
# - https://jch.penibelst.de/
compress_html:
clippings: all
ignore:
envs: development

30
docs/_data/navigation.yml Normal file
View File

@ -0,0 +1,30 @@
# main links
docs:
- title: "Introduction"
children:
- title: "What is TommyPROM?"
url: /
- title: "Operation"
children:
- title: "Troubleshooting"
url: /docs/troubleshooting
- title: "Design"
children:
- title: "Hardware"
url: /docs/hardware
- title: "Software"
url: /docs/software
- title: "Printed Circuit Board"
url: /docs/pcb
- title: "Adding Chip Families"
url: /docs/extending
- title: "References"
children:
- title: "28C256 and SDP"
url: /docs/28C256-notes
- title: "PROM Types"
url: /docs/prom-families
- title: "Links"
children:
- title: "Code and Schematics"
url: "https://github.com/TomNisbet/TommyPROM"

1762
docs/_data/ui-text.yml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,26 +1,23 @@
---
title: Overview
description: "TommyPROM Arduino based programmer for 28C256 EEPROMs"
has_children: false
nav_order: 10
title: "TommyPROM - An Arduino-based EEPROM programmer"
permalink: /
excerpt: "TommyPROM Arduino based programmer for 28C256 EEPROMs"
---
# TommyPROM - An Arduino-based EEPROM programmer
This is a simple EEPROM programmer and reader that can be assembled using an Arduino and a
TommyPROM is a simple EEPROM programmer and reader that can be assembled using an Arduino and a
few additional parts. It has been successfully built using the Arduino UNO, Nano and
Boarduino models.
The original code was specific to the 28C256 32Kx8 EEPROM, but it has been extended to
also support SST39SF flash, 27C EPROMs, 29C flash and the Intel 8755A EPROMS.
[![TommyPROM Nano Hardware](images/TommyPROM-nano-700.jpg)](images/TommyPROM-nano.jpg)
[![TommyPROM Nano Hardware](docs/images/TommyPROM-nano-700.jpg)](docs/images/TommyPROM-nano.jpg)
Features include:
* Simple hardware design that can be assembled on a breadboard.
* ROM images transfers using XMODEM - no special host client needed.
* Support for fast block EEPROM writes - a 32K EEPROM will program in just a few seconds.
* Optimized code that supports the timing requirements needed to unlock the 28C series [Software Data Protection](28C256-notes) Algorithm.
* Optimized code that supports the timing requirements needed to unlock the 28C series [Software Data Protection](docs/28C256-notes) Algorithm.
* Modular software design to easily support other EEPROM, flash, and EPROM families.
* Hardware support for 19 address lines, allowing the use of chips as large as 512KB, like the SST39SF040 and 29C040.
@ -29,9 +26,9 @@ Features include:
The 28C hardware and software design can be used with other 5V PROMS as well. Many 5V
chips, including UV EPROMs such as the 2716, 2764, 27C2001 and 27C040, can be read, but
not written, with the basic hardware. Some pin changes may be needed to get the signals to
the correct pins on the device. See the [Extending the design](extending) page for
the correct pins on the device. See the [Extending the design](docs/extending) page for
details on suggested hardware and software changes needed to support new
[EPROM, flash,and EEPROM families](prom-families).
[EPROM, flash,and EEPROM families](docs/prom-families).
The PROM-specific code is modular and can be easily adapted to support additional devices.
There are currently drivers for 28C series EEPROMS, SST39SF flash, 27C EPROMs and the
@ -44,8 +41,8 @@ the XModem buffer in the current code. Other 29C020s and all 29C040s use a 256
sector and cannot be written without code changes to buffer up an entire 256 byte block of
data before writing.
The [hardware](hardware) page has descriptions of the hardware designs and links to
schematics. The [software](software) page has class definitions and more information on
The [hardware](docs/hardware) page has descriptions of the hardware designs and links to
schematics. The [software](docs/software) page has class definitions and more information on
the software design.
The project was inspired by the
@ -54,10 +51,10 @@ The project was inspired by the
## PCB Version
Although it was originally designed as a one-off programmer to be used on a breadboard,
there are now some PCB versions as well. The [PCB](pcb) page has descriptions with links
there are now some PCB versions as well. The [PCB](docs/pcb) page has descriptions with links
to the KiCad schematics and Gerber files.
[![TommyPROM PCB](images/TommyPROM-pcb-with-microcode-500.jpg)](images/TommyPROM-pcb.jpg)
[![TommyPROM PCB](docs/images/TommyPROM-pcb-with-microcode-500.jpg)](docs/images/TommyPROM-pcb.jpg)
## Compiling
@ -80,7 +77,7 @@ chip type.
## Operation
![TommyPROM console screenshot](images/tommyprom-console.png)
![TommyPROM console screenshot](docs/images/tommyprom-console.png)
To use the programmer, connect the Arduino USB to the host computer and run a terminal
program, such as TeraTerm (Windows) or Minicom (Linux). The Arduino development Serial
@ -131,8 +128,8 @@ have different port mappings and definitely will not work without software chang
verify that the data and address paths are good.
* 28C series EEPROMS, like the X28C256, sometimes ship from the factory with Data
Protection enabled. Use the UNLOCK command to disable this. See the
[28C256 Notes](28C256-notes) for more information.
[28C256 Notes](docs/28C256-notes) for more information.
* Re-check all hardware connections and verify the the control pins are going to the
Arduino pins that match the definitions in the code.
* This repo contains a standalone program called HardwareVerify that allows low-level
access to the address, data, and control lines through a menu-driven interface. See the [troubleshooting](troubleshooting) section for more tips.
access to the address, data, and control lines through a menu-driven interface. See the [troubleshooting](docs/troubleshooting) section for more tips.

View File

@ -1,8 +1,7 @@
---
title: Troubleshooting
description: "Troubleshooting TommyPROM hardware"
has_children: false
nav_order: 50
title: "Troubleshooting a TommyPROM Build"
permalink: /docs/troubleshooting
exerpt: "Troubleshooting TommyPROM hardware and software"
---
## Hardware Verifier Tool

View File

@ -1,12 +1,9 @@
---
title: Hardware Design
description: "TommyPROM Arduino 28C256 programmer hardware design"
has_children: false
nav_order: 20
title: "Hardware Design"
permalink: /docs/hardware
exerpt: "TommyPROM Arduino EEPROM programmer software design"
---
# Hardware Design
## Basic Hardware Version
The hardware uses an Arduino to write data and to toggle control lines with the
@ -30,7 +27,7 @@ The two shift registers can produce a sixteen bit address, although the 28C256 o
A<sub>0</sub>..A<sub>15</sub> and connecting Arduino pins D10..D12 to the chip's
A<sub>16</sub>..A<sub>18</sub>
[![TommyPROM Nano Schematic](images/TommyPROM-nano-sch.png)](../images/TommyPROM-nano-sch.png)
[![TommyPROM Nano Schematic](images/TommyPROM-nano-sch.png)](images/TommyPROM-nano-sch.png)
## 74LS595 Shift Registers
@ -116,7 +113,7 @@ is present here for the programming voltage. Because this is designed as a quick
assembled hardware design, a triple output bench supply was used to provide the 25.5V,
5.5V and 5V outputs.
[![TommyPROM Nano Schematic](images/TommyPROM-8755A-sch.png)](../images/TommyPROM-8755A-sch.png)
[![TommyPROM Nano Schematic](images/TommyPROM-8755A-sch.png)](images/TommyPROM-8755A-sch.png)
Eagle-format schematics can be downloaded from the
[hardware project page](https://github.com/TomNisbet/TommyPROM/tree/master/hardware).

View File

@ -1,16 +1,13 @@
---
title: Software Design
description: "TommyPROM Arduino 28C256 programmer software design"
has_children: false
nav_order: 30
title: "Software Design"
permalink: /docs/software
exerpt: "TommyPROM Arduino EEPROM programmer software design"
---
# Software Design
The software is designed around several major blocks and classes. The code has been
broken out into individual files to make it easy to extend the hardware support to
additional EPROM and EEPROM families. See the
[Adding Chip Families](../extending) page for details on suggested hardware and software
[Adding Chip Families](extending) page for details on suggested hardware and software
changes needed.
## CommandStatus class

View File

@ -1,12 +1,9 @@
---
title: Printed Circuit Board
description: "TommyPROM Arduino 28C256 programmer PCB"
has_children: false
nav_order: 35
title: Printed Circuit Boards
permalink: /docs/pcb
exerpt: "Printed Circuit Boards"
---
# Printed Circuit Board
Although it was originally designed as a one-off programmer to be used on a breadboard,
there are now some PCB versions.
@ -20,7 +17,7 @@ disturbing any of the wires.
The [KiCad design files](https://github.com/TomNisbet/TommyPROM/tree/master/schematics)
are in the project repo.
[![TommyPROM PCB](images/TommyPROM-pcb-with-microcode-500.jpg)](../images/TommyPROM-pcb.jpg)
[![TommyPROM PCB](images/TommyPROM-pcb-with-microcode-500.jpg)](images/TommyPROM-pcb.jpg)
## TommyPROM32
@ -30,7 +27,7 @@ other chips as well. It uses a set of headers that allow any of the signals to
chip to be re-routed. The default configuration, with just jumper shunts installed, is
wired for the SST39SF0x0 chips.
[![TommyPROM PCB](images/TommyPROM32-SST39SF-500.jpg)](../images/TommyPROM32-SST39SF.jpg)
[![TommyPROM PCB](images/TommyPROM32-SST39SF-500.jpg)](images/TommyPROM32-SST39SF.jpg)
Many other chips, particularly if they follow JEDEC standards, can be supported by
removing shunts and adding just a few jumper wires.
@ -40,7 +37,7 @@ Chips with fewer pins can also be supported. There are power pins in place to s
28C256 with a power jumper on pin 28, the _WE_ signal moved down to pin 27, and the _A14_
signal moved from ping 27 to pin 1.
[![TommyPROM PCB](images/TommyPROM32-28C256-500.jpg)](../images/TommyPROM32-28C256.jpg)
[![TommyPROM PCB](images/TommyPROM32-28C256-500.jpg)](images/TommyPROM32-28C256.jpg)
Power inputs and a switch are provided to support older flash and EEPROM chips that need
higher programming voltages. Many of these chips just need a higher voltage, like 12V,
@ -55,18 +52,18 @@ supply. The _VPP Out_ signal is connected to the chip's VPP on pin 1. The chip
programming mode when the slide switch is set to the _High_ position and is in read mode
when in the _Low_ position.
[![TommyPROM PCB](images/TommyPROM32-27C257-pgm-500.jpg)](../images/TommyPROM32-27C257-pgm.jpg)
[![TommyPROM PCB](images/TommyPROM32-27C257-pgm-500.jpg)](images/TommyPROM32-27C257-pgm.jpg)
To erase the WE27C257 chip, the external power supply is providing 14V and the _VPP Out_
is connected to the chip's _VPP_ and _A9_ pins. An external breadboard was needed to
allow the _VPP Out_ signal to be connected to multiple pins. A new spin of the board is
planned with multiple _VPP Output_ pins and some general-purpose interconnect pins.
[![TommyPROM PCB](images/TommyPROM32-27C257-erase-500.jpg)](../images/TommyPROM32-27C257-erase.jpg)
[![TommyPROM PCB](images/TommyPROM32-27C257-erase-500.jpg)](images/TommyPROM32-27C257-erase.jpg)
For chips that require a high voltage VPP pulse during programming, some external
switching circuitry will be needed to allow the Arduino to control the VPP voltage. There
is a header connected to the unused D13 pin that can support this. See the
[Intel 8755 version of the hardware](../hardware/#intel-8755a-hardware-version) for an
[Intel 8755 version of the hardware](hardware/#intel-8755a-hardware-version) for an
example of voltage switching by TommyPROM.

View File

@ -1,12 +1,9 @@
---
title: Adding Chip Families
description: "Extending TommyPROM hardware to support other EEPROM and EPROM chips"
has_children: false
nav_order: 70
title: "Adding New Chip Families"
permalink: /docs/extending
exerpt: "Extending TommyPROM to support new EEPROM, EPROM, and Flash chip families"
---
# Extending the design to new chip families
## Hardware
There are currently two hardware flavors - one for 28C series EEPROMs and one specifically

View File

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 511 KiB

After

Width:  |  Height:  |  Size: 511 KiB

View File

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 103 KiB

View File

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 182 KiB

View File

Before

Width:  |  Height:  |  Size: 903 KiB

After

Width:  |  Height:  |  Size: 903 KiB

View File

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 122 KiB

View File

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 113 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View File

Before

Width:  |  Height:  |  Size: 4.6 MiB

After

Width:  |  Height:  |  Size: 4.6 MiB

View File

Before

Width:  |  Height:  |  Size: 995 KiB

After

Width:  |  Height:  |  Size: 995 KiB

View File

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 129 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 126 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 168 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

View File

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -1,12 +1,9 @@
---
title: 28C256 and SDP
description: "Troubleshooting and Programming 28C256 EEPROMs with Software Data Protection (SDP)"
has_children: false
nav_order: 60
title: "28C EEPROMs and Software Data Protection (SDP)"
permalink: /docs/28C256-notes
exerpt: "28C EEPROMs and Software Data Protection (SDP)"
---
# 28C EEPROMs and Software Data Protection (SDP)
The 28C series parallel EEPROMS, like the 28C256, support fast block writes and algorithms
to implement Software Data Protection (SDP). The SDP feature seems to be a leading cause
of problems for people trying to program these chips with Arduino or other homebrew
@ -55,7 +52,7 @@ were unlocked and burned successfully with the TommyProm code.
The capture below shows an unlock command sequence where the tBLC is within 80us for each
byte.
[![Unlock Timing](images/Unlock-Timing.png)](../images/Unlock-Timing.png)
[![Unlock Timing](images/Unlock-Timing.png)](images/Unlock-Timing.png)
# References

View File

@ -1,8 +1,7 @@
---
title: PROM Types
description: "PROM types supported by TommyPROM - EPROM, EEPROM, Flash"
has_children: false
nav_order: 40
permalink: /docs/prom-families
exerpt: "PROM types supported by TommyPROM - EPROM, EEPROM, Flash"
---
TommyPROM can be used to read and write several different types of PROM chips. Due to