Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

classic non-acorn hardware, software & languages
Post Reply
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

I've referred to this Jukebox a number of times and I thought it time to publish full details.

This particular Jukebox I have was used as a test-bed for all hardware and software development at the premises of AMS (Amusement Machine Services) in Heckmondwike, Yorkshire. The Jukebox was developed, by AMS, for Arbitter Leasure (UK Fender agents) who, in turn, were working for Bass-Charrington where all manufactured units were placed.

We, Baildon Electronics, were already suppliers to AMS - supplying ABRs for their current Jukeboxes which were based on the Acorn Master 128 main board. We were contracted, around 1989, to design and code most of the hardware* and all of the software for a new design of Jukebox based around the Sony 60 CD changer (CDK3000PII**) which would carry the Fender logo.

* The Lamp/IR matrix, keyboard, display, mechanical logging and coin mechanism were the responsibility of AMS.
** This CD player was also used on the previous jukebox

- Features of the Fender Jukebox were:
- Touch matrix or keyboard selection of disc. The IR matrix centered an X, Y IR beam over 72 60mm x 60mm images of categories and Album covers. The tracks were alway selected through the keyboard.
- Sony 60 CD mechanism
- Protection from "zapping" attacks. A common attack on gaming machines of the day was to use a ZeroStat anti-static gun, or similar device, to disrupt the main processor - sometimes resulting in either a pay-out or extra lives.
- Custom scrolling messages, at predetermined times, to be displayed using the 12 by 6 lamp display - unfortunately that version of firmware is MIA
- Plus all the usual, at that time, attract features.

There are 2 models of the Jukebox: Full Jukebox and hide-away. Both units support up to 4 of the smaller wall mounted remotes. The firmware decides which is being used by what peripherals are fitted e.g. no CIM or monitor fitted, therefore a Hideaway - No CD player, therefore a Wallbox!

We were also commissioned to design the audio power stage. This was to be modular allowing up to four power Amps to be fitted. We had the design complete with working models when Arbiter Leisure decided to use one of their currently used amps - a TSR150Xi. IIRC our design was a lot lower cost, due to the modularity, however, it didn't look as snazzy (not that it's on show)! Hmmm! The amplifier is fitted inside the main Jukebox with fittings for up to four units.

The boards we designed are:-
Main MPU board (Main Processor Unit), using a 6502, supporting:
- 2 x 132K ROM sockets - 2 x 32K ROMs fitted - main code and screen data
- 2 x 132K RAM sockets - 2 x 32K RAMs fitted (low power with battery back-up)
- Video interface module using an EF9345
- CIM interface (Customer Interface Microcontroller)
- Sony loader interface
- Audio interface - from CD player to audio out including remote volume control
- An output providing 4 x Mute and volume control signals for 4 external amplifiers.
- 3 x serial interfaces - cartridge link (DCL), wall box LAN and printer
- Coin mechanism interface (Mars MS111) - I had this reprogrammed to accept £2 coins around 2000, however, the jukebox doesn't accept them, as yet!
- Coin meter, reject and service switch board
- 2 x 7 segment display for error and activity indication
- Lamp scanning failure circuit
- Expansion port - allowing future upgrades. Not used.

CIM interface, using an 8048 processor, controlling:
- Lamp array: 72 (12 x 6) lamps for the album covers. These use 12V bulbs with a 70V PWM supply. We found that turning these "on", from cold, drew way too much current. So, they go through a warming-up process and are kept lit , dimly, all the time. Since having the Jukebox (1998) I've not had to change a bulb! The same lamp matrix also includes lamps for the Coin Mechanism and current status display. One job, I need to do, is to brighten-up the lamps a little! Hopefully just a variable in the firmware . . .
- Keypad matrix scanning.
- IR matrix scanning.

