mailto: blog -at- heyrick -dot- eu

The Larder system is now functional

Today I added Adding and Removing items. It would have gone quicker but I wanted to record The Bridge to Terebithia on Film4 and, well, decided to watch that instead of writing code. ☺ Oh, and I washed part of the kitchen ceiling, vacuumed the living room, and did the stuff that I talk about below.

Anyway, when it comes to adding an item, you scan the barcode. It'll then ask you to enter the expiry date.

Adding an item
Adding an item.

Yes, the date is "backwards" as that's the date style that I use. TerritoryManager doesn't have an option for date format, and if it did it would be useless as TerritoryManager harks from a time when modules were provided in ROM for a low-memory machine, so everything is baked in and hardcoded rather than being anything that resembles flexible. I'll stop now as my witterings about how deplorably awful the Territory system is are legendary.

You can take some liberties with the date entry. If there's no day (some products only say a year and a month) just enter the month and then press Enter, it'll assume the 1st of the month.
You can do likewise with only entering a year, in which case January 1st will be assumed.
If your day is less than ten, you do not need to type "07" or whatever, just type "7" for the day and press Enter and it'll be changed to be "07".

Years must be 2024 or later, and days are validated to be correct for the month (which accounts for leap years, using all three rules).

If you get the date entry wrong, it'll report an error and return to the main menu so you'll need to go to add the item all over again. Whether or not it continues like this or loops until correct input depends a lot on how many times I screw it up. If I don't fat-finger often, it can stay as it is.

An item was added
An item was added.

 

Removing an item is exactly the same, with the small caveat that you'll only be asked to enter the expiry date of the item you're removing if there are multiple expiry dates. If there is only the one expiry date, it'll simply deduct one item automatically.

 

Here's an animated GIF showing some of this, and with magenta annotations. Yes, I know the numbers beside the item listing in the inventory were wrong. It's been fixed (forgot to reset the counter after borrowing it for something else prior) but I couldn't be arsed to redo the animation.

An animated GIF
Far fewer bytes than a video.
(and works in NetSurf ☺)

 

As this is a pre-release build, there are still some fake entries:

  123  Someday I'll meet you, Someplace I'll greet you, Somehow
       it'll lead me back to you.
       6 items; 1×2024/12/16, 2×2025/12/16, 3×2026/12/16
  
  456  You said one day I'd understand, I just want you to
       hold my hand.
       0 items.
  
  789  All good little psychos get to heaven in broken china cups.
       6 items: 1×2024/08/12(EXP), 2×2024/08/20(SOON), 3×2024/12/16

  147  Do you want to follow me to the line, my time has come.
       7 items: 2×2024/08/18, 2×2024/08/20, 2×2024/08/21 (all SOON)
  
  258  She stood there, mild and bare, in the fair moonlight.
       9 items: 2×2024/8/23, 2×2024/08/24, 3×2024/08/25 and
                2×2024/08/26 (all SOON)

You can also import some real barcodes (System -> Import CSV). It looks for the file barcodes/csv in the same directory as !Larder (note: not within Larder). An example CSV file (as exported from Google Sheets) is provided.

If you want to clear the item database, simply delete the file <Choices$Write>.HeyRick.Larder.ItemData.

 

Please feel free to try to break things. If you succeed, let me know what and the steps necessary to reproduce the problem.

Have fun!

Download larder_pre2.zip (96.72K)
For RISC OS machines.

 

PS: If the start up message about reality-warping kittens annoys you, it was specifically done using some inline assembler. Change the SWI call at &81B8 to &E1A00000 (MOV R0, R0). That'll get rid of the message.

 

What's inside an XBOX?

