View Single Post
  #19   Report Post  
Old July 14th 19, 06:02 PM posted to uk.railway,uk.transport.london
Clank Clank is offline
external usenet poster
 
First recorded activity at LondonBanter: Mar 2013
Posts: 166
Default Dual SIM phones was:Worker killed by Southern train wascovering for brother

"tim..." Wrote in message:
counted...I don't recall working on "terminals" where memory was measured in peanuts
we had enough of it.


Ahh, POCSAG+ and 8051 microcontrollers with 256 bytes of RAM, how
I miss thee; and yes, while the GSM days were better - much less
incredibly ugly reusing-the-same-buffer-a-dozen
-times-in-different-places, we even had something approximating
malloc/free - wasting good memory on being able to handle a
completely unnecessary feature like changing SIM with the power
on would mean memory not going on something useful. I wrote the
first WAP/WML browser outside the original Unwired Planet
reference implementation (it was still called HDML at the time,
in fact), and fighting against memory constraints was a constant
battle...

The problem was it wasn't very developer "friendly".
we still worked with PROMs and had to physically reprogram them each time we changed the code.


We could at least afford EEPROMs and In-Circuit Emulators. But
they were horrendously unreliable pieces of kit (not least the
flimsy ribbon cables that connected the ICE to where the chip
would have been) that stopped working if someone in the next room
sneezed, so one of my first gigs was building a test framework
that massively improved development productivity. I didn't
emulate the CPU, so native assembly couldn't be tested in it -
fortunately there wasn't much of that about even then - but built
a set of libraries that would allow the entire phone to be
recompiled and run on a Sun Sparc workstation, with all the
hardware devices simulated by mocks. As I recall - and it is
25-odd years ago - I had fun getting even the DMA-accessed
peripherals to emulate right, with no code changes to the phone
source, even if it was bit-banging them - using Sys-V shared
memory segments... (Interrupts were emulated using Unix
signals...)

Writing the mock instances of things like the LCD controller chip
(which I rendered to the workstation screen using X) bug-for-bug
compatible with the hardware ones was genuinely great
fun...

Gloriously happy days.


--