DCL, using an 8048 processor (Data Cartridge Loader)
- There are two models of this: One for the jukebox (serial) with just one cartridge socket fitted (but includes the second socket position) and one for the cartridge management (parallel interfacing to an xxxx board - faster!) used off-line. This has both cartridge connectors fitted to allow cartridge backup/copying.
- The DCL provides an interface to the outside world and the cartridge. The in-jukebox version just for loading and saving data to and from the cartridge. One feature used is the ability to check the battery via the DS1210. this is documented in the data sheet. From the Datasheet:
"Each time that the circuit is powered up the battery voltage is checked with a precision comparator. If the battery voltage is less than 2.0 volts, the second memory cycle is inhibited. Battery status can, therefore, be determined by performing a read cycle after power-up to any location in memory, verifying that memory location content. A subsequent write cycle can then be executed to the same memory location altering the data. If the next read cycle fails to verify the written data, then the batteries are less than 2.0V and data is in danger of being corrupted." To accomplish this the cartridge can be powered up/down on board separate from the DCL

I took ownership (purchased for around £900) the Jukebox from Gerry Linfoot (owner of AMS) around 1997/8. The Jukebox market had gone quiet so Gerry had changed production to furniture, repurposing his large multipurpose CNC machine. He ended up selling the furniture through his own outlet in Huddersfield.

On delivery everything worked - but only for around 30min. It took awhile until I found the culprit: a 74HCT245. It ran for a number of years before failing again - this time the DCL link had broken.

Present day:
with a little badgering, from Mrs H. I recently started a full refurb. Also collecting a full spares kit.

First job was to re-cap and socket all ICs. While the ICs were out I tested all I could. Luckily I found two simple logic gates that had failed. So, when put together again it worked e.g. I could play CDs.

There were still some minor issues - One that had eluded me for a time was one of the IR circuits didn't work, however, it did after the re-cap etc.!! A second fault was second row down of the album cover lamps are out. I consider this minor and I'm saving it until later. The third issue is software related. I think I have a miss-match of MPU code and Data Code (2 separate ROMS). When a CD or category is selected the title of the CD(s) is not displayed - just highlighted empty lines. I hope to recreate both ROMs - see below. And lastly - I'd purchased some replacement 6551s from China. While testing them for the second time (they all worked and I can't recall why I tested them twice!) the display failed e.g. I wasn't getting output from the MPU - just random garbage on screen.

The MPU PCB is 26 cms x 18 cms and not all the support fixings were in place. So, when testing the 6551s the board was flexing! My immediate thoughts were I'd perhaps broken a track. So, currently, I'm buzzing-out all connections - Maybe around half way there. I've also retested all ICs - still all OK and I've fixed the support issue.

Buzzing-out every circuit has given me the opportunity to re-familiarise myself with its operation. Handy for if/when I need to start diagnosing at component level!

Edit 1 - 12-10-21: Another minor issue was the Keyboard - not always registering a key press and they were a bit dim too. It uses Illuminated keys! Fortunately they are still available so now we have new very bright keys. One other thing I noticed was each switch has positions for 4 LEDs around it. They are mentioned in the Service Manual so I'll be adding these at a later date.
I've also managed to compile the source using Cross 32 on my RiscPC :D


Edit 2 - 16-10-21: At the start of this refurbish the main fault was it just wasn't working e.g. it would turn on, however, just seemed to hang at a certain stage. This was traced back to a battery corroded track which supplied the +5VBACK to all parts that used it. This left those parts obtaining its supply from its inputs! And this is how it was traced e.g. low Voltage on those ICs. The link I fitted can be seen just left of the 'white' solder mask replacement in the top right of the MPU board photo. The recent failure, resulting in a garbled screen and another apparent 'hang', was traced back to the last Chinese 6551 I'd tested and left in circuit. It was working but must have failed soon after. As I'd been 'stressing' the PCB, which didn't have all its support pillars at the time, I decided to buzz out all the tracks. This showed-up some differences between the working board and the schematics in the Service Manual! I still have the PCAD Mater source files - so that's a job on the to-do list.

All the PCBs have now been upgraded with all their support pillars!

