NeXT Computers Forum Index NeXT Computers
www.NeXTComputers.org
 
Log in to check your private messagesLog in to check your private messages

Log inLog in  RegisterRegister


Profile  Search  Memberlist  FAQ  Usergroups
NeXTdimension ROM image
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic    NeXT Computers Forum Index -> NeXTdimension Board
View previous topic :: View next topic  
Author Message
andreas_g



Joined: 30 Jan 2009
Posts: 412
Location: Austria

PostPosted: Sun Oct 11, 2015 11:44 pm    Post subject: Reply with quote

Thank you very much for the explanation! Another question has raised, while experimenting with NDromload: Endianness of the ND-board. The processor operates in big endian mode, which means that data is accessed that way, while instructions are still accessed in little endian mode (correct me if I'm wrong).

The NextBus operated in little endian mode. The NBIC of the CPU board converts the big endian data from the m68k board to little endian for the NextBus.

But what happens on the NeXTdimension side? Does the NBIC on the board convert it back to big endian?

e.g.
When I do a 32-bit transfer of 0x10203040 from the CPU board to NeXTdimension memory (at adress "a") will it be stored in big endian or little endian format?

big endian: a = 0x10, a+1 = 0x20, a+2 = 0x30, a+3 = 0x40
little endian: a = 0x40, a+1 = 0x30, a+2 = 0x20, a+3 = 0x10
Back to top
View user's profile Send private message Send e-mail
M Paquette



Joined: 22 Jul 2014
Posts: 33

PostPosted: Mon Oct 12, 2015 6:12 pm    Post subject: Reply with quote

andreas_g wrote:
Thank you very much for the explanation! Another question has raised, while experimenting with NDromload: Endianness of the ND-board. The processor operates in big endian mode, which means that data is accessed that way, while instructions are still accessed in little endian mode (correct me if I'm wrong).

The NextBus operated in little endian mode. The NBIC of the CPU board converts the big endian data from the m68k board to little endian for the NextBus.

But what happens on the NeXTdimension side? Does the NBIC on the board convert it back to big endian?

e.g.
When I do a 32-bit transfer of 0x10203040 from the CPU board to NeXTdimension memory (at adress "a") will it be stored in big endian or little endian format?

big endian: a = 0x10, a+1 = 0x20, a+2 = 0x30, a+3 = 0x40
little endian: a = 0x40, a+1 = 0x30, a+2 = 0x20, a+3 = 0x10


The ND board NBIC is set up the same as the CPU board part, and treats the ND board memory as big-endian.

Copying a big-endian data structure from the 68K memory to the ND board memory will store the data structure on the ND board in big-endian format.

This was done to allow data structures (built with 'natural' alignment) to be shared between the boards, along with pixel buffers such as window backing stores.
Back to top
View user's profile Send private message
andreas_g



Joined: 30 Jan 2009
Posts: 412
Location: Austria

PostPosted: Mon Oct 12, 2015 11:58 pm    Post subject: Reply with quote

Thank you again for the answer! I'm coming closer to understand this. But there is one more question:

The processor starts in CS8-mode. That means, it fetches instructions using multiple 8-bit access instead of a single instruction word access. What effect does that have on the required byte-order of the ROM?

e.g.
Fetching instruction with opcode 0xA0000000 from address "a":

In normal mode it is fetched as a whole using little endian byte order. That means in memory it is stored as a = 0x00, a+1 = 0x00, a+2 = 0x00, a+3 = 0xA0.

In CS8-mode multiple consecutive 8-bit fetches are performed from address "a". Does that mean the opcode has to be stored in reversed order (a = 0xA0, a+1 = 0x00, a+2 = 0x00, a+3 = 0x00) for CS8-mode?
Back to top
View user's profile Send private message Send e-mail
ardi



Joined: 11 Jun 2014
Posts: 84

PostPosted: Tue Oct 13, 2015 5:38 am    Post subject: Reply with quote

Very interesting thread! I missed it!! BTW, apart from the i860, I see two Motorola chips in the board, as well as what seems to be an ASIC (with the label VLSI on top of it). What are these chips for? They've the size of a CPU. They look like being able to perform hard work. In such case, maybe they need to be emulated too.

There're also three Philips chips, but they're for video color space conversion and for video input. They're the SAA 7191 WP and the SAA 7192 WP. Their datasheets are available if you search for them.

Anyway, it seems these Philips chips are only used for video I/O, but however maybe you might need to support their instructions codes (even if it's with an empty stub if their functionality isn't needed).

But the two Motorolas and the VLSI chip look larger and make me feel more worried than the Philips ones...
Back to top
View user's profile Send private message
schubige



Joined: 24 Jul 2015
Posts: 49
Location: Switzerland

PostPosted: Tue Oct 13, 2015 10:47 am    Post subject: Reply with quote

The VLSI chip is the NBIC. A fairly well documented chip even by NeXT standards. The two custom chips produced by Motorola are most likely U52 (datapath, see http://www.nextcomputers.org/NeXTfiles/Docs/Hardware/Schematics/NeXTdimension/ND-04.jpg) and U88 (memctl, see http://www.nextcomputers.org/NeXTfiles/Docs/Hardware/Schematics/NeXTdimension/ND-03.jpg). While having many pins (they basically interconnect the various components on the baord including DRAM and VRAM) their internal logic should not be very complex from an emulator point of view.
Back to top
View user's profile Send private message
M Paquette



Joined: 22 Jul 2014
Posts: 33

PostPosted: Tue Oct 13, 2015 2:20 pm    Post subject: Reply with quote

andreas_g wrote:
Thank you again for the answer! I'm coming closer to understand this. But there is one more question:

The processor starts in CS8-mode. That means, it fetches instructions using multiple 8-bit access instead of a single instruction word access. What effect does that have on the required byte-order of the ROM?

e.g.
Fetching instruction with opcode 0xA0000000 from address "a":

In normal mode it is fetched as a whole using little endian byte order. That means in memory it is stored as a = 0x00, a+1 = 0x00, a+2 = 0x00, a+3 = 0xA0.

In CS8-mode multiple consecutive 8-bit fetches are performed from address "a". Does that mean the opcode has to be stored in reversed order (a = 0xA0, a+1 = 0x00, a+2 = 0x00, a+3 = 0x00) for CS8-mode?


Correct. In addition, the instructions have to be placed on 64 bit boundries, and the packing has to be done in multiples of 64 bits. The alignment and packing are maintained by the i860 Mach-O toolchain. The following code works on an i860 Mach-O file to re-order the instruction stream to the format to be written to the ROM:
Code:

//
// The i860 text segment must be byte and word swapped before packing into the ROM.
// The text must be on a 64 bit boundry, and must be a multiple of 64 bits in length.
//
// The byte sequence to be written for each pair of words is as shown:
//    3 2 1 0 7 6 5 4
//   |- - - -|- - - -|
 static void
MungeText( unsigned char *src, unsigned char *dst, unsigned data_len)
{
   struct munge{
      unsigned char   byte[4];
   } munge;
   struct munge *msrc;
   struct munge *mdst;
   int i;
   
   msrc = (struct munge *)src;
   mdst = (struct munge *)dst;
   while ( data_len )
   {
      for ( i = 0; i < 4; ++i )
         munge.byte[ 3 - i ] = msrc->byte[ i ];
      *mdst = munge;
      ++msrc;
      ++mdst;
      data_len -= 4;
   }
}
Back to top
View user's profile Send private message
schubige



Joined: 24 Jul 2015
Posts: 49
Location: Switzerland

PostPosted: Sun Jan 10, 2016 8:22 am    Post subject: NeXTdimension emulation on it's way Reply with quote

Happy new year! Good news from the Previous/NeXTdimension front. Together with Andreas I hacked a preliminary emulation of the NeXTdimension board, including the i860 as well as the various peripheral chips. While it runs pretty stable from NS 2.1 to OS 4.2, it still produces some pixel defects. Thus consider it as work in progress. But Andreas and I are both convinced that a full NeXTdimension emulation is within reach. Have a look at this screenshot: http://1drv.ms/1OchfXu
Back to top
View user's profile Send private message
mikeboss



Joined: 07 Dec 2011
Posts: 365
Location: berne, switzerland

PostPosted: Sun Jan 10, 2016 3:30 pm    Post subject: Reply with quote

wow, just wow! absolutely incredible work Cool looking forward to the first public release...

regards,
michael
_________________
October 12, 1988 Computing Advances To The NeXT Level
Back to top
View user's profile Send private message Visit poster's website
gtnicol



Joined: 27 Dec 2005
Posts: 524
Location: Rhode Island, USA

PostPosted: Sun Jan 10, 2016 8:05 pm    Post subject: Reply with quote

Well done!
Back to top
View user's profile Send private message
itomato



Joined: 27 Dec 2005
Posts: 299
Location: San Francisco, CA

PostPosted: Mon Jan 11, 2016 2:11 pm    Post subject: Reply with quote

Is the ND functionality in the r559 branch?
_________________
-itomato
Back to top
View user's profile Send private message Visit poster's website
ardi



Joined: 11 Jun 2014
Posts: 84

PostPosted: Mon Jan 11, 2016 11:07 pm    Post subject: Re: NeXTdimension emulation on it's way Reply with quote

schubige wrote:
Happy new year! Good news from the Previous/NeXTdimension front. Together with Andreas I hacked a preliminary emulation of the NeXTdimension board, including the i860 as well as the various peripheral chips. While it runs pretty stable from NS 2.1 to OS 4.2, it still produces some pixel defects. Thus consider it as work in progress. But Andreas and I are both convinced that a full NeXTdimension emulation is within reach. Have a look at this screenshot: http://1drv.ms/1OchfXu


A good stress-test, when it's more complete, could be to try to render some demo scenes with accelerated RenderMan. I don't know the details on how to do this, but apparently you don't need a Pixar RenderMan license because the accelerated renderer is included with the ND. It's documented somewhere in some NeXTSTEP document.
Back to top
View user's profile Send private message
Rob Blessin Black Hole
Site Admin


Joined: 05 Sep 2006
Posts: 575
Location: Ft. Collins, Colorado

PostPosted: Sat Apr 16, 2016 12:40 am    Post subject: Re: NeXTdimension emulation on it's way Reply with quote

schubige wrote:
Happy new year! Good news from the Previous/NeXTdimension front. Together with Andreas I hacked a preliminary emulation of the NeXTdimension board, including the i860 as well as the various peripheral chips. While it runs pretty stable from NS 2.1 to OS 4.2, it still produces some pixel defects. Thus consider it as work in progress. But Andreas and I are both convinced that a full NeXTdimension emulation is within reach. Have a look at this screenshot: http://1drv.ms/1OchfXu
Where do I find this file?
_________________
Rob Blessin President computerpowwow ebay sales@blackholeinc.com http://www.blackholeinc.com
303-741-9998 Serving the NeXT Community since 2/9/93
Back to top
View user's profile Send private message Send e-mail Visit poster's website
schubige



Joined: 24 Jul 2015
Posts: 49
Location: Switzerland

PostPosted: Sun Apr 17, 2016 1:27 am    Post subject: Reply with quote

You find it here https://sourceforge.net/p/previous/code/HEAD/tree/branches/branch_realtime/src/ (dimension_eeprom.bin) along with the other NeXT ROM images.
Back to top
View user's profile Send private message
Rob Blessin Black Hole
Site Admin


Joined: 05 Sep 2006
Posts: 575
Location: Ft. Collins, Colorado

PostPosted: Mon Apr 18, 2016 3:21 am    Post subject: Reply with quote

schubige wrote:
You find it here https://sourceforge.net/p/previous/code/HEAD/tree/branches/branch_realtime/src/ (dimension_eeprom.bin) along with the other NeXT ROM images.


Thanks its working great, I uploaded the NeXT Dimension file here if anyone else needs it
http://www.nextcomputers.org/NeXTfiles/Software/ROM_Files/
_________________
Rob Blessin President computerpowwow ebay sales@blackholeinc.com http://www.blackholeinc.com
303-741-9998 Serving the NeXT Community since 2/9/93
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    NeXT Computers Forum Index -> NeXTdimension Board All times are GMT - 7 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
Jump to:  
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 vote in polls in this forum



Powered by phpBB © 2017 phpBB Group