PDA

View Full Version : Help in programming the 8088 (specifically the NEC V60)



ajcc
July 17th, 2012, 08:16 AM
Hi guys!

So in the last weekend my little brother got himself a Sharp PC-4500 portable computer. It's powered by a NEC V60 CPU and got two 720kB drives and a 80x25(?) monochrome LCD screen. That's it really, apart from a serial port and the keyboard.
We have managed to find a PC-DOS 3.2 diskette :), also tried MS-DOS 3.3 but that crashed, with the argument that illegal op codes had been used.

Anyway, I've been trying to help him source information om programming assembler on this puppy. But so far I've only managed to find 8086 specific tools and documentation. So, where does one go to learn about the 8088 and the XT way of things?

As always, take care guys!
(also, may the Forth be with you).

commodorejohn
July 17th, 2012, 08:40 AM
There's no difference between the 8088 and the 8086 from the software end; it's just a matter of data bus width. The only impact that has on programming is slowing down memory access. If you want to learn more about exactly how to optimize for 8088, Michael Abrash's Graphics Programming Black Book (http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/graphics-programming-black-book-r1698) contains his writings on optimization. Otherwise, 8086 docs will do perfectly fine.

ajcc
July 17th, 2012, 08:49 AM
Haha, well, this does explain a lot! :)
Thanks John!, now I can get on with this 8088 computing. Do I still need 8088 specific assemblers?

commodorejohn
July 17th, 2012, 08:53 AM
No, 8086 assemblers will do fine (again, no difference in software.)

Chuck(G)
July 17th, 2012, 09:07 AM
There should be no difference between 8086 and 8088 tools. They execute the same code--the only real difference is in how the bus interface unit (BIU) in each device operates. The 8088 does have a somewhat shorter prefetch length, but that shouldn't normally affect you.

The NEC V60 is an odd duck--32-bit with its own architecture (32 32 bit registers, 24-bit address space). In a PC, it would run in V20/V30 emulation mode. Are you sure that your 4500 (1987) uses one?

nestor
July 17th, 2012, 10:20 AM
I thought these machines had a V40 inside... are you sure it is a V60? The V40 should be 100% compatible wth V20 opcodes

Chuck(G)
July 17th, 2012, 10:38 AM
I thought these machines had a V40 inside... are you sure it is a V60? The V40 should be 100% compatible wth V20 opcodes

When the PC4500 came out, I don't think the V60 was in production.

sergey
July 17th, 2012, 11:45 AM
Haha, well, this does explain a lot! :)
Thanks John!, now I can get on with this 8088 computing. Do I still need 8088 specific assemblers?

I am wondering why DOS 3.3 crashes on your computer (if you are right about V60, perhaps something is wrong with its x86 emulation). As far as I know all DOS versions were compatible with 8088 and didn't use any instructions of newer CPUs. (HIMEM.SYS and EMM386.EXE used some CPU-specific instructions, but [a] you don't need these programs on a 640 KiB computer [b] they auto-detect CPU, and shouldn't try to execute unsupported instructions).

Any 16-bit/real mode x86 assembler will do: MASM, TASM (Turbo Assembler), NASM (not sure though if NASM can be run in 16-bit DOS environment, I used it for cross compiling from Linux, but it certainly produces nice 8088/8086 code). If you want you can also use higher level programming languages, such as C or Pascal (or Basic :-)). Borland's Turbo C and Turbo Pascal were very popular back in 80's and 90's. I also think that Turbo C is now available for free.

pearce_jj
July 17th, 2012, 11:36 PM
I am wondering why DOS 3.3 crashes on your computer

Could be In13h handler perhaps - see post 195 here (http://www.vintage-computer.com/vcforum/showthread.php?23875-8086-emulator-tech-discussion/page20&highlight=Fake86).

ajcc
July 18th, 2012, 02:44 AM
Sorry, it's was a NEC V40.
I'll do some NASM then, vintage programming software usually isn't any good unless you own the metric kilos of books they require. Along with articles from magazines about their quirks and such :P

Thanks guys for sorting this out :)