Skip to content

Commit

Permalink
First Release
Browse files Browse the repository at this point in the history
  • Loading branch information
Paul Robson committed Nov 24, 2023
1 parent 1b94cce commit 211eb76
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 6 deletions.
30 changes: 30 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# ***************************************************************************************
# ***************************************************************************************
#
# Name : Makefile
# Author : Paul Robson ([email protected])
# Date : 20th November 2023
# Reviewed : No
# Purpose : Main firmware makefile, most of the work is done by CMake.
#
# ***************************************************************************************
# ***************************************************************************************

ifeq ($(OS),Windows_NT)
include documents\common.make
else
include documents/common.make
endif

BINARY = firmware
RELEASEFILE = neo6502.zip

DOCDIR = documents$(S)release$(S)

DOCUMENTS = $(DOCDIR)*.pdf $(DOCDIR)*.txt $(BINDIR)neo6502.inc
BINARIES = $(BINDIR)firmware.uf2 $(BINDIR)firmware.elf

all:
zip -r -j release$(S)$(RELEASEFILE) $(DOCUMENTS) $(BINARIES)
always:

1 change: 0 additions & 1 deletion documents/TODO
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ TODO List
---------

Pre Release Alpha 0.001
- FORTH and update README.TXT
- It can go out to people to play with.

- Change graphics call.
Expand Down
11 changes: 8 additions & 3 deletions documents/release/README.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
Release Notes
-------------

This is an initial testing/tinkering release. You can't do much with it. It has WozMon and Apple 1 Integer BASIC in, the latter being started
by E000R in WozMon.
This is an initial testing/tinkering release. You can't do much with it.

It has WozMon Fig-Forth and Apple 1 Integer BASIC built in.

FORTH is started with 400R, BASIC with E000R

File save/load doesn't exist on either.

Note : WozMon works the same, but the address vectors are different. See the API Documentation. So the example printing programs won't
work.
Expand All @@ -18,5 +23,5 @@ All suggestions are welcome.

Paul Robson.
[email protected]
23 Nov 2023
24 Nov 2023

Binary file added documents/release/forth-79.pdf
Binary file not shown.
6 changes: 5 additions & 1 deletion firmware/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,23 @@ kernel: always
make -C ..$(S)kernel
$(CCOPY) $(BINDIR)kernel_binary.h include$(S)data
$(CCOPY) $(BINDIR)kernel_a1basic.h include$(S)data
$(CCOPY) $(BINDIR)kernel_figforth.h include$(S)data
$(TOUCH) sources$(S)memory.c*

rebuild: clean build

build: kernel always
python scripts$(S)prompt.py >include$(S)data$(S)prompt.h
make -C build
$(CCOPY) build$(S)sources$(S)$(BINARY).elf .
$(CCOPY) build$(S)sources$(S)$(BINARY).uf2 .
$(CCOPY) $(BINARY).uf2 $(BINDIR)
$(CCOPY) $(BINARY).elf $(BINDIR)

clean: always
rm -Rf build
export PICO_SDK_PATH=$(PICO_SDK_LOCATION) ; cmake -B build -S .

run: build
$(CCOPY) build$(S)sources$(S)$(BINARY).elf .
$(UPLOADER) $(UPCONFIG) $(UPCOMMANDS)

9 changes: 9 additions & 0 deletions firmware/include/data/kernel_figforth.h

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion firmware/include/data/prompt.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//
// This file is automatically generated
//
#define PROMPT "*** Olimex Neo6502 RetroComputer ***\r\r(Build 152 23-Nov-23)\r\r"
#define PROMPT "*** Olimex Neo6502 RetroComputer ***\r\r(Build 160 24-Nov-23)\r\r"
2 changes: 2 additions & 0 deletions firmware/sources/interface/memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include "common.h"
#include "data/kernel_binary.h" // Contains kernel image.
#include "data/kernel_a1basic.h" // Contains Apple Integer BASIC
#include "data/kernel_figforth.h" // Contains Fig-Forth (79)

#ifdef PICO
_Alignas(MEMORY_SIZE) uint8_t cpuMemory[MEMORY_SIZE]; // Processor memory, aligned for Pico
Expand Down Expand Up @@ -44,6 +45,7 @@ static void loadROM(const uint8_t *vROM, uint16_t startAddress, uint16_t romSize
void MEMInitialiseMemory(void) {
loadROM(kernel_bin,KERNEL_LOAD,KERNEL_SIZE); // Load in the kernel
loadROM(a1basic_bin,A1BASIC_LOAD,A1BASIC_SIZE);
loadROM(figforth_bin,FIGFORTH_LOAD,FIGFORTH_SIZE);
cpuMemory[DEFAULT_PORT] = 0x00; // Clear the default command port
}

Expand Down

0 comments on commit 211eb76

Please sign in to comment.