Now working again I decided to investigate the missing row #2 lamps. This was traced back to a damaged track - most certainly damaged my myself :oops: whilst removing the soldered-in IC to fit a socket.

I'm now left with a further two faults. Both, I believe, to be software related. The first is: When an album is selected, by the "Touch Matrix" or keypad, the track list is shown on the screen. At the top of the page the Album name is shown. Instead all you see is a highlighted line with no text. Two other instances where the album name is shown. Top 5 List and Category listing of albums - both show the same blank lines for each album name. I believe this is due to the Screen data being in the wrong place or the MPU cade has the wrong address for the album names. Hoping that once I have a matching set of code, in the ROMs, it will be fixed. The last fault I also believe is due to the software: the front of the jukebox has 12 columns and 6 rows. at each side, duplicated, are 6 x categories. I've chosen '60s, 70s, '80s, '90s and Classical. When a category is chosen all albums within the category are highlit. The fault I'm seeing is: the left hand category column works but not the right hand column. I initially thought it was was a circuit fault, however, there's a 'service' menu, selected from inside the jukebox. This has all sorts of functions that enable comprehensive testing of the system. One of those tests is a IR Matrix test - this test allows you to select any of the front album covers or category items and the display will show the result (See the Service Manual for full details). This test shows that ALL positions do work!


Attached is the complete source code for the latest version I have (1V7) it's been written to be complied on an Archimedes using Cross -32. Here is where I need some hand holding to accomplish this -PLEASE! Also attached is a copy of the Service manual which includes all the schematics.

Due the the size of the Service Manual - PM me with an eMail address and I'll send you a link to my Dropbox.

I'll add, to this, post any updates on the fault finding.

Dave H.

mpu_1v7.zip
(231.39 KiB) Downloaded 8 times
IMG_1488.jpg
IMG_1490.jpg
IMG_1493.jpg
IMG_1494.jpg
Last edited by daveejhitchins on Sat Oct 16, 2021 4:59 pm, edited 5 times in total.
User avatar
flaxcottage
Posts: 4801
Joined: Thu Dec 13, 2012 8:46 pm
Location: Derbyshire
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by flaxcottage »

Salvage Hunters: The Restorers! :lol:

Actually, though, there is a guy in Chesterfield who restores jukeboxes. I saw an episode the other day. Maybe he could help. Think he's on facebook but I'm not. :wink:
- John

Check out the Educational Software Archive at www.flaxcottage.com
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

flaxcottage wrote:
Sun Oct 10, 2021 12:17 pm
Salvage Hunters: The Restorers! :lol:

Actually, though, there is a guy in Chesterfield who restores jukeboxes. I saw an episode the other day. Maybe he could help. Think he's on facebook but I'm not. :wink:
Found him and just sent a message via FB.

Thanks, John.

Dave H.
User avatar
IanS
Posts: 1963
Joined: Mon Aug 31, 2009 7:02 pm
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by IanS »

daveejhitchins wrote:
Sun Oct 10, 2021 12:00 pm
Attached is the complete source code for the latest version I have (1V7) it's been written to be complied on an Archimedes using Cross -32. Here is where I need some hand holding to accomplish this -PLEASE! Also attached is a copy of the Service manual which includes all the schematics (still a work in progress - I have scanned all the pages - just need to OCR them and sort out all the graphics!)
It compiles ok with the dos compiler included in the zip.
jukebox_asm.PNG
It would be interesting to see some pictures of all the bits. Looking forward to updates.
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

flaxcottage wrote:
Sun Oct 10, 2021 12:17 pm
Salvage Hunters: The Restorers! :lol:
Actually, though, there is a guy in Chesterfield who restores jukeboxes. I saw an episode the other day. Maybe he could help. Think he's on facebook but
Found him and just sent a message via FB.
[/quote]
Ah! He's not seen one before, however, He only handles the vinyl jukeboxes

Dave H.
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