A while ago I was looking to pick up an old XBOX at a vide grenier. It was clearly marked as broken, was dirty and neglected, and the guy wanted a fiver.
"A fiver for something broken?", I asked.
"What would you want it for?", the twenty-something bloke wearing a baseball cap backwards asked me.
"Take it apart, see what's inside", I replied.
"You're weird."
"People have been telling me that my entire life."
That seemed to startle him. He started to just walk away, like "don't continue talking to the weirdo". After a moment he stopped, walked back, handed the XBOX to me, then walked away under the pretence of getting himself a beer.

<shrug>

And people call me weird.

So here's the thing. It dates from something like 2001, so it's pretty ancient.

An old XBOX
An old XBOX.

I plugged it in very carefully as I wasn't sure if it would work or if the power supply caps would sprinkle gunk all over the place. It started, and the front panel indicator started to blink green and amber.
After a few moments, the harddisc started to make an intermittent horrible noise. But the noise it wasn't making was anything that resembled spinning (a sort of fweeeshhhhhhhhh sound).

So, far enough, time to disrobe this thing. I put on latex gloves as, well, it looks like a health hazard. I kept the vacuum cleaner nearby in case I woke up any odd looking insects.

The harddisc was corroded all over the place and was clearly not going to work. So I did the obvious thing and looked to see what was wrong. Well, part of the problem was that it was seized.

Inside a harddisc
Don't try this at home, folks.

With some measure of brute force, I managed to get it to start to spin, but it did so slowly and noisily. The heads kicked all over the place, like the thing was having an electronic seizure. Clearly this harddisc was never going to work again (says the guy who opened it in a non-clean environment!).

So let's yank out that and the rusty DVD-ROM drive. The harddisc, by the way, I think was about 10GB and both it and the ROM drive were connected to the same IDE bus.

Hang on, let's work out the harddisc. It doesn't give a capacity on the label, but it says 16,383 cylinders (tracks), 16 heads, and 63 sectors. This is crap as there's no way it has 63 heads, it's a lie in order to get traditional code written for floppy discs to work with harddiscs. That adds up to 16,514,064 sectors. If each sector is 512 bytes (typical for FAT media), then this is 84,552,000,768 bytes. Divide that by 1024 three times, it's 7.87GB in real storage terms, or divide by a thousand three times for 8.45GB as the lie that drive manufacturers will tell you. That's why your 500GB harddisc formats to around 465GB.
Anyway, it's "about 8GB".

Here's what's further down.

The XBOX motherboard
The XBOX motherboard.

What can we see? Well, some sort of processor and I'm guessing a video chip? There's an nVidia MCPX which Google tells me is a southbridge specially made for the XBOX. Southbridge is the name of the chip that handles the I/O (sound, USB, PCI, USB, etc).
Yes, there is such a thing as a northbridge. This usually arbitrates memory, so the southbridge connects to the northbridge which connects to the processor and memory. This pattern is seen in many systems including the Acorn ARM chipset (the MEMC is like a northbridge, the IOC as southbridge); though often the functions of the northbridge is often integrated within the CPU.
These days, you're much less likely to find these distinctions as many things tend to be integrated into the same chip. Think of the entire SoC in the RaspberryPi - that's the CPU, GPU, I/O, and memory controller/interface, USB, SD, etc etc all in the one chip. Really, they only needed two other chips - some memory, and a USB hub (for more USB ports) with integrated ethernet.

Around the southbridge, there are two Samsung RAM chips running at around 200MHz, quoted as 1M × 32 × 4 (or 128Mbit). So, what, 16MB each, or 32MB in total? The chip with the legs only at the far ends is a 256K FlashROM.
There are two chips that I have no idea. A tiny ICS455B and a larger ICS UA330999A. Given the position of the larger one, and the many tracks coming from the southbridge, I'm going to guess it's either a PCI network chip or a PCI IDE bus interface...or maybe both?

The XBOX motherboard
Memory and I/O stuff.

Towards the back is a FOCUS FS454 which converts computer video (from 640×480 to 1280×1024) into something that can output to PAL or NTSC in various formats (composite, S-video, RGB SCART, etc).

The XBOX video convertor
The video convertor.

