Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Ricardo

Pages: [1]
HARDWARE/SYSTEMS DISCUSSION / Re: BBC B computer help please
« on: November 06, 2018, 02:35:27 PM »
Start with:

If that doesn't help then remove all the socketed chips one at a time, clean pins and socket contacts and replace.

That should wake it up.

CODING AREA / Re: Reverse Engineering a 6800 system
« on: July 28, 2018, 08:29:02 AM »
It’s nothing to do with the fuel pump, they just use that line because the fuel pump doesn’t notice and they had no spare lines. If the timer hits zero it triggers a hard processor reset. If any memory went down the ecu would be foo bar anyway. Amazing what’s going on re: interrupts when you consider an engine at 7000rpm with 4 spark plugs, 4 injectors and a 1MHz clock. It probably can’t cope with the JSR/RTS overhead.

CODING AREA / Re: Reverse Engineering a 6800 system
« on: July 26, 2018, 10:05:06 PM »
The fuel pump line is attached to a hardware down counter external to the processor which resets the CPU when if reaches zero. The repeated toggle of the fuel pump line is keeping the timer going, the fuel pump has enough capacitance to not notice the toggles. Its a watch dog timer incase the CPU hangs in a loop. Not sure why they didn't use a subroutine though, stack doesn't get used much.

CODING AREA / Re: Reverse Engineering a 6800 system
« on: July 25, 2018, 08:00:19 PM »
Sounds like it’s keeping your mind busy though ... “if you don’t use it you loose it” etc ;-)

It’s a bit like that with the ECU code I’ve been looking at, redundant code remnants, bugs, I’m stuck with working out what two inputs do and it took an age to work out why the fuel pump keeps getting turned off and on again in milliseconds repeatedly all over the code with the same routine which isn’t a subroutine, more of a macro. Better than doing crosswords in my old age! :-)

CODING AREA / Re: Reverse Engineering a 6800 system
« on: July 25, 2018, 10:54:10 AM »
Sounds just like an old computer game ;-)

CODING AREA / Re: Reverse Engineering a 6800 system
« on: July 19, 2018, 05:18:47 PM »
The 10 watch panels on the right of the assembly display can be used to watch(!) memory locations and halt execution on a write (R/W), or when a condition is met (same as branch mnemonics).

Looks like the best way to use it is to click FETCH and select one of the EPROM images (HF4WD / top one) that will wake everything up and load data to 0x8000 to 0xFFFF.

You can then assemble code, poke bytes etc then click SAVE to save the chip image to your HD. To load it back use the LOAD CHIP button. These deal with the quantity of data which was originally FETCHED, so 16k from 0x8000.

I created the emulator on a Mac running Safari, it works best (fastest) in Safari or Chrome on a PC. IE and Opera arn't great, but I think MS Edge works.

CODING AREA / Re: Reverse Engineering a 6800 system
« on: July 19, 2018, 07:19:08 AM »
The emulator expects to work with 16 or 32k binaries, located at either 0x8000 or 0xC000. It’s a while since I created the load code (I update the emulator each winter when things are quiet and started it 3 years ago) so I’m not sure about loading smaller files. After loading a routine recursively “walks” down all threads via the 6803 hardware vectors to try to work out what’s opcodes and data. The only bits it can’t resolve are jmp/jsr n,x but occurrences of these are recorded. Read the section on the Code Walker in the help pages.

If you have trouble loading a file let me know and i’ll look into a mod. Also trying “importing” your source text file as it will parse labels, code and comments although it may be sensitive to format etc

You probably already know but with the 6803 after reset the load of the stack pointer (LDS) enables the nmi so other code can start executing, the emulator doesn’t have an interrupt control system yet.

CODING AREA / Re: Reverse Engineering a 6800 system
« on: July 18, 2018, 10:30:45 PM »
Interesting read, well done.

If it helps, I am in the process of creating an emulator for a car engine ECU based on the 6803. You can load code, disassemble it, write new code and save it etc. Plus, single step and run at varying speeds, set breakpoints, watch specific locations etc. Feel free to use it if its any help.

There's plenty of documentation on there, but its a work in progress.

OFF TOPIC / Re: 1 minute work - same skills, different tools
« on: June 01, 2018, 05:26:44 PM »
Skills, as its more fun / interesting.

Also, if you are mentally ill like me, you get to write ALL of the code and can work out exactly why things do not work (unless the hardware is faulty).

But of course to fully develop the skills you ideally need a lot of accurate information from the hardware manufacturer which is sadly lacking nowadays with supplied code libraries etc  :-\  It wasn't fun trying to program the Amiga when there was no info about it  :( wonderful once the hardware reference manual was published :)

« on: February 10, 2018, 11:41:13 PM »
Unfortunately I don't own the rights to the code but I would like to get a full play video on YouTube. There are flakey bits on the discs which means there are a couple of issues which I could do with sorting.

« on: January 07, 2018, 10:23:35 PM »
Hi all, I'm Richard Costello from Nottingham, ever since my Maths teacher had an after school club using his Tandy TRS80 I have been "into computers". Before the 8/16bit bubble burst I programmed games professionally, since then I have kept my hands in more recently with web development and presently am writing a 6803 car ECU emulator ( I happened over this site looking for a working Atari ST to try out my Ramrod master discs on (unreleased Gremlin Graphics game I coded). After meeting Andy and his welcoming team today and experiencing a mega blast from the past I hope to visit again soon, especially as the museum is only 25mins away. Plus, the Ramrod discs worked after 25 years in a box!

Pages: [1]