IanS wrote:
Sun Oct 10, 2021 1:44 pm
It compiles ok with the dos compiler included in the zip.
Thanks for that, Ian . . . I'll try in DOS first then on My RiscPC.

It would be interesting to see some pictures of all the bits. Looking forward to updates.
More on their way.
Dave H.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

daveejhitchins wrote:
Sun Oct 10, 2021 12:00 pm
Attached is the complete source code for the latest version I have (1V7) it's been written to be complied on an Archimedes using Cross -32. Here is where I need some hand holding to accomplish this -PLEASE! Also attached is a copy of the Service manual which includes all the schematics (still a work in progress - I have scanned all the pages - just need to OCR them and sort out all the graphics!)
I've thrown together a quick emulation using the compiled source, but getting stuck trying to write to the unknown RTC type.

Looking forward to seeing the schematic, service manual, photos, etc. This could be fun :D
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
IanS
Posts: 1963
Joined: Mon Aug 31, 2009 7:02 pm
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by IanS »

Pernod wrote:
Sun Oct 10, 2021 3:01 pm
I've thrown together a quick emulation using the compiled source, but getting stuck trying to write to the unknown RTC type.
I guess it's a 146818 based on the source.
https://www.scs.stanford.edu/10wi-cs140 ... 46818a.pdf
jukebox_rtc.PNG
With it's multiplexed address and data bus, it was common to put the address to use at one address in the memory map, and the data in another.
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

Update here - Dave H.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

daveejhitchins wrote:
Tue Oct 12, 2021 3:54 pm
Update here - Dave H.
Thanks Dave, should prove very useful. First thing to do is get those 7seg LED's hooked up to see what error code I'm getting, then work out the ROM/RAM banking from the schematic.

Can you provide actual ROM dumps and maybe some photos of the boards, especially MPU.

I'm not finding any references to the Fender F101 on the web, so some photos of what the whole thing looks like would be interesting too.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

Pernod wrote:
Tue Oct 12, 2021 5:15 pm
daveejhitchins wrote:
Tue Oct 12, 2021 3:54 pm
Update here - Dave H.
Thanks Dave, should prove very useful. First thing to do is get those 7seg LED's hooked up to see what error code I'm getting, then work out the ROM/RAM banking from the schematic.

Can you provide actual ROM dumps and maybe some photos of the boards, especially MPU.

I'm not finding any references to the Fender F101 on the web, so some photos of what the whole thing looks like would be interesting too.
Just sent the code dumps to your eMail address (I.Hex & Binary). I'll add a photo of the MPU board to the first post in a few mins.

Dave H.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

I would've hoped to have at least some kind of video output from this by now, but not quite there yet :(

I have it running as far as passing various hardware tests and about to start running tasks, but jumps into the unknown after running into an incorrect rom bank.

The ROM/RAM banking is not really described anywhere so am having to go by the schematic, but the switching of RAM/EPROM/IO is determined by a PAL16LB in IC6 which is an unknown.

There are 2 x 32K RAM and 2 x 32K ROM, but these sockets can take upto 128K each. The 6502 memory map seems to be split into 4 banks, with overlaying IO:
0000-3BFF - fixed RAM
3C00-3FFF - IO
4000-7FFF - banked RAM
8000-BFFF - banked ROM
C000-FFFF - fixed ROM

The mapping register is written to at &3EEC with lower nibble for ROM bank and upper nibble for RAM bank. The high bit of each nibble selects the upper/lower socket for the ROM/RAM sockets. As each socket can take upto 128K ROM/RAM that's 8 banks per socket that can be selected by the lower 3 bits of each nibble.

If anyone else has looked at the schematic I'd welcome your thoughts in case I've misinterpreted something.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

Pernod wrote:
Wed Oct 13, 2021 9:54 pm
I would've hoped to have at least some kind of video output from this by now, but not quite there yet :(

I have it running as far as passing various hardware tests and about to start running tasks, but jumps into the unknown after running into an incorrect rom bank.