It seems to be a little peculiar that this console appears to be generating computer-style video and then translating it to something that will work with a TV, rather than creating a TV signal directly.

Well, let's pull off those heatsinks and see what's underneath.

The heart of the XBOX
The heart of the XBOX.

On the left, yes, a graphics chip. An nVidia XGPU which seems to be some derivative of the NV2A graphics chip. The processor? 7243A189 didn't match anything, but SL5SN did. It's a mobile Celeron with Pentium 3 architecture at something like 733MHz.

Wait... this is essentially just a regular PC in a custom box? Jeez, I bet it's running some sort of heavily bastardised Windows.

<looks online>

Yup. It's a fiddled version of Windows 2000 with DirectX. Hell, I bet the game ports are just USB with a non-standard connector.

 

The big question is which console of its generation is worth considering? Well, it's pretty much this versus the Playstation 2. In hardware terms, the XBOX is an easy win. Faster processor, more memory, and even has two extra game ports.
But, um, I think the PS2 has something like 2500 more games available compared to the XBOX.

That being said, there's probably that one killer game that sells a console. Like a few years ago I saw packs where you bought a console in order to play The Last Of Us. I'm not a gamer (I suck at games) so I won't comment on what's the big deal right now, but I bet they're still doing those exclusivities where a top game is aimed at a specific console...

Therefore, the best console is the one with the games that you want to play.

 

There's nothing worth salvaging from this device. Well, I lie, I took the fan out just in case I need one... though it's noisy and needs a damn good clean. It would perhaps be useful to have a small power supply with a decent selection of outputs, but sorry, this thing just looks way too dangerous.

The XBOS PSU
I'm genuinely surprised this didn't explode.

 

Actually, I lied. I kept the harddisc. Sort of.

Recycling a harddisc
A really nerdy clock.

 

 

Your comments:

Please note that while I check this page every so often, I am not able to control what users write; therefore I disclaim all liability for unpleasant and/or infringing and/or defamatory material. Undesired content will be removed as soon as it is noticed. By leaving a comment, you agree not to post material that is illegal or in bad taste, and you should be aware that the time and your IP address are both recorded, should it be necessary to find out who you are. Oh, and don't bother trying to inline HTML. I'm not that stupid! ☺ ADDING COMMENTS DOES NOT WORK IF READING TRANSLATED VERSIONS.
 
You can now follow comment additions with the comment RSS feed. This is distinct from the b.log RSS feed, so you can subscribe to one or both as you wish.

jgh, 16th August 2024, 12:49
Choices:Larder.Settings -> DateFormat:dd/mm/yyyy 
Thanks. 
Rob, 17th August 2024, 20:05
Still got about four of those xbox scattered around the house. Used to use them to run XBMC, to play media files of the fileserver. You got it installed by loading a specialty crafted save file into a particular game, which crashed it and fired off the loader. Nowadays we use jellyfin, which is nicer, and runs on fireTV sticks. 
 

Add a comment (v0.11) [help?] . . . try the comment feed!
Your name
Your email (optional)
Validation Are you real? Please type 40373 backwards.
Your comment
French flagSpanish flagJapanese flag
Calendar
«   August 2024   »
MonTueWedThuFriSatSun
   124
6
1317
202225
26272930 

(Felicity? Marte? Find out!)

Last 5 entries

List all b.log entries

Return to the site index

Geekery
 
Alphabetical:

Search

Search Rick's b.log!

PS: Don't try to be clever.
It's a simple substring match.

Etc...

Last read at 00:00 on 2024/09/20.

QR code


Valid HTML 4.01 Transitional
Valid CSS
Valid RSS 2.0

 

© 2024 Rick Murray
This web page is licenced for your personal, private, non-commercial use only. No automated processing by advertising systems is permitted.
RIPA notice: No consent is given for interception of page transmission.

 

Have you noticed the watermarks on pictures?
Next entry - 2024/08/16
Return to top of page