The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,854 other subscribers

Archive for the ‘History’ Category

A refefernce to 6502 by “Remember that in a stack trace, the addresses are return addresses, not call addresses – The Old New Thing”

Posted by jpluimers on 2018/09/11

On x86/x64/ARM/…:

It’s where the function is going to return to, not where it came from.

And:

Bonus chatter: This reminds me of a quirk of the 6502 processor: When it pushed the return address onto the stack, it actually pushed the return address minus one. This is an artifact of the way the 6502 is implemented, but it results in the nice feature that the stack trace gives you the line number of the call instruction.

Of course, this is all hypothetical, because 6502 debuggers didn’t have fancy features like stack traces or line numbers.

Source: [WayBackRemember that in a stack trace, the addresses are return addresses, not call addresses – The Old New Thing

Which resulted in these comments at [WayBack] CC +mos6502 – Jeroen Wiert Pluimers – Google+:

  • mos6502: And don’t forget the crucial difference in PC on 6502 between RTS and RTI!
  • Jeroen Wiert Pluimers: +mos6502 I totally forgot about that one. Thanks for reminding me
    <<Note that unlike RTS, the return address on the stack is the actual address rather than the address-1.>>

References:

[WayBack6502.org: Tutorials and Aids – RTI

RTI retrieves the Processor Status Word (flags) and the Program Counter from the stack in that order (interrupts push the PC first and then the PSW).

Note that unlike RTS, the return address on the stack is the actual address rather than the address-1.

[WayBack6502.org: Tutorials and Aids – RTS

RTS pulls the top two bytes off the stack (low byte first) and transfers program control to that address+1. It is used, as expected, to exit a subroutine invoked via JSR which pushed the address-1.

RTS is frequently used to implement a jump table where addresses-1 are pushed onto the stack and accessed via RTS eg. to access the second of four routines.

–jeroen

Posted in 6502, 6502 Assembly, Assembly Language, Development, History, Software Development, The Old New Thing, Windows Development, x64, x86 | Leave a Comment »

God is real unless declared integer, 

Posted by jpluimers on 2018/09/07

Kristian Köhntopp commended:

GOD IS REAL UNLESS DECLARED INTEGER..

In some versions of Fortran, the default type of variables starting with I, J, K or L is integer, while other varianles are by default typed as real. The Fortran statement DECLARE can be used to explicitly declare a variables as being of a specific type.

The variable GOD stats with G and hence is implicitly real, unless you add an appropriate declare statement.

He reminded my of my FORTRAN 66 days at university when studying “computer usage for chemists”:

I remember a “computer usage for chemists” course during my studies where (end of the 1980s!) were supposed to program in FORTRAN 66.
Luckily the VAX/VMS machine supported a much more recent FORTRAN version and had support for 132 columns as well, which allowed me to indent properly (like I was used from my Pascal background).This tremendously helped me solve basically this problem:

  • import tables with
    1. atom code, radius and valence (bonding count)
    2. atom1 code, atom2 code, minimum distance, maximum distance
    3. atom code, X/Y/Z coordinate
  • determine which bonds can occur
  • walk the bonds and determine the atomic structure, including cycle count

Especially the last one was easiest to solve with recursion, which FORTRAN does not support. So I wrote my own stack structure and solved the problem.

The student coach was mad when she found out I had printed the full documentation on continuous form paper which took the printer about half an hour for printing the ~100 pages.

Next morning, I had read it front-to-back and colour-indexed all the sections so it was far easier to find what the compiler could do for me. She could not believe I had done that.

All my co students were on a (non shielded!) 300 meter multiplexed serial connection with VT-120 emulators from PC’s with all sorts of connection problems.

I discovered a small room right above the VAX/VMS machine having a couple of terminals with direct connections that were hardly used. A few of them were VT-240 that had a session switch allowing for maximum 3 interactive sessions running at far higher priority than the compiler/linker batch queues provided.

This allowed me to perform quick release cycles of my project: 1 session for editing and inspecting logs, 1 session for compiling my last version, 1 session for linking the previously compiled version.

I was about the only student that delivered the project on time (:

Via: Archive.is Check out @chicaScientific’s Tweet: https://twitter.com/chicaScientific/statu… having

“Why did the integer drown?”

“Because he wasn’t a float”

–jeroen

 

Posted in Fun, History, Quotes, T-Shirt quotes | Leave a Comment »

Two fans were podcasting at RetroMacCast before it was cool

Posted by jpluimers on 2018/08/07

Around this time, episode 500 of RetroMacCast should be out.

It’s an “about weekly” podcast centered around classic Apple computers, mainly of the Macintosh kind but occasionally also on the Apple I, ][, //e, //c and ///, IIgs and Lisa kinds.

After all these years since they started in 2006, It’s still fun to listen to.

Occasionally they do a vodcast on YouTube, for instance their 100th show below.

New episodes are announced here:

Source: [WayBackTwo fans were podcasting at RetroMacCast before it was cool

–jeroen

Read the rest of this entry »

Posted in //e, Apple, Apple ][, Classic Macintosh, History, Macintosh SE/30, Power User | Leave a Comment »

sosumi – because letitbeep was too obvious – apple Macintosh history

Posted by jpluimers on 2018/07/30

Back in the days, Apple and The Beatles were in a heated fight as Apple was not supposed to do anything resembling music in their systems.

So when sounds needed to be made, they could not be named by words having to do with music.

The legal team in Apple – known for lack of humor – was scrutinizing sources and documents on names that would be inappropriate.

Jim Reekes came up with letitbeep for one of the warning sounds, but that was too obvious, so he said sosumi, pretended it to be a Japanese word and named the sound just like that.

I learned from it through one of the RetroMacCast videos below. Then I found the page Sosumi – Wikipedia. So I guess I’ll be never to old to learn (:

–jeroen

Read the rest of this entry »

Posted in Apple, Classic Macintosh, History, Power User | Leave a Comment »

LEGO Macintosh classic with Wi-Fi and e‑paper display running docker

Posted by jpluimers on 2018/07/06

A Wi-Fi enabled 1990 Macintosh Classic built with LEGO, powered by a Raspberry Pi Zero running docker and a 2.7″ e-paper display by EmbeddedArtists.

Cool stuff!

Source: [Archive.isLEGO Macintosh classic with Wi-Fi and e‑paper display running docker

Via: [WayBack] This guy built a (kind of) working Lego Macintosh, and now you can too … | 9to5Mac

This should run well with a Classic Color Macintosh System 7 emulated on Raspberry Pi: [WayBack] On this tutorial I show you how to run Mac II OS color on your Raspberry PI, I have also included a compiled version for Windows. Running Mac OS 7 on Raspberry Pi with Color – Novaspirit

via:

ROM images: [WayBackIndex of /pub/software/ROM/Macintosh 68K

–jeroen

Read the rest of this entry »

Posted in Apple, Classic Macintosh, Development, Hardware Development, History, Macintosh SE/30, Power User, Raspberry Pi | Leave a Comment »

Cool 10-thousand piece domino bricks based computer that can add numbers

Posted by jpluimers on 2018/07/04

Very cool video based on these logic gates made from domino bricks:

The 4-bit calculator worked.

The 5-bit was set-up failed in part. That conclusion is at around 19:00.

A post mortem is at around 20:00: the machine was setup sizing it too small so the timing was too tight and didn’t work out.

–jeroen

Read the rest of this entry »

Posted in Development, Hardware Development, History | Leave a Comment »

Wer kann mir erklären: Warum braucht ein Windows10-Update heute immer noch me…

Posted by jpluimers on 2018/06/29

Some historic perspective (although on Windows since quite a long time, you can rename files before replacing them: that works very well):

[WayBack] Wer kann mir erklären: Warum braucht ein Windows10-Update heute immer noch mehrere Reboots? – Kristian Köhntopp – Google+

Zu MS-DOS Zeiten gab es kein Netz und kein Multiprocessing. Als Netz und Fileshares dann dazu kamen, funktionierten viele Anwendungen nicht korrekt.

Zu dieser Zeit hat Microsoft die Entscheidung getroffen, vom Betriebssystem aus Mandatory File Locking für geöffnete Dateien zu implementieren, es sei denn, ein Prozeß stellt das von sich aus anders ein.

Mandatory File Locking heißt in diesem Fall, daß nix und niemand eine Datei anfassen kann, die offen ist, Ein laufendes Executeable, eine DLL oder ein Logfile sind aber immer offen.

Daher gibt es einen Reboot Hook, mit dem ein Updater Dateiersetzungen für einen System Neustart hinterlegen kann. Beim Reboot werden die Dateien dann schnell ausgetauscht bevor sie geöffnet werden.

–jeroen

Posted in History, Power User, Windows | Leave a Comment »

Dennis1000/mos6502-delphi: A MOS 6502 CPU emulator written in Delphi (a very basic C64 + VIC20 emulator included)

Posted by jpluimers on 2018/06/25

Really cool history: [Archive.isDennis1000/mos6502-delphi: A MOS 6502 CPU emulator written in Delphi (a very basic C64 + VIC20 emulator included)

It should run on most 32-bit Delphi versions.

via:

–jeroen

Posted in 6502, C64, Commodore, Delphi, Development, History, Software Development, VIC-20 | 2 Comments »

GitHub – oldcompcz/SpaceAssault: DOS space shooter in ASCII.

Posted by jpluimers on 2018/06/05

Cool [WayBackGitHub – oldcompcz/SpaceAssault: DOS space shooter in ASCII. written in pure C using Turbo C.

You can likely compile this using this:

[WayBack] Turbo C++ or C for Windows 7, 8, 8.1 and 10 32/64-bit Full Screen Free Download – CodePlex Archive

The download is actually a small Windows wrapper around Turbo C++ 3.2: github.com/vineetchoudhary/turbocpp/releases.

Via: [WayBack] Space Assault Game The complete source code of very nice ascii-art invaders is now at GitHub. This game of Roman Hocke won second place in the High-Voltage 2017 competition… – Jaroslav Beran – Google+

–jeroen

Posted in C, Development, History, MS-DOS, Software Development | Leave a Comment »

Chris Osbornes picture of (Almost) Every Wedge Computer he has Got : retrobattlestations

Posted by jpluimers on 2018/06/04

On reddit: [WayBackWedge Week(Almost) Every Wedge Computer I’ve Got (i.redd.it)

Via: [WayBack] My entry for #WedgeWeek on #RetroBattlestations. (Almost) every wedge computer I’ve got. No exact duplicates but a few are from the same series. Glad … – Chris Osborn – Google+ where I commended “Nice collection! I’ve used at least 10 or 12 of them in one way or the other (: Need to take a closer look when not on the road.”

So behind a normal machine instead of a smartphone, I think this is the list going from the top left in a counter clockwise and spiral order to the center:

  • I marked the ones I ever used (either at school, friends or university) with a star, and added some links later; mostly from Wikipedia/Wikimedia.

** I’m still not sure why, as there was a Dutch user group (see trs80.nl), but somehow no people in my “circles” me had one.

Original image is a [WayBack] highres 3211*1942 one and easier to see the model numbers (;

–jeroen

Read the rest of this entry »

Posted in History | Leave a Comment »