The ROM/RAM banking is not really described anywhere so am having to go by the schematic, but the switching of RAM/EPROM/IO is determined by a PAL16LB in IC6 which is an unknown.

There are 2 x 32K RAM and 2 x 32K ROM, but these sockets can take upto 128K each. The 6502 memory map seems to be split into 4 banks, with overlaying IO:
0000-3BFF - fixed RAM
3C00-3FFF - IO
4000-7FFF - banked RAM
8000-BFFF - banked ROM
C000-FFFF - fixed ROM

The mapping register is written to at &3EEC with lower nibble for ROM bank and upper nibble for RAM bank. The high bit of each nibble selects the upper/lower socket for the ROM/RAM sockets. As each socket can take upto 128K ROM/RAM that's 8 banks per socket that can be selected by the lower 3 bits of each nibble.

If anyone else has looked at the schematic I'd welcome your thoughts in case I've misinterpreted something.
I have, what I think (?), is a jed file for the PLD, however, it's not yet tested or decoded back to source. I'll add the jed file, to post #1 (later today), and test/decode it once I have it working again.

Dave H.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

Here's the equations from the JED file:

Code: Select all

Equations:

o12 = i3 & /i6 & /i7 & i9 & i11
O1 (not needed)

/o13 = /i4 & /i6 & i7 + /i6 & /i7 & o18
/RAM1

/o14 = i4 & /i6 & i7
/RAM2

/o15 = /i5 & i6 & /i7 + i6 & i7
/EPROM1

/o16 = i5 & i6 & /i7
/EPROM2

/o17 = /i6 & /i7 + i6 & i7
/ZERO

/o18 = /i6 & /i7 & /i8 & i9 & i11 + /i1 & /i6 & /i7 & i8 & i9 & i11 + i1 & i3 & /i6 & /i7 & i8 & i9 & i11    
/IOSEL

o19 = /i3 & o18 + /i2 & /i6 & /i7 & /i8 & i9 & i11 + /i3 & /i6 & /i7 & i8 & i9 & i11
O2 (not needed)
The inputs are:
i1 A8 0x100
i2 TQ (ignore)
i3 TO (ignore)
i4 L7 map register 0x80
i5 L3 map register 0x08
i6 A15 0x8000
i7 A14 0x4000
i8 A9 0x200
i9 A12 & A13 0x3000
i11 A10 & A11 0x0C00

My head spins when trying to decipher these, especially with the negative logic. Anyone care to translate to english?
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
IanS
Posts: 1963
Joined: Mon Aug 31, 2009 7:02 pm
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by IanS »

Pernod wrote:
Thu Oct 14, 2021 10:05 pm
My head spins when trying to decipher these, especially with the negative logic. Anyone care to translate to english?
Not sure I can go that far. but I did have a bit of a dig and makes some notes.

Which of the two ram chips is selected is by the state of the L7 bit in "bank" register, unless it is acccessing the top 16K, when it always uses EPROM1 (page 2). The eproms are mapped into (0x8000-0xbfff) via the "bank" register. Similarly the RAM is mapped into (0x4000-0x7fff) using "bank" register L4-L7, L7 selecting which RAM is selected. RAM page 0 in RAM1 is always mapped into the lowest 16K.

The IO Range is taken from the top of the lowest 16K chunk. More investigation needed.

"Zero" is enabled when the top or bottom 16K chunks are accessed. A15 and A14 both High or both Low (0x0000-0x3fff & 0xc000-0Xffff). This is used by gates IC9 and IC8 to show a fixed bank of the RAM and ROM in the upper and lower 16K areas of the memory map. RAM bank zero is mapped into the lowest 16K (0x0000-0x3fff) and ROM bank 2 is mapped into the upper 16K (0xc000-0Xffff). It's ROM bank 2, because of IC7D which inverts A15 going into the ROM(s) This inversion of A15 going in the ROM also applies to the "bank" value written into the latch IC5 for the L<x> signals.

