Skip to content

Commit 79bf0b6

Browse files
authored
Merge branch 'main' into coco-wifi-fixes
2 parents 74a54d2 + 5da0f52 commit 79bf0b6

File tree

10 files changed

+125
-12
lines changed

10 files changed

+125
-12
lines changed

.github/workflows/ci.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
branches: [ main ]
6+
push:
7+
tags:
8+
- "v*"
9+
workflow_dispatch: # allows manual run too
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
container:
15+
image: fozztexx/defoogi:1.4.2
16+
17+
outputs:
18+
files: ${{ steps.list_zips.outputs.files }}
19+
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- name: Build release files
24+
run: make release
25+
26+
- name: List zip files
27+
id: list_zips
28+
shell: bash
29+
run: |
30+
echo 'files=["'"$(( cd dist ; echo *.zip ) | sed -e 's/ /","/g')"'"]' >> $GITHUB_OUTPUT
31+
32+
- name: Upload dist folder for next job
33+
uses: actions/upload-artifact@v4
34+
with:
35+
name: dist
36+
path: dist/
37+
38+
upload:
39+
needs: build
40+
runs-on: ubuntu-latest
41+
if: github.event_name == 'pull_request'
42+
strategy:
43+
matrix:
44+
file: ${{ fromJson(needs.build.outputs.files) }}
45+
steps:
46+
- uses: actions/checkout@v4
47+
48+
- name: Download dist folder
49+
uses: actions/download-artifact@v4
50+
with:
51+
name: dist
52+
path: dist
53+
54+
- name: Upload individual artifact
55+
uses: actions/upload-artifact@v4
56+
with:
57+
name: ${{ matrix.file }}
58+
path: dist/${{ matrix.file }}
59+
60+
tagged-release:
61+
needs: build
62+
runs-on: ubuntu-latest
63+
if: startsWith(github.ref, 'refs/tags/')
64+
steps:
65+
- uses: actions/checkout@v4
66+
67+
# Download the dist folder from the build job
68+
- name: Download build artifacts
69+
uses: actions/download-artifact@v4
70+
with:
71+
name: dist
72+
path: dist
73+
74+
# Generate random release name
75+
- name: Generate random release name
76+
id: random_name
77+
run: |
78+
RANDOM_NAME=$(docker run --rm fnichol/names)
79+
echo "name=$RANDOM_NAME" >> $GITHUB_OUTPUT
80+
echo "Generated release name: $RANDOM_NAME"
81+
82+
# Create GitHub Release for the tag
83+
- name: Create GitHub Release
84+
id: create_release
85+
uses: actions/create-release@v1
86+
with:
87+
tag_name: ${{ github.ref_name }}
88+
release_name: ${{ steps.random_name.outputs.name }} (${{ github.ref_name }})
89+
draft: false
90+
prerelease: false
91+
env:
92+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
93+
94+
# Upload each zip as a release asset
95+
- name: Upload release assets
96+
run: |
97+
for zip in dist/*.zip; do
98+
echo "Uploading $zip..."
99+
gh release upload ${{ github.ref_name }} "$zip"
100+
done
101+
env:
102+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Changelog.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22

33
## [Unreleased]
44

5+
## [4.7.8] - 2025-09-23
6+
7+
- [release] Added github workflow to create PR artifacts and release on tag [FoxxTexx]
8+
- [msdos] Fix MS-DOS compiling. (#36) [FozzTexx]
9+
- [coco] Fixes to coco wifi functions, and to fujinet-fuji.h (#33) [Rich Stephens]
10+
- [adam] Add fn_network support for Adam, merge with Thom's changes (#32) [geoffdaddy]
11+
- [msdos] implement network. (#31) [Thomas Cherryhomes]
12+
- [adam] Implement fuji adam (#30) [Thomas Cherryhomes]
13+
14+
515
## [4.7.7] - 2025-06-18
616

717
- [atari] Fix return codes from clock_get_time, clock_get_time_tz

Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
# Set the TARGETS and PROGRAM values as required.
44
# See makefiles/build.mk for details on directory structure for src files and how to add custom extensions to the build.
55

6-
TARGETS = adam atari c64 apple2 apple2enh apple2gs coco
7-
# TARGETS = pmd85
8-
# TARGETS = msdos
6+
TARGETS = adam apple2 apple2enh atari c64 coco
7+
TARGETS += msdos
8+
# TARGETS += apple2gs
9+
# TARGETS += pmd85
910
PROGRAM := fujinet.lib
1011

1112
SUB_TASKS := clean disk test release unit-test

adam/src/include/fujinet-network-adam.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ extern DCB *network_dcb[MAX_NETWORK_DEVICES];
4646
* @param devicespec The Device Specification "N:..."
4747
* @return AdamNet unit number.
4848
*/
49-
uint8_t network_unit_adamnet(char *devicespec);
49+
uint8_t network_unit_adamnet(const char *devicespec);
5050

