PORTCOMMODORE.COM / LARRYMADE.COM BLOG

Unique Record IDs

If you do a search for Unique Record IDs you will probably find several hits, as it is one of the common problems in data application design, many use a serial number or hashed random number with some check to verify that there is not other occurrence of the number in the table… But what if you have a system that will merge data from intermittently connected tables from different locations (aka a distributed/replicated database) What you want is each instance of the database to generate an ID unique enough from its peers so there is no conflicts when merging. WANDA's predecessor faced that challenge as it was written before we had LAN and then inter-office VPN connections.

I found also while merging diverse datasets I needed a method to track down problems in the system or data, so I merged in a fingerprint into the IDs. Which gives me an idea of who initiated and when data was created, this means I rolled into my ID a compact timestamp as well as a method of identification.

A couple limitations I had on creating my ID are, it can only contain letters (upper and lower case) and numbers, and be at maximum 15 characters in length.

I wanted to have a couple elements for unique identification as well as be able to handle several inserts in a second (a much earlier version had issues once the database was ran on faster hardware as well as the DB supplies unique ID function)

MY ID STRUCTURE

This is what I have now:

YYMDHMSCCZZZUUU

(Y=year, M=month, D=day, H=hour, M=Minute, S=Second, C=counter, Z=Zip, U=UserID)

The elements are encoded base 62 where the order is 0-9,A-Z,a-z

Year goes up to 3844, 0-12 for month is no problem, as well as day, hour, minutes, and seconds, the two digit count is to prevent collisions from rapid INSERTs (I really doubt my system would do anything that could max out the 3844 inserts in a second needed to trigger wrap around), the next two blocks are location and user IDs, zzz is an encoded 5 digit zip of an office, and the UID is a numeric user ID which allows for up to 238,328 users.

Another side benefit of this ID is a sortable time stamp w/ID, which I have employed as an authorization id for one table. For this purpose I have a decode function available to read the IDs.

As I mentioned in the previous post this could be used for a historical record ID, which a much finer resolution then the date I am employing now.

TIP

:!: In MYSQL VARCHAR and TEXT fields treat mixed case text as if it were all upercase (better for sorting names), to get distinct upper/lower case in searches you need to set your ID fields as VARBINARY fields which upon select will distinguish the upper and lower case letters.

Well thats it for IDs, I hope that gives you inspiration for creating unique IDs in your system. 8-)

~~LINKBACK~~ ~~DISCUSSION~~

2011/04/17 16:50

Mixed Bag Goodness

Here's some cool links to sites, and a couple videos, read on else you will truly be missing out.

FREE Dialup Intenet!

Did you know that Free Dial-Up Internet Access exists? At least in California, and a couple other states too, I've set up a couple friends with it. Its not fast (I'd buy DSL over it any day), it takes up your phone when you connect, but for many of us, it is free, and that what counts! You don't even need to create an account, any user name or password works.

Check it out: http://www.fastfreedialup.com/

Sorting: In Video!

Someone posted some AWESOME audio/visual representation of sort algorithms in action

Insert Sort, Bubble Sort, Selection Sort, Merge Sort, and Gnome Sort The second one is just Heap Sort

These represent six different methods some programs use to get data in order, like alphabetizing names, or addresses. There are many many sorting methods, some are designed to sort on a dataset like above, others are sort-as-you go type in that it indexes the data as you input it to always have a sorted version. For many programmers sorting is one of those technological puzzles, where you can gain notoriety by making a more effective sorting method then other have.

Watching these makes me think there must be a faster sort that can be easily done… and look even cooler… :-D

Techno-News & Entertainment Sites

Here are a few blog/news sites, I follow:

http://www.slashdot.org - Nerd News and Interest tidbits with lots of nerdy discussion following each article. Your mileage may vary on getting and useful information out of it, but it certainly will make the isolated nerd feel less alone in the tech world.

