开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

Re: A Z80 Asm rec

 

Oddly the Zip files I found none had a manual...??
Then again I was looking for a TXT or DOC and it was HTML..
Oddly neither Herbs note or the HTML explain why H(val) or
HIGH (VAL) does not behave as they are documented.

As a result I'll do the mask and shift as that was easy to implement and
compatible with assemblers on the CP/M systems and under MyZ80 sim. I
do that as my collection of CP/M machines is both large and frequently in
use.? Code portability is fairly important to me as I'm supporting
8080/8085/z80/Z180/Z280 systems and CP/M 1.4 though CPM3(cpm+).
Of course I don't expect the 8080/8085 machines to run Z80 code but
producing using suitable assembler is something I have done before.

This takes me back to the early 80s when, if the floppy format (or size)
wasn't the issue, the text and assembler formats were.? CP/M in 1980
suffered from?portability issues.? Back then Z80 source could be in not
less than 4 formats extended 8080(intel) style opcodes, TDL opcodes
that were Intel 8080 like but different, Zilogs' manual, and?at least
three Z80 assemblers that all varied for syntax and pseudo ops.

So all this makes sense as to purpose the original plan was build
a generic BIOS without any FAT filesystem for uSD, based on
your work for the uSD handler and the Z80MC as the foundation to
side step hardware build.??Its also pretty slick Z80 build as it allows
for banked lower memory and three IO.??

The target is to modify one of my three Epson PX-8s with uSD as mass storage
to replace and be both larger and faster storage than the slow microcassette
that had failed in that one.? I've done it with CF but that is a bit more complex
hardware, larger, and uses more power.? ?The upside is the way to "install"
the device code in the software (BIOS) as transient (not part of the cold boot
image) was well developed by others and simple to implement.


Allison


Re: A Z80 Asm rec

 

Need to find out how ASMZ80 does it.? Perhaps you will need to mask the address and shift it?

LD L, LED_DISPLAY_SB & 0xFF
LD H, HIGH_SCAN_PTR >> 8

Need to read the ASMZ80 manual to see how they handle it.



On Friday, December 29, 2023 at 06:44:30 p.m. EST, ajparent1/kb1gmx <kb1gmx@...> wrote:


I thought I had the assembler used...

ASMZ80? does not digest the following:

? LD? L,LOW LED_DISPLAY_SB? ;Restart Pointer to Secondary Buffer
? LD ? ? ? ? H,HIGH SCAN_PTR
? OR? ? ? ? LOW LED_DISPLAY

Best guess is it extracts the LOW or HIGH byte of the address of that variable or the 16 bit variable.

Any other ways around this??


Allison


Re: A Z80 Asm rec

 

Never mind...? Even if the cross assembler were right I'd still have to heavily edit
the code for a CP/M native assembler.

I'd briefly considered feeding the ZASMV20 to BDS C compiler but it was
unlikely it would not fit in memory with enough working space.


Allison


Re: A Z80 Asm rec

 

I thought I had the assembler used...

ASMZ80? does not digest the following:

? LD? L,LOW LED_DISPLAY_SB? ;Restart Pointer to Secondary Buffer
? LD ? ? ? ? H,HIGH SCAN_PTR
? OR? ? ? ? LOW LED_DISPLAY

Best guess is it extracts the LOW or HIGH byte of the address of that variable or the 16 bit variable.

Any other ways around this??


Allison


Re: Z80 1st boot (wooot!)

 

Just a note there were versions of CP/M late in the game for Z8000 and 68000
that were the basic system written in C.? It turns out the 68K? had a instruction
set remarkably close to PDP11 and VAX which was the extension of the
PDP-11 16 bit CISC instruction set to 32bit.? The Z8000 a 16bit machine was
also closer to PDP-11 than Z80.

The cross compiler for those versions ran on DRCs VAX 11/750.?

Sources for asm and C versions are on line at Gaby's site.


Its familiar to me as I helped Tim create the the early compilations
back then mostly asm code and some PLM.

Allison


Re: Z80 1st boot (wooot!)

 

>>I would guess that if ever CP/M could run on a VAX, it would be an emulation. <<

A way late coooment as I didn't see it then...
I was a digit, aka DEC employee and lived in the central engineering world.
I got to see a lot of really cool stuff.

It was available three ways:

+Using the SIMH CPU/system emulator.
+There was a third party board that plugged into a VAX backplane and provide direct execution
?on z80 and the VMS OS provided disk and terminal IO services..
+ and some crazy guy used the CP/M 68K sources that were written in C and made a version
?that booted natively on a VMX (microVAX 3100) He was a member of the NETBSD on VAX?
?development team.

+ Actually there was also a version using the 68K C code that ran as a user application.
? It required VMS as it was a user application rather than booting on the base sysytem.



Another SBC And...

 
Edited

