6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 3:27 am

All times are UTC




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: Some 65C816 software
PostPosted: Mon May 22, 2017 10:24 pm 
Offline

Joined: Mon Jun 24, 2013 8:18 am
Posts: 83
Location: Italy
Hello to everyone,
i'm in develop phase of o.s. and utilities for my home-microcomputer 65C816-based and i want share with friends here my work (of course is really a "work in progress"):

Attachment:
B16_LAST.zip [1.65 MiB]
Downloaded 91 times


In this archive all sources are inside directories named : SRC/F8, SRC/F9, SRC/FA...SRC/FF (these strangers named because any section occupy a 64 bank from F80000 to FFFFFF in 16 Mb space). In INC directory live includes files, in LST directory are the listing generated from the assembler.

The start routine is in F8/start.asm and F8/reset.asm. F8/vdc.asm contain the video routines, F8/vprint.asm implement C-like function sprintf() while F8/ata,asm and F8/fdc.asm implement ata and floppy disk routines.

In F9 live some starting sources in an attempt to implement a FAT file system, while F9/fscbm.asm implement a nearly full commodore 1581 file system (no relative files).

Directory FA should be devoted to some library functions: at this time a C-like function getopt() (for get command line options: getopt.asm) and some string functions (string.asm) with a way to pass parameters on stack and clean stack when function exit.

In FD directory just one source: qedt.asm, that implement a full screen text editor multiwindow that can use all memory addressed by cpu. This source was adapted by the old Power-C text editor for the commodore 128, but memory is not limited just to 64k (i used a 16 bit link in any block of 256 bytes instead of an 8 bit link). It need to access directly the video ram.

In FE directory i have implemented a pascal compiler adapted from the old "Oxford Pascal Compiler for C64": for this reason some kernal C64 function was emulated (look at kcbm.asm and float.asm): in main.asm a first attempt to implement the basic editor, while pcode.asm implement the pascal interpreter, pcerr.asm error messages, pcstd.asm some standard names used by pascal.

FF directory contain the (incomplete) monitor with assembler/disassembler (masmx.asm) that can assemble/disassemble code for 6502, 65C02 and of course 65C816 (syntax very near to syntax of C128 monitor).

Much code is commented, some parts are commented in italian, some part are a bit confused or not clear, but as told is a work in progress.

Marco

_________________
http://65xx.unet.bz/ - Hardware & Software 65XX family


Top
 Profile  
Reply with quote  
 Post subject: Re: Some 65C816 software
PostPosted: Mon May 22, 2017 11:31 pm 
Offline
User avatar

Joined: Wed Mar 01, 2017 8:54 pm
Posts: 660
Location: North-Germany
Hi Marco,

this is quite a lot of work you have already put together - respect :)

As I am not familiar with Commodore machines - I just know some names - it would be helpful for me (and perhaps others) to have an abstract about the hardware you are using or planning to use for all your work.

TY
Arne


Top
 Profile  
Reply with quote  
 Post subject: Re: Some 65C816 software
PostPosted: Mon May 22, 2017 11:55 pm 
Offline

Joined: Mon Jun 24, 2013 8:18 am
Posts: 83
Location: Italy
GaBuZoMeu wrote:
Hi Marco,

this is quite a lot of work you have already put together - respect :)

As I am not familiar with Commodore machines - I just know some names - it would be helpful for me (and perhaps others) to have an abstract about the hardware you are using or planning to use for all your work.

TY
Arne


Hi Arne,
here the description of the hardware where run the submitted software:

http://65xx.unet.bz/

My reference to commodore machine was just because some software is adapted from old software for commodore machine (after disassembling, study, re-coding for 65C816).

_________________
http://65xx.unet.bz/ - Hardware & Software 65XX family


Top
 Profile  
Reply with quote  
 Post subject: Re: Some 65C816 software
PostPosted: Tue May 23, 2017 5:16 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Thanks for sharing Marco! That's a serious amount of code, for the 65816 too - and a serious computer underneath.


Top
 Profile  
Reply with quote  
 Post subject: Re: Some 65C816 software
PostPosted: Thu May 25, 2017 8:31 pm 
Offline
User avatar

Joined: Sun Dec 29, 2002 8:56 pm
Posts: 460
Location: Canada
Thanks Marco, I'm going to try porting some of it over to my '816 compatible machine. But I used the $Fxxxxx range for I/O (video, audio buffers). It should be interesting. I may move the code to $Exxxxx address range.

I noticed there's a lot of branches to "?target" where the question mark is the first character. Is the '?' a legal character for a symbol or does it serve some other function ?
What assembler is in use ?

_________________
http://www.finitron.ca


Top
 Profile  
Reply with quote  
 Post subject: Re: Some 65C816 software
PostPosted: Thu May 25, 2017 10:51 pm 
Offline

Joined: Mon Jun 24, 2013 8:18 am
Posts: 83
Location: Italy
Rob Finch wrote:
Thanks Marco, I'm going to try porting some of it over to my '816 compatible machine. But I used the $Fxxxxx range for I/O (video, audio buffers). It should be interesting. I may move the code to $Exxxxx address range.

I noticed there's a lot of branches to "?target" where the question mark is the first character. Is the '?' a legal character for a symbol or does it serve some other function ?
What assembler is in use ?


I use the 2500AD assembler from avocet. The label beginning with '?' are local label, visible just between 2 global labels.
I used range $00FC00-$00FDFF for I/O

_________________
http://65xx.unet.bz/ - Hardware & Software 65XX family


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 28 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:  
cron