EASy68K  
It is currently Sat Apr 04, 2020 6:23 pm

All times are UTC




Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Fri Nov 25, 2005 3:59 pm 
Offline

Joined: Tue Nov 15, 2005 7:58 am
Posts: 129
Location: Oregon, USA
gtippery wrote:
<...>
profkelly wrote:
I don't know when to update the memory window. It's really no different than viewing memory changes from a running program.


As I see it, you'd have to watch for memory accesses to the "hardware" addresses (and optionally, the memory window address block) and do it then. Isn't that how you handle the LEDs?

This will of course slow the emulation by a few ('86) cycles per emulated memory reference. If you want to avoid that, you could add another TRAP (or a pseudo-op) that just updates all the windows. The 68000 coder would put it in where he wants to ensure the visible status is up to date, sort of like asking MSWindows for a repaint after modifying something on the screen. Then if there was a directive to conditionally not assemble them in (preferably without having to put explicit conditionals around each one, but it could be a macro, I suppose) so "production" code didn't have them.

More generally, how hard would it be to make macros for all the defined TRAPs to conditionally switch 'em with user-defined routines for exporting to real hardware?

OK, that's not a "Bug Report" anymore. I'm gonna copy this over to the Wish List, with wish-related followups over there.


... And now that I've moved it, I want to ask if anybody here knows how to move the S-Records to an older (68000, OS 6.x and/or 68020, OS 7.x) Mac and run them on real hardware? I suppose I'll need a ML monitor of some sort, but I don't know where to look. Also (wish!) is there any existing TRAP15 --> Mac hardware or Toolkit translator or emulator? Any relevant Mac docs and where to get them? I've considered getting a 68K evaluation board or trainer, but they're not very available/cheap, and it seems kind of silly when I have several Macs sitting around doing nothing.


Top
 Profile  
 
PostPosted: Thu Dec 01, 2005 2:51 am 
Offline

Joined: Mon Dec 27, 2004 11:40 pm
Posts: 318
gtippery wrote:
I want to ask if anybody here knows how to move the S-Records to an older (68000, OS 6.x and/or 68020, OS 7.x) Mac and run them on real hardware? I suppose I'll need a ML monitor of some sort, but I don't know where to look.

Dunno about Macs but I've got most of the skeleton code for a Sim68K emulator that runs on real hardware. There are some restrictions, only character i/o so far, but most of the text i/o trap #15 calls work and it can run or step the code, dump the registers etc. It's a bit clumsy at the moment but it can even do limited disassembly as it's tracing user code.

I'll post it when it's all done.

Lee.


Top
 Profile  
 
PostPosted: Thu Dec 01, 2005 2:16 pm 
Offline

Joined: Tue Nov 15, 2005 7:58 am
Posts: 129
Location: Oregon, USA
lee wrote:
... I've got most of the skeleton code for a Sim68K emulator that runs on real hardware. Lee.


What hardware would that be? Is it something generally available?


Top
 Profile  
 
 Post subject:
PostPosted: Thu Dec 01, 2005 5:21 pm 
Offline

Joined: Mon Dec 27, 2004 11:40 pm
Posts: 318
At the moment anything that supports character based I/O. The real hardware I'm using is a 68008/68681 based SBC but any similar hardware should work, you'll just have to recode the few hardware specific routines.

Lee.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 02, 2005 8:49 am 
Offline

Joined: Tue Nov 15, 2005 7:58 am
Posts: 129
Location: Oregon, USA
lee wrote:
At the moment anything that supports character based I/O. The real hardware I'm using is a 68008/68681 based SBC but any similar hardware should work, you'll just have to recode the few hardware specific routines.

You may find it's more than a "few" once you implement sound and graphics. :)

I asked because I'm looking for affordable 680x0 hardware to play with. The Motorola EVM's have gotten "collectable" and expensive. I've got Macs which aren't in use, and there are 68000 Atari STs, Amigas, Sages, Suns, etc. out there, but I've no idea which are appropriate for this sort of thing -- I'd need accessible low-level drivers or at least detailed hardware info. Macs might be best; they're easy to find, easy to expand, & the lower-performance ones are cheap. But I'd rather not have to buy Inside Mac & learn the Toolkit just to play with assembly on them.

I guessed you'd either found a surplus board of some sort or made a PCB, and hoped you might be able to find or make others to share...
:wink:


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 02, 2005 4:31 pm 
Offline

Joined: Mon Dec 27, 2004 11:40 pm
Posts: 318
I bought one of these ..

http://www.themotionstore.com/leeedavison/68k/dart_pcb/index.html

.. quite a while ago and then got two more for free from the same place when I said I was writing a BASIC interpreter for it. 8^)=