Whilst the TQ, TO, O2 and O1 can probably be ignored from an emulation point of view, they appear to be used by the flip-flops in IC10 to implement a system of slow and fast bus cycles, similar to the BBC Micros 1MHz and 2MHz bus cycles. This is implemented as part of the IO range selected by IOSEL.

The Slow IO devices are selected via IC27, including the RTC address and data locations.

I don't think that adds much to your understanding, but I think it does confirm you are correct so far.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

IanS wrote:
Sat Oct 16, 2021 11:38 am
I don't think that adds much to your understanding, but I think it does confirm you are correct so far.
Thanks, good to have some confirmation.
IanS wrote:
Sun Oct 10, 2021 1:44 pm
It compiles ok with the dos compiler included in the zip.
I'm having trouble running the compiler on Win10. I need the code for the two MCU's compiled so could someone create the binaries (or hex) from AMSCART.WRI and AMSCIM.WRI?

Thanks.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
IanS
Posts: 1963
Joined: Mon Aug 31, 2009 7:02 pm
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by IanS »

Pernod wrote:
Sat Oct 16, 2021 12:10 pm
I'm having trouble running the compiler on Win10. I need the code for the two MCU's compiled so could someone create the binaries (or hex) from AMSCART.WRI and AMSCIM.WRI?
Cant find something in MAME to run it on? :)
Here are the two files run through the compiler on an old Win2000 VM.
Attachments
cim-cart.zip
(3.96 KiB) Downloaded 2 times
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

IanS wrote:
Sat Oct 16, 2021 12:27 pm
Cant find something in MAME to run it on? :)
Here are the two files run through the compiler on an old Win2000 VM.
Thanks. It's alot of hassle to run a PC of the era in MAME. They aren't preconfigured so need to setup hard drive images and find suitable bootable DOS floppies, etc.

I used to have a selection of VM's in VMware for this type of use, but long gone.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

Pernod wrote:
Sat Oct 16, 2021 12:10 pm
I'm having trouble running the compiler on Win10. I need the code for the two MCU's compiled so could someone create the binaries (or hex) from AMSCART.WRI and AMSCIM.WRI?
I've used VDOS to successfully run the C32 compiler on Windows 10. I'm investigating just what the various batch files do, this afternoon.

Also, an update to the fault finding in post #1.

Dave H.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

Hmm, not working, will try later ...
0000.png
0000.png (4.04 KiB) Viewed 389 times
Coin meter fixed ...
0001.png
0001.png (3.35 KiB) Viewed 389 times
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

Both MCU ROMs run a checksum test during initialisation, and must return 0 to the MPU to indicate a pass, both currently fail this test.

The checksum is additive and sums the bytes of all 8 pages (0x800) into a 16bit result which must be zero when complete. At this stage I'm not convinced that I can go any further with the emulation without actual ROM dumps, instead of being built from src.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

Am persevering and now get:
0002.png
0002.png (3.98 KiB) Viewed 319 times
... and can also enter the service menu:
0003.png
0003.png (5.49 KiB) Viewed 315 times
Can I get some photos of the keypad, or whatever is used to navigate the service menu?
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

Pernod wrote:
Mon Oct 18, 2021 1:42 pm
Am persevering and now get:
0002.png

... and can also enter the service menu:
0003.png

Can I get some photos of the keypad, or whatever is used to navigate the service menu?
Getting the schematic for the keypad is on my list - I'll bring that forward. I'm currently getting the Power Supply fully refurbed. Mine doesn't have all the support posts - bit of a theme here!

Dave H.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

daveejhitchins wrote:
Tue Oct 19, 2021 7:52 am
Getting the schematic for the keypad is on my list - I'll bring that forward. I'm currently getting the Power Supply fully refurbed. Mine doesn't have all the support posts - bit of a theme here!

Dave H.
Thanks, though just photos of the actual keypad would help too to give me an idea of what inputs are available.

If your ultimate aim is to upgrade yours to accept £2 coins then you'll need to reprogram the MCU's, and preferably read the current contents too. The current MCU code will likely ignore the COIN5 input from the MARS coin mechanism, which is used to detect £2 coins.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

