|
|
|
|
|
|
|
|
|
|
|
Re: 68008 on breadboard [message #7984 is a reply to message #7983] |
Thu, 24 September 2020 02:52   |
Yves-D.
Messages: 21 Registered: January 2020
|
Junior Member |
|
|
Yay, success!
Considering how often EHBasic-68k was used lately on the 68000 systems demoed on this forum, it's a pity it has not been extended with some new few features.
I tried to re-implement the load/save function (intended for the Easy68k-Emulator) for read/writing the Basic program to a 29F040 flash chip present in my system.
So far I've no results to show. The EHBasic code must also be located in RAM, you can't write to a 29Fxxx flash chip and at the same time read the program instructions from it.
Writing the program code to a Flash-Chip or EEProm would be simpler in assembler than handling the additional burden of a FAT-FS on a compact-flash.
Another nice add-on I've thought of, would be an autostart of an EHBasic program: The 68000 starts EHBasic on power-up, checks in the Flash if there's an "autostart.bas" available and executes it.
That would make a self-contained system out of every 68k-SBC, starting automatically it's embedded Basic-code. With no need of external compilers and uploads during Basic code fixes. Just a VT100 for character input.
Unfortunately digging trough the load/save EHBasic assembler code makes my head spin each time I try...
Yves
[Updated on: Thu, 24 September 2020 03:02] Report message to a moderator
|
|
|
Re: 68008 on breadboard [message #7998 is a reply to message #7984] |
Mon, 05 October 2020 10:16   |
 |
just4fun
Messages: 273 Registered: May 2017 Location: Dark side of the Moon
|
Senior Member |
|
|
One interesting thing of the PIC18F47Q10 MCU is the CLC (Configurable Logic Cell) module.
It is a sort of LUT element of a CPLD. You can configure the logic function and use it as glue logic. More, because all the setting is made changing the content of a dedicated set of registers, you could change the implemented function dynamically while the FW runs.
There are 8 CLC modules into the PIC18F47Q10.
I've some glue logic in the breadboard done with a 74HCT02 IC, so I decided to try to use these CLC modules to implement the glue logic inside the PIC.
In the following image there is the digital network (in red) to "migrate":

There are 5 signals, three are already connected to MCU GPIO pins and two are completely external. So an implementation requires five MCU pins, two more. But two signals of the logic network are connected only with the MCU, so can be "virtualized" into bits inside CLC registers using the ability to change the implemented network dynamically (e.g. you can change the "negate" or "not negate" bit to create a 0 or 1 as a "virtual" signal).
So it can be done without using more MCU pins!
Here the screenshot of one of the two CLC I've used from the MPLABX IDE:

The IO/M# (# = negated) signal is now connected to a GPIO pin (RA3, previously used for the S_STEP# output) internally "linked" to the CLCIN0 input (NOR gate 1).
The DS# signal is now connected to a GPIO pin (RA2, previously used for the DT_EN# output) internally "linked" to the CLCIN1 input (NOR gate 3).
The output of the whole CLC1 module is the DTACK# signal connected to an output GPIO pin (RA4, as before but now it is an output).
The S_STEP# signal is now "virtualized" using the output of the NOR gate 2 that has all the inputs to 0, changing the "inverted" or "not inverted" bit related with the configuration of the NOR gate 2 output (in the previous photo is "inverted" that means S_STEP# = 1, so "not active").
The same with the DT_EN# signal. In this case I used a whole CLC (CLC2) to have a 0/1 virtual signal to input at the CLC1 NOR gate 3 (see the CLC2_OUT input selection).
In this way I can manage two "virtual output GPIO pins" from the PIC FW to the digital network created with the CLC modules without to use any real physical GPIO output pin.
Of course I've made the needed modifications inside the PIC FW to take into account the various changes.
And here the new "setup" of the breadboard without the 74HCT02 IC (laying up side down...):

Of course the "68008 on breadboard" is running as before...
[Updated on: Thu, 08 October 2020 06:50] Report message to a moderator
|
|
|
|
Re: 68008 on breadboard [message #8006 is a reply to message #8005] |
Fri, 09 October 2020 05:30   |
 |
just4fun
Messages: 273 Registered: May 2017 Location: Dark side of the Moon
|
Senior Member |
|
|
ale500 wrote on Fri, 09 October 2020 10:08 I haven't thought about using them as glue logic per se, but their 5V tolerance made them a possibility.
Here and example (not mine) of an "odd couple": Psoc + Z80: https://hackaday.io/project/167711-3-chip-z80-design
ale500 wrote on Fri, 09 October 2020 10:08I just think that such a powerful uC to control something so under-powered, it only shows how these uC get crippled as general computing units.
Yes, these MCU are really monsters... but if you think from a BOM cost point of view it could make sense...
After all is just for fun...
[Updated on: Fri, 09 October 2020 05:30] Report message to a moderator
|
|
|
|
|
|
Re: 68008 on breadboard [message #8064 is a reply to message #7930] |
Fri, 30 October 2020 04:12   |
ale500
Messages: 44 Registered: April 2018
|
Member |
|
|
The KR1801VM2 is quite nice as it implements mul and div, as well as all basic PDP-11 opcodes. A group of people was able to get die pictures, draw the schematics and develop a verilog models of the VM2 as well as the VM1 (and they work! . I'd recommend you have a look at https://github.com/1801BM1.
The models are there as well as quite a bit of information and a datasheet written in Russian.
The thing is that in this processor (and in the VM1 and 3) the shared address/data bus uses negative logic and has open drain drivers, i.e. you need a pull up on most pins (look at the schematic in the repository). I haven't got any VM2s (there was an offer some weeks ago, but I didn't want to bid) but I got 2 VM1s, they work the same way but are slower, they need more clocks per opcode. These things are slow < 500 k ops per second @ 5 MHz.
They have a complicated bus:
The SYNC signal tells you when the processor accesses the BUS, some addresses are internal to a small peripheral in the processor die: timers and an interrupt controller.
The DIN/DOUT signals tells you about read and write and you have to acknowledge the cycles like in the MC68K. If not an exception is raised after 64 cycles.
Recently I got some 74LS240 to interface this chip to memory (inverting buffers), using the inverted bus is not fun , so I can continue this long standing VM1 project.
Quote: It is the soviet "clone" of a Digital LSI-11 CPU
It is not "the": it is one of the several clones that exist!. Some of them are several chips, this one is a one chip version . Insane what these guys did back then 
Have fun !
[Updated on: Fri, 30 October 2020 04:18] Report message to a moderator
|
|
|
Re: 68008 on breadboard [message #8069 is a reply to message #8064] |
Sat, 31 October 2020 05:46   |
 |
just4fun
Messages: 273 Registered: May 2017 Location: Dark side of the Moon
|
Senior Member |
|
|
@ale500:
Thanks for the info!
I've found a lot of info also here (a really gold mine!). There is also a thread about the 180VM1 (180BM1).
BTW: I've just finished the draft of the schematic with Kicad (see attachment). It will be possible configure the board choosing between two main HW configurations: Lite and Full. With the Lite config it will be possible set up a 68008 system with only 3 ICs.
[Updated on: Sun, 01 November 2020 01:31] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
Re: 68008 on breadboard [message #8703 is a reply to message #8475] |
Mon, 21 June 2021 13:41   |
guus.assmann
Messages: 50 Registered: May 2018 Location: Netherlands
|
Member |
|
|
Hello,
Today I've finally tested my board, after assembling it of course.
And at first, I was happy, it worked.
However in a few minutes, it started giving strange data on the screen and reporting a halt.
So I tested 3 other CPU's, all 8Mhz. Same result, mostly even faster.
Next, I put in 2 fast Ram-chips. (10nS)
With those the CPU works fine and stays alive during testing.
So my conclusion is, that the Ram is not fast enough, or timing is off by a bit.
Please advise what to do....
BR/
Guus
|
|
|
|
|
Re: 68008 on breadboard [message #8706 is a reply to message #8705] |
Thu, 24 June 2021 09:58   |
 |
just4fun
Messages: 273 Registered: May 2017 Location: Dark side of the Moon
|
Senior Member |
|
|
Hi,
yes a few people seem to have this kind of problem.
I'm currently waiting a couple of 68008P8 CPU from gkaufman that are showing that.
Also I'm currently testing others CPU (now little more of 20 CPU) that arrived lately from various sellers, and yesterday I found one (68008P8) showing the "error 2" after about ten seconds from the power on (I was never able to reproduce this issue until now...).
I've done some tests with it, then I did a little change based on those and the not working CPU started to work...
Probably too early to call it "fix", anyway I've attached here that testing version of IOS (as .hex file).
Could you try it and say if there is any improvement for you?
Regards.
[Updated on: Fri, 25 June 2021 03:31] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|