http://www.neatorama.com/ - One of the kitschy blogs on the Internet, never know what your going to see or read about, but usually it is quite interesting (Check out the NeatOGeek blog on the site too)

http://boingboing.net/ - Science fiction author Cory Doctorow's blog about Tech, Culture and News, similar to Neat-O-Rama with some political bits and other cool stuff (mainly posted by a crew of editors, but you do see Cory post stuff from time to time.)

http://makezine.com/ - The Make magazine blog. (nuff said, check it out!)

~~LINKBACK~~ ~~DISCUSSION~~

2011/04/17 16:49

Family (Record) Challenges

Doing database for a non-profit can require a higher level of detail on a family than most folk are used to. Here is some basics I have come across over the years, and I know there are even more detailed systems when you get into the education realm. Depending on what you are doing “famly” can mean different things. A lot of the mixing and matching is based on relationships in the family unit. And in those relationships members could be related to multiple families in different roles. So lets go on to my current family record structure. It is divided into 5 tables at the core, with additional depending on needs.

Family Structure

Adult

  • Adult Record ID
  • Name
  • ID (ssn/whatever)
  • Gender, Race, Birthdate, etc.
  • Phone(s)
  • Income
  • Adult Specific Eligibility Criteria

FamilyAdult

  • FamilyAdult Record ID
  • Adult Record ID
  • Family Record ID
  • Member (in family) (Primary, spouse, other)

Family

  • Family Record ID
  • Physical Address
  • Mailing Address
  • Income (any that is not specific to adult or child)
  • General Family Eligibility criteria

FamilyChild

  • FamilyChild Record ID
  • Family Record ID
  • Child Record ID
  • Child's Relation to Family (natural born/adopted, foster/guardian group 1, foster/guardian group 2, foster/guardian group 3, etc.)
  • Data specific to this child in this family

Child

  • Child Record ID
  • Name
  • ID (ssn, etc)
  • Gender, Race, birthdate, etc.
  • Income (Specific to the child)
  • Child Specific Eligibility Criteria

How It Fits Together

With this structure adults and children can exist in the database un-duplicated while also able to be members of multiple families (in the adult case it could be a father of children in two families, for a child, maybe the child of divorced parents with joint custody).

So when linking in data that always related to with the family member (i.e. work information) you would link to the Adult or Child; but if it is some specific service that is dependent on the family that they are a member of, you would link those to the FamilyAdult or FamilyChild records, where they will still identify the adult/child but only in relation to that family, not any others.

More Dimensions

There is yet another dimension already in this, some children can be a family in themselves - foster kids and guardianships. That is the purpose of foster/guardian groups in the relationship in FamilyChild. All related foster kids would have the same group number, if there is another foster child not related to the others, they would get another group number, etc. That way to can use that to determine the 'families of one' or more which comes up in some eligibility and reporting instances.

Dimension of Time

Starting out you may go with just the above, but as time proceeds relationships change, people marry, people die, or leave. So time can become another factor to the data. For the comprehensive data file I need, when records are updated the old data is retained and a new record is made. (I covered this a little in my entry about Table Field Naming Tips)

That's It For This One

Thats the basics, again not all applications need this detail and some may require much more - but if you haven't done such work, this will get you started in the right direction if you need to think of families and services related to them more.

~~LINKBACK~~ ~~DISCUSSION~~

2011/04/17 16:49

PORTCOMMODORE.COM / LARRYMADE.COM BLOG

Unique Record IDs

If you do a search for Unique Record IDs you will probably find several hits, as it is one of the common problems in data application design, many use a serial number or hashed random number with some check to verify that there is not other occurrence of the number in the table… But what if you have a system that will merge data from intermittently connected tables from different locations (aka a distributed/replicated database) What you want is each instance of the database to generate an ID unique enough from its peers so there is no conflicts when merging. WANDA's predecessor faced that challenge as it was written before we had LAN and then inter-office VPN connections.

