While it’s quite easy to get a large number of images into an Evernote note, it’s hard work to get them all out again: you have to right-click them one by one, then “Save as…” each one.
However, Evernote does let you export the entire note ‒ and even several notes at once ‒ into one .enex file. .enex files are XML, with each image base64 encoded and neatly enclosed in a <resource> tag. So here is a perl script that will take a list of .enex files as command line arguments, and write all the images from each of them to the current folder.
… is that on the AVR, the “Data Memory Usage” information given by AVRGCC only refers to memory allocated at compile time, and does not take the stack into account.12 The stack is not to be underestimated: it holds not only the return addresses from function calls, but also all local variables3 of the function(s) called.
So you might feel safe and sound reading something like “Data Memory Usage : 66 bytes 51,6% Full”, thinking there’s plenty of space left for future features; and then the stack still swoops down and corrupts your precious data because of a couple of nested function calls.
Took me a while to figure out what happened here. Then again, I have never worked on a machine with just 128 Bytes of RAM before.
The good news is that this can be reproduced reliably in the AtmelStudio simulator: Find the memory locations of the data being corrupted, set data breakpoints, and when the simulator stops at the end of something like this
000000F5 PUSH R11 Push register on stack
000000F6 PUSH R12 Push register on stack
000000F7 PUSH R13 Push register on stack
000000F8 PUSH R14 Push register on stack
000000F9 PUSH R15 Push register on stack
000000FA PUSH R16 Push register on stack
000000FB PUSH R17 Push register on stack
000000FC PUSH R18 Push register on stack
000000FD PUSH R19 Push register on stack
000000FE PUSH R20 Push register on stack
000000FF PUSH R21 Push register on stack
00000100 PUSH R22 Push register on stack
00000101 PUSH R23 Push register on stack
00000102 PUSH R24 Push register on stack
00000103 PUSH R25 Push register on stack
00000104 PUSH R26 Push register on stack
00000105 PUSH R27 Push register on stack
00000106 PUSH R28 Push register on stack
00000107 PUSH R29 Push register on stack
00000108 PUSH R30 Push register on stack
00000109 PUSH R31 Push register on stack
Returning to the retrocomputing hobby after 12 years, most of my collection has been in storage way longer than I anticipated in 2006.1 That means I’ll have to treat every machine I take out of storage essentially as an unknown. That’s why I looked around on the internet for some best-practice checklist on how to proceed with “new” old computer, but couldn’t find anything.2
So here’s my attempt. I’ll extend and modify it as I take more and more machines out of storage. I welcome your feedback.
The basic idea behind all this is that an “unknown” machine may be damaged, and that powering it up in one piece without fixing the existing damage first may make matters worse. For example:
The machine’s power supply may have degraded to the point where, while still seemingly working, the output voltages are way out of spec and will do damage to the components over time; worse, it may even explode.
Corrosion from water damage or leaked batteries may cause further damage when the device is turned on.
Take lots of photos. You’ll never know when knowing the original state of something might come in handy.
When you need to disassemble anything, make notes about position and orientation of disassembled parts; carefully note which screw goes where.
Don’t hurry, work step by step and be careful not to damage anything. Spare parts are hard to get.
Always be grounded when touching disassembled electronic parts (of course, you schould not touch anything which is connected to the power source…). Use an antistatic mat when laying down those parts. Again, spare parts are hard to get.
Mains voltage is dangerous. Do not open a system that is connected to the mains unless you know exactly what you are doing. Note that power supply capacitors can remain charged long after you have disconnected the system from the mains.
CRT monitors work with acceleration voltages of tens of kilovolts. Never open them, unless you know how to safely work with them.
Get Background Information
Gather what you know from the previous owner.
Do an internet search for the particular model in front of you. Look for
repair/refurbishment reports, and
test / diagnostic software.
Inspect the Machine Carefully before You Turn it On
Do a basic cleaning and a visual inspection of the outside.
Check the operating voltage. If there are multiple voltages, see if there is a voltage selection switch, and if so, if it is in the correct position.
Open the case (unless, of course, this would do permanent damage to the machine; remember, this is about limiting damage).
Get out the worst of the dirt.
Remove or disconnect all expansions, add-ons, internal drives, etc.
Visually inspect all boards. Pay particular attention to
batteries (which may have leaked)
electrolytic capacitors (which may have leaked or bulged / crumpled)
solder joints on parts subject to mechanical stress, like connectors (which may have broken, creating a “cold” solder joint)
previous repairs or repair attempts
ICs that seem out of place, e.g. having a datecode that doesn’t match the rest of the system
Remove or replace components that are likely to fail, like batteries (even if they haven’t leaked / failed *yet*). Some people replace all electrolytic capacitors, some even replace voltage regulators. I’m still on the fence about that – it’s about balancing risks.4
Ensure all components that need to be heatsinked are properly heatsinked. Add thermally conductive paste (sparingly!) where necessary.
Clean thoroughly. This may include
cleaning flux residue from solder joints with isopropanol
disassembling, cleaning, and reassembling the keyboard
Gestern schrieb ich schon auf Englisch darüber, heute nochmal auf Deutsch, damit das Thema auch von denen gefunden wird, die auf Deutsch danach suchen.
Ich schreibe gerne mit der Hand, am liebsten mit Füller auf liniertem Papier. Und weil mir Kleinigkeiten manchmal wichtig sind: am allerliebsten auf liniertem Papier mit 8mm Zeilenabstand, statt der in deutschen Schulheften üblichen 9mm.
Diese Vorlagen können gerne weitergegeben werden, solange die Quelle (also: dieses Blog) angegeben wird.
Apropos Handschrift und Selberausdrucken: Den ausgezeichneten Passion Planner Kalender gibt es ebenfalls als PDF, wenn man sich für den Newsletter anmeldet, oder die Information darüber in sozialen Medien teilt.
ERGÄNZUNG 8. Juni: Sehr schöne Papiervorlagen zum Selbstausdrucken gibt es auch bei Gridzzly und Incompetech.
I love writing by hand, preferably with a fountain pen, even though my handwriting is terrible. Unfortunately, decent notepads and notebooks seem to disappear from many office supply cupboards, so I decided to make my own notepaper templates to print wherever and whenever I need some.
Share and Enjoy, 1 but don’t forget to attribute when you share!
And while we’re on the subjects of handwriting, printing-your-own, and sharing: I also like the Passion Planner,2 and the nice people at Passion Planner will let you have a free PDF copy if you spread the word on social media, or subscribe to their newsletter.
ADDENDUM June 8th: Want more paper? There’s also Gridzzly and Incompetech – I like both very much.
In December 2017, I purchased one of these clones on eBay. Unlike the projects linked above, this one does not require an external three-voltage power supply (+5V for digital logic, -12V/+12V for the op-amp rails). Instead, it uses a single DC barrel connector for (what I thought) +12V, deriving +5V with a 78L05, and -12V with an ICL7660.
Avid readers of the ICL7660 datasheet will already have spotted the problem: The ICL7660 is specified only up to +10V. 1 With a 12V supply, it worked fine for about half an hour, then gave up. Now, the 5V part of the circuit (AVR, display, buttons, high speed digital output) still works fine, but the analog output appears completely dead. On pin 5 of the ICL7660 (VOUT), I measured +0.2ish Volt instead of the expected – V+. At least, the ICL7660 is socketed.2
Having replaced the ICL7760, I now get -9V at VOUT, for V+ = +9V, and the analog output works again.
And that’s all?
Fortunately, yes. I also bought a spare opamp, but I’m glad I didn’t need it. I still dread SMD desoldering.
Here are some nice pictures from the working signal generator:
And once again, I’m trying my hands on a website. Let’s see what happens 🙂
Diese Website -- d.h., WordPress und seine Plugins -- verwendet Cookies. Wenn Sie damit nicht einverstanden sind, verlassen Sie bitte diese Site. AcceptRejectRead More
Privacy & Cookies Policy
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.