years (many) I built a xz80 machine around the Z80/dart/CTC/eprom and ram
and as a change up for early 80s 1982 end of year to be precise...?
BM? bubble memory actually magnetic bubble memory.? I was lucky
enough to get two BPK7720 bubble memory boards each doing 128Kbyes.
Cost was about the same as a 5.25" floppy drive.? ?The Intel part with
supporting ICs was 1980s tech not in existance in the 70s.? TI had the
magnetics part earlier but the supporting ICs so it took a lot to make
their part work and it first appear as local memory in the Silent 700
series as?replacement for ASR33 TTY.? The later 745 had a
bubble memory for local storage for later transmission.

What brought that to mind is Scott Bakers revisit...


I still have the system I built up, and its operational.? All three boards
two BMC (256KB storage) and Z80SBC.? The downside for BM system
was high power drain when active and it wasn't very fast compared to
an average floppy.? It did run CP/M-V2.2.? IT highlighted the problem
of CP/M, floppy sized disks are too small.? To save as much of the
BM for storage the whole monitor, OS, and Bios was loaded into
the first 16K (27128) part available then rather than loaded from disk.

Building physically small systems that are high performing at the
single board level has been a long time thing.? The things that made
Z80MC and similar possible was larger rams?(32k bytes and larger),
large Eproms, and enough integration of IO (Z80 dart/SIO) to cut
the parts count to very few mostly glue parts.

The addition of uSD makes for smaller but lots of storage, CMOS?
parts like Z80, SIO, and other parts in the early 80s made
battery power a practical enterprise.


Allsion


Re: A Z80 Asm rec

 

I'm running it on X64 linux using dosbox.? A Dell I5 5440 and linux on it is
Mint 21.3 64bit.

FYI got amsx to run...? it was far to dumb.? I really didn't expect it to be that simple!
The Zip had an .exe file and I'd been reading all the text about building it.? Turns
out asmx.exe is directly executable .? ?So all I needed to do was put it in a
convenient directory and CD to it and type the required incantation:

$asmx -C z80 -Llistfile.prn zmcV15?

Now assembles clean.?


Bed time...my head hurts.

Allison


Re: A Z80 Asm rec

 

开云体育

MyZ80 is an excellent emulator. I wish the code existed somewhere — I’d love to port it for x64.?

Rich?

http://cini.classiccmp.org/
Long Island S100 User’s Group

Get for iOS


From: [email protected] <[email protected]> on behalf of ajparent1/kb1gmx <kb1gmx@...>
Sent: Saturday, December 23, 2023 10:19:41 PM
To: [email protected] <[email protected]>
Subject: Re: [Z80MC] A Z80 Asm rec
?
Hi Rich,

Been doing asm code since my first Altair...
TASM I have it.? Good assembler.

Its one of the dozen on the AMproLB+, S100 crates (both compupro and NS* horizon chassis),
Kaypro4/84, and YAZBC )(yet another Z80 single board computer).

For Z80 I generally develop on MyZ80 CP/M emulator on PCs rather than directly
cross platform.? The emulator provides a fully valid and well tested z80 and
CP/M environment.? By tested I've used it for over 20 years.

What am I trying to do... simplify the uSD interface (software) for performance and as
an abstracted block device for OS experiments other than CP/M.? Over all a different
approach so that the Z80MC teamed with a portable terminal emulation (not A PC)
to make a portable system with enough performance to assemble CP/M itself.

The whole of asmx2.x has been not getting it to behave (run/Install) on Linux PC.
No success so far and it would be nice to have a very fast assembler that is
was used for ZMCv15.? Its proven to be very frustrating, unusually so.


Allison


Re: A Z80 Asm rec

 

Hi Rich,

Been doing asm code since my first Altair...
TASM I have it.? Good assembler.

Its one of the dozen on the AMproLB+, S100 crates (both compupro and NS* horizon chassis),
Kaypro4/84, and YAZBC )(yet another Z80 single board computer).

For Z80 I generally develop on MyZ80 CP/M emulator on PCs rather than directly
cross platform.? The emulator provides a fully valid and well tested z80 and
CP/M environment.? By tested I've used it for over 20 years.

What am I trying to do... simplify the uSD interface (software) for performance and as
an abstracted block device for OS experiments other than CP/M.? Over all a different
approach so that the Z80MC teamed with a portable terminal emulation (not A PC)
to make a portable system with enough performance to assemble CP/M itself.

The whole of asmx2.x has been not getting it to behave (run/Install) on Linux PC.
No success so far and it would be nice to have a very fast assembler that is
was used for ZMCv15.? Its proven to be very frustrating, unusually so.


Allison


Re: A Z80 Asm rec

 

One of the assemblers I saw mentioned above is one I particularly like: TASM. Multi-target, multiple host versions (DOS, Win32, Win64). It has been my go-to for over 20 years, although I've used a bunch of others, mostly because I don't want to re-write the original source to fix syntax, etc. Beyond that, I use NASM, MASM, various gcc compilers for different projects. Obviously some are more flexible than others and/or have different features needed for a specific purpose. For one project, I had to even dip into an original ASM from Seattle Computer because it had a unique encoding method that was needed for a specific recreation project.