5151
/**
5252
* @brief Return proper unit # for adamnet.
@@ -55,6 +55,6 @@ uint8_t network_unit_adamnet(char *devicespec);
5555
* @param len Length of the buffer
5656
* @return Fujinet error code.
5757
*/
58-
int16_t network_read_adam(char* devicespec, uint8_t *buf, uint16_t len);
58+
int16_t network_read_adam(const char* devicespec, uint8_t *buf, uint16_t len);
5959

6060
#endif /* FUJINET_NETWORK_ADAM_H */

common/src/fn_network/network_read.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
#ifdef __WATCOMC__
3636
#include "fujinet-fuji-msdos.h"
37-
extern int network_read_msdos(char* devicespec, byte *buf, unsigned int len);
37+
extern int network_read_msdos(const char* devicespec, unsigned char *buf, unsigned int len);
3838
#endif /* __WATCOMC__ */
3939

4040
#ifdef __ADAM__

msdos/src/fn_network/network_open.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
uint8_t network_open(const char* devicespec, uint8_t mode, uint8_t trans)
77
{
8-
uint8_t device = network_unit();
8+
uint8_t device = network_unit(devicespec) + 0x70;
99

1010
return int_f5_write(device,'O',mode,trans,devicespec,256);
1111
}

msdos/src/fn_network/network_read_msdos.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
#include <fujinet-network.h>
44
#include <fujinet-fuji-msdos.h>
55

6-
int network_read_msdos(char* devicespec, byte *buf, unsigned int len)
6+
int network_read_msdos(char* devicespec, unsigned char *buf, unsigned int len)
77
{
88
uint8_t device = network_unit(devicespec) + 0x70;
99

10-
return intf5_read(device,'R',len&0xFF,len>>8,(void *)buf,len) == 'C';
10+
return int_f5_read(device,'R',len&0xFF,len>>8,(void *)buf,len) == 'C';
1111
}

msdos/src/fn_network/network_write.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ uint8_t network_write(const char* devicespec, const uint8_t *buf, uint16_t len)
77
{
88
uint8_t device = network_unit(devicespec) + 0x70;
99

10-
return intf5_write(device,'W',len&0xFF,len>>8,(void *)buf,len) == 'C';
10+
return int_f5_write(device,'W',len&0xFF,len>>8,(void *)buf,len) == 'C';
1111
}

msdos/src/include/fujinet-fuji-msdos.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
*/
1616
unsigned char int_f5(unsigned char dev, unsigned char command, unsigned char aux1, unsigned char aux2);
1717
unsigned char int_f5_read(unsigned char dev, unsigned char command, unsigned char aux1, unsigned char aux2, void *buf, unsigned short len);
18-
unsigned char int_f5_write(unsigned char dev, unsigned char command, unsigned char aux1, unsigned char aux2, void *buf, unsigned short len);
18+
unsigned char int_f5_write(unsigned char dev, unsigned char command, unsigned char aux1, unsigned char aux2, const void *buf, unsigned short len);
1919

2020
#endif /* FUJINET_FUJI_MSDOS_H */

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.7.7
1+
4.7.8

0 commit comments

Comments
 (0)