I found also while merging diverse datasets I needed a method to track down problems in the system or data, so I merged in a fingerprint into the IDs. Which gives me an idea of who initiated and when data was created, this means I rolled into my ID a compact timestamp as well as a method of identification.

A couple limitations I had on creating my ID are, it can only contain letters (upper and lower case) and numbers, and be at maximum 15 characters in length.

I wanted to have a couple elements for unique identification as well as be able to handle several inserts in a second (a much earlier version had issues once the database was ran on faster hardware as well as the DB supplies unique ID function)

MY ID STRUCTURE

This is what I have now:

YYMDHMSCCZZZUUU

(Y=year, M=month, D=day, H=hour, M=Minute, S=Second, C=counter, Z=Zip, U=UserID)

The elements are encoded base 62 where the order is 0-9,A-Z,a-z

Year goes up to 3844, 0-12 for month is no problem, as well as day, hour, minutes, and seconds, the two digit count is to prevent collisions from rapid INSERTs (I really doubt my system would do anything that could max out the 3844 inserts in a second needed to trigger wrap around), the next two blocks are location and user IDs, zzz is an encoded 5 digit zip of an office, and the UID is a numeric user ID which allows for up to 238,328 users.

Another side benefit of this ID is a sortable time stamp w/ID, which I have employed as an authorization id for one table. For this purpose I have a decode function available to read the IDs.

As I mentioned in the previous post this could be used for a historical record ID, which a much finer resolution then the date I am employing now.

TIP

:!: In MYSQL VARCHAR and TEXT fields treat mixed case text as if it were all upercase (better for sorting names), to get distinct upper/lower case in searches you need to set your ID fields as VARBINARY fields which upon select will distinguish the upper and lower case letters.

Well thats it for IDs, I hope that gives you inspiration for creating unique IDs in your system. 8-)

~~LINKBACK~~ ~~DISCUSSION~~

2011/04/17 16:50

Mixed Bag Goodness

Here's some cool links to sites, and a couple videos, read on else you will truly be missing out.

FREE Dialup Intenet!

Did you know that Free Dial-Up Internet Access exists? At least in California, and a couple other states too, I've set up a couple friends with it. Its not fast (I'd buy DSL over it any day), it takes up your phone when you connect, but for many of us, it is free, and that what counts! You don't even need to create an account, any user name or password works.

Check it out: http://www.fastfreedialup.com/

Sorting: In Video!

Someone posted some AWESOME audio/visual representation of sort algorithms in action

Insert Sort, Bubble Sort, Selection Sort, Merge Sort, and Gnome Sort The second one is just Heap Sort

These represent six different methods some programs use to get data in order, like alphabetizing names, or addresses. There are many many sorting methods, some are designed to sort on a dataset like above, others are sort-as-you go type in that it indexes the data as you input it to always have a sorted version. For many programmers sorting is one of those technological puzzles, where you can gain notoriety by making a more effective sorting method then other have.

Watching these makes me think there must be a faster sort that can be easily done… and look even cooler… :-D

Techno-News & Entertainment Sites

Here are a few blog/news sites, I follow:

http://www.slashdot.org - Nerd News and Interest tidbits with lots of nerdy discussion following each article. Your mileage may vary on getting and useful information out of it, but it certainly will make the isolated nerd feel less alone in the tech world.

http://www.neatorama.com/ - One of the kitschy blogs on the Internet, never know what your going to see or read about, but usually it is quite interesting (Check out the NeatOGeek blog on the site too)

http://boingboing.net/ - Science fiction author Cory Doctorow's blog about Tech, Culture and News, similar to Neat-O-Rama with some political bits and other cool stuff (mainly posted by a crew of editors, but you do see Cory post stuff from time to time.)

http://makezine.com/ - The Make magazine blog. (nuff said, check it out!)

~~LINKBACK~~ ~~DISCUSSION~~

2011/04/17 16:49

Family (Record) Challenges