I recently aquired an EPAC-68008 which is similar in being 68008, 68681 and 68230 at 8MHz but is much smaller. I'll post a page on that when I've got the info together.

I'd really like a small 68020 or '030 board with 8 or 16MB of RAM and an ISA slot or two, that would be fun. 8^)=

Lee.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 02, 2005 8:19 pm 
Offline

Joined: Tue Nov 15, 2005 7:58 am
Posts: 129
Location: Oregon, USA
lee wrote:
I'd really like a small 68020 or '030 board with 8 or 16MB of RAM and an ISA slot or two, that would be fun. 8^)=

There was a magazine project long ago for a 68000 motherboard that would replace an XT motherboard, but I don't think anything ever came of it.

You might have a good choice with VME boards, 'though. Dunno how many are being replaced in industrial equipment, but I occasionally see one for sale. 'Course you'd probably want a card cage and backplane, too. Lots of kinds of VME boards were (are?) made. Typically there's a lot on each board, and they're built to industrial specs. Only problem is, they were quite expensive new and aren't really hobby-cheap now.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Dec 10, 2005 3:47 am 
Offline

Joined: Mon Jun 20, 2005 4:55 pm
Posts: 14
The standard Macintosh debugger is MacsBug. MacsBug 6.2 is about 100KB and only handles 68K stuff. MacsBug 6.5 and greater also handle PowerPC code but takes up 500KB. You can download the manual (1.4MB) from: developer.apple.com/tools/debuggers/MacsBug/Documentation/MacsBugRef_6.2.pdf

The Atari can be used without all the GUI stuff with the right software. Specifically, DBASIC from DTACK Grounded. It includes a simple assembler, but no monitor or debugger.

I use EASy68K and the Motorola ECB, each with its own I/O include file. Three routines are defined: CHARIN, CHAROUT, and HALT. This lets me run the same code on both. See 68000ffp for an example.

The MVME-133 has several versions. It comes with a 68020/68881 at 12MHz-25MHz with 1MB-4MB of memory, an RS-232 port, and a monitor with mini-assembler and disassembler. Unfortunately, you need an MVME cage to run it and that can cost more than the board.

Have you considered a Palm III? The Quartus development system includes an assembler.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Dec 10, 2005 5:25 am 
Offline

Joined: Mon Dec 27, 2004 11:40 pm
Posts: 318
paulrsm wrote:
I use EASy68K and the Motorola ECB, each with its own I/O include file. Three routines are defined: CHARIN, CHAROUT, and HALT. This lets me run the same code on both. See 68000ffp for an example.

I've mostly finished my BIOS for the EPAC 68008 board, it can load and run/trace most EASy68K programs that use text I/O. I assembled your DEMO.X68, unchanged, and loaded the resulting DEMO.L68 with the BIOS. Here is the capture from that.

Code:
>>load
Send S-Record now
.68KPROG   11CREATED BY EASY68K
................................................................
...................................
S-Record loaded
>>
>>run
       
MOTOROLA MC68000 FAST FLOATING POINT DEMO
     (C) COPYRIGHT 1981 BY MOTOROLA
       
THIRTY THOUSAND ADDITIONS OF 3.14159265 TO 2.718281828
RESULT: +.58598742E+01
       
THIRTY THOUSAND MULTIPLIES OF 3.14159265 WITH 2.718281828
RESULT: +.85397339E+01
       
THIRTY THOUSAND DIVIDES OF 3.14159265 INTO 2.718281828
RESULT: +.86525598E+00
       
TWENTY THOUSAND SQUARE ROOTS OF 3.14159265
RESULT: +.17724539E+01
       