Rich Cini


Re: A Z80 Asm rec

 

Josh,

7400 lines for ZMCV15 according to my editor.
The only assembler under CP/M Z80asm (SLR) that wasn't 1005 fail found 3880 lines
with syntax or opcode errors.? The other was Z80MR and it was really unhappy with
the format.? ?ZASMC (cromemco) assembler didn't like the format.? Line ends
incomparable even after passing through FIXCRLF.? Most interesting error message
was "Line 5 trash after CR"? nothing visible to linux editor or Vteco on CP/M system.

ASMX is a path of frustration.?

It may be an easier path to my goal to start from scratch.? I was hoping to mod ZMCv15
for my uses.

Allison


Re: A Z80 Asm rec

 

Bruce Tomlin is the author of ASMX. Herb modified the code a tad and that's what he has on his web site. Someone is hosting a GITHUB repository that also has Bruce's latest version 2.0b5, which is what I am running to assemble Josh's Z80 monitor V1.5.?. This is source code for Linux.

Peace and blessings,
JQ


Re: A Z80 Asm rec

 

I don't think there's more than 5,000 lines of code... so this is nearly 1 error per line.
That translates to about 100 errors that will need to be search and replaced... that's quite a bit of work
Don't you have some old PC somewhere running Windows XP or 7?? You can buy an old computer from ebay for $100 and save yourself a lot of time.



On Saturday, December 23, 2023 at 05:44:57 p.m. EST, ajparent1/kb1gmx <kb1gmx@...> wrote:


Fed the file to Z80ASM...

Only 3388 errors found.


Re: A Z80 Asm rec

 

开云体育

Heh... I got 7788 errors with zmac...

I tried building asmx2.0b5 on a Raspberry Pi but it failed with this:

cc -Wall -O2 -DVERSION=\"2.0b5\"? -march=amdfam10 -c -o asmx.o asmx.c
cc: error: unrecognized -march target: amdfam10

I have no idea where that -march option came from, it doesn't seem to be in the Makefile.? Again, it builds fine on Slackware and LM 17.3.


On 12/23/23 17:44, ajparent1/kb1gmx wrote:

Fed the file to Z80ASM...

Only 3388 errors found.


Re: A Z80 Asm rec

 

Fed the file to Z80ASM...

Only 3388 errors found.


Re: A Z80 Asm rec

 

A few hours using Vteco will likely get me there.

Takes me back to the early 80s... complete with the frustrations.
?
Its why the S100 crate has 12 different assemblers for Z80 along?
never minding thse that work for 8080/8085 and the TDL
mnemonics for Z80.

Plan B was tried.? My Mintbox Mint 18.3 spat up, the Ubuntu 9.04
had library issues.? Ubnuntu version 12.04, 16.04 under VMware
on my Macbook (2008 32bit intel) had issues with the ASMX code.

Code portability is still an issue nearly 45 years later.



Allison


Re: A Z80 Asm rec

 

HINT: its Mint 21.

A list of errors longer than my arm.? (over 100 lines!).
That was a make from the source directory, make install is meaningless to my system as "install"?
gets a "no rule or target , Stop"

My history with getting things like that is either thee explanation misses detail or
its well documented and greater than 4 system versions old or a list of things to
install also out of date.

One of the things is Linux distributions tend to change what's there or even
deprecate stuff while we are not looking.? Best example was an explanation
"This will work on any unix or linux system."? So I fired up Unix V6 on my
pdp11 and also tried it under 2.11BSD as well as Ubuntu 9.04 and it all
failed.? The answer was incorrect and very version specific.

Keeping in mind to assemble the code the time spent on this so far has been a? hard
road block or edit and try to make comparable to assemblers I use 7500 lines of text.

Allison


Re: A Z80 Asm rec

 

开云体育

I compiled asmx from Herb's site on my Mint 17.3 machine with no problems, and it assembled zmc15 just fine.? What happens when you try to build it on Mint 21?

-Bob

On 12/22/23 20:17, ajparent1/kb1gmx wrote:

I haven't run Slackware since '98.
I'm running Mint 21 cinnamon...

Meantime in CP/M world on real hardware....?
I'm tried a dozen Z80 assemblers, least that what on the AmproLB+.

The only thing more diverse than assembler formats is disk formats of the day.


Allison


Re: A Z80 Asm rec

 

I'm sure it's still Z80 code.? Once you figure out the other directives, any good editor with search and replace should fix it up quickly.

Plan B.? Get a PC that runs ASM20




On Friday, December 22, 2023 at 04:54:29 p.m. EST, ajparent1/kb1gmx <kb1gmx@...> wrote:


I'm trying to assemble ZMCV15....

ASMZ80 V20 can't get it to? run under Linux Mint and its format is?
sufficient different that most of the Z80 assembler I run under the
emulator (MyZ80) all find strange.? The path to reassembling it is
a serious edit, unfun.

Thoughts?

Allison