Pernod wrote:
Tue Oct 19, 2021 11:44 am
daveejhitchins wrote:
Tue Oct 19, 2021 7:52 am
Getting the schematic for the keypad is on my list - I'll bring that forward. I'm currently getting the Power Supply fully refurbed. Mine doesn't have all the support posts - bit of a theme here!

Dave H.
Thanks, though just photos of the actual keypad would help too to give me an idea of what inputs are available.

If your ultimate aim is to upgrade yours to accept £2 coins then you'll need to reprogram the MCU's, and preferably read the current contents too. The current MCU code will likely ignore the COIN5 input from the MARS coin mechanism, which is used to detect £2 coins.
The £2 coin is just a "wish list" item, as I can program the jukebox to give as many credits as I like from any coin :D

Are you using the code images I sent or ones generated from the source? I still can't figure how to generate the separate ROM images!

I have no problem compiling the SOURCE.WRI - but I thought one of the batch file may separate the images - but no . . .

I also found a HEX2BIN.EXE - that takes care of the SOURCE.WRI output (m.hex).

Any idea what this batch file does - titled S.BAT:

copy %1.wri %1.xxx
strip %1.xxx %1.wri

Dave H.
User avatar
Pernod
Posts: 2738
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by Pernod »

daveejhitchins wrote:
Tue Oct 19, 2021 2:25 pm
Are you using the code images I sent or ones generated from the source? I still can't figure how to generate the separate ROM images!

I have no problem compiling the SOURCE.WRI - but I thought one of the batch file may separate the images - but no . . .

I also found a HEX2BIN.EXE - that takes care of the SOURCE.WRI output (m.hex).

Any idea what this batch file does - titled S.BAT:
I'm using the ROM images you sent as working for the MPU, and generated from source for the MCU's.

The M.HEX, when converted to binary, contains two 16K pages at offset &8000 and &C000. To use on the Fender the block at &C000 must be in page 0, as it contains the 6502 vectors, and the block at &8000 in page 1. So to create a working 32K ROM image trim your m.bin to the upper 32K, and swap the upper/lower 16K blocks.
The FENDER.HEX is quite different from your working screen data ROM so not sure about that. FENDER.HEX contains track data whereas your working screen data contains the menus, so probably needs both. Make a 64K image with working screen data followed by FENDER.HEX.
I haven't tried any of this but worth a try.

I use HxD https://mh-nexus.de/en/hxd/which has an import from Hex option to convert to binary image.

No idea what S.BAT is supposed to do.
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
User avatar
daveejhitchins
Posts: 6791
Joined: Wed Jun 13, 2012 6:23 pm
Location: Newton Aycliffe, County Durham
Contact:

Re: Early '90s Fender (F101) Jukebox restoration with full Schematic and Source Code

Post by daveejhitchins »

Pernod wrote:
Tue Oct 19, 2021 4:20 pm
I'm using the ROM images you sent as working for the MPU, and generated from source for the MCU's.

The M.HEX, when converted to binary, contains two 16K pages at offset &8000 and &C000. To use on the Fender the block at &C000 must be in page 0, as it contains the 6502 vectors, and the block at &8000 in page 1. So to create a working 32K ROM image trim your m.bin to the upper 32K, and swap the upper/lower 16K blocks.
The FENDER.HEX is quite different from your working screen data ROM so not sure about that. FENDER.HEX contains track data whereas your working screen data contains the menus, so probably needs both. Make a 64K image with working screen data followed by FENDER.HEX.
I haven't tried any of this but worth a try.

I use HxD https://mh-nexus.de/en/hxd/which has an import from Hex option to convert to binary image.

No idea what S.BAT is supposed to do.
Thanks, Nigel . . . I'll make up the M.hex code first and give it a try . . . Then I'll worry about the screen data.

Dave H.
Post Reply

Return to “other vintage hardware, software and languages”