Doing database for a non-profit can require a higher level of detail on a family than most folk are used to. Here is some basics I have come across over the years, and I know there are even more detailed systems when you get into the education realm. Depending on what you are doing “famly” can mean different things. A lot of the mixing and matching is based on relationships in the family unit. And in those relationships members could be related to multiple families in different roles. So lets go on to my current family record structure. It is divided into 5 tables at the core, with additional depending on needs.

Family Structure

Adult

  • Adult Record ID
  • Name
  • ID (ssn/whatever)
  • Gender, Race, Birthdate, etc.
  • Phone(s)
  • Income
  • Adult Specific Eligibility Criteria

FamilyAdult

  • FamilyAdult Record ID
  • Adult Record ID
  • Family Record ID
  • Member (in family) (Primary, spouse, other)

Family

  • Family Record ID
  • Physical Address
  • Mailing Address
  • Income (any that is not specific to adult or child)
  • General Family Eligibility criteria

FamilyChild

  • FamilyChild Record ID
  • Family Record ID
  • Child Record ID
  • Child's Relation to Family (natural born/adopted, foster/guardian group 1, foster/guardian group 2, foster/guardian group 3, etc.)
  • Data specific to this child in this family

Child

  • Child Record ID
  • Name
  • ID (ssn, etc)
  • Gender, Race, birthdate, etc.
  • Income (Specific to the child)
  • Child Specific Eligibility Criteria

How It Fits Together

With this structure adults and children can exist in the database un-duplicated while also able to be members of multiple families (in the adult case it could be a father of children in two families, for a child, maybe the child of divorced parents with joint custody).

So when linking in data that always related to with the family member (i.e. work information) you would link to the Adult or Child; but if it is some specific service that is dependent on the family that they are a member of, you would link those to the FamilyAdult or FamilyChild records, where they will still identify the adult/child but only in relation to that family, not any others.

More Dimensions

There is yet another dimension already in this, some children can be a family in themselves - foster kids and guardianships. That is the purpose of foster/guardian groups in the relationship in FamilyChild. All related foster kids would have the same group number, if there is another foster child not related to the others, they would get another group number, etc. That way to can use that to determine the 'families of one' or more which comes up in some eligibility and reporting instances.

Dimension of Time

Starting out you may go with just the above, but as time proceeds relationships change, people marry, people die, or leave. So time can become another factor to the data. For the comprehensive data file I need, when records are updated the old data is retained and a new record is made. (I covered this a little in my entry about Table Field Naming Tips)

That's It For This One

Thats the basics, again not all applications need this detail and some may require much more - but if you haven't done such work, this will get you started in the right direction if you need to think of families and services related to them more.

~~LINKBACK~~ ~~DISCUSSION~~

2011/04/17 16:49

Commodore Cross-Platform Development

