[NTLK] Historical and technical end of year treats

Steve White stepwhite at gmail.com
Sun Dec 29 12:17:22 EST 2013


Maurice Sharp's Etch-a-Sketch, the precursor to NTK has been recovered.

Download: http://www.unna.org/incoming/EaS%201.0a22.sit
Screenshot: http://www.flickr.com/photos/pablo_marx/5306933667/
Backstory:
http://www.folklore.org/StoryView.py?project=Newton&story=LISP:_The_root_of_Newton_Toolkit.txt

Egger, which has been mentioned here numerous times over the years has
finally been recovered.

Download: http://www.unna.org/incoming/Egger.sit
Screenshot: http://www.flickr.com/photos/pablo_marx/4693658791/

Egger states that it'll only run with an ARMistice card:
http://www.flickr.com/photos/pablo_marx/4683061782/

Or the ARMageddon card, so long as you're running the ARMageddon
application (app is still missing).
http://www.flickr.com/photos/pablo_marx/4683061364/

Or a BunWarmer.  My guess would be hooked up via one of these cards:
http://www.flickr.com/photos/pablo_marx/4352204869/

However Maurice Sharp believes I'm wrong about this. I'm still waiting to
hear back more (hint hint incase you're reading this Maurice :).

Provided you have one of these cards, you'll need a ROM image to load into
Egger.  A ROM image with the version identifier "629AS.00" has been
recovered.
Download: http://www.unna.org/incoming/Newt%20J1Armistice%20image.zip


I came across a mysterious PCMCIA card labelled "K Diags 1.4.3":

Card picture: http://www.flickr.com/photos/pablo_marx/8351773188/
Sample screenshot: http://www.flickr.com/photos/pablo_marx/8386068896/

This contains diagnostics software for the eMate (mentioned in the eMate
Service Source manual).  I found it very neat as I never knew Newtons could
boot from PCMCIA cards.  Additionally the card can copy itself to internal
memory, or copy itself onto other PCMCIA cards.

I don't know enough about PCMCIA cards to know how to make an image of one.
 However the diagnostics software contained a "ROM Monitor" which would
talk out the serial port:
http://www.flickr.com/photos/pablo_marx/8386156024/

So I used this to dump all of the contents of the diagnostics software, and
have uploaded a binary of that for others to check out.
Download: http://www.unna.org/incoming/k-diags-1.4.3.bin.gz


I finally got my hands on a Newton Notepad!
http://www.flickr.com/photos/pablo_marx/11312769296/

It came with a draft manual, which I've uploaded in a few parts to UNNA
(due to the 10MB upload limit):
http://www.unna.org/incoming/NewtonDraftManualCh1.pdf
http://www.unna.org/incoming/NewtonDraftManualCh10-25.pdf
http://www.unna.org/incoming/NewtonDraftManualCh2-9.pdf
http://www.unna.org/incoming/NewtonDraftManualCh26-30.pdf

Or as a single file to scribd:
http://www.scribd.com/doc/191956237/Newton-Draft-Manual-April-1993


As the Notepad was running pre-release software, I was determined to dump
the ROM off it.  All of the Newton ROM dumping techniques I'm aware of are
2.x specific, as they either require running native code or using
Hammer/Newtsbug.  But even if there was a 1.x technique, this Notepad
decided to put up a few hurdles.  It cannot communicate with any version of
NCU I have.  It cannot share PCMCIA cards with other Newtons.  Nor can it
IR beam with other Newtons.  Given the story of Newton development says
they went from alpha to beta and back to alpha again, I'll assume this
1.0b1 was one of those pre-alpha betas :)

I cracked open the Notepad and sadly the ROMs are soldered to the logic
board.  And the TSOP48 package is a bit beyond my hardware skill.  I was
reasonably discouraged at this point. However the OMPs do have a
diagnostics mode (described in the OMP Repair Manual).  Inside the
diagnostics software there is a "Memory Dump and Edit" screen:

http://www.flickr.com/photos/pablo_marx/11313923653

Long story short -- I used this screen to enter a lovely 60 byte ARM
routine to dump the ROM out the serial port.  Amazingly I was successful
with that, so I'm happy to present a ROM image from this device:

http://www.unna.org/incoming/notepad-1.0b1.rom.gz

Feeling invincible with this success, I repeated it on an OMP running 1.3:

http://www.unna.org/incoming/omp-1.3-414059.rom.gz

(For those interested, I cannot run the two I dumped under Egger -- I
believe this is because Egger wants a minimal amount of debugging symbols
present: gNewtConfig, gNewtTests, gTimerVirt, SkiaHeapBase, etc.)


So there now exists three 1.x images, a couple of them were never widely
seen.  But they can't be emulated (yet), so what can people do with them
besides stare at the precious bytes?  I clobbered together a tool named ROM
Soup:

https://github.com/pablomarx/ROM-Soup/


This tool can open the three ROMs I've mentioned here (and hopefully any
other 1.x ROM). If there is interest, I can get 2.x images working as well.
 It requires 10.7+, but I could undo two instances of laziness to make it
work on earlier OSes if wanted.

The tool will decode all of the NewtonScript objects located in the ROM
Soup and recreate them inside the tool's built in NEWT/0 instance.  Once
this finishes (lightning quick!) you're able to explore all of these
objects.  I've setup a few slices of data I think most people can
appreciate:

1- Image browser.  This'll display all the bits&pictures from the ROM.  You
can right click images to save them as .png files.
2- Sound browser.  Double click to hear the sound, or right click to save
as .aiff files.
3- Blob browser.  Other binary objects.  Double click to view inside a
HexFiend window.  Right click to export.
4- Giant list o' strings.  Because hey, strings are interesting :)

And #5 -- an interactive NEWT/0 console.  Here you can type in NewtonScript
expressions, and navigate the NewtonScript objects just by expanding them.
 And while looking at NewtonScript objects is fun, it is sad to see
"function, # arg(s)" over and over.  To remedy that, this tool includes a
copy of Jason Harper's ViewFrame.  It will attempt to decompile any
NewtonScript function it encounters in the console print out.  ViewFrame
has been a good source of finding NEWT/0 bugs -- but I haven't fixed them
all yet, so not all functions will decompile.  And oddly none in the 1.0b1
image decompile -- significant bytecode change?

I believe that's about all for now...

Cheers,
Steve



More information about the NewtonTalk mailing list