TEN THOUSAND COSINES AND SINES OF 2.718281828
RESULT: -.91173396E+00
       
RESULT: +.41078139E+00
       
  DONE 
       
>>

It took about 23 seconds to run, how does that compare with the ECB?

Lee.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 11, 2005 2:44 am 
Offline

Joined: Mon Jun 20, 2005 4:55 pm
Posts: 14
The MECB has a 4MHz 68000, but I do not know how many wait states. It takes 34 seconds to run the 68000ffp demo.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 11, 2005 4:00 am 
Offline
User avatar

Joined: Thu Dec 16, 2004 6:42 pm
Posts: 1118
woot, It ran in 4.7 secs in EASy68K on my laptop :HYPER!!!: It's amazing what a few billion more clock cycles can do.

_________________
Prof. Kelly


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 11, 2005 5:41 am 
Offline

Joined: Mon Dec 27, 2004 11:40 pm
Posts: 318
paulrsm wrote:
The MECB has a 4MHz 68000, but I do not know how many wait states.

Looking at the MECB diagram for RAM access /DTACK is asserted 4 clocks after /AS is asserted (IC 39) which should give two wait states.

Quote:
It takes 34 seconds to run the 68000ffp demo.

Which tallies with 2 wait states, each wait state = about a 12% performance hit.

You could , with some I/O modification, try the MHz test from the examples page. Now I've tried it on real hardware I'm confident it's reasonably accurate, at least as good as most 'benchmark' type programmes.

It gives 3.957MHz on the 68008/8MHz, I'd guess at 2.9 MHz for the MECB.

Lee.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 13, 2005 8:57 pm 
Offline

Joined: Mon Jun 20, 2005 4:55 pm
Posts: 14
Changing the I/O is simple. Learning how to program the timer chip is harder. I'll not tackle that task until I have to time some code. The 68000ffp demo is a good-enough benchmark to prove that the MECB is likely the slowest 68000 computer ever made.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 14, 2005 2:27 am 
Offline

Joined: Tue Nov 15, 2005 7:58 am
Posts: 129
Location: Oregon, USA
lee wrote:
I bought one of these ..

http://www.themotionstore.com/leeedavison/68k/dart_pcb/index.html

.. quite a while ago and then got two more for free from the same place when I said I was writing a BASIC interpreter for it. 8^)=


I don't think those are available anymore. Would you part with one?

lee wrote:
I'd really like a small 68020 or '030 board with 8 or 16MB of RAM and an ISA slot or two, that would be fun. 8^)=

Lee.


I'd offer a Mac in trade, but the shipping would make that economically impractical. 'Though my wife trades treadle sewing machines with a guy in England, and you'd better believe that's not cheap... :)

Seriously, though, there are 680x0 motherboards available quite cheaply that people have pullled out of Macs, Amigas, etc. during upgrades. I don't know how hard it would be to use them without the normal surrounding circuitry. Some of them have socketed RAM, ROM, and expansion-bus slots, 'though I don't know of any that are ISA. Proprietary, or NuBus, or even PCI on the newer ones. If you do tackle one of these as a project, it'd be of interest to other people, because of their general availability, vs. some surplus board.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 14, 2005 2:45 am 
Offline

Joined: Tue Nov 15, 2005 7:58 am
Posts: 129
Location: Oregon, USA
paulrsm wrote:
I use EASy68K and the Motorola ECB, each with its own I/O include file. Three routines are defined: CHARIN, CHAROUT, and HALT. This lets me run the same code on both. See 68000ffp for an example.

The MVME-133 has several versions. It comes with a 68020/68881 at 12MHz-25MHz with 1MB-4MB of memory, an RS-232 port, and a monitor with mini-assembler and disassembler. Unfortunately, you need an MVME cage to run it and that can cost more than the board.

Have you considered a Palm III? The Quartus development system includes an assembler.

Do you know a source for the boards you mention, preferably in the USA?

The Palm uses the Dragonball processor, doesn't it?

I doubt the Palm's board has much I/O or expansion capability. As far as using an intact Palm, the problem is that the code would have to be written specifically for that machine's architecture, I think, and wouldn't be useful elsewhere. CHARIN alone might be quite a challenge.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group