This is a great time to develop for the Commodore 64, not only is the original hardware readily available (even if you don't have it in your closet, you can find what you need on-line on eBay inexpensively.)

Besides the hardware there is great opportunity to develop programs for the old Commodores on the modern machines and give yourself a leg-up in speed and quality of code.

The Old Days

In the old days many of us can go on about how we had to hand-code much of our programs first on paper and then typing it into the machine. I myself before I got a monitor for the VIC-20 had to hand assemble my object code on paper calculating out jump and branch addresses, writing a POKE loop to get the program in memory to test, etc.

Also with the limited space of the Commodore space was a major consideration, sometimes using two letter variables or too many strings could lead to whether the program worked right or not. Saving a few bytes here and there was a big deal.

Then there was the long runs of fanfold stock you printed out your code so you could get a look at the code and do commenting and indications that weren't possible with the limited memory (and screen space) inside the computer.

Lastly file management was way different back then whether it was disk or tape (but disk was better) you had limitations on naming files. and with disks keeping code revisions organized always posed a challenge as time wore on.

Today – Good to be a Programmer

Today it's good to be a programmer, with the popular open-source movement programming has returned to the home desktop, the tools are better and the hardware that runs them was unimagined back in the day.

Files names and directory structures allow us to keep projects together.

On the commodore, there has been advances along with the rest of the cutting edge systems. Today you can purchase several Commodore Flash based storage drives. There are several Ethernet adapters for the old commodore as well as different methods for transferring data via the Internet.

As there are many die-hard commodore fans which have graduated to bigger machines they have developed tools that allow us to develop commodore software using the luxurious development platforms of the Modern computer.

This include software emulators like, VICE, which can emulate Commodores from the KIM to the unreleased Commodore 65. Many of these emulator also include integrated development and debugging tools you could only dream of being possible on the original 8-bits.

For the more high-end developers there are text editors with their massive file size and features such as search/replace, syntax highlighting, etc. When it comes time for assembly of your 6502 source there are some cross-assemblers that you can use to do the job, these have no limits on file size or label description names or comments.

If you are working on a large project you can also employ Integrated development environments which include editors, assemblers, and file managers. Also not to forget the new revision control systems out there so you can keep track of and distribute your project to other fellow developers over the Internet.

and all of this can be done from even the smallest of net books, no more lugging around computers, monitors, drives, and power strips to have a development system on the go.

Some Hardware & Software

What makes it easy in these modern times is the availability of better cross-platform friendly storage and communication devices for the commodore 64 and 128. Some of the more notable ones include:

uIEC Flash Drive, 1541 Ultimate, etc.

These are essentially 1541 compatible drives for the Commodore that use flash memory for storage, and with the current generation many store their files in standard DOS format on the drive while still maintaining Commodore accessibility.

The uIEC is great for low cost solution and for added compatibility the 1541 ultimate is excellent to retain the full compatibility of the original 1541 software.

X-1541 Cables

If you don't have the cash for the flash compatible drives, some ingenious folk have developed the X-1541 interface cables and adapters that can be built or purchased quite inexpensively.

Ethernet Adapters

The modem days for even the Commodore are coming to a close with the development of a handful of Ethernet solutions to link commodore 8-bits and together and to web and other servers as well. With the introduction of the Commodore Server, I would think 8-bit development in the cloud (via the Internet) is not too far away.

Here are some of the current Ethernet cartridges available for the Commodore

Web Resources

The reference shelf has also followed the Commodore on-line, most of the die-hard standard Commodore references are on-line as well many more you may never have known existed.

Many Books On-Line
  • DLH's Commodore Archive http://www.bombjack.org/commodore/ - truly an exhaustive compilation of books, magazines and other Commodore material covering most of the Commodore 8-bit line as well as the Amiga.
  • Atari Archives http://www.atariarchives.org/ – not entirely Commodore the atari Archives does hold many reosurces pertaining to the 6502 including many books (including my favorite BASIC games books)
  • The Complete Commodore Innerspace Anthology http://www.zimmers.net/anonftp/pub/cbm/manuals/anthology/200/index.html - when it was published it was quite complete, over the years there is more commodores, but the book is one of the authoritative references for memory maps and connector pinouts.
  • Transactor http://www.zimmers.net/anonftp/pub/cbm/magazines/transactor/200/index.html - The Transactor was the programmer publication for the Commodore 8-bits, it was probably the most serious programming magazine published for the Commodore 8-bits. Many of the issues are at the zimmers.net archive.
  • Commodore Hacking http://www.ffd2.com/fridge/chacking/ - Taking off where Tranasctor left off is the e-Zine Commodore Hacking, presented in text file format covered many interesting topics such as how to do the video/audio tricks for the modern demoscene programs.
  • Commodore Free Magazine - http://www.commodorefree.com/ A more modern e-zine published in a variety of fromats from Commodore text to full-color PDF. While not always programming oriented, it does cover a lot of the recent developments in the Commodore 8-bit community.
Commodore Cross Platform Tools
  • VICE Emulator http://www.viceteam.org/ - Here is one of the most popular and complete Commodore 8-bit emulators, maintained as a free open-source software project, and is able to run on most modern computers.
  • Power 64/Power 20 http://www.infinite-loop.at/ - a commercial mac based emulator for the Commodore 64 and 128, which incorporates a lot of Mac's GUI goodness into the controls and preferences making it a breeze to work with.
  • Multiple Emulator Super System http://www.mess.org/ - MESS has been notable for producing emulations of Commodore models before vice, but years ago I found it a bit unpolished, then again with time comes fixes and improvements so folk may have better results with it now.
  • XA (XA65) http://www.floodgap.com/retrotech/xa/ - XA is a 6502/65816 cross assembler for Linux based computers
  • CC65 http://www.cc65.org/ - is a macro cross assembler/ as well as a Commodore/6502 8-bit C complier which works on Linux and Windows based systems.
  • Commodore Server http://www.commodoreserver.com/ - This is a community as well as a cross-platform tool, the Commodore Server along with the right hardware give the Commodore 64 unprecedented access to the internet. From files management to on-line tools for the Commodore fan.
  • There are many more Open Source & Abandon-ware revival projects - a couple are actually here.
Commodore On-Line Communities

There are now many groups, but I'll post a couple that I can think off off the top of my head…

~~LINKBACK~~ ~~DISCUSSION~~

2011/04/17 16:49
2011/04/17 16:49

Commodore Cross-Platform Development

This is a great time to develop for the Commodore 64, not only is the original hardware readily available (even if you don't have it in your closet, you can find what you need on-line on eBay inexpensively.)

Besides the hardware there is great opportunity to develop programs for the old Commodores on the modern machines and give yourself a leg-up in speed and quality of code.

The Old Days

In the old days many of us can go on about how we had to hand-code much of our programs first on paper and then typing it into the machine. I myself before I got a monitor for the VIC-20 had to hand assemble my object code on paper calculating out jump and branch addresses, writing a POKE loop to get the program in memory to test, etc.

Also with the limited space of the Commodore space was a major consideration, sometimes using two letter variables or too many strings could lead to whether the program worked right or not. Saving a few bytes here and there was a big deal.

Then there was the long runs of fanfold stock you printed out your code so you could get a look at the code and do commenting and indications that weren't possible with the limited memory (and screen space) inside the computer.

Lastly file management was way different back then whether it was disk or tape (but disk was better) you had limitations on naming files. and with disks keeping code revisions organized always posed a challenge as time wore on.

Today – Good to be a Programmer

Today it's good to be a programmer, with the popular open-source movement programming has returned to the home desktop, the tools are better and the hardware that runs them was unimagined back in the day.

Files names and directory structures allow us to keep projects together.

On the commodore, there has been advances along with the rest of the cutting edge systems. Today you can purchase several Commodore Flash based storage drives. There are several Ethernet adapters for the old commodore as well as different methods for transferring data via the Internet.

As there are many die-hard commodore fans which have graduated to bigger machines they have developed tools that allow us to develop commodore software using the luxurious development platforms of the Modern computer.

This include software emulators like, VICE, which can emulate Commodores from the KIM to the unreleased Commodore 65. Many of these emulator also include integrated development and debugging tools you could only dream of being possible on the original 8-bits.

For the more high-end developers there are text editors with their massive file size and features such as search/replace, syntax highlighting, etc. When it comes time for assembly of your 6502 source there are some cross-assemblers that you can use to do the job, these have no limits on file size or label description names or comments.

If you are working on a large project you can also employ Integrated development environments which include editors, assemblers, and file managers. Also not to forget the new revision control systems out there so you can keep track of and distribute your project to other fellow developers over the Internet.

and all of this can be done from even the smallest of net books, no more lugging around computers, monitors, drives, and power strips to have a development system on the go.

Some Hardware & Software

What makes it easy in these modern times is the availability of better cross-platform friendly storage and communication devices for the commodore 64 and 128. Some of the more notable ones include:

uIEC Flash Drive, 1541 Ultimate, etc.

These are essentially 1541 compatible drives for the Commodore that use flash memory for storage, and with the current generation many store their files in standard DOS format on the drive while still maintaining Commodore accessibility.

The uIEC is great for low cost solution and for added compatibility the 1541 ultimate is excellent to retain the full compatibility of the original 1541 software.

X-1541 Cables

If you don't have the cash for the flash compatible drives, some ingenious folk have developed the X-1541 interface cables and adapters that can be built or purchased quite inexpensively.

Ethernet Adapters

The modem days for even the Commodore are coming to a close with the development of a handful of Ethernet solutions to link commodore 8-bits and together and to web and other servers as well. With the introduction of the Commodore Server, I would think 8-bit development in the cloud (via the Internet) is not too far away.

Here are some of the current Ethernet cartridges available for the Commodore

Web Resources

The reference shelf has also followed the Commodore on-line, most of the die-hard standard Commodore references are on-line as well many more you may never have known existed.

Many Books On-Line
  • DLH's Commodore Archive http://www.bombjack.org/commodore/ - truly an exhaustive compilation of books, magazines and other Commodore material covering most of the Commodore 8-bit line as well as the Amiga.
  • Atari Archives http://www.atariarchives.org/ – not entirely Commodore the atari Archives does hold many reosurces pertaining to the 6502 including many books (including my favorite BASIC games books)
  • The Complete Commodore Innerspace Anthology http://www.zimmers.net/anonftp/pub/cbm/manuals/anthology/200/index.html - when it was published it was quite complete, over the years there is more commodores, but the book is one of the authoritative references for memory maps and connector pinouts.
  • Transactor http://www.zimmers.net/anonftp/pub/cbm/magazines/transactor/200/index.html - The Transactor was the programmer publication for the Commodore 8-bits, it was probably the most serious programming magazine published for the Commodore 8-bits. Many of the issues are at the zimmers.net archive.
  • Commodore Hacking http://www.ffd2.com/fridge/chacking/ - Taking off where Tranasctor left off is the e-Zine Commodore Hacking, presented in text file format covered many interesting topics such as how to do the video/audio tricks for the modern demoscene programs.
  • Commodore Free Magazine - http://www.commodorefree.com/ A more modern e-zine published in a variety of fromats from Commodore text to full-color PDF. While not always programming oriented, it does cover a lot of the recent developments in the Commodore 8-bit community.
Commodore Cross Platform Tools
  • VICE Emulator http://www.viceteam.org/ - Here is one of the most popular and complete Commodore 8-bit emulators, maintained as a free open-source software project, and is able to run on most modern computers.
  • Power 64/Power 20 http://www.infinite-loop.at/ - a commercial mac based emulator for the Commodore 64 and 128, which incorporates a lot of Mac's GUI goodness into the controls and preferences making it a breeze to work with.
  • Multiple Emulator Super System http://www.mess.org/ - MESS has been notable for producing emulations of Commodore models before vice, but years ago I found it a bit unpolished, then again with time comes fixes and improvements so folk may have better results with it now.
  • XA (XA65) http://www.floodgap.com/retrotech/xa/ - XA is a 6502/65816 cross assembler for Linux based computers
  • CC65 http://www.cc65.org/ - is a macro cross assembler/ as well as a Commodore/6502 8-bit C complier which works on Linux and Windows based systems.
  • Commodore Server http://www.commodoreserver.com/ - This is a community as well as a cross-platform tool, the Commodore Server along with the right hardware give the Commodore 64 unprecedented access to the internet. From files management to on-line tools for the Commodore fan.
  • There are many more Open Source & Abandon-ware revival projects - a couple are actually here.
Commodore On-Line Communities

There are now many groups, but I'll post a couple that I can think off off the top of my head…

~~LINKBACK~~ ~~DISCUSSION~~

2011/04/17 16:49
Last modified:: 2020/11/22 08:33
   
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International